@zhijiancloud/bpm 1.0.99 → 1.2.0
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/dist/bpmField.umd.js +3 -3
- package/dist/bpmFormField.umd.js +3 -3
- package/dist/bpmOcr.umd.js +1 -1
- package/dist/bpmQuote.umd.js +1 -1
- package/dist/bpmSelectUser.umd.js +1 -1
- package/dist/bpmSubForm.umd.js +1 -1
- package/dist/bpmSubFormField.umd.js +3 -3
- package/dist/bpmVideo.umd.js +1 -1
- package/dist/css/bpmTime.css +1 -0
- package/dist/css/index.css +1 -1
- package/dist/index.umd.js +3 -3
- package/package.json +1 -1
package/dist/bpmSubForm.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("lodash"),require("qs"),require("@antv/g6")):"function"==typeof define&&define.amd?define(["lodash","qs","@antv/g6"],t):"object"==typeof exports?exports.bpm2=t(require("lodash"),require("qs"),require("@antv/g6")):e.bpm2=t(e.lodash,e.qs,e["@antv/g6"])}(self,function(e,t,i){return function(){"use strict";var a={7520:function(e,t,i){i.d(t,{Q:function(){return l}});let a=[{key:"lt",name:"早于"},{key:"gt",name:"晚于"},{key:"gte",name:"不早于"},{key:"lte",name:"不晚于"}],r=[{key:"in",name:"在列表中"}],n=[{key:"in",name:"在列表中"},{key:"all",name:"包含所有"}];const l={Text:{name:"单行文本",hasBpmField:!0,tableColWidth:240,actions:[{key:"contains",name:"包含"},{key:"eq",name:"等于"}],attrs:["type","value_type","id","name","linkage"]},TextArea:{name:"多行文本",hasBpmField:!0,tableColWidth:300,actions:[{key:"contains",name:"包含"},{key:"eq",name:"等于"}],attrs:["type","value_type","id","name","linkage"]},SerialNumber:{name:"流水号",hasBpmField:!0,actions:[{key:"contains",name:"包含"}],options:{type:"Text"},attrs:["type","id","name","linkage"]},Number:{name:"数字",hasBpmField:!0,tableColWidth:200,actions:[{key:"eq",name:"等于"},{key:"gt",name:"大于"},{key:"gte",name:"大于等于"},{key:"lt",name:"小于"},{key:"lte",name:"小于等于"},{key:"ne",name:"不等于"}],attrs:["type","id","name","value_type","is_int","view.precision","linkage"]},DateTime:{name:"日期时间选择器",tableColWidth:240,hasBpmField:!0,actions:a,attrs:["type","id","name","check.format","view.format","linkage"]},Date:{name:"日期选择器",tableColWidth:240,hasBpmField:!0,actions:a,attrs:["type","id","name","check.format","view.format","linkage"]},Time:{name:"时间选择器",hasBpmField:!0,tableColWidth:240,actions:a,attrs:["type","id","name","check.format","view.format","linkage"]},Timestamp:{name:"※时间戳",tableColWidth:240,actions:a,attrs:["type","id","name","check.format","view.format","linkage"]},Select:{name:"单选",hasBpmField:!0,tableColWidth:220,actions:r,options:{type:"MulSelect"},attrs:["type","id","name","value_type","style","range_enum","linkage"]},Status:{name:"状态",hasBpmField:!0,tableColWidth:150,actions:r,options:{type:"MulSelect"},attrs:["type","id","name","value_type","style","range_enum","linkage"]},MulSelect:{name:"多选",hasBpmField:!0,tableColWidth:220,actions:n,attrs:["type","id","name","value_type","result_type","style","range_enum","linkage"]},SelectFromForm:{name:"远程单项选择",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectFromForm"},attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.form","range_remote.depends","linkage"]},MulSelectFromForm:{name:"远程多项选择",hasBpmField:!0,tableColWidth:200,actions:n,attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.form","range_remote.depends","linkage"]},SelectFromMulForm:{name:"关联组件",hasBpmField:!0,tableColWidth:200,actions:n,attrs:["type","id","name","range_remote","value_type"]},SelectProject:{name:"项目单项选择",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectProject"},attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},MulSelectProject:{name:"项目多项选择",hasBpmField:!0,tableColWidth:200,actions:n,attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},SelectUser:{name:"用户单项选择",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectUser"},attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},MulSelectUser:{name:"用户多项选择",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectUser"},attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},SelectURUser:{name:"用户单项选择(新)",hasBpmField:!0,tableColWidth:400,actions:r,options:{type:"MulSelectURUser"},attrs:["type","id","name","range_remote","value_type","filters","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},MulSelectURUser:{name:"用户多项选择(新)",hasBpmField:!0,tableColWidth:400,actions:n,options:{type:"MulSelectURUser"},attrs:["type","id","name","range_remote","value_type","filters","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},SelectRootCategory:{name:"根任务类型选择",hasBpmField:!0,tableColWidth:200,actions:[{key:"eq",name:"等于"}],attrs:["type","id","name","category_cls","value_type","linkage"]},SelectCheckItem:{name:"检查项单项选择",hasBpmField:!0,actions:r,tableColWidth:200,options:{type:"MulSelectCheckItem"},attrs:["type","id","name","category_cls","value_type","range_remote","root_category","tree_select","can_select","can_select.filter_expression","range_remote.filter_expression","range_remote.depends","linkage"]},MulSelectCheckItem:{name:"检查项多项选择",hasBpmField:!0,tableColWidth:200,actions:n,attrs:["type","id","name","category_cls","value_type","range_remote","root_category","tree_select","can_select","can_select.filter_expression","range_remote.filter_expression","range_remote.depends","linkage"]},SelectSort:{name:"分类单项选择",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectSort"},attrs:["type","id","name","value_type","range_remote","tree_select","can_select","can_select.filter_expression","range_remote.filter_expression","range_remote.depends","linkage"]},MulSelectSort:{name:"分类多项选择",hasBpmField:!0,tableColWidth:200,actions:n,attrs:["type","id","name","value_type","range_remote","tree_select","can_select","can_select.filter_expression","range_remote.filter_expression","range_remote.depends","linkage"]},SelectPartner:{name:"合作伙伴单项选择",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectPartner"},attrs:["type","id","name","value_type","range_remote","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},MulSelectPartner:{name:"合作伙伴多项选择",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectPartner"},attrs:["type","id","name","value_type","range_remote","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},SelectOrg:{name:"单位单项选择",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectOrg"},attrs:["type","id","name","value_type","range_remote","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},MulSelectOrg:{name:"单位多项选择",hasBpmField:!0,tableColWidth:200,actions:n,attrs:["type","id","name","value_type","range_remote","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},Audit:{name:"审批",hasBpmField:!0,actions:[{key:"ar_eq",name:"审批结果等于"},{key:"ar_in",name:"审批结果在列表中"}],actionOptions:[{value:0,label:"未审批"},{value:1,label:"审批通过"},{value:2,label:"审批未通过"}],attrs:["type","id","name","linkage"],options:{result_type:"Array",value_type:"int",type:"MulSelect",style:"default",range_enum:[[0,"未审批"],[1,"通过"],[2,"未通过"]]}},MulAudit:{name:"多人审批",hasBpmField:!0,actions:[{key:"ar_eq",name:"审批结果等于"},{key:"ar_in",name:"审批结果在列表中"}],actionOptions:[{value:0,label:"未审批"},{value:1,label:"审批通过"},{value:2,label:"审批未通过"}],attrs:["type","id","name","linkage"],options:{result_type:"Array",value_type:"int",type:"MulSelect",style:"default",range_enum:[[0,"未审批"],[1,"通过"],[2,"未通过"]]}},MulArea:{name:"区域多项选择",hasBpmField:!0,tableColWidth:260,actions:n,attrs:["type","id","name","value_type","can","linkage"]},Area:{name:"区域单项选择",hasBpmField:!0,tableColWidth:260,actions:r,options:{type:"MulArea"},attrs:["type","id","name","value_type","can","linkage"]},SelectFormId:{name:"表单单项选择",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectFormId"},attrs:["type","id","name","value_type","form_select_type","linkage"]},MulSelectFormId:{name:"表单多项选择",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectFormId"},attrs:["type","id","name","value_type","form_select_type","linkage"]},SelectFromField:{name:"远程单选(从字段)",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectFromField"},attrs:["type","id","name","range_remote","style","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.form","range_remote.depends","linkage"]},MulSelectFromField:{name:"远程多选(从字段)",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectFromField"},attrs:["type","id","name","range_remote","style","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.form","range_remote.depends","linkage"]},MulSelectEntranceForm:{name:"远程多项选择(从入口)",hasBpmField:!0},SelectHouseOwner:{name:"业主选择"},MulSelectIssue:{name:"问题选择"},MulFile:{name:"附件",hasBpmField:!0,tableColWidth:150},MulImage:{name:"图片",hasBpmField:!0,tableColWidth:150},Signature:{name:"签名",hasBpmField:!0},OnlineEditor:{name:"在线文档编辑器"},Spliter:{name:"分割线",hasBpmField:!1},Stepper:{name:"步进器",hasBpmField:!1},Quote:{name:"跨表单数据引用",hasBpmField:!0},Order:{name:"排序控件",hasBpmField:!1},SubForm:{name:"子表单",hasBpmField:!0},XSubForm:{name:"子表单(增强版)",hasBpmField:!0},TreeSubForm:{name:"树子表单",hasBpmField:!0},GroupSubForm:{name:"分组子表单",hasBpmField:!0},OrderSubForm:{name:"排序子表单",hasBpmField:!0},AreaElevation:{name:"区域快速选择器",hasBpmField:!0,tableColWidth:200},RichText:{name:"富文本编辑框",hasBpmField:!0,tableColWidth:100},Appointment:{name:"时段预约",hasBpmField:!0,tableColWidth:120},Rating:{name:"评分",hasBpmField:!0,tableColWidth:250},MapLocation:{name:"地图位置",hasBpmField:!0,tableColWidth:250},ExternalFormLink:{name:"外链表单组件",hasBpmField:!0,tableColWidth:200,actions:n,attrs:["type","id","name","range_remote","value_type"]}}},9795:function(e,t,i){function a(){for(var e=[],t="0123456789abcdef",i=0;i<36;i++)e[i]=t.substr(Math.floor(16*Math.random()),1);return e[14]="4",e[19]=t.substr(3&e[19]|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")}i.d(t,{uR:function(){return a}}),i(6773),i(5360)},1773:function(e,t,i){var a=i(1601),r=i.n(a),n=i(6314);i.n(n)()(r()).push([e.id,"\n/deep/ .relate-sub-form-dialog .bpm-relate-subform-table .el-input__validateIcon {\n display: none;\n}\n",""])},6314:function(e){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var i="",a=void 0!==t[5];return t[4]&&(i+="@supports (".concat(t[4],") {")),t[2]&&(i+="@media ".concat(t[2]," {")),a&&(i+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),i+=e(t),a&&(i+="}"),t[2]&&(i+="}"),t[4]&&(i+="}"),i}).join("")},t.i=function(e,i,a,r,n){"string"==typeof e&&(e=[[null,e,void 0]]);var l={};if(a)for(var o=0;o<this.length;o++){var s=this[o][0];null!=s&&(l[s]=!0)}for(var d=0;d<e.length;d++){var m=[].concat(e[d]);a&&l[m[0]]||(void 0!==n&&(void 0===m[5]||(m[1]="@layer".concat(m[5].length>0?" ".concat(m[5]):""," {").concat(m[1],"}")),m[5]=n),i&&(m[2]?(m[1]="@media ".concat(m[2]," {").concat(m[1],"}"),m[2]=i):m[2]=i),r&&(m[4]?(m[1]="@supports (".concat(m[4],") {").concat(m[1],"}"),m[4]=r):m[4]="".concat(r)),t.push(m))}},t}},1601:function(e){e.exports=function(e){return e[1]}},4486:function(e,t,i){function a(e,t,i,a,r,n,l,o){var s,d="function"==typeof e?e.options:e;if(t&&(d.render=t,d.staticRenderFns=i,d._compiled=!0),a&&(d.functional=!0),n&&(d._scopeId="data-v-"+n),l?(s=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(l)},d._ssrRegister=s):r&&(s=o?function(){r.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:r),s)if(d.functional){d._injectStyles=s;var m=d.render;d.render=function(e,t){return s.call(t),m(e,t)}}else{var u=d.beforeCreate;d.beforeCreate=u?[].concat(u,s):[s]}return{exports:e,options:d}}i.d(t,{A:function(){return a}})},4419:function(e){e.exports=i},6773:function(t){t.exports=e},5360:function(e){e.exports=t}},r={};function n(e){var t=r[e];if(void 0!==t)return t.exports;var i=r[e]={id:e,exports:{}};return a[e](i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l={};n.r(l),n.d(l,{default:function(){return E}});var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",["table"===e.uiType?i("el-button",{attrs:{type:"text"},on:{click:function(t){e.showSubForm=!0}}},[e._v(e._s(e.$z("查看子表单","b2.common.view_subform")))]):"table"===e.showStyle?i("SubFormStyleTable",e._b({ref:"sub_form_table",attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,mode:e.mode,formMode:e.formMode,readOnly:e.readOnly,dm:e.dm,"max-height":e.tableMaxHeight,"show-header":e.showHeader,resizable:e.resizable,"top-container":e.container,container:e.fieldSelf,linkageItem:e.linkageItem,orgInfo:e.orgInfo,formDefId:e.formDefId},on:{change:e.handleChange}},"SubFormStyleTable",e.$attrs,!1)):"list"===e.showStyle?i("SubFormStyleList",e._b({attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,mode:e.mode,dm:e.dm,"max-height":e.maxHeight,"top-container":e.container,container:e.fieldSelf,orgInfo:e.orgInfo,formDefId:e.formDefId,linkageItem:e.linkageItem},on:{change:e.handleChange}},"SubFormStyleList",e.$attrs,!1)):i("SubFormStyleCard",e._b({attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,mode:e.mode,dm:e.dm,"max-height":e.maxHeight,"top-container":e.container,container:e.fieldSelf,orgInfo:e.orgInfo,formDefId:e.formDefId,linkageItem:e.linkageItem},on:{change:e.handleChange}},"SubFormStyleCard",e.$attrs,!1)),e._v(" "),"table"===e.uiType?i("el-dialog",{attrs:{title:e.subFormDialogTitle,visible:e.showSubForm,width:"50%"},on:{"update:visible":function(t){e.showSubForm=t},close:function(t){e.showSubForm=!1}}},[i("div",{staticStyle:{"max-height":"70vh",overflow:"auto"}},["table"===e.showStyle?i("SubFormStyleTable",e._b({ref:"sub_form_table",attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,mode:e.mode,formMode:e.formMode,readOnly:e.readOnly,dm:e.dm,"max-height":e.dialogTableMaxHeight,"show-header":!0,resizable:!0,"top-container":e.container,container:e.fieldSelf,linkageItem:e.linkageItem,orgInfo:e.orgInfo,formDefId:e.formDefId},on:{change:e.handleChange}},"SubFormStyleTable",e.$attrs,!1)):"list"===e.showStyle?i("SubFormStyleList",e._b({attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,mode:e.mode,dm:e.dm,"max-height":e.maxHeight,"top-container":e.container,container:e.fieldSelf,orgInfo:e.orgInfo,formDefId:e.formDefId,linkageItem:e.linkageItem},on:{change:e.handleChange}},"SubFormStyleList",e.$attrs,!1)):i("SubFormStyleCard",e._b({attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,"top-container":e.container,container:e.fieldSelf,orgInfo:e.orgInfo,formDefId:e.formDefId,linkageItem:e.linkageItem,mode:e.mode,dm:e.dm},on:{change:e.handleChange}},"SubFormStyleCard",e.$attrs,!1))],1)]):e._e()],1)};o._withStripped=!0;var s=n(7520),d=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[e.showSearch?i("el-input",{staticStyle:{"margin-top":"10px"},attrs:{placeholder:e.$z("请输入关键词搜索","c.please_enter_keywords_to_search"),"prefix-icon":"el-icon-search"},nativeOn:{keyup:function(t){if(!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;t.preventDefault()}},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}}):e._e(),e._v(" "),i("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:e.$z("单击可进行编辑","c.click_to_edit"),placement:"top",disabled:e.readOnly||!("edit"==e.mode&&e.shouldUseClickToEditMode&&!e.hadClickRow)||"view"==e.mode}},[i("el-table",{key:"rowIndex",ref:"subformTable",class:["bpm-subform-table",{"has-tree-data":e.hasTreeData}],staticStyle:{width:"100%"},attrs:{data:e.showSubformData,"row-key":e.getTriggerRowId,"max-height":e.maxHeight,height:e.dynamicVisibleRowCount>10?e.maxHeight:null,fit:!0,"show-header":e.showHeader,"row-style":e.getRowStyle,resizable:e.resizable,border:"",stripe:"","default-expand-all":e.defaultExpandAll,"tree-props":{children:"children",hasChildren:"hasChildren"}},on:{"row-click":e.rowClick,"selection-change":e.handleTriggerSelectionChange,"header-dragend":e.handleHeaderDragend}},[e.isTriggerMode?i("el-table-column",{attrs:{type:"selection",width:55,"reserve-selection":"",fixed:!!(e.fixed_left_fields&&e.fixed_left_fields.length>0)&&"left",selectable:e.isRowSelectable}}):e._e(),e._v(" "),e.showIndex?i("el-table-column",{attrs:{type:"index",label:e.indexLabel,fixed:!!(e.fixed_left_fields&&e.fixed_left_fields.length>0)&&"left",width:100},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(t.row._groupNode?"":t.$index+1)+"\n\n "),t.row._groupNode?e._e():e._l(e.hiddenColumns,function(a){return i("bpm-sub-form-field",e._b({directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}],key:a.key,attrs:{type:a.data.type,fieldConf:a.data,mode:e.dm?e.mode:e.getFieldMode(a.data.perm,t.row),dm:e.dm,uiType:"table",orgInfo:e.orgInfo,formDefId:e.formDefId,rowIndex:t.row.rowIndex,container:e.container},on:{input:e.handleInput,change:function(i){return e.handleChange(i,t.row,a.id)}},model:{value:t.row[a.id],callback:function(i){e.$set(t.row,a.id,i)},expression:"scope.row[col.id]"}},"bpm-sub-form-field",e.$attrs,!1))})]}}],null,!1,3619816015)}):e._e(),e._v(" "),e._l(e.groupedShowColumns,function(t){return i("multi-level-table-column",{key:t.groupKey||t.key,attrs:{"column-node":t,"owner-vm":e.selfVm}})}),e._v(" "),e.canRemove&&e.countLimit.canRemove&&"edit"==e.mode||e.relateSubForms&&e.relateSubForms.length?i("el-table-column",{attrs:{prop:"delete",fixed:!!e.operation_column_fixed_right&&"right",label:e.$z("操作","c.operation"),"min-width":e.operation_column_width},scopedSlots:e._u([{key:"default",fn:function(t){return[i("div",{staticClass:"table-row-opertaion-btn-grp"},[e.canAddSubItem&&(t.row._groupNode||t.row._groupHead||e.canAddSubItemMaxLevel>=t.row.level)?i("el-button",{attrs:{type:"text"},on:{click:function(i){return i.stopPropagation(),e.handleAddSubItem(t.row.rowIndex,t.row)}}},[e._v(e._s(e.AddSubItemBtnTitle))]):e._e(),e._v(" "),!t.row._groupNode&&e.canRemove&&e.countLimit.canRemove?i("el-button",{staticClass:"btn-delete",attrs:{type:"danger",icon:"el-icon-delete",circle:""},on:{click:function(i){return i.stopPropagation(),e.handleRemoveItem(t.row.rowIndex,t.row)}}}):e._e(),e._v(" "),e._l(e.relateSubForms,function(a){return i("el-button",{directives:[{name:"show",rawName:"v-show",value:a.enable&&!t.row._groupNode,expression:"relate.enable && !scope.row._groupNode"}],key:a.idx,attrs:{type:"text"},on:{click:function(i){return i.stopPropagation(),e.openRelateFormDialog(a,t.row)}}},[e._v("\n "+e._s(a.name)+"\n ")])})],2)]}}],null,!1,464489504)}):e._e()],2)],1),e._v(" "),e.canAdd&&e.countLimit.canAdd?i("el-button",{staticStyle:{"margin-top":"10px"},attrs:{type:"default",icon:"el-icon-plus"},on:{click:function(t){return e.handleAddItem(null)}}},[e._v(e._s(e.$z("添加项","c.add_item")))]):e._e(),e._v(" "),i("relate-sub-form-dialog",{attrs:{mode:e.mode,container:e.container,srcFieldConf:e.fieldConf,row:e.dialogSubFormRelate.row,relateInfo:e.dialogSubFormRelate.relateInfo,visible:e.dialogSubFormRelate.visible},on:{close:e.handelRelateFormDialogClose}})],1)};d._withStripped=!0;var m=n(9795),u={props:{value:{type:Array,default(){return[]}},columns:{type:Array,default(){return[]}},subformPerm:{type:Object,default(){return{}}},fieldConf:{type:Object,default(){return{}}},type:{type:String,default:"SubForm"},mode:{type:String,default:"view"},maxHeight:{type:[Number,String],default:500},container:{type:Object,default(){return{}}},topContainer:{type:Object,default(){return{}}},orgInfo:{type:Object,default(){return{}}},formDefId:{type:String,default:""}},data(){return{searchText:"",dynamicVisibleMap:{},fieldLabelMap:{},subformData:[],originSubformData:[],originSubformDataMap:{},showSubformData:[],_oldVal:null,_reorderingSubform:!1,hasInit:!1,isEditingMap:{},formSchemaDef:{},formSourceData:[],treeMainFieldValueMap:{},debounceEmitInstance:null,searchLayoutTimer:null}},inject:["formData","formSchema"],computed:{form(){return this.topContainer},userId(){return _.get(this.$bpm.userInfo,"user_id",0)||_.get(zj.app.accessInfo.user_info,"user_id",0)},originItem(){let e={};const t={int:0,text:"",array:[],struct:[]};return this.columns.forEach(i=>{e[i.id]=t[i.data.value_type]||""}),e},canAdd(){return"edit"===this.mode&&(this.subformPerm.creatable||this.dm)},canRemove(){return"edit"===this.mode&&(this.subformPerm.deletable||this.dm)},AddSubItemBtnTitle(){return _.get(this.fieldConf,"add_sub_item_btn_title",zj.z("添加子项","c.add_sub_items"))},canAddSubItem(){return"edit"===this.mode&&(this.subformPerm.creatable||this.dm)&&_.get(this.fieldConf,"can_add_sub_item",!1)},canAddSubItemMaxLevel(){let e=_.get(this.fieldConf,"can_add_subitem_max_level",0);return 0==e&&(e=99999),e},add_sub_item_place(){return _.get(this.fieldConf,"add_sub_item_place","last")},copy_content(){return _.get(this.fieldConf,"copy_content","copy_subitem_last")},copy_content_fields(){return _.get(this.fieldConf,"copy_content_fields",[])},defaultExpandAll(){return _.get(this.fieldConf,"default_expand_all",!1)},min(){const e=_.get(this.fieldConf,"check.min_count",0),t=_.get(this.fieldConf,"check.xmin_count");return t?this.form.formData[t]||0:e},max(){const e=_.get(this.fieldConf,"check.max_count"),t=_.get(this.fieldConf,"check.xmax_count");return t?this.form.formData[t]||0:e},countForClickToEdit(){return _.get(this.fieldConf,"count_for_click_to_edit")},countLimit(){const e=this.min,t=this.max;let i=this.realItemCount;return{canAdd:!(t&&i>=t),canRemove:!(i<=e)}},treeMainField(){return _.get(this.fieldConf,"tree_main_field","")},treeParentField(){return _.get(this.fieldConf,"tree_main_field")?_.get(this.fieldConf,"tree_parent_field")?_.get(this.fieldConf,"tree_parent_field"):"_parent":""},showIndex(){return!!this.fieldConf.show_index},indexLabel(){return this.fieldConf.index_label||zj.z("序号","b2.common.subform_index")},groupField(){return"GroupSubForm"===this.type&&_.get(this.fieldConf,"group_by.by","")},group_by_type(){return _.get(this.fieldConf,"group_by_type","group_first")},showField(){return _.get(this.fieldConf,"is_show_field")},readonly(){return!_.get(this.fieldConf,"perm.editable",!1)},showSearch(){return _.get(this.fieldConf,"show_search",!1)},hasTreeData(){return!(!this.showSubformData||!this.showSubformData.length)&&this.showSubformData.some(e=>Array.isArray(e.children)&&e.children.length>0)},realItemCount(){if("table"!==this.style_ui_type||!this.groupField)return this.showSubformData.length;const e=t=>t&&t.length?_.reduce(t,(t,i)=>i?i._groupNode?t+e(_.get(i,"children",[])):t+1+e(_.get(i,"children",[])):t,0):0;return e(this.showSubformData)},clickToEditRowCount(){if("table"!==this.style_ui_type)return this.showSubformData.length;const e=t=>t&&t.length?_.reduce(t,(t,i)=>i?t+(i._groupNode?0:1)+e(_.get(i,"children",[])):t,0):0;return e(this.showSubformData)},shouldUseClickToEditMode(){return"table"===this.style_ui_type&&this.clickToEditRowCount>this.countForClickToEdit}},watch:{value:{handler(e){e&&_.isArray(e)?(this.subformData=e,0==this.originSubformData.length&&(this.originSubformData=_.cloneDeep(e),_.each(this.originSubformData,e=>{let t=_.cloneDeep(e);delete t._meta,_.get(e,"_meta.id","")&&(this.originSubformDataMap[e._meta.id]=t)}))):this.subformData=[]},immediate:!0},subformData:{handler(e){this._reorderingSubform?this._reorderingSubform=!1:(this.syncTreeMainFieldValueMap(e),this.showSubformData=this.setData(e),this.searchText&&this.applySearchDynamicVisible())},deep:!0,immediate:!0},searchText:{handler(){this.applySearchDynamicVisible()}},min(e,t){this.addItemByMin(e)},max(e,t){let i=this.realItemCount;if(e&&i>e){let t=i-e,a=0;for(let e=this.subformData.length;e>0;e--){let i=this.subformData[e-1];i.visible&&a<t&&(this.handleRemoveItem(i.rowIndex,i),a++)}}}},mounted(){this.form&&this.form.$once&&this.form.$once("dataLoaded",e=>{this.addItemByMin(this.min)}),_.isFunction(this.formSchema)&&(this.formSchemaDef=this.formSchema())},beforeDestroy(){this.debounceEmitInstance&&this.debounceEmitInstance.cancel(),this.searchLayoutTimer&&(clearTimeout(this.searchLayoutTimer),this.searchLayoutTimer=null)},methods:{getRowKey(e){return _.get(e,"_meta.id",e&&e.rowIndex)},normalizeTreeFieldValue(e){if(null==e)return null;if(_.isObject(e)){let t=_.get(e,"_meta.id");return null==t&&(t=_.get(e,"id")),null==t&&(t=_.get(e,"value")),null==t&&(t=_.get(e,"key")),this.normalizeTreeFieldValue(t)}if(_.isArray(e))return this.normalizeTreeFieldValue(e[0]);return String(e).trim()||null},syncTreeMainFieldValueMap(e){if(!this.treeMainField)return void(this.treeMainFieldValueMap={});const t={};_.each(e||[],e=>{if(!e)return;const i=this.getRowKey(e);null!=i&&(t[i]=_.get(e,this.treeMainField))}),this.treeMainFieldValueMap=t},getTreeMainFieldLabel(){if(!this.treeMainField)return"";const e=_.find(this.columns||[],e=>e&&e.id===this.treeMainField);return console.log("column",e),_.get(e,"label")||this.treeMainField},findDuplicateTreeMainFieldRow(e,t){if(!this.treeMainField)return null;const i=this.normalizeTreeFieldValue(e);return i&&_.find(this.subformData||[],e=>{if(!e||_.get(e,"_meta.is_deleted",!1))return!1;const a=this.getRowKey(e);return(null==t||a!==t)&&this.normalizeTreeFieldValue(_.get(e,this.treeMainField))===i})||null},ensureTreeMainFieldUnique(e,t={}){if(!this.treeMainField||!e)return!0;const{excludeRowKey:i,value:a,showMessage:r=!0}=t,n=void 0!==a?a:_.get(e,this.treeMainField);if(!this.findDuplicateTreeMainFieldRow(n,i))return!0;if(r){const e=this.getTreeMainFieldLabel(),t=e?`${e}-`+zj.z("主键不可以重复","c.primary_key_cannot_be_duplicated"):zj.z("主键不可以重复","c.primary_key_cannot_be_duplicated");this.$message.warning(t)}return!1},syncTreeChildParentField(e,t,i){if(!e||!this.treeParentField)return;const a=[],r={},n=t=>{if(!t||t===e)return;const i=this.getRowKey(t);if(null!=i){if(r[i])return;r[i]=!0}a.push(t)};if(_.each(_.get(e,"children",[]),n),!a.length){const i=this.normalizeTreeFieldValue(t),a=this.normalizeTreeFieldValue(_.get(e,"_meta.id"));_.each(this.subformData||[],t=>{if(!t||t===e)return;const r=this.normalizeTreeFieldValue(_.get(t,this.treeParentField));!r||r!==i&&r!==a||n(t)})}_.each(a,a=>{const r=_.get(a,this.treeParentField),n=this.normalizeTreeFieldValue(r),l=this.normalizeTreeFieldValue(t),o=this.normalizeTreeFieldValue(_.get(e,"_meta.id"));if(n!==l&&n!==o)return;if(r===i)return;const s=_.omit(_.cloneDeep(a),["_meta"]);this.$set(a,this.treeParentField,i),a._meta&&(a._meta.update_time=parseInt((new Date).getTime()/1e3),a._meta.updater=this.userId,a._meta.last_value=s)})},isRowDynamicVisible(e){const t=this.getRowKey(e);return null==t||!1!==this.dynamicVisibleMap[t]},getFieldMode(e,t){let i=this.mode;return!e||"edit"!==i||e.editable||e.writable?(this.shouldUseClickToEditMode&&!this.isEditingMap[t._meta.id]&&(i="view"),t&&t._meta&&t._meta.readonly&&(i="view")):i="view",i},debounceEmit:_.throttle(function(){if("edit"===this.mode){let e=this.subformData;"_parent"===this.treeParentField&&(e=_.map(e,e=>{if(e&&void 0!==e._parent){const t=Object.assign({},e);return delete t._parent,t}return e})),this.$emit("change",e)}},1e3,{leading:!1}),handleChange(e,t,i){let a=!1;if(t&&i&&this.treeMainField&&this.treeParentField&&i===this.treeMainField){const e=this.getRowKey(t),a=null!=e?this.treeMainFieldValueMap[e]:void 0,r=_.get(t,i);if(!this.ensureTreeMainFieldUnique(t,{excludeRowKey:e,value:r}))return this.$set(t,i,a),!1;this.normalizeTreeFieldValue(a)!==this.normalizeTreeFieldValue(r)&&this.syncTreeChildParentField(t,a,r),null!=e&&this.$set(this.treeMainFieldValueMap,e,r)}if(t&&t._meta&&t._meta.id){let e=this.originSubformDataMap[t._meta.id];if(e){for(let i in t)_.includes(["_meta","rowIndex","visible","isNew"],i)||e[i]==t[i]||(a=!0);a&&(t._meta.update_time=parseInt((new Date).getTime()/1e3),t._meta.updater=this.userId,t._meta.last_value=e)}if(this.formSchemaDef){let e=[];_.each(this.formSchemaDef.elements,i=>{i.relate_setting&&_.each(i.relate_setting,a=>{if(a.sub_form==this.fieldConf.id){this.formSourceData=this.formData();let r={};_.each(a.sub_form_field_mapping,e=>{_.includes(a.sub_form_fields,e.target)&&(r[e.src]=t[e.target])});let n=_.filter(this.formSourceData[i.id],e=>{if(e&&e._meta&&!_.get(e,"_meta.is_deleted",!1))return e}),l=_.find(n,r);if(l){let t={field:i.id,row:l._meta.id};e.push(t)}}})}),t._meta.relate=e}if(this.fieldConf.relate_setting&&this.fieldConf.relate_setting.length){let e=this.formData();_.each(this.fieldConf.relate_setting,i=>{_.each(e[i.sub_form],e=>{if(e._meta&&e._meta.relate){let a=_.cloneDeep(e);delete a._meta,_.find(e._meta.relate,{field:this.fieldConf.id,row:t._meta.id})&&_.each(i.sub_form_field_mapping,i=>{e[i.target]=t[i.src],e._meta.update_time=parseInt((new Date).getTime()/1e3),e._meta.updater=this.userId,e._meta.last_value=a})}})})}}this.debounceEmitInstance=this.debounceEmit()},handleInput(e){},async addItemByMin(e){if(_.get(this.fieldConf,"linkage"))return;let t=this.realItemCount;if(e&&t<e){let i=e-t;for(let e=0;e<i;e++)await this.handleAddItem(null)}},async handleAddItem(e=null){let t=(0,m.uR)(),i=this.subformData.length,a=i>=1?this.subformData[i-1]:_.cloneDeep(this.originItem),r=_.get(this.fieldConf,"fill_in_last_fields",[]);a=_.pick(a,r),e?a=_.cloneDeep(e):_.isEmpty(a)||delete a._meta,console.log("lastItem: ",a);let n={isNew:!0,_meta:{id:t,creator:this.userId,create_time:parseInt((new Date).getTime()/1e3),update_time:parseInt((new Date).getTime()/1e3),updater:this.userId,last_value:null,deleter:0,is_deleted:!1,is_selected:!0,relate:[]}};this._addedItemSeq=(this._addedItemSeq||0)+1;try{Object.defineProperty(n,"_addedSeq",{value:this._addedItemSeq,enumerable:!1,configurable:!0,writable:!0})}catch(e){n._addedSeq=this._addedItemSeq}if(this.isTriggerMode&&(n._meta.is_selected=!0),this.$set(this.isEditingMap,t,!0),n=_.merge(n,a),await this.linkageItem.fillDefault(n,[],this.mode),!this.ensureTreeMainFieldUnique(n))return!1;!this.subformData||_.isEmpty(this.subformData)?this.subformData=[n]:this.subformData.push(n),this.handleChange();let{relyHandleList:l,firstId:o}=this.linkageItem.getRelyHandleList("sure000");_.set(this.relyHandleListMap,this.subformData.length-1,l),_.isEmpty(l)&&this.$bpm.$emit("initRelyComplete",this,n.rowIndex),o&&setTimeout(async()=>{let e=await this.linkageItem.loadLinkage(l,this.subformData,this.container.formData,this.fieldConf.id,n.rowIndex);_.map(e,(e,t)=>{this.$set(this.subformData[n.rowIndex],`${t}`,e)}),this.handleChange(),this.$bpm.$emit("handeInitRely",{id:o,rowIndex:n.rowIndex})},500)},async handleAddSubItem(e,t){if(!t)return;const i=!0===t._groupNode;let a;this.treeMainField&&(a=_.get(t,this.treeMainField)),null==a&&(a=_.get(t,"_meta.id"));let r=(0,m.uR)(),n=this.subformData.length,l=n>=1?this.subformData[n-1]:_.cloneDeep(this.originItem),o=_.get(this.fieldConf,"fill_in_last_fields",[]);l=_.pick(l,o),_.isEmpty(l)||delete l._meta;let s={isNew:!0,_meta:{id:r,creator:this.userId,create_time:parseInt((new Date).getTime()/1e3),update_time:parseInt((new Date).getTime()/1e3),updater:this.userId,last_value:null,deleter:0,is_deleted:!1,is_selected:!0,relate:[]}};this.isTriggerMode&&(s._meta.is_selected=!0),this.$set(this.isEditingMap,r,!0),s=_.merge(s,l),this._addedItemSeq=(this._addedItemSeq||0)+1;try{Object.defineProperty(s,"_addedSeq",{value:this._addedItemSeq,enumerable:!1,configurable:!0,writable:!0})}catch(e){s._addedSeq=this._addedItemSeq}const d=this.add_sub_item_place;if(t&&"number"==typeof t._addedSeq)try{delete t._addedSeq}catch(e){t._addedSeq=0}if(await this.linkageItem.fillDefault(s,[],this.mode),i||t._groupHead){const e=i?_.get(t,"_groupValue"):_.get(t,this.groupField);null!=e&&(s[this.groupField]=_.cloneDeep(e))}const u=this.copy_content;let h,c=null;if("copy_parent"===u)c=t;else if("copy_subitem_first"===u){const e=_.get(t,"children",[]);c=e.length?e[0]:null}else if("copy_subitem_last"===u){const e=_.get(t,"children",[]);c=e.length?e[e.length-1]:null}if(c){const e=this.copy_content_fields;e&&e.length&&_.each(e,e=>{if(!e)return;const t=_.get(c,e);void 0!==t&&this.$set(s,e,_.cloneDeep(t))})}if(!this.ensureTreeMainFieldUnique(s))return!1;if(this.treeParentField&&!i)if("replace"===d){const e=_.get(t,this.treeParentField);null!=e&&(s[this.treeParentField]=e),this.$set(t,this.treeParentField,r);const i=_.get(t,"children",[]);_.each(i,e=>{e&&e!==t&&this.$set(e,this.treeParentField,r)})}else null!=a&&(s[this.treeParentField]=a);if(i){const e=_.get(t,"children",[]),i=e[0],a=_.maxBy(e,e=>{const t=_.get(e,"rowIndex");return"number"==typeof t?t:-1});h="last"===d?a?a.rowIndex+1:this.subformData.length:i?i.rowIndex:this.subformData.length}else if("replace"===d)h=e+(t._groupHead&&"group_last"===this.group_by_type?1:0);else if("last"===d){const i=_.get(t,"children",[]),a=i[i.length-1];h=a?a.rowIndex+1:e+1}else h=e+1;if(this.subformData.splice(h,0,s),"replace"===d&&t._groupHead&&"group_last"===this.group_by_type){const e=_.get(t,"children",[])[0];if(e){const t=h-1,i=this.subformData.splice(t,1)[0];i&&this.subformData.splice(e.rowIndex,0,i)}}this.handleChange(),this.$nextTick(()=>{const e=this.$refs.subformTable;e&&e.toggleRowExpansion(t,!0),this.scrollToRow(r)});let{relyHandleList:f,firstId:p}=this.linkageItem.getRelyHandleList("sure000");_.set(this.relyHandleListMap,this.subformData.length-1,f),_.isEmpty(f)&&this.$bpm.$emit("initRelyComplete",this,s.rowIndex),p&&setTimeout(async()=>{let e=await this.linkageItem.loadLinkage(f,this.subformData,this.container.formData,this.fieldConf.id,s.rowIndex);_.map(e,(e,t)=>{this.$set(this.subformData[s.rowIndex],`${t}`,e)}),this.handleChange(),this.$bpm.$emit("handeInitRely",{id:p,rowIndex:s.rowIndex})},500)},scrollToRow(e){this.$nextTick(()=>{const t=this.$refs.subformTable;if(!t)return;const i=t.$el;if(!i)return;const a=i.querySelector(".el-table__body-wrapper");if(!a)return;if(e){let t=-1,i=0;const r=a=>{for(const n of a){if(_.get(n,"_meta.id")===e)return t=i,!0;i++;const a=_.get(n,"children",[]);if(a.length&&r(a))return!0}return!1};if(r(this.showSubformData),t>=0){const e=a.querySelectorAll(".el-table__body tbody tr")[t];if(e)return e.scrollIntoView({block:"center",behavior:"smooth"}),void this.focusFirstField(e)}}a.scrollTop=a.scrollHeight;const r=a.querySelectorAll(".el-table__body tbody tr"),n=r[r.length-1];n&&this.focusFirstField(n)})},focusFirstField(e){console.log("focusFirstField_rowEl",e),setTimeout(()=>{const t=e.querySelectorAll('input:not([type="hidden"]):not([disabled]):not([readonly]), textarea:not([disabled]):not([readonly]), select:not([disabled]):not([readonly]), .el-input__inner:not([disabled]):not([readonly]), .el-select__caret, .el-textarea__inner:not([disabled]):not([readonly])');console.log("inputs_el",t);for(const e of t){const t=e.closest("td");if(!t||!t.querySelector(".table-row-opertaion-btn-grp")){e.focus(),e.click();break}}},350)},setData(e){let t=this.showField,i=_.filter(e,(e,i)=>{e&&(e.rowIndex=i);let a=!_.get(e,"_meta.is_deleted",!1)&&(!t||t&&(2==e[t]||!e[t]));return e.visible=a,a});return this._oldVal=JSON.stringify(e),"table"===this.style_ui_type&&this.groupField?i=this.buildGroupedTableData(i):this.treeParentField&&(i=this.buildTreeTableData(i,this.treeParentField)),i},buildTreeTableData(e,t){if(!e||!e.length||!t)return e||[];const i=e=>{if(null==e)return null;if(_.isObject(e)){let t=_.get(e,"_meta.id");return null==t&&(t=_.get(e,"id")),null==t&&(t=_.get(e,"value")),null==t&&(t=_.get(e,"key")),i(t)}if(_.isArray(e))return i(e[0]);return String(e).trim()||null},a=e=>{const t=i(_.get(e,"_meta.id")),a=i(_.get(e,"id")),r=i(_.get(e,"rowIndex")),n=this.treeMainField?i(_.get(e,this.treeMainField)):null;return _.compact([n,t,a,r])},r=e=>{try{Object.prototype.hasOwnProperty.call(e,"children")&&delete e.children,Object.defineProperty(e,"children",{value:[],enumerable:!1,configurable:!0,writable:!0})}catch(t){e.children=[]}},n=new Map,l=[];_.each(e,e=>{if(!e)return;r(e);const t=a(e),i=t[0];i&&(n.has(i)||(l.push(e),_.each(t,t=>{t&&!n.has(t)&&n.set(t,e)})))});const o=new Map;_.each(l,e=>{const r=a(e)[0],l=i(_.get(e,t));if(!r)return;if(!l||l===r)return void o.set(r,null);const s=n.get(l),d=s?a(s)[0]:null;o.set(r,d&&d!==r?d:null)});const s=new Set;_.each(l,e=>{const t=a(e)[0],i=o.get(t);if(!t||!i)return;if(((e,t)=>{const i=new Set;let a=t;for(;a;){if(a===e)return!0;if(i.has(a))return!0;i.add(a),a=o.get(a)}return!1})(t,i))return;const l=n.get(i);l&&l!==e&&(l.children||r(l),l.children.push(e),s.add(t))});const d=_.filter(l,e=>{const t=a(e)[0];return t&&!s.has(t)}),m=(e,t=0)=>{_.each(e,e=>{e.level=t;const i=_.get(e,"children",[]);i.length&&m(i,t+1)})};return m(d),d},buildGroupedTableData(e){if(!e||!e.length||!this.groupField)return e||[];const t=this.group_by_type||"summary";_.each(e,e=>{e&&(Object.prototype.hasOwnProperty.call(e,"_groupHead")&&delete e._groupHead,Object.prototype.hasOwnProperty.call(e,"children")&&delete e.children)});const i=[],a={};_.each(e,e=>{if(!e)return;const t=this.groupKeyOf(e);t&&(a[t]||(a[t]={key:t,value:_.get(e,this.groupField),label:this.formatGroupValue(_.get(e,this.groupField)),items:[]},i.push(a[t])),a[t].items.push(e))});const r={};let n=0;const l=[];return _.each(e,e=>{if(!e)return;const i=this.groupKeyOf(e),o=a[i];if(!i||!o)return void l.push(e);if(r[i])return;r[i]=!0;const s=this.reorderGroupNewItems(o.items,t);if("group_first"===t){const e=s[0];this.defineGroupChildren(e,s.slice(1)),this.markGroupHead(e),l.push(e)}else if("group_last"===t){const e=s[s.length-1];this.defineGroupChildren(e,s.slice(0,-1)),this.markGroupHead(e),l.push(e)}else l.push({_groupNode:!0,_groupField:this.groupField,_groupValue:o.value,_groupLabel:o.label,children:s,rowIndex:"__group__"+n++})}),l},groupKeyOf(e){const t=_.get(e,this.groupField);if(null==t)return"";if(_.isObject(t)){const e=_.get(t,"value");if(null!=e)return String(e)}return String(t)},formatGroupValue(e){return null==e?"":_.isObject(e)?_.get(e,"label")||_.get(e,"name")||_.get(e,"text")||_.get(e,"title")||_.get(e,"value")||_.get(e,"id")||JSON.stringify(e):String(e)},defineGroupChildren(e,t){if(e)try{Object.prototype.hasOwnProperty.call(e,"children")&&delete e.children,Object.defineProperty(e,"children",{value:t,enumerable:!1,configurable:!0,writable:!0})}catch(i){e.children=t}},markGroupHead(e){if(e)try{Object.defineProperty(e,"_groupHead",{value:!0,enumerable:!1,configurable:!0,writable:!0})}catch(t){e._groupHead=!0}},reorderGroupNewItems(e,t){if(!e||!e.length)return e;let i=null,a=-1;if(_.each(e,e=>{const t=e&&"number"==typeof e._addedSeq?e._addedSeq:-1;t>a&&(a=t,i=e)}),!i)return e;const r=_.filter(e,e=>e!==i),n=this.add_sub_item_place;let l;console.log("reorderGroupNewItems_place",n),console.log("reorderGroupNewItems_type",t),l="replace"===n?"group_last"===t?r.length:0:"last"===n?"group_last"===t?Math.max(r.length-1,0):r.length:"group_first"===t?1:0;const o=r.slice(0,l).concat([i],r.slice(l));return console.log("reorderGroupNewItems_latest",i),console.log("reorderGroupNewItems_reordered",o),console.log("reorderGroupNewItems_items",e),this.syncReorderData(i,o,e),o},syncReorderData(e,t,i){const a=this.subformData;if(!Array.isArray(a)||!a.length)return;if(t[0]===i[0]&&t[t.length-1]===i[i.length-1])return;const r=a.indexOf(e);if(r<0)return;const n=t.indexOf(e),l=n>0?t[n-1]:t[1];if(!l)return;const o=a.indexOf(l);if(o<0)return;let s=n>0?o+1:o;if(s===r||s===r+1)return;const d=a.splice(r,1)[0];let m=s;s>r&&(m=s-1),a.splice(m,0,d),_.each(a,(e,t)=>{e&&"object"==typeof e&&(e.rowIndex=t)}),this._reorderingSubform=!0},handleRemoveItem(e,t){if(this.relateSubForms&&this.relateSubForms.length>0){let i=!1,a=this.formData();_.each(this.relateSubForms,e=>{_.filter(a[e.sub_form],i=>{if(i&&i._meta&&i._meta.relate&&i._meta.relate&&i._meta.relate.length&&!_.get(i,"_meta.is_deleted",!1)&&_.find(i._meta.relate,{field:this.fieldConf.id,row:t._meta.id}))return i;if(i&&i._meta&&i._meta&&!_.get(i,"_meta.is_deleted",!1)){let a=!1,r=!0;if(_.each(e.sub_form_field_mapping,n=>{_.includes(e.sub_form_fields,n.target)&&(i[n.target]==t[n.src]?a=!0:(r=!1,a=!1))}),a&&r)return i}}).length>0&&e.strong_association&&(i=!0)}),i?this.$confirm(zj.z("该项有关联数据,确认一并删除?","b2.common.delete_subform_tip"),zj.z("提示","c.tip"),{confirmButtonText:zj.z("确定","c.confirm"),cancelButtonText:zj.z("取消","c.cancel"),type:"warning"}).then(()=>{this._delItem(this.subformData,e),this._delRelateSubItem(this.subformData[e]),this.$nextTick(()=>{this.$message({type:"success",message:zj.z("删除成功!","c.deleted_successfully")}),this.handleChange()})}).catch(()=>!1):(this._delItem(this.subformData,e),this.handleChange())}else this._delItem(this.subformData,e),this.handleChange()},_delItem(e,t){if(e[t]&&e[t].isNew)console.log("删除子表单项"),e.splice(t,1);else{if(1==e[t]._meta.is_deleted)return!1;console.log("标记删除子表单项"),e[t]._meta.is_deleted=!0,e[t]._meta.deleter=this.userId,e[t]._meta.update_time=parseInt((new Date).getTime()/1e3)}},_delRelateSubItem(e){_.each(this.relateSubForms,t=>{let i=this.formData(),a=_.filter(i[t.sub_form],i=>{if(i&&i._meta&&i._meta&&!_.get(i,"_meta.is_deleted",!1)){let a=!1,r=!0;if(_.each(t.sub_form_field_mapping,n=>{_.includes(t.sub_form_fields,n.target)&&(i[n.target]==e[n.src]?a=!0:(r=!1,a=!1))}),a&&r)return i}});t.strong_association&&_.each(a,(e,t)=>{this._delItem(a,t)})})},handleEditItem(e,t){this.subformData[e]&&this.$set(this.isEditingMap,this.subformData[e]._meta.id,!0)},handleFieldLabelLoaded(e,t,i){const a=this.getRowKey(t),r=i.id;this.$set(this.fieldLabelMap,`${a}-${r}`,e),this.searchText&&this.applySearchDynamicVisible()},syncSearchTableLayout(){this.$nextTick(()=>{_.isFunction(this.queueTableLayoutSync)?this.queueTableLayoutSync():(this.searchLayoutTimer&&clearTimeout(this.searchLayoutTimer),this.searchLayoutTimer=setTimeout(()=>{this.searchLayoutTimer=null;const e=this.$refs.subformTable;e&&_.isFunction(e.doLayout)&&e.doLayout()},20))})},applySearchDynamicVisible(){const e=this.showSubformData||[],t=String(this.searchText||"").trim().toLowerCase();if(!t)return _.isEmpty(this.dynamicVisibleMap)||(this.dynamicVisibleMap={}),void this.syncSearchTableLayout();const i={},a={_meta:!0,children:!0,visible:!0,rowIndex:!0,_groupField:!0},r=e=>String(e).toLowerCase().includes(t),n=e=>_.get(e,"label")||_.get(e,"name")||_.get(e,"title")||_.get(e,"text")||_.get(e,"value")||_.get(e,"key")||_.get(e,"id"),l=(e,t=0)=>{if(null==e)return!1;if(_.isString(e)||_.isNumber(e)||_.isBoolean(e))return r(e);if(_.isArray(e))return!(t>=2)&&_.some(e,e=>l(e,t+1));if(_.isObject(e)){const i=n(e);if(null!=i&&!_.isObject(i)&&r(i))return!0;if(t>=2)return!1;const o=Object.keys(e).slice(0,20);return _.some(o,i=>!a[i]&&l(e[i],t+1))}return!1},o=e=>null==e||_.isString(e)||_.isNumber(e)||_.isBoolean(e)?e:_.isObject(e)?n(e):void 0,s=e=>{let t=!1;return _.each(e,e=>{if(e&&e._groupNode){const t=_.get(e,"children",[]);return void(_.isArray(t)&&t.length&&s(t))}const r=[],n=_.some(e,(t,i)=>{if(a[i])return!1;const n=this.getRowKey(e),s=i,d=this.fieldLabelMap[`${n}-${s}`];d&&(t=d);const m=l(t);return m&&r.push({key:i,value:o(t)}),m}),d=_.get(e,"children",[]),m=!(!_.isArray(d)||!d.length)&&s(d),u=n||m,h=this.getRowKey(e);null!=h&&(i[h]=u),u&&(t=!0)}),t};s(e),this.dynamicVisibleMap=i,this.syncSearchTableLayout()}},destroyed(){this.showSubformData=[],this.subformData=[],this.originSubformData=[],this.originSubformDataMap={},this.formSourceData=[],this.dynamicVisibleMap={},this.fieldLabelMap={},this.isEditingMap={},this.formSchemaDef={},this._oldVal=null}},h=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"relate-sub-form-dialog"},[i("el-dialog",{attrs:{visible:e.dlgVisible,"before-close":e.handleClose,top:"3vh",width:"85%",title:e.relateSetting.title,fullscreen:!1,"append-to-body":""},on:{"update:visible":function(t){e.dlgVisible=t}}},[i("el-table",{key:e.refreshKey,staticClass:"bpm-relate-subform-table",staticStyle:{width:"100%",overflow:"auto"},attrs:{data:e.subformData,height:"80vh",border:"",stripe:""},on:{"row-click":e.rowClick}},[e.showIndex?i("el-table-column",{attrs:{type:"index",label:e.indexLabel,width:100},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(t.$index+1)+"\n\n "),e._l(e.hiddenColumns,function(a){return[i("bpm-sub-form-field",e._b({directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}],key:a.key,attrs:{type:a.data.type,fieldConf:a.data,"form-name":e.formDefId,"form-def-id":e.formDefId,orgInfo:e.orgParams,mode:e.getFieldMode(a.data.perm,t.row,a.id),uiType:"table",rowIndex:t.row.rowIndex,container:e.container},model:{value:t.row[a.id],callback:function(i){e.$set(t.row,a.id,i)},expression:"scope.row[col.id]"}},"bpm-sub-form-field",e.$attrs,!1))]})]}}],null,!1,4184301278)}):e._e(),e._v(" "),e._l(e.showColumns,function(t){return i("el-table-column",{key:t.key,attrs:{prop:t.id,label:(t.data.check&&t.data.check.required?"* ":"")+t.label,"min-width":t.minWidth,sortable:t.sortable,"sort-by":t.sortBy},scopedSlots:e._u([{key:"default",fn:function(a){return[i("bpm-sub-form-field",e._b({attrs:{type:t.data.type,fieldConf:t.data,mode:e.getFieldMode(t.data.perm,a.row,t.id),"form-name":e.formDefId,"form-def-id":e.formDefId,orgInfo:e.orgParams,uiType:"table",rowIndex:a.row.rowIndex,container:e.container},model:{value:a.row[t.id],callback:function(i){e.$set(a.row,t.id,i)},expression:"scope.row[col.id]"}},"bpm-sub-form-field",e.$attrs,!1))]}}],null,!0)},[i("template",{slot:"header"},[t.data.check&&t.data.check.required?i("span",{staticStyle:{color:"#D84141"}},[e._v("* ")]):e._e(),e._v(" "),i("span",[e._v(e._s(t.label))])])],2)}),e._v(" "),"edit"==e.mode?i("el-table-column",{attrs:{prop:"delete",label:e.$z("操作","c.operation"),fixed:"right","min-width":150},scopedSlots:e._u([{key:"default",fn:function(t){return[i("div",{staticClass:"table-row-opertaion-btn-grp"},[e.canRemove?i("el-button",{staticClass:"btn-delete",attrs:{type:"danger",icon:"el-icon-delete",circle:""},on:{click:function(i){return i.stopPropagation(),e.handleRemoveItemInner(t.row.rowIndex)}}}):e._e()],1)]}}],null,!1,1620617082)}):e._e()],2),e._v(" "),e.canAdd?i("el-button",{staticStyle:{"margin-top":"10px"},attrs:{type:"default",icon:"el-icon-plus"},on:{click:e.handleAddItemInner}},[e._v(e._s(e.$z("添加项","c.add_item")))]):e._e(),e._v(" "),"edit"==e.mode&&e.subformData.length>e.countForClickToEdit&&!e.hadClickRow?i("span",{staticClass:"edit-tip",staticStyle:{"margin-left":"10px",color:"#666","font-size":"13px"}},[e._v(e._s(e.$z("提示","c.tip"))+": "+e._s(e.$z("单击可进行编辑","c.click_to_edit")))]):e._e()],1)],1)};h._withStripped=!0;var c={props:{srcFieldConf:{type:Object,default(){return{}}},row:{type:Object,default:function(){return{}}},relateInfo:{type:Object,default:function(){return{}}},mode:{type:String,default:"edit"},container:{type:Object,default(){return{}}},visible:{type:Boolean,default:!1}},inject:["formData","formSchema"],watch:{visible(e){e&&this.$nextTick(()=>{this.initRelateSubFormTable()}),this.dlgVisible=e},relateInfo(e){this.relateSetting=e},srcFormData:{handler(e){this.$nextTick(()=>{this.getSubFormData(e)})},deep:!0}},data(){return{name:"title",relateSetting:{perm:{}},formSchemaDef:{},dlgVisible:!1,tag:"",hadClickRow:!1,subformData:[],refreshKey:0,SubFormFieldConf:{perm:{}},isEditingMap:{},columns:[],cols_config:[]}},computed:{countForClickToEdit(){return _.get(this.srcFieldConf,"count_for_click_to_edit")},srcFormData(){if(_.isFunction(this.formData))return this.formData()},userId(){return _.get(this.$bpm.userInfo,"user_id",0)},dialogSelf(){return this},eleMap(){let e=this.SubFormFieldConf.elements,t=_.get(this.container,"formSchema.elements");return e=_.concat(e,t),_.keyBy(e,"id")},orgParams(){return this.$store.getters.getOrgParams},formDefId(){return this.formSchemaDef.id},canAdd(){return"edit"===this.mode&&this.SubFormFieldConf.perm.creatable&&this.relateSetting.perm.creatable},canRemove(){return"edit"===this.mode&&this.SubFormFieldConf.perm.deletable&&this.relateSetting.perm.deletable},showIndex(){return!!this.SubFormFieldConf.show_index},indexLabel(){return this.SubFormFieldConf.index_label||zj.z("序号","b2.common.subform_index")},showColumns(){return _.filter(this.columns,e=>{if(e.visible){let t=_.find(this.cols_config,{id:e.id});return t&&(e.minWidth=t.width),e}})},hiddenColumns(){return _.filter(this.columns,e=>{if(!e.visible)return e})}},methods:{getCustomerColsConfig(e){let t=[],i={},a=[],r={};return r=localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG")&&JSON.parse(localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG"))||{},i=r[this.userId+this.tag],i&&i.field_colunms_config&&(a=i.field_colunms_config),_.each(e,e=>{let i=_.find(a,{id:e.id});i?t.push({label:e.label,id:e.id,width:i.width||200}):t.push({label:e.label,id:e.id,width:e.minWidth})}),t=_.sortBy(t,"sort_index"),t},getFieldMode(e,t,i){let a=this.mode;return e&&"edit"===a&&!e.editable&&!e.writable&&this.relateSetting.perm.editable?a="view":(!this.isEditingMap[t._meta.id]&&this.subformData.length>this.countForClickToEdit&&(a="view"),t.isNew&&(a="edit")),_.includes(this.relateSetting.sub_form_fields,i)&&(a="view"),a},initRelateSubFormTable(){_.isFunction(this.formSchema)&&(this.formSchemaDef=this.formSchema());let e=this.formData();if(this.SubFormFieldConf=_.find(this.formSchemaDef.elements,{id:this.relateSetting.sub_form}),!this.SubFormFieldConf)return this.columns=[],void(this.cols_config=[]);this.columns=this.getColumns(this.SubFormFieldConf)||[],this.tag="_"+zj.pageParam().form_name+"_"+this.SubFormFieldConf.id,this.cols_config=this.getCustomerColsConfig(this.columns),this.getSubFormData(e),this.refreshKey++},getSubFormData(e){this.subformData=_.filter(e[this.relateSetting.sub_form],e=>{if(e&&e._meta&&e._meta&&!e._meta.is_deleted){let t=!1,i=!0;if(_.each(this.relateSetting.sub_form_field_mapping,a=>{_.includes(this.relateSetting.sub_form_fields,a.target)&&(e[a.target]==this.row[a.src]?t=!0:(i=!1,t=!1))}),t&&i)return e}})},getColumns(e){if(!e)return!1;const t=e.elements||[],i=[];return t.forEach(e=>{const t=s.Q[e.type]||{},a=e.perm||{visible:!0,editable:!0,writable:!0};if(a.visible||a.editable||a.writable){e.visible=a.visible;let r=this.mode;"edit"!==r||a.editable||a.writable||(r="view"),i.push({key:e.id,id:e.id,label:e.name||e.id,minWidth:_.get(e,"display.column_width")||t.tableColWidth||100,sortable:!("edit"==r&&e&&e.range_remote&&e.range_remote.depends&&e.range_remote.depends.length),sortBy:e.id,fieldMode:r,visible:a.visible,data:e})}}),i},async handleAddItemInner(){let e=this.$parent.$parent.container.$refs["bpmFormField"+this.relateSetting.sub_form][0].$refs["inner-component"].$refs.sub_form_table;if(e){let t={_meta:{relate:[{field:this.srcFieldConf.id,row:this.row._meta.id}]}};_.each(this.relateSetting.sub_form_field_mapping,e=>{t[e.target]=this.row[e.src]}),e.handleAddItem(t)}},async handleRemoveItemInner(e){let t=this.$parent.$parent.container.$refs["bpmFormField"+this.relateSetting.sub_form][0].$refs["inner-component"].$refs.sub_form_table;t&&t.handleRemoveItem(e)},rowClick(e,t,i){"edit"==this.mode&&this.subformData.length>this.countForClickToEdit&&(this.hadClickRow=!0),this.handleEditItem(e.rowIndex,e)},handleEditItem(e,t){let i=_.find(this.subformData,{rowIndex:e});i&&this.$set(this.isEditingMap,i._meta.id,!0)},handleClose(){this.dlgVisible=!1,this.$emit("close",!1)},confirm(){this.dlgVisible=!1,this.$emit("close",!0)}}},f=(n(1773),n(4486)),p=(0,f.A)(c,h,[],!1,null,null,null);p.options.__file="components/lib/bpmSubForm/src/part/relateSubFormDialog.vue";var g=p.exports;const b={name:"MultiLevelTableColumn",props:{columnNode:{type:Object,default(){return{}}},ownerVm:{type:Object,default(){return null}}},render(e){const t=this.columnNode||{},i=this.ownerVm,a=t.children||[];return i&&t?a.length?e("el-table-column",{key:t.groupKey,props:{label:t.label,minWidth:t.minWidth+""}},_.map(a,t=>e(b,{key:t.groupKey||t.key,props:{columnNode:t,ownerVm:i}}))):e("el-table-column",{key:t.key,props:{prop:t.id,label:t.label,minWidth:t.minWidth+"",fixed:t.fixed||!1,sortable:t.sortable,sortMethod:t.sortMethod},scopedSlots:{header:()=>e("span",[_.get(t,"data.check.required")?e("span",{style:{color:"#D84141"}},"* "):null,e("span",t.label)]),default:a=>{const r=_.get(a,"row");return r&&r._groupNode?r._groupField===t.id?e("span",{class:"bpm-subform-group-cell"},r._groupLabel||""):e("span"):e("bpm-sub-form-field",{attrs:i.$attrs,props:{value:_.get(a,["row",t.id]),type:_.get(t,"data.type"),fieldConf:t.data,mode:i.dm?i.mode:i.getFieldMode(_.get(t,"data.perm"),a.row),dm:i.dm,uiType:"table",rowIndex:_.get(a,"row.rowIndex"),container:i.container,orgInfo:i.orgInfo,formDefId:i.formDefId},on:{input:e=>{i.$set(a.row,t.id,e),i.handleInput(e)},change:e=>i.handleChange(e,a.row,t.id),assist_field_label_loaded:e=>i.handleFieldLabelLoaded(e,a.row,t.data)}})}}}):null}};var y={name:"SubFormStyleTable",mixins:[u],components:{relateSubFormDialog:g,MultiLevelTableColumn:b},props:{showHeader:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},linkageItem:{type:Object,default:function(){return{}}},mode:{type:String,default:"view"},readOnly:{type:Boolean,default:!1},dm:{type:Boolean,default(){return!1}},formMode:{type:String,default:""},orgInfo:{type:Object,default(){return{}}}},data(){return{style_ui_type:"table",hadClickRow:!1,tag:"",tableLayoutSyncTimer:null,cols_config:[],unselectedRowIdMap:{},syncingSelection:!1,dialogSubFormRelate:{relateInfo:{},row:{},visible:!1}}},methods:{queueTableLayoutSync(){this.tableLayoutSyncTimer&&clearTimeout(this.tableLayoutSyncTimer),this.tableLayoutSyncTimer=setTimeout(()=>{this.tableLayoutSyncTimer=null,this.$nextTick(()=>{const e=this.$refs.subformTable,t=e&&e.$el;e&&t&&_.isFunction(e.doLayout)&&e.doLayout()})},0)},getRowClassName({row:e}){const t=this.isRowDynamicVisible(e);return this.searchText&&console.log("[subform-row-class]",{fieldId:_.get(this.fieldConf,"id"),keyword:this.searchText,rowKey:this.getTriggerRowId(e),visible:t,className:t?"":"row-hidden"}),t?"":"row-hidden"},getRowStyle({row:e}){return this.isRowDynamicVisible(e)?null:{display:"none"}},beginSyncingSelection(e){const t=e||this;t._syncingSelectionDepth=(t._syncingSelectionDepth||0)+1,t.syncingSelection=!0},endSyncingSelection(e){const t=e||this,i=(t._syncingSelectionDepth||0)-1;t._syncingSelectionDepth=i>0?i:0,t._syncingSelectionDepth||(t.syncingSelection=!1)},runWithSyncingSelection(e,t){const i=e||this;if(!i)return t();this.beginSyncingSelection(i);try{return t()}finally{i.$nextTick(()=>{this.endSyncingSelection(i)})}},getTriggerRowId(e){return _.get(e,"_meta.id",e&&e.rowIndex)},isRowSelectable(e){return!(e&&e._groupNode)},ensureRowMeta(e){return e?(e._meta||this.$set(e,"_meta",{}),e._meta):null},setRowSelectedMeta(e,t){const i=this.ensureRowMeta(e);i&&this.$set(i,"is_selected",!!t)},getRelateSubFormTableInstance(e){const t=_.get(this,["container","container","$refs",`bpmFormField${e}`]),i=_.isArray(t)?t[0]:t;let a=_.get(i,["$refs","inner-component","$refs","sub_form_table"]);return _.isArray(a)&&(a=a[0]),a||null},getRelatedRows(e,t,i){const a=_.get(i,e&&e.sub_form,[]);return _.isArray(a)&&t&&t._meta?_.filter(a,i=>{if(!i||!i._meta||i._meta.is_deleted)return!1;const a=_.get(i,["_meta","relate"],[]);if(_.isArray(a)&&a.length&&_.find(a,{field:this.fieldConf.id,row:t._meta.id}))return!0;let r=!1,n=!0;return _.each(e.sub_form_field_mapping,a=>{_.includes(e.sub_form_fields,a.target)&&(i[a.target]==t[a.src]?r=!0:(n=!1,r=!1))}),r&&n}):[]},syncParentSelectionByChildSelection(e){if(!e||!e.length)return;if(!this.formData||!this.formData())return;const t={};_.each(e,e=>{if(e&&e._groupNode)return;const i=_.get(e,["_meta","relate"],[]);_.isArray(i)&&i.length&&_.each(i,e=>{const i=e&&e.field,a=e&&e.row;i&&a&&(t[i]||(t[i]={}),t[i][a]=!0)})}),_.each(t,(e,t)=>{const i=this.getRelateSubFormTableInstance(t);if(!i)return;const a=_.get(i,["$refs","subformTable"]),r=i.showSubformData||[];this.runWithSyncingSelection(i,()=>{_.each(r,t=>{const r=i.getTriggerRowId?i.getTriggerRowId(t):this.getTriggerRowId(t);e[r]&&(i.setRowSelectedMeta?i.setRowSelectedMeta(t,!0):this.setRowSelectedMeta(t,!0),i.unselectedRowIdMap||(i.unselectedRowIdMap={}),i.unselectedRowIdMap[r]&&i.$delete(i.unselectedRowIdMap,r),a&&_.isFunction(a.toggleRowSelection)&&a.toggleRowSelection(t,!0))})})})},syncRelateSelectionByChangedParentIds(e,t){if(!this.relateSubForms||!this.relateSubForms.length)return;if(!e||_.isEmpty(e))return;const i=this.formData&&this.formData();i&&_.each(this.showSubformData,a=>{if(a&&a._groupNode)return;const r=this.getTriggerRowId(a);if(!e[r])return;const n=!!t[r];_.each(this.relateSubForms,e=>{const t=this.getRelatedRows(e,a,i);if(!t.length)return;const r=this.getRelateSubFormTableInstance(e.sub_form),l=_.get(r,["$refs","subformTable"]);this.runWithSyncingSelection(r,()=>{_.each(t,e=>{if(this.setRowSelectedMeta(e,n),r){const t=r.getTriggerRowId?r.getTriggerRowId(e):this.getTriggerRowId(e);n?r.unselectedRowIdMap&&r.unselectedRowIdMap[t]&&r.$delete(r.unselectedRowIdMap,t):(r.unselectedRowIdMap||(r.unselectedRowIdMap={}),r.$set(r.unselectedRowIdMap,t,!0))}l&&_.isFunction(l.toggleRowSelection)&&l.toggleRowSelection(e,n)})})})})},syncTriggerSelection(){if(!this.isTriggerMode)return;const e=this.$refs.subformTable;e&&(this.beginSyncingSelection(),e.clearSelection(),this.$nextTick(()=>{_.each(this.showSubformData,t=>{if(t&&t._groupNode)return;const i=this.getTriggerRowId(t),a=!this.unselectedRowIdMap[i];this.setRowSelectedMeta(t,a),a&&e.toggleRowSelection(t,!0)}),this.endSyncingSelection()}))},handleTriggerSelectionChange(e){if(!this.isTriggerMode)return;if(this.syncingSelection)return;const t=this.unselectedRowIdMap||{},i={};_.each(e,e=>{e&&e._groupNode||(i[this.getTriggerRowId(e)]=!0)});const a={};_.each(this.showSubformData,e=>{if(e&&e._groupNode)return;const t=this.getTriggerRowId(e),r=!!i[t];this.setRowSelectedMeta(e,r),r||(a[t]=!0)});const r={};_.each(this.showSubformData,e=>{const i=this.getTriggerRowId(e);!t[i]!=!a[i]&&(r[i]=!0)}),this.syncRelateSelectionByChangedParentIds(r,i),this.syncParentSelectionByChildSelection(e),this.unselectedRowIdMap=a},handleHeaderDragend(e,t,i,a){i.width=e,this.setColWidth(i.property,e)},setCutomerColsConfig(){let e={},t="";e=localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG")&&JSON.parse(localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG"))||{},t=e[this.userId+this.tag],t?t.field_colunms_config=this.cols_config:t={field_colunms_config:this.cols_config},e[this.userId+this.tag]=t,localStorage.setItem("SUBFORM_COLUMN_CUSTOMER_CONFIG",JSON.stringify(e))},setColWidth(e,t){_.each(this.cols_config,i=>{i.id==e&&(i.width=t)}),this.setCutomerColsConfig()},getCustomerColsConfig(e){let t=[],i={},a=[],r={};return r=localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG")&&JSON.parse(localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG"))||{},i=r[this.userId+this.tag],i&&i.field_colunms_config&&(a=i.field_colunms_config),_.each(e,e=>{let i=_.find(a,{id:e.id});i?t.push({label:e.label,id:e.id,width:i.width||200}):t.push({label:e.label,id:e.id,width:e.minWidth})}),t=_.sortBy(t,"sort_index"),t},handelRelateFormDialogClose(){this.dialogSubFormRelate.visible=!1},openRelateFormDialog(e,t){this.dialogSubFormRelate.relateInfo=e,this.dialogSubFormRelate.visible=!0,this.dialogSubFormRelate.row=t},rowClick(e,t,i){e&&e._groupNode||("edit"==this.mode&&this.shouldUseClickToEditMode&&(this.hadClickRow=!0),this.handleEditItem(e.rowIndex,e))},normalizeTableTitlePath(e){return e?_.isArray(e)?_.chain(e).map(e=>_.trim(e)).filter().value():_.chain(String(e).split(/[\/\\]+/)).map(e=>_.trim(e)).filter().value():[]},getColumnMinWidth(e){const t=_.get(e,"minWidth",0),i=Number(t);return Number.isFinite(i)?i:0},buildGroupedShowColumns(e){const t=[];return _.each(e,e=>{const i=_.get(e,"data.display.table_title_path",""),a=this.normalizeTableTitlePath(i),r=this.getColumnMinWidth(e);if(!a.length)return void t.push(e);let n=t,l="";_.each(a,e=>{l=l?`${l}/${e}`:e;const t=`group_${l}`;let i=_.find(n,{isGroupHeader:!0,groupKey:t});i||(i={label:e,groupKey:t,isGroupHeader:!0,children:[],minWidth:0},n.push(i)),i.minWidth+=r,n=i.children}),n.push(e)}),t}},computed:{operation_column_fixed_right(){return _.get(this.fieldConf,"operation_column_fixed_right",!1)},operation_column_width(){return _.get(this.fieldConf,"operation_column_width",150)},fixed_left_fields(){return _.get(this.fieldConf,"fixed_left_fields",[])},dynamicVisibleRowCount(){const e=t=>t&&t.length?_.reduce(t,(t,i)=>{const a=this.isRowDynamicVisible(i),r=_.get(i,"children",[]);return t+(a?1:0)+(r&&r.length?e(r):0)},0):0;return e(this.showSubformData)},isTriggerMode(){return"trigger"===this.formMode},triggerRowIdSignature(){return _.map(this.showSubformData,e=>this.getTriggerRowId(e)).join(",")},relateSubForms(){return this.fieldConf.relate_setting},selfShowColumns(){let e=_.filter(this.columns,e=>{let t=_.find(this.cols_config,{id:e.id});if(e.visible)return t&&(e.minWidth=t.width),e});return _.map(e,e=>Object.assign({},e,{data:e.data}))},groupedShowColumns(){return this.buildGroupedShowColumns(this.selfShowColumns)},hiddenColumns(){return _.filter(this.columns,e=>{if(!e.visible)return e})}},created(){this.tag="_"+zj.pageParam().form_name+"_"+this.fieldConf.id,this.selfVm=this},mounted(){this.cols_config=this.getCustomerColsConfig(this.columns)},updated(){},beforeDestroy(){if(this.tableLayoutSyncTimer&&(clearTimeout(this.tableLayoutSyncTimer),this.tableLayoutSyncTimer=null),this.$refs.subformTable&&this.$refs.subformTable.store){const e=this.$refs.subformTable.store.states;e&&(e._data=[],e.data=[],e.treeData={},e.lazyTreeNodeMap={})}this.cols_config=[],this.unselectedRowIdMap={},this.dialogSubFormRelate=null,this.selfVm=null},watch:{triggerRowIdSignature(e){this.syncTriggerSelection()},formMode(e){"trigger"===e&&(this.unselectedRowIdMap={},this.$nextTick(()=>{this.syncTriggerSelection()}))}}},S=y,w=(0,f.A)(S,d,[],!1,null,null,null);w.options.__file="components/lib/bpmSubForm/src/table.vue";var F=w.exports,I=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{style:{overflow:"auto"}},[e._l(e.showSubformData,function(t,a){return i("el-card",{key:e.getRowKey(t),staticClass:"bpm-subform-card",class:e.mode,attrs:{shadow:"hover","body-style":{padding:"10px 20px",overflow:"auto",position:"relative",paddingRight:e.canRemove?"70px":"20px"}}},[i("el-form",{attrs:{"label-width":"180px",inline:!1}},[e.showIndex?i("el-form-item",{attrs:{label:e.indexLabel}},[e._v("\n "+e._s(a+1)+"\n ")]):e._e(),e._v(" "),e._l(e.columns,function(a){return i("el-form-item",{directives:[{name:"show",rawName:"v-show",value:e.isColVisible(t,a),expression:"isColVisible(item, col)"}],key:a.key,class:a.data.display&&(a.data.display.hide_name||"top"===a.data.display.label_position)?"no-label":"",attrs:{label:a.data.display&&(a.data.display.hide_name||"top"===a.data.display.label_position)?"":a.label,required:a.data.check&&a.data.check.required}},[a.data.display&&!a.data.display.hide_name&&"top"===a.data.display.label_position?i("div",{staticClass:"form-label-top"},[e._v(e._s(a.label))]):e._e(),e._v(" "),i("bpm-sub-form-field",e._b({ref:"bpmSubFormField",refInFor:!0,attrs:{type:a.data.type,fieldConf:a.data,mode:e.getFieldMode(a.data.perm,t),uiType:"form",rowIndex:t.rowIndex,container:e.container,orgInfo:e.orgInfo,formDefId:e.formDefId},on:{change:e.handleChange,"display-hidden-change":function(i){return e.handleFieldDisplayHiddenChange(t,a,i)}},model:{value:t[a.id],callback:function(i){e.$set(t,a.id,i)},expression:"item[col.id]"}},"bpm-sub-form-field",e.$attrs,!1))],1)})],2),e._v(" "),e.canRemove&&e.countLimit.canRemove?i("el-button",{staticClass:"btn-delete",attrs:{type:"danger",icon:"el-icon-delete",circle:""},on:{click:function(i){return e.handleRemoveItem(t.rowIndex)}}}):e._e()],1)}),e._v(" "),e.canAdd&&e.countLimit.canAdd?i("el-button",{attrs:{type:"default",icon:"el-icon-plus"},on:{click:function(t){return e.handleAddItem(null)}}},[e._v(e._s(e.$z("添加项","c.add_item")))]):e._e()],2)};I._withStripped=!0;var v={name:"SubFormStyleCard",mixins:[u],data(){return{style_ui_type:"card",displayHiddenMap:{}}},props:{linkageItem:{type:Object,default:function(){return{}}}},watch:{showSubformData:{handler(){this.pruneDisplayHiddenMap()},immediate:!0}},methods:{isColVisible(e,t){return!(!t.visible||!t.data.visible||this.getFieldDisplayHidden(e,t))},getFieldDisplayHidden(e,t){const i=this.getRowKey(e);return null!=i&&_.get(this.displayHiddenMap,[i,t.id],!1)},handleFieldDisplayHiddenChange(e,t,i){const a=this.getRowKey(e);null!=a&&(this.displayHiddenMap[a]||this.$set(this.displayHiddenMap,a,{}),this.$set(this.displayHiddenMap[a],t.id,!!i))},pruneDisplayHiddenMap(){const e={},t=_.map(this.columns,e=>`${e.id}`);_.each(this.showSubformData,i=>{const a=this.getRowKey(i);if(null==a)return;const r=_.get(this.displayHiddenMap,a);if(!r)return;const n={};_.each(t,e=>{_.has(r,e)&&(n[e]=r[e])}),_.isEmpty(n)||(e[a]=n)}),this.displayHiddenMap=e}}},C=(0,f.A)(v,I,[],!1,null,null,null);C.options.__file="components/lib/bpmSubForm/src/card.vue";var M=C.exports,D=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"bpm-subform-list",style:{overflow:"auto"}},e._l(e.showSubformData,function(t){return i("div",{key:e.getRowKey(t),staticClass:"bpm-subform-list-item",class:e.mode},[i("el-form",{attrs:{"label-width":"180px",inline:!1}},e._l(e.columns,function(a){return i("el-form-item",{directives:[{name:"show",rawName:"v-show",value:e.isColVisible(t,a),expression:"isColVisible(item, col)"}],key:a.key,class:a.data.display&&(a.data.display.hide_name||"top"===a.data.display.label_position)?"no-label":"",attrs:{label:a.data.display&&(a.data.display.hide_name||"top"===a.data.display.label_position)?"":a.label,required:a.data.check&&a.data.check.required}},[a.data.display&&!a.data.display.hide_name&&"top"===a.data.display.label_position?i("div",{staticClass:"form-label-top"},[e._v(e._s(a.label))]):e._e(),e._v(" "),i("bpm-sub-form-field",e._b({ref:"bpmSubFormField",refInFor:!0,attrs:{type:a.data.type,fieldConf:a.data,mode:e.getFieldMode(a.data.perm,t),uiType:"form",rowIndex:t.rowIndex,container:e.container,orgInfo:e.orgInfo,formDefId:e.formDefId},on:{change:e.handleChange,"display-hidden-change":function(i){return e.handleFieldDisplayHiddenChange(t,a,i)}},model:{value:t[a.id],callback:function(i){e.$set(t,a.id,i)},expression:"item[col.id]"}},"bpm-sub-form-field",e.$attrs,!1))],1)}),1),e._v(" "),e.canRemove&&e.countLimit.canRemove?i("el-button",{staticClass:"btn-delete",attrs:{type:"danger",icon:"el-icon-delete",circle:""},on:{click:function(i){return e.handleRemoveItem(t.rowIndex)}}}):e._e()],1)}),0)};D._withStripped=!0;var k={name:"SubFormStyleList",mixins:[u],data(){return{style_ui_type:"list",displayHiddenMap:{}}},props:{linkageItem:{type:Object,default:function(){return{}}}},watch:{showSubformData:{handler(){this.pruneDisplayHiddenMap()},immediate:!0}},methods:{isColVisible(e,t){return!(!t.visible||!t.data.visible||this.getFieldDisplayHidden(e,t))},getFieldDisplayHidden(e,t){const i=this.getRowKey(e);return null!=i&&_.get(this.displayHiddenMap,[i,t.id],!1)},handleFieldDisplayHiddenChange(e,t,i){const a=this.getRowKey(e);null!=a&&(this.displayHiddenMap[a]||this.$set(this.displayHiddenMap,a,{}),this.$set(this.displayHiddenMap[a],t.id,!!i))},pruneDisplayHiddenMap(){const e={},t=_.map(this.columns,e=>`${e.id}`);_.each(this.showSubformData,i=>{const a=this.getRowKey(i);if(null==a)return;const r=_.get(this.displayHiddenMap,a);if(!r)return;const n={};_.each(t,e=>{_.has(r,e)&&(n[e]=r[e])}),_.isEmpty(n)||(e[a]=n)}),this.displayHiddenMap=e}}},x=(0,f.A)(k,D,[],!1,null,null,null);x.options.__file="components/lib/bpmSubForm/src/list.vue";var T=x.exports,R=n(4419);class ${constructor(e,t){this.penetrationZList=[],this.elementIdList=[],this.eleMap={},this.relyGraphData={nodes:[],edges:[]},this.elements=[],this.bpm=e,this.value=t}addStackArr(e,t,i){this.eleMap=t,this.elements=_.concat(this.elements,e),this.elementIdList=_.map(t,"id"),_.each(e,e=>{i&&_.set(e,"parentId",i);let a=_.get(e,"linkage.depends",[]),r=_.get(e,"scope.depends",[]),n=_.get(e,"range_remote.depends",[]),l=_.concat(a,r);l=_.concat(l,n),i||(this.penetrationZList=_.concat(this.penetrationZList,l)),e.elements&&this.addStackArr(e.elements,t,e.id)}),this.createTopoGraph(e),this.penetrationZList=_.uniq(this.penetrationZList),this.penetrationZList=_.intersection(this.elementIdList,this.penetrationZList),this.relyGraphData.nodes.push({id:"sure000",name:"顶点"}),_.each(this.penetrationZList,e=>{this.relyGraphData.edges.push({source:"sure000",target:e})})}createTopoGraph(e){_.each(e,e=>{let t=_.get(e,"mappings",[]),i=_.map(t,"local_field_id");_.each(i,t=>{if(_.includes(this.elementIdList,t)){let i=_.get(this.eleMap,t);this.relyGraphData.nodes.push(i),this.relyGraphData.nodes.push(e),this.relyGraphData.edges.push({source:e.id,target:t})}});let a=_.get(e,"linkage.depends",[]),r=_.get(e,"scope.depends",[]),n=_.get(e,"range_remote.depends",[]),l=_.concat(a,r);l=_.concat(l,n);let o=_.get(this.eleMap,e.id);if(_.each(l,e=>{_.get(this.eleMap,e)||(_.pullAll(l,[e]),l=_.cloneDeep(l))}),l.length){let t=_.pullAll(this.penetrationZList,[e.id]);this.penetrationZList=_.cloneDeep(t)}_.each(l,t=>{if(t&&e.id&&_.includes(this.elementIdList,t)){let i=_.get(this.eleMap,t);if(!i||!o)return;let a=o.id,r=_.get(this.eleMap,t);i&&!r&&(this.penetrationZList=_.replace(this.penetrationZList,t,a),this.penetrationZList=_.split(this.penetrationZList,",")),_.some(this.relyGraphData.nodes,{id:e.id})||this.relyGraphData.nodes.push({id:e.id,name:e.name}),_.some(this.relyGraphData.nodes,{id:i.id})||this.relyGraphData.nodes.push({id:t,name:i.name}),this.relyGraphData.edges.push({source:t,target:a})}e.elements&&this.createTopoGraph(e.elements)})})}getRelyHandleList(e,t){let i=[];const{breadthFirstSearch:a}=R.Algorithm;let r=null;return a(this.relyGraphData,e,{enter:({current:e,previous:t})=>{},leave:({current:a,previous:n})=>{r||a==e||t&&!_.includes(t,a)||(r=a),a!=e&&i.push(a)}}),{relyHandleList:i,firstId:r}}async loadLinkage(e,t,i,a,r){let n=[],l={};_.each(e,e=>{let t=_.get(this.eleMap,e),a=_.get(t,"linkage.depends");if("Quote"==t.type&&(a=_.concat(a,_.get(t,"scope.depends"))),a=_.intersection(a,this.elementIdList),!_.isEmpty(a)){let t={calculate_type:"linkage",field_def_id:e},o=_.pick(i,a);l=_.merge(l,o),_.isNil(r)||_.set(t,"idx",r),n.push(t)}}),t&&_.set(l,a,t);let o=await this.bpm.loadResult({params:{cal_fields:n,fields:l}});return _.map(o.data,(e,t)=>{let i=_.get(this.eleMap,`${t}.type`);_.includes(["SelectFromForm","Quote"],i)&&(e=_.get(e,"data.form_id")),o.data[t]=e}),o.data}async fillDefault(e,t=[],i){let a=[];if(_.each(this.elements,r=>{let n=_.includes(t,r.id);if(!_.get(r,"perm.writable"))return;if(n)return _.set(e,r.id,null),void this.setLocalCache(r.id,null,i);let l=_.get(e,r.id);if(!_.isNil(l))return;let o=_.get(r,"default.value.type");if("EVCConfig"==o){let t=_.get(r,"default.value.value",null);_.set(e,r.id,t),this.setLocalCache(r.id,t,i)}"EVCExpression"!=o&&"EVCFirstElem"!=o||a.push({calculate_type:"default",field_def_id:r.id})}),_.isEmpty(a))return;let r=await this.bpm.loadResult({params:{cal_fields:a}});_.map(r.data,(t,a)=>{let r=_.get(this.eleMap,`${a}.type`);_.includes(["SelectFromForm","Quote"],r)&&(t=_.get(t,"data.form_id")),_.includes(["MulSelectFromForm"],r)&&(t=_.map(t,"data.form_id")),_.set(e,a,t),this.setLocalCache(a,t,i)})}setLocalCache(e,t,i){let a=_.get(this.eleMap,`${e}.value_type`);this.bpm.setLocalCache(i,`${e}.${a}`,t)}destroy(){this.relyGraphData={nodes:[],edges:[]},this.penetrationZList=[],this.elementIdList=[],this.eleMap=null,this.elements=[],this.bpm=null,this.value=null}}var L={name:"BpmSubForm",components:{SubFormStyleTable:F,SubFormStyleCard:M,SubFormStyleList:T},props:{value:{type:Array,default(){return[]}},type:{type:String,default:"XSubForm"},fieldConf:{type:Object,default(){return{}}},mode:{type:String,default:"view"},formMode:{type:String,default:""},uiType:{type:String,default:"default"},maxHeight:{type:[Number,String],default:500},showHeader:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},container:{type:Object,default:function(){return{}}},dm:{type:Boolean,default(){return!1}},orgInfo:{type:Object,default(){return{}}},formDefId:{type:String,default:""}},data(){return{subformData:[],tableMaxHeight:500,dialogTableMaxHeight:500,showSubForm:!1,linkageItem:null,initLinkageFlag:!1,relyHandleList:[],relyHandleListMap:{},relyingItemMap:{},timerId:null,initLinkageTimerId:null}},computed:{fixed_left_fields(){return _.get(this.fieldConf,"fixed_left_fields",[])},fieldSelf(){return this},readOnly(){return!this.fieldConf.perm||!(this.fieldConf.perm.editable&&this.fieldConf.perm.modifiable)},columns(){const e=this.fieldConf.elements||[],t=[];return e.forEach(e=>{const i=s.Q[e.type]||{},a=e.perm||{visible:!0,editable:!0,writable:!0};if(this.dm||a.visible||a.editable||a.writable){e.visible=a.visible||this.dm;let r=this.mode;"edit"!==r||a.editable||a.writable||(r="view");let n=(t,i)=>{let a=(e,t)=>{let i=0;return e&&t?_.isString(e)?i=e.localeCompare(t):_.isArray(e)?e.length>0&&t.length>0?0==a[(e[0],t[0])]?(e.pop(),t.pop(),i=a(e,t)):i=a(e[0],t[0]):i=0==e.length&&t.length>0?-1:e.length>0&&0==t.length?1:0:i=e-t:i=!e&&t?-1:e&&!t?1:0,i};return null==t[e.id]?-1:null==i[e.id]?1:a(t[e.id],i[e.id])};t.push({key:e.id,id:e.id,label:e.name||e.id,minWidth:e.display.column_width||i.tableColWidth||100,sortable:!("edit"==this.mode&&e&&e.range_remote&&e.range_remote.depends&&e.range_remote.depends.length),sortBy:e.id,fixed:!!this.fixed_left_fields.includes(e.id)&&"left",sortMethod:n,fieldMode:r,visible:a.visible,data:e})}}),t},subFormDialogTitle(){return this.fieldConf.name||this.fieldConf.id},showStyle(){return this.fieldConf.style||"table"},subformPerm(){return this.fieldConf.perm||{creatable:!1,deletable:!1,editable:!1,memorable:!1,modifiable:!1,visible:!0,writable:!1}},isSubForm(){return!0},elementIdList(){return _.map(this.fieldConf.elements,"id")},eleMap(){let e=this.fieldConf.elements,t=_.get(this.container,"formSchema.elements");return e=_.concat(e,t),_.keyBy(e,"id")}},watch:{value:{handler(e,t){e&&_.isArray(e)?(this.subformData=e,e!=t&&(this.initLinkageFlag=!1,this.$nextTick(()=>{this.initLinkage()}))):this.subformData=[]},immediate:!0}},created(){this.handleWindowResize(),this.linkageItem=new $(this.$bpm),this.dialogTableMaxHeight=Math.floor(window.innerHeight/100*70-114)},beforeDestroy(){window.removeEventListener("resize",this.handleWindowResize),this.linkageItem.destroy(),this.linkageItem=null,clearTimeout(this.timerId),clearTimeout(this.initLinkageTimerId),this.timerId=null,this.initLinkageTimerId=null,this.subformData=[],this.relyHandleList=[],this.relyHandleListMap={},this.relyingItemMap={}},mounted(){this.linkageItem.addStackArr(this.fieldConf.elements,this.eleMap),window.addEventListener("resize",this.handleWindowResize),this.timerId=setTimeout(()=>{this.handleWindowResize()},2e3)},methods:{handleWindowResize(){const e=Math.floor(window.innerHeight-330);this.tableMaxHeight=e>550?e:550},handleBeforeFormSubmit(){if("trigger"!==this.formMode)return;let e=this.$refs.sub_form_table;if(!e)return;if(_.isArray(e)&&(e=e[0]),!e||!e.computeTriggerFilteredData)return;const t=e.computeTriggerFilteredData();this.subformData=t,this.handleChange(t)},handleChange(e){this.$emit("input",e),this.$emit("change",e)},initLinkage(){if(this.initLinkageFlag||0==this.subformData.length)return!1;console.log("初始化联动");let{relyHandleList:e}=this.linkageItem.getRelyHandleList("sure000");_.set(this.relyHandleListMap,this.value.length-1,e),this.initLinkageFlag=!0,this.initLinkageTimerId=setTimeout(()=>{this.$bpm.$emit("initRelyComplete",this)},1e3)},handleNextRely(e){let t=_.get(this.relyHandleListMap,e);t&&t.shift(),_.isEmpty(t)&&this.$bpm.$emit("initRelyComplete",this,e);let i=_.head(t,e);i&&this.$bpm.$emit("handeInitRely",{id:i,rowIndex:e})},async handleRelyById(e,t){let{relyHandleList:i,firstId:a}=this.linkageItem.getRelyHandleList(e);if(this.relyHandleListMap[t]&&this.relyHandleListMap[t]&&this.relyHandleListMap[t].length>0){if(i&&i.length>0){let e=_.concat(this.relyHandleListMap[t],i);_.set(this.relyHandleListMap,t,e)}}else _.set(this.relyHandleListMap,t,i);if(a){this.$bpm.setRelyLoading(!0);let e=await this.linkageItem.loadLinkage(i,this.value,this.container.formData,this.fieldConf.id,t);_.map(e,(e,i)=>{this.$set(this.value[t],`${i}`,e)}),this.$bpm.$emit("handeRelyById",{id:a,rowIndex:t})}else this.$bpm.setRelyLoading(!1)},handleNextRelyById(e){let t=_.get(this.relyHandleListMap,e);if(t){this.$bpm.setRelyLoading(!0),t.shift(),_.isEmpty(t)&&this.$bpm.$emit("initRelyComplete",this,e);let i=_.head(t);i&&this.$bpm.$emit("handeRelyById",{id:i,rowIndex:e})}},setData(){}}},O=L,B=(0,f.A)(O,o,[],!1,null,"e0a458ce",null);B.options.__file="components/lib/bpmSubForm/src/main.vue";var H=B.exports;H.install=function(e){e.component(H.name,H)};var E=H;return l}()});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("lodash"),require("qs"),require("@antv/g6")):"function"==typeof define&&define.amd?define(["lodash","qs","@antv/g6"],t):"object"==typeof exports?exports.bpm2=t(require("lodash"),require("qs"),require("@antv/g6")):e.bpm2=t(e.lodash,e.qs,e["@antv/g6"])}(self,function(e,t,i){return function(){"use strict";var a={7520:function(e,t,i){i.d(t,{Q:function(){return l}});let a=[{key:"lt",name:"早于"},{key:"gt",name:"晚于"},{key:"gte",name:"不早于"},{key:"lte",name:"不晚于"}],n=[{key:"in",name:"在列表中"}],r=[{key:"in",name:"在列表中"},{key:"all",name:"包含所有"}];const l={Text:{name:"单行文本",hasBpmField:!0,tableColWidth:240,actions:[{key:"contains",name:"包含"},{key:"eq",name:"等于"}],attrs:["type","value_type","id","name","linkage"]},TextArea:{name:"多行文本",hasBpmField:!0,tableColWidth:300,actions:[{key:"contains",name:"包含"},{key:"eq",name:"等于"}],attrs:["type","value_type","id","name","linkage"]},SerialNumber:{name:"流水号",hasBpmField:!0,actions:[{key:"contains",name:"包含"}],options:{type:"Text"},attrs:["type","id","name","linkage"]},Number:{name:"数字",hasBpmField:!0,tableColWidth:200,actions:[{key:"eq",name:"等于"},{key:"gt",name:"大于"},{key:"gte",name:"大于等于"},{key:"lt",name:"小于"},{key:"lte",name:"小于等于"},{key:"ne",name:"不等于"}],attrs:["type","id","name","value_type","is_int","view.precision","linkage"]},DateTime:{name:"日期时间选择器",tableColWidth:240,hasBpmField:!0,actions:a,attrs:["type","id","name","check.format","view.format","linkage"]},Date:{name:"日期选择器",tableColWidth:240,hasBpmField:!0,actions:a,attrs:["type","id","name","check.format","view.format","linkage"]},Time:{name:"时间选择器",hasBpmField:!0,tableColWidth:240,actions:a,attrs:["type","id","name","check.format","view.format","linkage"]},Timestamp:{name:"※时间戳",tableColWidth:240,actions:a,attrs:["type","id","name","check.format","view.format","linkage"]},Select:{name:"单选",hasBpmField:!0,tableColWidth:220,actions:n,options:{type:"MulSelect"},attrs:["type","id","name","value_type","style","range_enum","linkage"]},Status:{name:"状态",hasBpmField:!0,tableColWidth:150,actions:n,options:{type:"MulSelect"},attrs:["type","id","name","value_type","style","range_enum","linkage"]},MulSelect:{name:"多选",hasBpmField:!0,tableColWidth:220,actions:r,attrs:["type","id","name","value_type","result_type","style","range_enum","linkage"]},SelectFromForm:{name:"远程单项选择",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectFromForm"},attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.form","range_remote.depends","linkage"]},MulSelectFromForm:{name:"远程多项选择",hasBpmField:!0,tableColWidth:200,actions:r,attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.form","range_remote.depends","linkage"]},SelectFromMulForm:{name:"关联组件",hasBpmField:!0,tableColWidth:200,actions:r,attrs:["type","id","name","range_remote","value_type"]},SelectProject:{name:"项目单项选择",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectProject"},attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},MulSelectProject:{name:"项目多项选择",hasBpmField:!0,tableColWidth:200,actions:r,attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},SelectUser:{name:"用户单项选择",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectUser"},attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},MulSelectUser:{name:"用户多项选择",hasBpmField:!0,tableColWidth:200,actions:r,options:{type:"MulSelectUser"},attrs:["type","id","name","range_remote","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},SelectURUser:{name:"用户单项选择(新)",hasBpmField:!0,tableColWidth:400,actions:n,options:{type:"MulSelectURUser"},attrs:["type","id","name","range_remote","value_type","filters","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},MulSelectURUser:{name:"用户多项选择(新)",hasBpmField:!0,tableColWidth:400,actions:r,options:{type:"MulSelectURUser"},attrs:["type","id","name","range_remote","value_type","filters","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},SelectRootCategory:{name:"根任务类型选择",hasBpmField:!0,tableColWidth:200,actions:[{key:"eq",name:"等于"}],attrs:["type","id","name","category_cls","value_type","linkage"]},SelectCheckItem:{name:"检查项单项选择",hasBpmField:!0,actions:n,tableColWidth:200,options:{type:"MulSelectCheckItem"},attrs:["type","id","name","category_cls","value_type","range_remote","root_category","tree_select","can_select","can_select.filter_expression","range_remote.filter_expression","range_remote.depends","linkage"]},MulSelectCheckItem:{name:"检查项多项选择",hasBpmField:!0,tableColWidth:200,actions:r,attrs:["type","id","name","category_cls","value_type","range_remote","root_category","tree_select","can_select","can_select.filter_expression","range_remote.filter_expression","range_remote.depends","linkage"]},SelectSort:{name:"分类单项选择",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectSort"},attrs:["type","id","name","value_type","range_remote","tree_select","can_select","can_select.filter_expression","range_remote.filter_expression","range_remote.depends","linkage"]},MulSelectSort:{name:"分类多项选择",hasBpmField:!0,tableColWidth:200,actions:r,attrs:["type","id","name","value_type","range_remote","tree_select","can_select","can_select.filter_expression","range_remote.filter_expression","range_remote.depends","linkage"]},SelectPartner:{name:"合作伙伴单项选择",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectPartner"},attrs:["type","id","name","value_type","range_remote","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},MulSelectPartner:{name:"合作伙伴多项选择",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectPartner"},attrs:["type","id","name","value_type","range_remote","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},SelectOrg:{name:"单位单项选择",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectOrg"},attrs:["type","id","name","value_type","range_remote","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},MulSelectOrg:{name:"单位多项选择",hasBpmField:!0,tableColWidth:200,actions:r,attrs:["type","id","name","value_type","range_remote","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.depends","linkage"]},Audit:{name:"审批",hasBpmField:!0,actions:[{key:"ar_eq",name:"审批结果等于"},{key:"ar_in",name:"审批结果在列表中"}],actionOptions:[{value:0,label:"未审批"},{value:1,label:"审批通过"},{value:2,label:"审批未通过"}],attrs:["type","id","name","linkage"],options:{result_type:"Array",value_type:"int",type:"MulSelect",style:"default",range_enum:[[0,"未审批"],[1,"通过"],[2,"未通过"]]}},MulAudit:{name:"多人审批",hasBpmField:!0,actions:[{key:"ar_eq",name:"审批结果等于"},{key:"ar_in",name:"审批结果在列表中"}],actionOptions:[{value:0,label:"未审批"},{value:1,label:"审批通过"},{value:2,label:"审批未通过"}],attrs:["type","id","name","linkage"],options:{result_type:"Array",value_type:"int",type:"MulSelect",style:"default",range_enum:[[0,"未审批"],[1,"通过"],[2,"未通过"]]}},MulArea:{name:"区域多项选择",hasBpmField:!0,tableColWidth:260,actions:r,attrs:["type","id","name","value_type","can","linkage"]},Area:{name:"区域单项选择",hasBpmField:!0,tableColWidth:260,actions:n,options:{type:"MulArea"},attrs:["type","id","name","value_type","can","linkage"]},SelectFormId:{name:"表单单项选择",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectFormId"},attrs:["type","id","name","value_type","form_select_type","linkage"]},MulSelectFormId:{name:"表单多项选择",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectFormId"},attrs:["type","id","name","value_type","form_select_type","linkage"]},SelectFromField:{name:"远程单选(从字段)",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectFromField"},attrs:["type","id","name","range_remote","style","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.form","range_remote.depends","linkage"]},MulSelectFromField:{name:"远程多选(从字段)",hasBpmField:!0,tableColWidth:200,actions:n,options:{type:"MulSelectFromField"},attrs:["type","id","name","range_remote","style","value_type","range_remote.filter_expression","range_remote.store_field","range_remote.display_field","range_remote.form","range_remote.depends","linkage"]},MulSelectEntranceForm:{name:"远程多项选择(从入口)",hasBpmField:!0},SelectHouseOwner:{name:"业主选择"},MulSelectIssue:{name:"问题选择"},MulFile:{name:"附件",hasBpmField:!0,tableColWidth:150},Ocr:{name:"OCR识别",hasBpmField:!0,tableColWidth:160},MulImage:{name:"图片",hasBpmField:!0,tableColWidth:150},Signature:{name:"签名",hasBpmField:!0},OnlineEditor:{name:"在线文档编辑器"},Spliter:{name:"分割线",hasBpmField:!1},Stepper:{name:"步进器",hasBpmField:!1},Quote:{name:"跨表单数据引用",hasBpmField:!0},Order:{name:"排序控件",hasBpmField:!1},SubForm:{name:"子表单",hasBpmField:!0},XSubForm:{name:"子表单(增强版)",hasBpmField:!0},TreeSubForm:{name:"树子表单",hasBpmField:!0},GroupSubForm:{name:"分组子表单",hasBpmField:!0},OrderSubForm:{name:"排序子表单",hasBpmField:!0},AreaElevation:{name:"区域快速选择器",hasBpmField:!0,tableColWidth:200},RichText:{name:"富文本编辑框",hasBpmField:!0,tableColWidth:100},Appointment:{name:"时段预约",hasBpmField:!0,tableColWidth:120},Rating:{name:"评分",hasBpmField:!0,tableColWidth:250},MapLocation:{name:"地图位置",hasBpmField:!0,tableColWidth:250},ExternalFormLink:{name:"外链表单组件",hasBpmField:!0,tableColWidth:200,actions:r,attrs:["type","id","name","range_remote","value_type"]}}},9795:function(e,t,i){function a(){for(var e=[],t="0123456789abcdef",i=0;i<36;i++)e[i]=t.substr(Math.floor(16*Math.random()),1);return e[14]="4",e[19]=t.substr(3&e[19]|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")}i.d(t,{uR:function(){return a}}),i(6773),i(5360)},1773:function(e,t,i){var a=i(1601),n=i.n(a),r=i(6314);i.n(r)()(n()).push([e.id,"\n/deep/ .relate-sub-form-dialog .bpm-relate-subform-table .el-input__validateIcon {\n display: none;\n}\n",""])},6314:function(e){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var i="",a=void 0!==t[5];return t[4]&&(i+="@supports (".concat(t[4],") {")),t[2]&&(i+="@media ".concat(t[2]," {")),a&&(i+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),i+=e(t),a&&(i+="}"),t[2]&&(i+="}"),t[4]&&(i+="}"),i}).join("")},t.i=function(e,i,a,n,r){"string"==typeof e&&(e=[[null,e,void 0]]);var l={};if(a)for(var s=0;s<this.length;s++){var o=this[s][0];null!=o&&(l[o]=!0)}for(var d=0;d<e.length;d++){var m=[].concat(e[d]);a&&l[m[0]]||(void 0!==r&&(void 0===m[5]||(m[1]="@layer".concat(m[5].length>0?" ".concat(m[5]):""," {").concat(m[1],"}")),m[5]=r),i&&(m[2]?(m[1]="@media ".concat(m[2]," {").concat(m[1],"}"),m[2]=i):m[2]=i),n&&(m[4]?(m[1]="@supports (".concat(m[4],") {").concat(m[1],"}"),m[4]=n):m[4]="".concat(n)),t.push(m))}},t}},1601:function(e){e.exports=function(e){return e[1]}},4486:function(e,t,i){function a(e,t,i,a,n,r,l,s){var o,d="function"==typeof e?e.options:e;if(t&&(d.render=t,d.staticRenderFns=i,d._compiled=!0),a&&(d.functional=!0),r&&(d._scopeId="data-v-"+r),l?(o=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(l)},d._ssrRegister=o):n&&(o=s?function(){n.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:n),o)if(d.functional){d._injectStyles=o;var m=d.render;d.render=function(e,t){return o.call(t),m(e,t)}}else{var u=d.beforeCreate;d.beforeCreate=u?[].concat(u,o):[o]}return{exports:e,options:d}}i.d(t,{A:function(){return a}})},4419:function(e){e.exports=i},6773:function(t){t.exports=e},5360:function(e){e.exports=t}},n={};function r(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={id:e,exports:{}};return a[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l={};r.r(l),r.d(l,{default:function(){return E}});var s=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",["table"===e.uiType?i("el-button",{attrs:{type:"text"},on:{click:function(t){e.showSubForm=!0}}},[e._v(e._s(e.$z("查看子表单","b2.common.view_subform")))]):"table"===e.showStyle?i("SubFormStyleTable",e._b({ref:"sub_form_table",attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,mode:e.mode,formMode:e.formMode,readOnly:e.readOnly,dm:e.dm,"max-height":e.tableMaxHeight,"show-header":e.showHeader,resizable:e.resizable,"top-container":e.container,container:e.fieldSelf,linkageItem:e.linkageItem,orgInfo:e.orgInfo,formDefId:e.formDefId},on:{change:e.handleChange}},"SubFormStyleTable",e.$attrs,!1)):"list"===e.showStyle?i("SubFormStyleList",e._b({attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,mode:e.mode,dm:e.dm,"max-height":e.maxHeight,"top-container":e.container,container:e.fieldSelf,orgInfo:e.orgInfo,formDefId:e.formDefId,linkageItem:e.linkageItem},on:{change:e.handleChange}},"SubFormStyleList",e.$attrs,!1)):i("SubFormStyleCard",e._b({attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,mode:e.mode,dm:e.dm,"max-height":e.maxHeight,"top-container":e.container,container:e.fieldSelf,orgInfo:e.orgInfo,formDefId:e.formDefId,linkageItem:e.linkageItem},on:{change:e.handleChange}},"SubFormStyleCard",e.$attrs,!1)),e._v(" "),"table"===e.uiType?i("el-dialog",{attrs:{title:e.subFormDialogTitle,visible:e.showSubForm,width:"50%"},on:{"update:visible":function(t){e.showSubForm=t},close:function(t){e.showSubForm=!1}}},[i("div",{staticStyle:{"max-height":"70vh",overflow:"auto"}},["table"===e.showStyle?i("SubFormStyleTable",e._b({ref:"sub_form_table",attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,mode:e.mode,formMode:e.formMode,readOnly:e.readOnly,dm:e.dm,"max-height":e.dialogTableMaxHeight,"show-header":!0,resizable:!0,"top-container":e.container,container:e.fieldSelf,linkageItem:e.linkageItem,orgInfo:e.orgInfo,formDefId:e.formDefId},on:{change:e.handleChange}},"SubFormStyleTable",e.$attrs,!1)):"list"===e.showStyle?i("SubFormStyleList",e._b({attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,mode:e.mode,dm:e.dm,"max-height":e.maxHeight,"top-container":e.container,container:e.fieldSelf,orgInfo:e.orgInfo,formDefId:e.formDefId,linkageItem:e.linkageItem},on:{change:e.handleChange}},"SubFormStyleList",e.$attrs,!1)):i("SubFormStyleCard",e._b({attrs:{value:e.subformData,type:e.type,columns:e.columns,subformPerm:e.subformPerm,fieldConf:e.fieldConf,"top-container":e.container,container:e.fieldSelf,orgInfo:e.orgInfo,formDefId:e.formDefId,linkageItem:e.linkageItem,mode:e.mode,dm:e.dm},on:{change:e.handleChange}},"SubFormStyleCard",e.$attrs,!1))],1)]):e._e()],1)};s._withStripped=!0;var o=r(7520),d=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[e.showSearch?i("el-input",{staticStyle:{"margin-top":"10px"},attrs:{placeholder:e.$z("请输入关键词搜索","c.please_enter_keywords_to_search"),"prefix-icon":"el-icon-search"},nativeOn:{keyup:function(t){if(!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;t.preventDefault()}},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}}):e._e(),e._v(" "),i("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:e.$z("单击可进行编辑","c.click_to_edit"),placement:"top",disabled:e.readOnly||!("edit"==e.mode&&e.shouldUseClickToEditMode&&!e.hadClickRow)||"view"==e.mode}},[i("el-table",{key:"rowIndex",ref:"subformTable",class:["bpm-subform-table",{"has-tree-data":e.hasTreeData}],staticStyle:{width:"100%"},attrs:{data:e.showSubformData,"row-key":e.getTriggerRowId,"max-height":e.maxHeight,height:e.dynamicVisibleRowCount>10?e.maxHeight:null,fit:!0,"show-header":e.showHeader,"row-style":e.getRowStyle,resizable:e.resizable,border:"",stripe:"","default-expand-all":e.defaultExpandAll,"tree-props":{children:"children",hasChildren:"hasChildren"}},on:{"row-click":e.rowClick,"selection-change":e.handleTriggerSelectionChange,"header-dragend":e.handleHeaderDragend}},[e.isTriggerMode?i("el-table-column",{attrs:{type:"selection",width:55,"reserve-selection":"",fixed:!!(e.fixed_left_fields&&e.fixed_left_fields.length>0)&&"left",selectable:e.isRowSelectable}}):e._e(),e._v(" "),e.showIndex?i("el-table-column",{attrs:{type:"index",label:e.indexLabel,fixed:!!(e.fixed_left_fields&&e.fixed_left_fields.length>0)&&"left",width:100},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(t.row._groupNode?"":t.$index+1)+"\n\n "),t.row._groupNode?e._e():e._l(e.hiddenColumns,function(a){return i("bpm-sub-form-field",e._b({directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}],key:a.key,attrs:{type:a.data.type,fieldConf:a.data,mode:e.dm?e.mode:e.getFieldMode(a.data.perm,t.row),dm:e.dm,uiType:"table",orgInfo:e.orgInfo,formDefId:e.formDefId,rowIndex:t.row.rowIndex,container:e.container},on:{input:e.handleInput,change:function(i){return e.handleChange(i,t.row,a.id)}},model:{value:t.row[a.id],callback:function(i){e.$set(t.row,a.id,i)},expression:"scope.row[col.id]"}},"bpm-sub-form-field",e.$attrs,!1))})]}}],null,!1,3619816015)}):e._e(),e._v(" "),e._l(e.groupedShowColumns,function(t){return i("multi-level-table-column",{key:t.groupKey||t.key,attrs:{"column-node":t,"owner-vm":e.selfVm}})}),e._v(" "),e.canRemove&&e.countLimit.canRemove&&"edit"==e.mode||e.relateSubForms&&e.relateSubForms.length?i("el-table-column",{attrs:{prop:"delete",fixed:!!e.operation_column_fixed_right&&"right",label:e.$z("操作","c.operation"),"min-width":e.operation_column_width},scopedSlots:e._u([{key:"default",fn:function(t){return[i("div",{staticClass:"table-row-opertaion-btn-grp"},[e.canAddSubItem&&(t.row._groupNode||t.row._groupHead||e.canAddSubItemMaxLevel>=t.row.level)?i("el-button",{attrs:{type:"text"},on:{click:function(i){return i.stopPropagation(),e.handleAddSubItem(t.row.rowIndex,t.row)}}},[e._v(e._s(e.AddSubItemBtnTitle))]):e._e(),e._v(" "),!t.row._groupNode&&e.canRemove&&e.countLimit.canRemove?i("el-button",{staticClass:"btn-delete",attrs:{type:"danger",icon:"el-icon-delete",circle:""},on:{click:function(i){return i.stopPropagation(),e.handleRemoveItem(t.row.rowIndex,t.row)}}}):e._e(),e._v(" "),e._l(e.relateSubForms,function(a){return i("el-button",{directives:[{name:"show",rawName:"v-show",value:a.enable&&!t.row._groupNode,expression:"relate.enable && !scope.row._groupNode"}],key:a.idx,attrs:{type:"text"},on:{click:function(i){return i.stopPropagation(),e.openRelateFormDialog(a,t.row)}}},[e._v("\n "+e._s(a.name)+"\n ")])})],2)]}}],null,!1,464489504)}):e._e()],2)],1),e._v(" "),e.canAdd&&e.countLimit.canAdd?i("el-button",{staticStyle:{"margin-top":"10px"},attrs:{type:"default",icon:"el-icon-plus"},on:{click:function(t){return e.handleAddItem(null)}}},[e._v(e._s(e.$z("添加项","c.add_item")))]):e._e(),e._v(" "),i("relate-sub-form-dialog",{attrs:{mode:e.mode,container:e.container,srcFieldConf:e.fieldConf,row:e.dialogSubFormRelate.row,relateInfo:e.dialogSubFormRelate.relateInfo,visible:e.dialogSubFormRelate.visible},on:{close:e.handelRelateFormDialogClose}})],1)};d._withStripped=!0;var m=r(9795),u={props:{value:{type:Array,default(){return[]}},columns:{type:Array,default(){return[]}},subformPerm:{type:Object,default(){return{}}},fieldConf:{type:Object,default(){return{}}},type:{type:String,default:"SubForm"},mode:{type:String,default:"view"},maxHeight:{type:[Number,String],default:500},container:{type:Object,default(){return{}}},topContainer:{type:Object,default(){return{}}},orgInfo:{type:Object,default(){return{}}},formDefId:{type:String,default:""}},data(){return{searchText:"",dynamicVisibleMap:{},fieldLabelMap:{},subformData:[],originSubformData:[],originSubformDataMap:{},showSubformData:[],_oldVal:null,_reorderingSubform:!1,hasInit:!1,isEditingMap:{},formSchemaDef:{},formSourceData:[],treeMainFieldValueMap:{},debounceEmitInstance:null,searchLayoutTimer:null}},inject:["formData","formSchema"],computed:{form(){return this.topContainer},userId(){return _.get(this.$bpm.userInfo,"user_id",0)||_.get(zj.app.accessInfo.user_info,"user_id",0)},originItem(){let e={};const t={int:0,text:"",array:[],struct:[]};return this.columns.forEach(i=>{e[i.id]=t[i.data.value_type]||""}),e},canAdd(){return"edit"===this.mode&&(this.subformPerm.creatable||this.dm)},canRemove(){return"edit"===this.mode&&(this.subformPerm.deletable||this.dm)},AddSubItemBtnTitle(){return _.get(this.fieldConf,"add_sub_item_btn_title",zj.z("添加子项","c.add_sub_items"))},canAddSubItem(){return"edit"===this.mode&&(this.subformPerm.creatable||this.dm)&&_.get(this.fieldConf,"can_add_sub_item",!1)},canAddSubItemMaxLevel(){let e=_.get(this.fieldConf,"can_add_subitem_max_level",0);return 0==e&&(e=99999),e},add_sub_item_place(){return _.get(this.fieldConf,"add_sub_item_place","last")},copy_content(){return _.get(this.fieldConf,"copy_content","copy_subitem_last")},copy_content_fields(){return _.get(this.fieldConf,"copy_content_fields",[])},defaultExpandAll(){return _.get(this.fieldConf,"default_expand_all",!1)},min(){const e=_.get(this.fieldConf,"check.min_count",0),t=_.get(this.fieldConf,"check.xmin_count");return t?this.form.formData[t]||0:e},max(){const e=_.get(this.fieldConf,"check.max_count"),t=_.get(this.fieldConf,"check.xmax_count");return t?this.form.formData[t]||0:e},countForClickToEdit(){return _.get(this.fieldConf,"count_for_click_to_edit")},countLimit(){const e=this.min,t=this.max;let i=this.realItemCount;return{canAdd:!(t&&i>=t),canRemove:!(i<=e)}},treeMainField(){return _.get(this.fieldConf,"tree_main_field","")},treeParentField(){return _.get(this.fieldConf,"tree_main_field")?_.get(this.fieldConf,"tree_parent_field")?_.get(this.fieldConf,"tree_parent_field"):"_parent":""},showIndex(){return!!this.fieldConf.show_index},indexLabel(){return this.fieldConf.index_label||zj.z("序号","b2.common.subform_index")},groupField(){return"GroupSubForm"===this.type&&_.get(this.fieldConf,"group_by.by","")},group_by_type(){return _.get(this.fieldConf,"group_by_type","group_first")},showField(){return _.get(this.fieldConf,"is_show_field")},readonly(){return!_.get(this.fieldConf,"perm.editable",!1)},showSearch(){return _.get(this.fieldConf,"show_search",!1)},hasTreeData(){return!(!this.showSubformData||!this.showSubformData.length)&&this.showSubformData.some(e=>Array.isArray(e.children)&&e.children.length>0)},realItemCount(){if("table"!==this.style_ui_type||!this.groupField)return this.showSubformData.length;const e=t=>t&&t.length?_.reduce(t,(t,i)=>i?i._groupNode?t+e(_.get(i,"children",[])):t+1+e(_.get(i,"children",[])):t,0):0;return e(this.showSubformData)},clickToEditRowCount(){if("table"!==this.style_ui_type)return this.showSubformData.length;const e=t=>t&&t.length?_.reduce(t,(t,i)=>i?t+(i._groupNode?0:1)+e(_.get(i,"children",[])):t,0):0;return e(this.showSubformData)},shouldUseClickToEditMode(){return"table"===this.style_ui_type&&this.clickToEditRowCount>this.countForClickToEdit}},watch:{value:{handler(e){e&&_.isArray(e)?(this.subformData=e,0==this.originSubformData.length&&(this.originSubformData=_.cloneDeep(e),_.each(this.originSubformData,e=>{let t=_.cloneDeep(e);delete t._meta,_.get(e,"_meta.id","")&&(this.originSubformDataMap[e._meta.id]=t)}))):this.subformData=[]},immediate:!0},subformData:{handler(e){this._reorderingSubform?this._reorderingSubform=!1:(this.syncTreeMainFieldValueMap(e),this.showSubformData=this.setData(e),this.searchText&&this.applySearchDynamicVisible())},deep:!0,immediate:!0},searchText:{handler(){this.applySearchDynamicVisible()}},min(e,t){this.addItemByMin(e)},max(e,t){let i=this.realItemCount;if(e&&i>e){let t=i-e,a=0;for(let e=this.subformData.length;e>0;e--){let i=this.subformData[e-1];i.visible&&a<t&&(this.handleRemoveItem(i.rowIndex,i),a++)}}}},mounted(){this.form&&this.form.$once&&this.form.$once("dataLoaded",e=>{this.addItemByMin(this.min)}),_.isFunction(this.formSchema)&&(this.formSchemaDef=this.formSchema())},beforeDestroy(){this.debounceEmitInstance&&this.debounceEmitInstance.cancel(),this.searchLayoutTimer&&(clearTimeout(this.searchLayoutTimer),this.searchLayoutTimer=null)},methods:{getRowKey(e){return _.get(e,"_meta.id",e&&e.rowIndex)},normalizeTreeFieldValue(e){if(null==e)return null;if(_.isObject(e)){let t=_.get(e,"_meta.id");return null==t&&(t=_.get(e,"id")),null==t&&(t=_.get(e,"value")),null==t&&(t=_.get(e,"key")),this.normalizeTreeFieldValue(t)}if(_.isArray(e))return this.normalizeTreeFieldValue(e[0]);return String(e).trim()||null},syncTreeMainFieldValueMap(e){if(!this.treeMainField)return void(this.treeMainFieldValueMap={});const t={};_.each(e||[],e=>{if(!e)return;const i=this.getRowKey(e);null!=i&&(t[i]=_.get(e,this.treeMainField))}),this.treeMainFieldValueMap=t},getTreeMainFieldLabel(){if(!this.treeMainField)return"";const e=_.find(this.columns||[],e=>e&&e.id===this.treeMainField);return console.log("column",e),_.get(e,"label")||this.treeMainField},findDuplicateTreeMainFieldRow(e,t){if(!this.treeMainField)return null;const i=this.normalizeTreeFieldValue(e);return i&&_.find(this.subformData||[],e=>{if(!e||_.get(e,"_meta.is_deleted",!1))return!1;const a=this.getRowKey(e);return(null==t||a!==t)&&this.normalizeTreeFieldValue(_.get(e,this.treeMainField))===i})||null},ensureTreeMainFieldUnique(e,t={}){if(!this.treeMainField||!e)return!0;const{excludeRowKey:i,value:a,showMessage:n=!0}=t,r=void 0!==a?a:_.get(e,this.treeMainField);if(!this.findDuplicateTreeMainFieldRow(r,i))return!0;if(n){const e=this.getTreeMainFieldLabel(),t=e?`${e}-`+zj.z("主键不可以重复","c.primary_key_cannot_be_duplicated"):zj.z("主键不可以重复","c.primary_key_cannot_be_duplicated");this.$message.warning(t)}return!1},syncTreeChildParentField(e,t,i){if(!e||!this.treeParentField)return;const a=[],n={},r=t=>{if(!t||t===e)return;const i=this.getRowKey(t);if(null!=i){if(n[i])return;n[i]=!0}a.push(t)};if(_.each(_.get(e,"children",[]),r),!a.length){const i=this.normalizeTreeFieldValue(t),a=this.normalizeTreeFieldValue(_.get(e,"_meta.id"));_.each(this.subformData||[],t=>{if(!t||t===e)return;const n=this.normalizeTreeFieldValue(_.get(t,this.treeParentField));!n||n!==i&&n!==a||r(t)})}_.each(a,a=>{const n=_.get(a,this.treeParentField),r=this.normalizeTreeFieldValue(n),l=this.normalizeTreeFieldValue(t),s=this.normalizeTreeFieldValue(_.get(e,"_meta.id"));if(r!==l&&r!==s)return;if(n===i)return;const o=_.omit(_.cloneDeep(a),["_meta"]);this.$set(a,this.treeParentField,i),a._meta&&(a._meta.update_time=parseInt((new Date).getTime()/1e3),a._meta.updater=this.userId,a._meta.last_value=o)})},isRowDynamicVisible(e){const t=this.getRowKey(e);return null==t||!1!==this.dynamicVisibleMap[t]},getFieldMode(e,t){let i=this.mode;return!e||"edit"!==i||e.editable||e.writable?(this.shouldUseClickToEditMode&&!this.isEditingMap[t._meta.id]&&(i="view"),t&&t._meta&&t._meta.readonly&&(i="view")):i="view",i},debounceEmit:_.throttle(function(){if("edit"===this.mode){let e=this.subformData;"_parent"===this.treeParentField&&(e=_.map(e,e=>{if(e&&void 0!==e._parent){const t=Object.assign({},e);return delete t._parent,t}return e})),this.$emit("change",e)}},1e3,{leading:!1}),handleChange(e,t,i){let a=!1;if(t&&i&&this.treeMainField&&this.treeParentField&&i===this.treeMainField){const e=this.getRowKey(t),a=null!=e?this.treeMainFieldValueMap[e]:void 0,n=_.get(t,i);if(!this.ensureTreeMainFieldUnique(t,{excludeRowKey:e,value:n}))return this.$set(t,i,a),!1;this.normalizeTreeFieldValue(a)!==this.normalizeTreeFieldValue(n)&&this.syncTreeChildParentField(t,a,n),null!=e&&this.$set(this.treeMainFieldValueMap,e,n)}if(t&&t._meta&&t._meta.id){let e=this.originSubformDataMap[t._meta.id];if(e){for(let i in t)_.includes(["_meta","rowIndex","visible","isNew"],i)||e[i]==t[i]||(a=!0);a&&(t._meta.update_time=parseInt((new Date).getTime()/1e3),t._meta.updater=this.userId,t._meta.last_value=e)}if(this.formSchemaDef){let e=[];_.each(this.formSchemaDef.elements,i=>{i.relate_setting&&_.each(i.relate_setting,a=>{if(a.sub_form==this.fieldConf.id){this.formSourceData=this.formData();let n={};_.each(a.sub_form_field_mapping,e=>{_.includes(a.sub_form_fields,e.target)&&(n[e.src]=t[e.target])});let r=_.filter(this.formSourceData[i.id],e=>{if(e&&e._meta&&!_.get(e,"_meta.is_deleted",!1))return e}),l=_.find(r,n);if(l){let t={field:i.id,row:l._meta.id};e.push(t)}}})}),t._meta.relate=e}if(this.fieldConf.relate_setting&&this.fieldConf.relate_setting.length){let e=this.formData();_.each(this.fieldConf.relate_setting,i=>{_.each(e[i.sub_form],e=>{if(e._meta&&e._meta.relate){let a=_.cloneDeep(e);delete a._meta,_.find(e._meta.relate,{field:this.fieldConf.id,row:t._meta.id})&&_.each(i.sub_form_field_mapping,i=>{e[i.target]=t[i.src],e._meta.update_time=parseInt((new Date).getTime()/1e3),e._meta.updater=this.userId,e._meta.last_value=a})}})})}}this.debounceEmitInstance=this.debounceEmit()},handleInput(e){},async addItemByMin(e){if(_.get(this.fieldConf,"linkage"))return;let t=this.realItemCount;if(e&&t<e){let i=e-t;for(let e=0;e<i;e++)await this.handleAddItem(null)}},async handleAddItem(e=null){let t=(0,m.uR)(),i=this.subformData.length,a=i>=1?this.subformData[i-1]:_.cloneDeep(this.originItem),n=_.get(this.fieldConf,"fill_in_last_fields",[]);a=_.pick(a,n),e?a=_.cloneDeep(e):_.isEmpty(a)||delete a._meta,console.log("lastItem: ",a);let r={isNew:!0,_meta:{id:t,creator:this.userId,create_time:parseInt((new Date).getTime()/1e3),update_time:parseInt((new Date).getTime()/1e3),updater:this.userId,last_value:null,deleter:0,is_deleted:!1,is_selected:!0,relate:[]}};this._addedItemSeq=(this._addedItemSeq||0)+1;try{Object.defineProperty(r,"_addedSeq",{value:this._addedItemSeq,enumerable:!1,configurable:!0,writable:!0})}catch(e){r._addedSeq=this._addedItemSeq}if(this.isTriggerMode&&(r._meta.is_selected=!0),this.$set(this.isEditingMap,t,!0),r=_.merge(r,a),await this.linkageItem.fillDefault(r,[],this.mode),!this.ensureTreeMainFieldUnique(r))return!1;!this.subformData||_.isEmpty(this.subformData)?this.subformData=[r]:this.subformData.push(r),this.handleChange();let{relyHandleList:l,firstId:s}=this.linkageItem.getRelyHandleList("sure000");_.set(this.relyHandleListMap,this.subformData.length-1,l),_.isEmpty(l)&&this.$bpm.$emit("initRelyComplete",this,r.rowIndex),s&&setTimeout(async()=>{let e=await this.linkageItem.loadLinkage(l,this.subformData,this.container.formData,this.fieldConf.id,r.rowIndex);_.map(e,(e,t)=>{this.$set(this.subformData[r.rowIndex],`${t}`,e)}),this.handleChange(),this.$bpm.$emit("handeInitRely",{id:s,rowIndex:r.rowIndex})},500)},async handleAddSubItem(e,t){if(!t)return;const i=!0===t._groupNode;let a;this.treeMainField&&(a=_.get(t,this.treeMainField)),null==a&&(a=_.get(t,"_meta.id"));let n=(0,m.uR)(),r=this.subformData.length,l=r>=1?this.subformData[r-1]:_.cloneDeep(this.originItem),s=_.get(this.fieldConf,"fill_in_last_fields",[]);l=_.pick(l,s),_.isEmpty(l)||delete l._meta;let o={isNew:!0,_meta:{id:n,creator:this.userId,create_time:parseInt((new Date).getTime()/1e3),update_time:parseInt((new Date).getTime()/1e3),updater:this.userId,last_value:null,deleter:0,is_deleted:!1,is_selected:!0,relate:[]}};this.isTriggerMode&&(o._meta.is_selected=!0),this.$set(this.isEditingMap,n,!0),o=_.merge(o,l),this._addedItemSeq=(this._addedItemSeq||0)+1;try{Object.defineProperty(o,"_addedSeq",{value:this._addedItemSeq,enumerable:!1,configurable:!0,writable:!0})}catch(e){o._addedSeq=this._addedItemSeq}const d=this.add_sub_item_place;if(t&&"number"==typeof t._addedSeq)try{delete t._addedSeq}catch(e){t._addedSeq=0}if(await this.linkageItem.fillDefault(o,[],this.mode),i||t._groupHead){const e=i?_.get(t,"_groupValue"):_.get(t,this.groupField);null!=e&&(o[this.groupField]=_.cloneDeep(e))}const u=this.copy_content;let h,c=null;if("copy_parent"===u)c=t;else if("copy_subitem_first"===u){const e=_.get(t,"children",[]);c=e.length?e[0]:null}else if("copy_subitem_last"===u){const e=_.get(t,"children",[]);c=e.length?e[e.length-1]:null}if(c){const e=this.copy_content_fields;e&&e.length&&_.each(e,e=>{if(!e)return;const t=_.get(c,e);void 0!==t&&this.$set(o,e,_.cloneDeep(t))})}if(!this.ensureTreeMainFieldUnique(o))return!1;if(this.treeParentField&&!i)if("replace"===d){const e=_.get(t,this.treeParentField);null!=e&&(o[this.treeParentField]=e),this.$set(t,this.treeParentField,n);const i=_.get(t,"children",[]);_.each(i,e=>{e&&e!==t&&this.$set(e,this.treeParentField,n)})}else null!=a&&(o[this.treeParentField]=a);if(i){const e=_.get(t,"children",[]),i=e[0],a=_.maxBy(e,e=>{const t=_.get(e,"rowIndex");return"number"==typeof t?t:-1});h="last"===d?a?a.rowIndex+1:this.subformData.length:i?i.rowIndex:this.subformData.length}else if("replace"===d)h=e+(t._groupHead&&"group_last"===this.group_by_type?1:0);else if("last"===d){const i=_.get(t,"children",[]),a=i[i.length-1];h=a?a.rowIndex+1:e+1}else h=e+1;if(this.subformData.splice(h,0,o),"replace"===d&&t._groupHead&&"group_last"===this.group_by_type){const e=_.get(t,"children",[])[0];if(e){const t=h-1,i=this.subformData.splice(t,1)[0];i&&this.subformData.splice(e.rowIndex,0,i)}}this.handleChange(),this.$nextTick(()=>{const e=this.$refs.subformTable;e&&e.toggleRowExpansion(t,!0),this.scrollToRow(n)});let{relyHandleList:p,firstId:f}=this.linkageItem.getRelyHandleList("sure000");_.set(this.relyHandleListMap,this.subformData.length-1,p),_.isEmpty(p)&&this.$bpm.$emit("initRelyComplete",this,o.rowIndex),f&&setTimeout(async()=>{let e=await this.linkageItem.loadLinkage(p,this.subformData,this.container.formData,this.fieldConf.id,o.rowIndex);_.map(e,(e,t)=>{this.$set(this.subformData[o.rowIndex],`${t}`,e)}),this.handleChange(),this.$bpm.$emit("handeInitRely",{id:f,rowIndex:o.rowIndex})},500)},scrollToRow(e){this.$nextTick(()=>{const t=this.$refs.subformTable;if(!t)return;const i=t.$el;if(!i)return;const a=i.querySelector(".el-table__body-wrapper");if(!a)return;if(e){let t=-1,i=0;const n=a=>{for(const r of a){if(_.get(r,"_meta.id")===e)return t=i,!0;i++;const a=_.get(r,"children",[]);if(a.length&&n(a))return!0}return!1};if(n(this.showSubformData),t>=0){const e=a.querySelectorAll(".el-table__body tbody tr")[t];if(e)return e.scrollIntoView({block:"center",behavior:"smooth"}),void this.focusFirstField(e)}}a.scrollTop=a.scrollHeight;const n=a.querySelectorAll(".el-table__body tbody tr"),r=n[n.length-1];r&&this.focusFirstField(r)})},focusFirstField(e){console.log("focusFirstField_rowEl",e),setTimeout(()=>{const t=e.querySelectorAll('input:not([type="hidden"]):not([disabled]):not([readonly]), textarea:not([disabled]):not([readonly]), select:not([disabled]):not([readonly]), .el-input__inner:not([disabled]):not([readonly]), .el-select__caret, .el-textarea__inner:not([disabled]):not([readonly])');console.log("inputs_el",t);for(const e of t){const t=e.closest("td");if(!t||!t.querySelector(".table-row-opertaion-btn-grp")){e.focus(),e.click();break}}},350)},setData(e){let t=this.showField,i=_.filter(e,(e,i)=>{e&&(e.rowIndex=i);let a=!_.get(e,"_meta.is_deleted",!1)&&(!t||t&&(2==e[t]||!e[t]));return e.visible=a,a});return this._oldVal=JSON.stringify(e),"table"===this.style_ui_type&&this.groupField?i=this.buildGroupedTableData(i):this.treeParentField&&(i=this.buildTreeTableData(i,this.treeParentField)),i},buildTreeTableData(e,t){if(!e||!e.length||!t)return e||[];const i=e=>{if(null==e)return null;if(_.isObject(e)){let t=_.get(e,"_meta.id");return null==t&&(t=_.get(e,"id")),null==t&&(t=_.get(e,"value")),null==t&&(t=_.get(e,"key")),i(t)}if(_.isArray(e))return i(e[0]);return String(e).trim()||null},a=e=>{const t=i(_.get(e,"_meta.id")),a=i(_.get(e,"id")),n=i(_.get(e,"rowIndex")),r=this.treeMainField?i(_.get(e,this.treeMainField)):null;return _.compact([r,t,a,n])},n=e=>{try{Object.prototype.hasOwnProperty.call(e,"children")&&delete e.children,Object.defineProperty(e,"children",{value:[],enumerable:!1,configurable:!0,writable:!0})}catch(t){e.children=[]}},r=new Map,l=[];_.each(e,e=>{if(!e)return;n(e);const t=a(e),i=t[0];i&&(r.has(i)||(l.push(e),_.each(t,t=>{t&&!r.has(t)&&r.set(t,e)})))});const s=new Map;_.each(l,e=>{const n=a(e)[0],l=i(_.get(e,t));if(!n)return;if(!l||l===n)return void s.set(n,null);const o=r.get(l),d=o?a(o)[0]:null;s.set(n,d&&d!==n?d:null)});const o=new Set;_.each(l,e=>{const t=a(e)[0],i=s.get(t);if(!t||!i)return;if(((e,t)=>{const i=new Set;let a=t;for(;a;){if(a===e)return!0;if(i.has(a))return!0;i.add(a),a=s.get(a)}return!1})(t,i))return;const l=r.get(i);l&&l!==e&&(l.children||n(l),l.children.push(e),o.add(t))});const d=_.filter(l,e=>{const t=a(e)[0];return t&&!o.has(t)}),m=(e,t=0)=>{_.each(e,e=>{e.level=t;const i=_.get(e,"children",[]);i.length&&m(i,t+1)})};return m(d),d},buildGroupedTableData(e){if(!e||!e.length||!this.groupField)return e||[];const t=this.group_by_type||"summary";_.each(e,e=>{e&&(Object.prototype.hasOwnProperty.call(e,"_groupHead")&&delete e._groupHead,Object.prototype.hasOwnProperty.call(e,"children")&&delete e.children)});const i=[],a={};_.each(e,e=>{if(!e)return;const t=this.groupKeyOf(e);t&&(a[t]||(a[t]={key:t,value:_.get(e,this.groupField),label:this.formatGroupValue(_.get(e,this.groupField)),items:[]},i.push(a[t])),a[t].items.push(e))});const n={};let r=0;const l=[];return _.each(e,e=>{if(!e)return;const i=this.groupKeyOf(e),s=a[i];if(!i||!s)return void l.push(e);if(n[i])return;n[i]=!0;const o=this.reorderGroupNewItems(s.items,t);if("group_first"===t){const e=o[0];this.defineGroupChildren(e,o.slice(1)),this.markGroupHead(e),l.push(e)}else if("group_last"===t){const e=o[o.length-1];this.defineGroupChildren(e,o.slice(0,-1)),this.markGroupHead(e),l.push(e)}else l.push({_groupNode:!0,_groupField:this.groupField,_groupValue:s.value,_groupLabel:s.label,children:o,rowIndex:"__group__"+r++})}),l},groupKeyOf(e){const t=_.get(e,this.groupField);if(null==t)return"";if(_.isObject(t)){const e=_.get(t,"value");if(null!=e)return String(e)}return String(t)},formatGroupValue(e){return null==e?"":_.isObject(e)?_.get(e,"label")||_.get(e,"name")||_.get(e,"text")||_.get(e,"title")||_.get(e,"value")||_.get(e,"id")||JSON.stringify(e):String(e)},defineGroupChildren(e,t){if(e)try{Object.prototype.hasOwnProperty.call(e,"children")&&delete e.children,Object.defineProperty(e,"children",{value:t,enumerable:!1,configurable:!0,writable:!0})}catch(i){e.children=t}},markGroupHead(e){if(e)try{Object.defineProperty(e,"_groupHead",{value:!0,enumerable:!1,configurable:!0,writable:!0})}catch(t){e._groupHead=!0}},reorderGroupNewItems(e,t){if(!e||!e.length)return e;let i=null,a=-1;if(_.each(e,e=>{const t=e&&"number"==typeof e._addedSeq?e._addedSeq:-1;t>a&&(a=t,i=e)}),!i)return e;const n=_.filter(e,e=>e!==i),r=this.add_sub_item_place;let l;console.log("reorderGroupNewItems_place",r),console.log("reorderGroupNewItems_type",t),l="replace"===r?"group_last"===t?n.length:0:"last"===r?"group_last"===t?Math.max(n.length-1,0):n.length:"group_first"===t?1:0;const s=n.slice(0,l).concat([i],n.slice(l));return console.log("reorderGroupNewItems_latest",i),console.log("reorderGroupNewItems_reordered",s),console.log("reorderGroupNewItems_items",e),this.syncReorderData(i,s,e),s},syncReorderData(e,t,i){const a=this.subformData;if(!Array.isArray(a)||!a.length)return;if(t[0]===i[0]&&t[t.length-1]===i[i.length-1])return;const n=a.indexOf(e);if(n<0)return;const r=t.indexOf(e),l=r>0?t[r-1]:t[1];if(!l)return;const s=a.indexOf(l);if(s<0)return;let o=r>0?s+1:s;if(o===n||o===n+1)return;const d=a.splice(n,1)[0];let m=o;o>n&&(m=o-1),a.splice(m,0,d),_.each(a,(e,t)=>{e&&"object"==typeof e&&(e.rowIndex=t)}),this._reorderingSubform=!0},handleRemoveItem(e,t){if(this.relateSubForms&&this.relateSubForms.length>0){let i=!1,a=this.formData();_.each(this.relateSubForms,e=>{_.filter(a[e.sub_form],i=>{if(i&&i._meta&&i._meta.relate&&i._meta.relate&&i._meta.relate.length&&!_.get(i,"_meta.is_deleted",!1)&&_.find(i._meta.relate,{field:this.fieldConf.id,row:t._meta.id}))return i;if(i&&i._meta&&i._meta&&!_.get(i,"_meta.is_deleted",!1)){let a=!1,n=!0;if(_.each(e.sub_form_field_mapping,r=>{_.includes(e.sub_form_fields,r.target)&&(i[r.target]==t[r.src]?a=!0:(n=!1,a=!1))}),a&&n)return i}}).length>0&&e.strong_association&&(i=!0)}),i?this.$confirm(zj.z("该项有关联数据,确认一并删除?","b2.common.delete_subform_tip"),zj.z("提示","c.tip"),{confirmButtonText:zj.z("确定","c.confirm"),cancelButtonText:zj.z("取消","c.cancel"),type:"warning"}).then(()=>{this._delItem(this.subformData,e),this._delRelateSubItem(this.subformData[e]),this.$nextTick(()=>{this.$message({type:"success",message:zj.z("删除成功!","c.deleted_successfully")}),this.handleChange()})}).catch(()=>!1):(this._delItem(this.subformData,e),this.handleChange())}else this._delItem(this.subformData,e),this.handleChange()},_delItem(e,t){if(e[t]&&e[t].isNew)console.log("删除子表单项"),e.splice(t,1);else{if(1==e[t]._meta.is_deleted)return!1;console.log("标记删除子表单项"),e[t]._meta.is_deleted=!0,e[t]._meta.deleter=this.userId,e[t]._meta.update_time=parseInt((new Date).getTime()/1e3)}},_delRelateSubItem(e){_.each(this.relateSubForms,t=>{let i=this.formData(),a=_.filter(i[t.sub_form],i=>{if(i&&i._meta&&i._meta&&!_.get(i,"_meta.is_deleted",!1)){let a=!1,n=!0;if(_.each(t.sub_form_field_mapping,r=>{_.includes(t.sub_form_fields,r.target)&&(i[r.target]==e[r.src]?a=!0:(n=!1,a=!1))}),a&&n)return i}});t.strong_association&&_.each(a,(e,t)=>{this._delItem(a,t)})})},handleEditItem(e,t){this.subformData[e]&&this.$set(this.isEditingMap,this.subformData[e]._meta.id,!0)},handleFieldLabelLoaded(e,t,i){const a=this.getRowKey(t),n=i.id;this.$set(this.fieldLabelMap,`${a}-${n}`,e),this.searchText&&this.applySearchDynamicVisible()},syncSearchTableLayout(){this.$nextTick(()=>{_.isFunction(this.queueTableLayoutSync)?this.queueTableLayoutSync():(this.searchLayoutTimer&&clearTimeout(this.searchLayoutTimer),this.searchLayoutTimer=setTimeout(()=>{this.searchLayoutTimer=null;const e=this.$refs.subformTable;e&&_.isFunction(e.doLayout)&&e.doLayout()},20))})},applySearchDynamicVisible(){const e=this.showSubformData||[],t=String(this.searchText||"").trim().toLowerCase();if(!t)return _.isEmpty(this.dynamicVisibleMap)||(this.dynamicVisibleMap={}),void this.syncSearchTableLayout();const i={},a={_meta:!0,children:!0,visible:!0,rowIndex:!0,_groupField:!0},n=e=>String(e).toLowerCase().includes(t),r=e=>_.get(e,"label")||_.get(e,"name")||_.get(e,"title")||_.get(e,"text")||_.get(e,"value")||_.get(e,"key")||_.get(e,"id"),l=(e,t=0)=>{if(null==e)return!1;if(_.isString(e)||_.isNumber(e)||_.isBoolean(e))return n(e);if(_.isArray(e))return!(t>=2)&&_.some(e,e=>l(e,t+1));if(_.isObject(e)){const i=r(e);if(null!=i&&!_.isObject(i)&&n(i))return!0;if(t>=2)return!1;const s=Object.keys(e).slice(0,20);return _.some(s,i=>!a[i]&&l(e[i],t+1))}return!1},s=e=>null==e||_.isString(e)||_.isNumber(e)||_.isBoolean(e)?e:_.isObject(e)?r(e):void 0,o=e=>{let t=!1;return _.each(e,e=>{if(e&&e._groupNode){const t=_.get(e,"children",[]);return void(_.isArray(t)&&t.length&&o(t))}const n=[],r=_.some(e,(t,i)=>{if(a[i])return!1;const r=this.getRowKey(e),o=i,d=this.fieldLabelMap[`${r}-${o}`];d&&(t=d);const m=l(t);return m&&n.push({key:i,value:s(t)}),m}),d=_.get(e,"children",[]),m=!(!_.isArray(d)||!d.length)&&o(d),u=r||m,h=this.getRowKey(e);null!=h&&(i[h]=u),u&&(t=!0)}),t};o(e),this.dynamicVisibleMap=i,this.syncSearchTableLayout()}},destroyed(){this.showSubformData=[],this.subformData=[],this.originSubformData=[],this.originSubformDataMap={},this.formSourceData=[],this.dynamicVisibleMap={},this.fieldLabelMap={},this.isEditingMap={},this.formSchemaDef={},this._oldVal=null}},h=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"relate-sub-form-dialog"},[i("el-dialog",{attrs:{visible:e.dlgVisible,"before-close":e.handleClose,top:"3vh",width:"85%",title:e.relateSetting.title,fullscreen:!1,"append-to-body":""},on:{"update:visible":function(t){e.dlgVisible=t}}},[i("el-table",{key:e.refreshKey,staticClass:"bpm-relate-subform-table",staticStyle:{width:"100%",overflow:"auto"},attrs:{data:e.subformData,height:"80vh",border:"",stripe:""},on:{"row-click":e.rowClick}},[e.showIndex?i("el-table-column",{attrs:{type:"index",label:e.indexLabel,width:100},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(t.$index+1)+"\n\n "),e._l(e.hiddenColumns,function(a){return[i("bpm-sub-form-field",e._b({directives:[{name:"show",rawName:"v-show",value:!1,expression:"false"}],key:a.key,attrs:{type:a.data.type,fieldConf:a.data,"form-name":e.formDefId,"form-def-id":e.formDefId,orgInfo:e.orgParams,mode:e.getFieldMode(a.data.perm,t.row,a.id),uiType:"table",rowIndex:t.row.rowIndex,container:e.container},model:{value:t.row[a.id],callback:function(i){e.$set(t.row,a.id,i)},expression:"scope.row[col.id]"}},"bpm-sub-form-field",e.$attrs,!1))]})]}}],null,!1,4184301278)}):e._e(),e._v(" "),e._l(e.showColumns,function(t){return i("el-table-column",{key:t.key,attrs:{prop:t.id,label:(t.data.check&&t.data.check.required?"* ":"")+t.label,"min-width":t.minWidth,sortable:t.sortable,"sort-by":t.sortBy},scopedSlots:e._u([{key:"default",fn:function(a){return[i("bpm-sub-form-field",e._b({attrs:{type:t.data.type,fieldConf:t.data,mode:e.getFieldMode(t.data.perm,a.row,t.id),"form-name":e.formDefId,"form-def-id":e.formDefId,orgInfo:e.orgParams,uiType:"table",rowIndex:a.row.rowIndex,container:e.container},model:{value:a.row[t.id],callback:function(i){e.$set(a.row,t.id,i)},expression:"scope.row[col.id]"}},"bpm-sub-form-field",e.$attrs,!1))]}}],null,!0)},[i("template",{slot:"header"},[t.data.check&&t.data.check.required?i("span",{staticStyle:{color:"#D84141"}},[e._v("* ")]):e._e(),e._v(" "),i("span",[e._v(e._s(t.label))])])],2)}),e._v(" "),"edit"==e.mode?i("el-table-column",{attrs:{prop:"delete",label:e.$z("操作","c.operation"),fixed:"right","min-width":150},scopedSlots:e._u([{key:"default",fn:function(t){return[i("div",{staticClass:"table-row-opertaion-btn-grp"},[e.canRemove?i("el-button",{staticClass:"btn-delete",attrs:{type:"danger",icon:"el-icon-delete",circle:""},on:{click:function(i){return i.stopPropagation(),e.handleRemoveItemInner(t.row.rowIndex)}}}):e._e()],1)]}}],null,!1,1620617082)}):e._e()],2),e._v(" "),e.canAdd?i("el-button",{staticStyle:{"margin-top":"10px"},attrs:{type:"default",icon:"el-icon-plus"},on:{click:e.handleAddItemInner}},[e._v(e._s(e.$z("添加项","c.add_item")))]):e._e(),e._v(" "),"edit"==e.mode&&e.subformData.length>e.countForClickToEdit&&!e.hadClickRow?i("span",{staticClass:"edit-tip",staticStyle:{"margin-left":"10px",color:"#666","font-size":"13px"}},[e._v(e._s(e.$z("提示","c.tip"))+": "+e._s(e.$z("单击可进行编辑","c.click_to_edit")))]):e._e()],1)],1)};h._withStripped=!0;var c={props:{srcFieldConf:{type:Object,default(){return{}}},row:{type:Object,default:function(){return{}}},relateInfo:{type:Object,default:function(){return{}}},mode:{type:String,default:"edit"},container:{type:Object,default(){return{}}},visible:{type:Boolean,default:!1}},inject:["formData","formSchema"],watch:{visible(e){e&&this.$nextTick(()=>{this.initRelateSubFormTable()}),this.dlgVisible=e},relateInfo(e){this.relateSetting=e},srcFormData:{handler(e){this.$nextTick(()=>{this.getSubFormData(e)})},deep:!0}},data(){return{name:"title",relateSetting:{perm:{}},formSchemaDef:{},dlgVisible:!1,tag:"",hadClickRow:!1,subformData:[],refreshKey:0,SubFormFieldConf:{perm:{}},isEditingMap:{},columns:[],cols_config:[]}},computed:{countForClickToEdit(){return _.get(this.srcFieldConf,"count_for_click_to_edit")},srcFormData(){if(_.isFunction(this.formData))return this.formData()},userId(){return _.get(this.$bpm.userInfo,"user_id",0)},dialogSelf(){return this},eleMap(){let e=this.SubFormFieldConf.elements,t=_.get(this.container,"formSchema.elements");return e=_.concat(e,t),_.keyBy(e,"id")},orgParams(){return this.$store.getters.getOrgParams},formDefId(){return this.formSchemaDef.id},canAdd(){return"edit"===this.mode&&this.SubFormFieldConf.perm.creatable&&this.relateSetting.perm.creatable},canRemove(){return"edit"===this.mode&&this.SubFormFieldConf.perm.deletable&&this.relateSetting.perm.deletable},showIndex(){return!!this.SubFormFieldConf.show_index},indexLabel(){return this.SubFormFieldConf.index_label||zj.z("序号","b2.common.subform_index")},showColumns(){return _.filter(this.columns,e=>{if(e.visible){let t=_.find(this.cols_config,{id:e.id});return t&&(e.minWidth=t.width),e}})},hiddenColumns(){return _.filter(this.columns,e=>{if(!e.visible)return e})}},methods:{getCustomerColsConfig(e){let t=[],i={},a=[],n={};return n=localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG")&&JSON.parse(localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG"))||{},i=n[this.userId+this.tag],i&&i.field_colunms_config&&(a=i.field_colunms_config),_.each(e,e=>{let i=_.find(a,{id:e.id});i?t.push({label:e.label,id:e.id,width:i.width||200}):t.push({label:e.label,id:e.id,width:e.minWidth})}),t=_.sortBy(t,"sort_index"),t},getFieldMode(e,t,i){let a=this.mode;return e&&"edit"===a&&!e.editable&&!e.writable&&this.relateSetting.perm.editable?a="view":(!this.isEditingMap[t._meta.id]&&this.subformData.length>this.countForClickToEdit&&(a="view"),t.isNew&&(a="edit")),_.includes(this.relateSetting.sub_form_fields,i)&&(a="view"),a},initRelateSubFormTable(){_.isFunction(this.formSchema)&&(this.formSchemaDef=this.formSchema());let e=this.formData();if(this.SubFormFieldConf=_.find(this.formSchemaDef.elements,{id:this.relateSetting.sub_form}),!this.SubFormFieldConf)return this.columns=[],void(this.cols_config=[]);this.columns=this.getColumns(this.SubFormFieldConf)||[],this.tag="_"+zj.pageParam().form_name+"_"+this.SubFormFieldConf.id,this.cols_config=this.getCustomerColsConfig(this.columns),this.getSubFormData(e),this.refreshKey++},getSubFormData(e){this.subformData=_.filter(e[this.relateSetting.sub_form],e=>{if(e&&e._meta&&e._meta&&!e._meta.is_deleted){let t=!1,i=!0;if(_.each(this.relateSetting.sub_form_field_mapping,a=>{_.includes(this.relateSetting.sub_form_fields,a.target)&&(e[a.target]==this.row[a.src]?t=!0:(i=!1,t=!1))}),t&&i)return e}})},getColumns(e){if(!e)return!1;const t=e.elements||[],i=[];return t.forEach(e=>{const t=o.Q[e.type]||{},a=e.perm||{visible:!0,editable:!0,writable:!0};if(a.visible||a.editable||a.writable){e.visible=a.visible;let n=this.mode;"edit"!==n||a.editable||a.writable||(n="view"),i.push({key:e.id,id:e.id,label:e.name||e.id,minWidth:_.get(e,"display.column_width")||t.tableColWidth||100,sortable:!("edit"==n&&e&&e.range_remote&&e.range_remote.depends&&e.range_remote.depends.length),sortBy:e.id,fieldMode:n,visible:a.visible,data:e})}}),i},async handleAddItemInner(){let e=this.$parent.$parent.container.$refs["bpmFormField"+this.relateSetting.sub_form][0].$refs["inner-component"].$refs.sub_form_table;if(e){let t={_meta:{relate:[{field:this.srcFieldConf.id,row:this.row._meta.id}]}};_.each(this.relateSetting.sub_form_field_mapping,e=>{t[e.target]=this.row[e.src]}),e.handleAddItem(t)}},async handleRemoveItemInner(e){let t=this.$parent.$parent.container.$refs["bpmFormField"+this.relateSetting.sub_form][0].$refs["inner-component"].$refs.sub_form_table;t&&t.handleRemoveItem(e)},rowClick(e,t,i){"edit"==this.mode&&this.subformData.length>this.countForClickToEdit&&(this.hadClickRow=!0),this.handleEditItem(e.rowIndex,e)},handleEditItem(e,t){let i=_.find(this.subformData,{rowIndex:e});i&&this.$set(this.isEditingMap,i._meta.id,!0)},handleClose(){this.dlgVisible=!1,this.$emit("close",!1)},confirm(){this.dlgVisible=!1,this.$emit("close",!0)}}},p=(r(1773),r(4486)),f=(0,p.A)(c,h,[],!1,null,null,null);f.options.__file="components/lib/bpmSubForm/src/part/relateSubFormDialog.vue";var g=f.exports;const b={name:"MultiLevelTableColumn",props:{columnNode:{type:Object,default(){return{}}},ownerVm:{type:Object,default(){return null}}},render(e){const t=this.columnNode||{},i=this.ownerVm,a=t.children||[];return i&&t?a.length?e("el-table-column",{key:t.groupKey,props:{label:t.label,minWidth:t.minWidth+""}},_.map(a,t=>e(b,{key:t.groupKey||t.key,props:{columnNode:t,ownerVm:i}}))):e("el-table-column",{key:t.key,props:{prop:t.id,label:t.label,minWidth:t.minWidth+"",fixed:t.fixed||!1,sortable:t.sortable,sortMethod:t.sortMethod},scopedSlots:{header:()=>e("span",[_.get(t,"data.check.required")?e("span",{style:{color:"#D84141"}},"* "):null,e("span",t.label)]),default:a=>{const n=_.get(a,"row");return n&&n._groupNode?n._groupField===t.id?e("span",{class:"bpm-subform-group-cell"},n._groupLabel||""):e("span"):e("bpm-sub-form-field",{attrs:i.$attrs,props:{value:_.get(a,["row",t.id]),type:_.get(t,"data.type"),fieldConf:t.data,mode:i.dm?i.mode:i.getFieldMode(_.get(t,"data.perm"),a.row),dm:i.dm,uiType:"table",rowIndex:_.get(a,"row.rowIndex"),container:i.container,orgInfo:i.orgInfo,formDefId:i.formDefId},on:{input:e=>{i.$set(a.row,t.id,e),i.handleInput(e)},change:e=>i.handleChange(e,a.row,t.id),assist_field_label_loaded:e=>i.handleFieldLabelLoaded(e,a.row,t.data)}})}}}):null}};var y={name:"SubFormStyleTable",mixins:[u],components:{relateSubFormDialog:g,MultiLevelTableColumn:b},props:{showHeader:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},linkageItem:{type:Object,default:function(){return{}}},mode:{type:String,default:"view"},readOnly:{type:Boolean,default:!1},dm:{type:Boolean,default(){return!1}},formMode:{type:String,default:""},orgInfo:{type:Object,default(){return{}}}},data(){return{style_ui_type:"table",hadClickRow:!1,tag:"",tableLayoutSyncTimer:null,cols_config:[],unselectedRowIdMap:{},syncingSelection:!1,dialogSubFormRelate:{relateInfo:{},row:{},visible:!1}}},methods:{queueTableLayoutSync(){this.tableLayoutSyncTimer&&clearTimeout(this.tableLayoutSyncTimer),this.tableLayoutSyncTimer=setTimeout(()=>{this.tableLayoutSyncTimer=null,this.$nextTick(()=>{const e=this.$refs.subformTable,t=e&&e.$el;e&&t&&_.isFunction(e.doLayout)&&e.doLayout()})},0)},getRowClassName({row:e}){const t=this.isRowDynamicVisible(e);return this.searchText&&console.log("[subform-row-class]",{fieldId:_.get(this.fieldConf,"id"),keyword:this.searchText,rowKey:this.getTriggerRowId(e),visible:t,className:t?"":"row-hidden"}),t?"":"row-hidden"},getRowStyle({row:e}){return this.isRowDynamicVisible(e)?null:{display:"none"}},beginSyncingSelection(e){const t=e||this;t._syncingSelectionDepth=(t._syncingSelectionDepth||0)+1,t.syncingSelection=!0},endSyncingSelection(e){const t=e||this,i=(t._syncingSelectionDepth||0)-1;t._syncingSelectionDepth=i>0?i:0,t._syncingSelectionDepth||(t.syncingSelection=!1)},runWithSyncingSelection(e,t){const i=e||this;if(!i)return t();this.beginSyncingSelection(i);try{return t()}finally{i.$nextTick(()=>{this.endSyncingSelection(i)})}},getTriggerRowId(e){return _.get(e,"_meta.id",e&&e.rowIndex)},isRowSelectable(e){return!(e&&e._groupNode)},ensureRowMeta(e){return e?(e._meta||this.$set(e,"_meta",{}),e._meta):null},setRowSelectedMeta(e,t){const i=this.ensureRowMeta(e);i&&this.$set(i,"is_selected",!!t)},getRelateSubFormTableInstance(e){const t=_.get(this,["container","container","$refs",`bpmFormField${e}`]),i=_.isArray(t)?t[0]:t;let a=_.get(i,["$refs","inner-component","$refs","sub_form_table"]);return _.isArray(a)&&(a=a[0]),a||null},getRelatedRows(e,t,i){const a=_.get(i,e&&e.sub_form,[]);return _.isArray(a)&&t&&t._meta?_.filter(a,i=>{if(!i||!i._meta||i._meta.is_deleted)return!1;const a=_.get(i,["_meta","relate"],[]);if(_.isArray(a)&&a.length&&_.find(a,{field:this.fieldConf.id,row:t._meta.id}))return!0;let n=!1,r=!0;return _.each(e.sub_form_field_mapping,a=>{_.includes(e.sub_form_fields,a.target)&&(i[a.target]==t[a.src]?n=!0:(r=!1,n=!1))}),n&&r}):[]},syncParentSelectionByChildSelection(e){if(!e||!e.length)return;if(!this.formData||!this.formData())return;const t={};_.each(e,e=>{if(e&&e._groupNode)return;const i=_.get(e,["_meta","relate"],[]);_.isArray(i)&&i.length&&_.each(i,e=>{const i=e&&e.field,a=e&&e.row;i&&a&&(t[i]||(t[i]={}),t[i][a]=!0)})}),_.each(t,(e,t)=>{const i=this.getRelateSubFormTableInstance(t);if(!i)return;const a=_.get(i,["$refs","subformTable"]),n=i.showSubformData||[];this.runWithSyncingSelection(i,()=>{_.each(n,t=>{const n=i.getTriggerRowId?i.getTriggerRowId(t):this.getTriggerRowId(t);e[n]&&(i.setRowSelectedMeta?i.setRowSelectedMeta(t,!0):this.setRowSelectedMeta(t,!0),i.unselectedRowIdMap||(i.unselectedRowIdMap={}),i.unselectedRowIdMap[n]&&i.$delete(i.unselectedRowIdMap,n),a&&_.isFunction(a.toggleRowSelection)&&a.toggleRowSelection(t,!0))})})})},syncRelateSelectionByChangedParentIds(e,t){if(!this.relateSubForms||!this.relateSubForms.length)return;if(!e||_.isEmpty(e))return;const i=this.formData&&this.formData();i&&_.each(this.showSubformData,a=>{if(a&&a._groupNode)return;const n=this.getTriggerRowId(a);if(!e[n])return;const r=!!t[n];_.each(this.relateSubForms,e=>{const t=this.getRelatedRows(e,a,i);if(!t.length)return;const n=this.getRelateSubFormTableInstance(e.sub_form),l=_.get(n,["$refs","subformTable"]);this.runWithSyncingSelection(n,()=>{_.each(t,e=>{if(this.setRowSelectedMeta(e,r),n){const t=n.getTriggerRowId?n.getTriggerRowId(e):this.getTriggerRowId(e);r?n.unselectedRowIdMap&&n.unselectedRowIdMap[t]&&n.$delete(n.unselectedRowIdMap,t):(n.unselectedRowIdMap||(n.unselectedRowIdMap={}),n.$set(n.unselectedRowIdMap,t,!0))}l&&_.isFunction(l.toggleRowSelection)&&l.toggleRowSelection(e,r)})})})})},syncTriggerSelection(){if(!this.isTriggerMode)return;const e=this.$refs.subformTable;e&&(this.beginSyncingSelection(),e.clearSelection(),this.$nextTick(()=>{_.each(this.showSubformData,t=>{if(t&&t._groupNode)return;const i=this.getTriggerRowId(t),a=!this.unselectedRowIdMap[i];this.setRowSelectedMeta(t,a),a&&e.toggleRowSelection(t,!0)}),this.endSyncingSelection()}))},handleTriggerSelectionChange(e){if(!this.isTriggerMode)return;if(this.syncingSelection)return;const t=this.unselectedRowIdMap||{},i={};_.each(e,e=>{e&&e._groupNode||(i[this.getTriggerRowId(e)]=!0)});const a={};_.each(this.showSubformData,e=>{if(e&&e._groupNode)return;const t=this.getTriggerRowId(e),n=!!i[t];this.setRowSelectedMeta(e,n),n||(a[t]=!0)});const n={};_.each(this.showSubformData,e=>{const i=this.getTriggerRowId(e);!t[i]!=!a[i]&&(n[i]=!0)}),this.syncRelateSelectionByChangedParentIds(n,i),this.syncParentSelectionByChildSelection(e),this.unselectedRowIdMap=a},handleHeaderDragend(e,t,i,a){i.width=e,this.setColWidth(i.property,e)},setCutomerColsConfig(){let e={},t="";e=localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG")&&JSON.parse(localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG"))||{},t=e[this.userId+this.tag],t?t.field_colunms_config=this.cols_config:t={field_colunms_config:this.cols_config},e[this.userId+this.tag]=t,localStorage.setItem("SUBFORM_COLUMN_CUSTOMER_CONFIG",JSON.stringify(e))},setColWidth(e,t){_.each(this.cols_config,i=>{i.id==e&&(i.width=t)}),this.setCutomerColsConfig()},getCustomerColsConfig(e){let t=[],i={},a=[],n={};return n=localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG")&&JSON.parse(localStorage.getItem("SUBFORM_COLUMN_CUSTOMER_CONFIG"))||{},i=n[this.userId+this.tag],i&&i.field_colunms_config&&(a=i.field_colunms_config),_.each(e,e=>{let i=_.find(a,{id:e.id});i?t.push({label:e.label,id:e.id,width:i.width||200}):t.push({label:e.label,id:e.id,width:e.minWidth})}),t=_.sortBy(t,"sort_index"),t},handelRelateFormDialogClose(){this.dialogSubFormRelate.visible=!1},openRelateFormDialog(e,t){this.dialogSubFormRelate.relateInfo=e,this.dialogSubFormRelate.visible=!0,this.dialogSubFormRelate.row=t},rowClick(e,t,i){e&&e._groupNode||("edit"==this.mode&&this.shouldUseClickToEditMode&&(this.hadClickRow=!0),this.handleEditItem(e.rowIndex,e))},normalizeTableTitlePath(e){return e?_.isArray(e)?_.chain(e).map(e=>_.trim(e)).filter().value():_.chain(String(e).split(/[\/\\]+/)).map(e=>_.trim(e)).filter().value():[]},getColumnMinWidth(e){const t=_.get(e,"minWidth",0),i=Number(t);return Number.isFinite(i)?i:0},buildGroupedShowColumns(e){const t=[];return _.each(e,e=>{const i=_.get(e,"data.display.table_title_path",""),a=this.normalizeTableTitlePath(i),n=this.getColumnMinWidth(e);if(!a.length)return void t.push(e);let r=t,l="";_.each(a,e=>{l=l?`${l}/${e}`:e;const t=`group_${l}`;let i=_.find(r,{isGroupHeader:!0,groupKey:t});i||(i={label:e,groupKey:t,isGroupHeader:!0,children:[],minWidth:0},r.push(i)),i.minWidth+=n,r=i.children}),r.push(e)}),t}},computed:{operation_column_fixed_right(){return _.get(this.fieldConf,"operation_column_fixed_right",!1)},operation_column_width(){return _.get(this.fieldConf,"operation_column_width",150)},fixed_left_fields(){return _.get(this.fieldConf,"fixed_left_fields",[])},dynamicVisibleRowCount(){const e=t=>t&&t.length?_.reduce(t,(t,i)=>{const a=this.isRowDynamicVisible(i),n=_.get(i,"children",[]);return t+(a?1:0)+(n&&n.length?e(n):0)},0):0;return e(this.showSubformData)},isTriggerMode(){return"trigger"===this.formMode},triggerRowIdSignature(){return _.map(this.showSubformData,e=>this.getTriggerRowId(e)).join(",")},relateSubForms(){return this.fieldConf.relate_setting},selfShowColumns(){let e=_.filter(this.columns,e=>{let t=_.find(this.cols_config,{id:e.id});if(e.visible)return t&&(e.minWidth=t.width),e});return _.map(e,e=>Object.assign({},e,{data:e.data}))},groupedShowColumns(){return this.buildGroupedShowColumns(this.selfShowColumns)},hiddenColumns(){return _.filter(this.columns,e=>{if(!e.visible)return e})}},created(){this.tag="_"+zj.pageParam().form_name+"_"+this.fieldConf.id,this.selfVm=this},mounted(){this.cols_config=this.getCustomerColsConfig(this.columns)},updated(){},beforeDestroy(){if(this.tableLayoutSyncTimer&&(clearTimeout(this.tableLayoutSyncTimer),this.tableLayoutSyncTimer=null),this.$refs.subformTable&&this.$refs.subformTable.store){const e=this.$refs.subformTable.store.states;e&&(e._data=[],e.data=[],e.treeData={},e.lazyTreeNodeMap={})}this.cols_config=[],this.unselectedRowIdMap={},this.dialogSubFormRelate=null,this.selfVm=null},watch:{triggerRowIdSignature(e){this.syncTriggerSelection()},formMode(e){"trigger"===e&&(this.unselectedRowIdMap={},this.$nextTick(()=>{this.syncTriggerSelection()}))}}},w=y,S=(0,p.A)(w,d,[],!1,null,null,null);S.options.__file="components/lib/bpmSubForm/src/table.vue";var F=S.exports,I=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{style:{overflow:"auto"}},[e._l(e.showSubformData,function(t,a){return i("el-card",{key:e.getRowKey(t),staticClass:"bpm-subform-card",class:e.mode,attrs:{shadow:"hover","body-style":{padding:"10px 20px",overflow:"auto",position:"relative",paddingRight:e.canRemove?"70px":"20px"}}},[i("el-form",{attrs:{"label-width":"180px",inline:!1}},[e.showIndex?i("el-form-item",{attrs:{label:e.indexLabel}},[e._v("\n "+e._s(a+1)+"\n ")]):e._e(),e._v(" "),e._l(e.columns,function(a){return i("el-form-item",{directives:[{name:"show",rawName:"v-show",value:e.isColVisible(t,a),expression:"isColVisible(item, col)"}],key:a.key,class:a.data.display&&(a.data.display.hide_name||"top"===a.data.display.label_position)?"no-label":"",attrs:{label:a.data.display&&(a.data.display.hide_name||"top"===a.data.display.label_position)?"":a.label,required:a.data.check&&a.data.check.required}},[a.data.display&&!a.data.display.hide_name&&"top"===a.data.display.label_position?i("div",{staticClass:"form-label-top"},[e._v(e._s(a.label))]):e._e(),e._v(" "),i("bpm-sub-form-field",e._b({ref:"bpmSubFormField",refInFor:!0,attrs:{type:a.data.type,fieldConf:a.data,mode:e.getFieldMode(a.data.perm,t),uiType:"form",rowIndex:t.rowIndex,container:e.container,orgInfo:e.orgInfo,formDefId:e.formDefId},on:{change:e.handleChange,"display-hidden-change":function(i){return e.handleFieldDisplayHiddenChange(t,a,i)}},model:{value:t[a.id],callback:function(i){e.$set(t,a.id,i)},expression:"item[col.id]"}},"bpm-sub-form-field",e.$attrs,!1))],1)})],2),e._v(" "),e.canRemove&&e.countLimit.canRemove?i("el-button",{staticClass:"btn-delete",attrs:{type:"danger",icon:"el-icon-delete",circle:""},on:{click:function(i){return e.handleRemoveItem(t.rowIndex)}}}):e._e()],1)}),e._v(" "),e.canAdd&&e.countLimit.canAdd?i("el-button",{attrs:{type:"default",icon:"el-icon-plus"},on:{click:function(t){return e.handleAddItem(null)}}},[e._v(e._s(e.$z("添加项","c.add_item")))]):e._e()],2)};I._withStripped=!0;var v={name:"SubFormStyleCard",mixins:[u],data(){return{style_ui_type:"card",displayHiddenMap:{},pendingDisplayHiddenMap:{},displayHiddenFlushTimer:null}},props:{linkageItem:{type:Object,default:function(){return{}}}},watch:{showSubformData:{handler(){this.pruneDisplayHiddenMap()},immediate:!0}},methods:{isColVisible(e,t){return!(!t.visible||!t.data.visible||this.getFieldDisplayHidden(e,t))},getFieldDisplayHidden(e,t){const i=this.getRowKey(e);return null!=i&&_.get(this.displayHiddenMap,[i,t.id],!1)},handleFieldDisplayHiddenChange(e,t,i){const a=this.getRowKey(e);if(null==a)return;const n=!!i,r=_.get(this.pendingDisplayHiddenMap,[a,t.id]);(void 0===r?_.get(this.displayHiddenMap,[a,t.id]):r)!==n&&this.queueDisplayHiddenChange(a,t.id,n)},queueDisplayHiddenChange(e,t,i){if(this.pendingDisplayHiddenMap[e]||(this.pendingDisplayHiddenMap[e]={}),this.pendingDisplayHiddenMap[e][t]=i,this.displayHiddenFlushTimer)return;const a=()=>{if(this.displayHiddenFlushTimer=null,_.isEmpty(this.pendingDisplayHiddenMap))return;const e=_.cloneDeep(this.displayHiddenMap);_.each(this.pendingDisplayHiddenMap,(t,i)=>{e[i]||(e[i]={}),_.each(t,(t,a)=>{e[i][a]=t})}),this.pendingDisplayHiddenMap={},this.displayHiddenMap=e,this.$forceUpdate()};"undefined"!=typeof window&&window.requestAnimationFrame?this.displayHiddenFlushTimer=window.requestAnimationFrame(a):this.displayHiddenFlushTimer=setTimeout(a,0)},pruneDisplayHiddenMap(){const e={},t=_.map(this.columns,e=>`${e.id}`);_.each(this.showSubformData,i=>{const a=this.getRowKey(i);if(null==a)return;const n=_.get(this.displayHiddenMap,a);if(!n)return;const r={};_.each(t,e=>{_.has(n,e)&&(r[e]=n[e])}),_.isEmpty(r)||(e[a]=r)}),this.displayHiddenMap=e}},destroyed(){this.displayHiddenFlushTimer&&("undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(this.displayHiddenFlushTimer):clearTimeout(this.displayHiddenFlushTimer))}},C=(0,p.A)(v,I,[],!1,null,null,null);C.options.__file="components/lib/bpmSubForm/src/card.vue";var M=C.exports,D=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"bpm-subform-list",style:{overflow:"auto"}},e._l(e.showSubformData,function(t){return i("div",{key:e.getRowKey(t),staticClass:"bpm-subform-list-item",class:e.mode},[i("el-form",{attrs:{"label-width":"180px",inline:!1}},e._l(e.columns,function(a){return i("el-form-item",{directives:[{name:"show",rawName:"v-show",value:e.isColVisible(t,a),expression:"isColVisible(item, col)"}],key:a.key,class:a.data.display&&(a.data.display.hide_name||"top"===a.data.display.label_position)?"no-label":"",attrs:{label:a.data.display&&(a.data.display.hide_name||"top"===a.data.display.label_position)?"":a.label,required:a.data.check&&a.data.check.required}},[a.data.display&&!a.data.display.hide_name&&"top"===a.data.display.label_position?i("div",{staticClass:"form-label-top"},[e._v(e._s(a.label))]):e._e(),e._v(" "),i("bpm-sub-form-field",e._b({ref:"bpmSubFormField",refInFor:!0,attrs:{type:a.data.type,fieldConf:a.data,mode:e.getFieldMode(a.data.perm,t),uiType:"form",rowIndex:t.rowIndex,container:e.container,orgInfo:e.orgInfo,formDefId:e.formDefId},on:{change:e.handleChange,"display-hidden-change":function(i){return e.handleFieldDisplayHiddenChange(t,a,i)}},model:{value:t[a.id],callback:function(i){e.$set(t,a.id,i)},expression:"item[col.id]"}},"bpm-sub-form-field",e.$attrs,!1))],1)}),1),e._v(" "),e.canRemove&&e.countLimit.canRemove?i("el-button",{staticClass:"btn-delete",attrs:{type:"danger",icon:"el-icon-delete",circle:""},on:{click:function(i){return e.handleRemoveItem(t.rowIndex)}}}):e._e()],1)}),0)};D._withStripped=!0;var k={name:"SubFormStyleList",mixins:[u],data(){return{style_ui_type:"list",displayHiddenMap:{},pendingDisplayHiddenMap:{},displayHiddenFlushTimer:null}},props:{linkageItem:{type:Object,default:function(){return{}}}},watch:{showSubformData:{handler(){this.pruneDisplayHiddenMap()},immediate:!0}},methods:{isColVisible(e,t){return!(!t.visible||!t.data.visible||this.getFieldDisplayHidden(e,t))},getFieldDisplayHidden(e,t){const i=this.getRowKey(e);return null!=i&&_.get(this.displayHiddenMap,[i,t.id],!1)},handleFieldDisplayHiddenChange(e,t,i){const a=this.getRowKey(e);if(null==a)return;const n=!!i,r=_.get(this.pendingDisplayHiddenMap,[a,t.id]);(void 0===r?_.get(this.displayHiddenMap,[a,t.id]):r)!==n&&this.queueDisplayHiddenChange(a,t.id,n)},queueDisplayHiddenChange(e,t,i){if(this.pendingDisplayHiddenMap[e]||(this.pendingDisplayHiddenMap[e]={}),this.pendingDisplayHiddenMap[e][t]=i,this.displayHiddenFlushTimer)return;const a=()=>{if(this.displayHiddenFlushTimer=null,_.isEmpty(this.pendingDisplayHiddenMap))return;const e=_.cloneDeep(this.displayHiddenMap);_.each(this.pendingDisplayHiddenMap,(t,i)=>{e[i]||(e[i]={}),_.each(t,(t,a)=>{e[i][a]=t})}),this.pendingDisplayHiddenMap={},this.displayHiddenMap=e};"undefined"!=typeof window&&window.requestAnimationFrame?this.displayHiddenFlushTimer=window.requestAnimationFrame(a):this.displayHiddenFlushTimer=setTimeout(a,0)},pruneDisplayHiddenMap(){const e={},t=_.map(this.columns,e=>`${e.id}`);_.each(this.showSubformData,i=>{const a=this.getRowKey(i);if(null==a)return;const n=_.get(this.displayHiddenMap,a);if(!n)return;const r={};_.each(t,e=>{_.has(n,e)&&(r[e]=n[e])}),_.isEmpty(r)||(e[a]=r)}),this.displayHiddenMap=e}},destroyed(){this.displayHiddenFlushTimer&&("undefined"!=typeof window&&window.cancelAnimationFrame?window.cancelAnimationFrame(this.displayHiddenFlushTimer):clearTimeout(this.displayHiddenFlushTimer))}},x=(0,p.A)(k,D,[],!1,null,null,null);x.options.__file="components/lib/bpmSubForm/src/list.vue";var T=x.exports,R=r(4419);class ${constructor(e,t){this.penetrationZList=[],this.elementIdList=[],this.eleMap={},this.relyGraphData={nodes:[],edges:[]},this.elements=[],this.bpm=e,this.value=t}addStackArr(e,t,i){this.eleMap=t,this.elements=_.concat(this.elements,e),this.elementIdList=_.map(t,"id"),_.each(e,e=>{i&&_.set(e,"parentId",i);let a=_.get(e,"linkage.depends",[]),n=_.get(e,"scope.depends",[]),r=_.get(e,"range_remote.depends",[]),l=_.concat(a,n);l=_.concat(l,r),i||(this.penetrationZList=_.concat(this.penetrationZList,l)),e.elements&&this.addStackArr(e.elements,t,e.id)}),this.createTopoGraph(e),this.penetrationZList=_.uniq(this.penetrationZList),this.penetrationZList=_.intersection(this.elementIdList,this.penetrationZList),this.relyGraphData.nodes.push({id:"sure000",name:"顶点"}),_.each(this.penetrationZList,e=>{this.relyGraphData.edges.push({source:"sure000",target:e})})}createTopoGraph(e){_.each(e,e=>{let t=_.get(e,"mappings",[]),i=_.map(t,"local_field_id");_.each(i,t=>{if(_.includes(this.elementIdList,t)){let i=_.get(this.eleMap,t);this.relyGraphData.nodes.push(i),this.relyGraphData.nodes.push(e),this.relyGraphData.edges.push({source:e.id,target:t})}});let a=_.get(e,"linkage.depends",[]),n=_.get(e,"scope.depends",[]),r=_.get(e,"range_remote.depends",[]),l=_.concat(a,n);l=_.concat(l,r);let s=_.get(this.eleMap,e.id);if(_.each(l,e=>{_.get(this.eleMap,e)||(_.pullAll(l,[e]),l=_.cloneDeep(l))}),l.length){let t=_.pullAll(this.penetrationZList,[e.id]);this.penetrationZList=_.cloneDeep(t)}_.each(l,t=>{if(t&&e.id&&_.includes(this.elementIdList,t)){let i=_.get(this.eleMap,t);if(!i||!s)return;let a=s.id,n=_.get(this.eleMap,t);i&&!n&&(this.penetrationZList=_.replace(this.penetrationZList,t,a),this.penetrationZList=_.split(this.penetrationZList,",")),_.some(this.relyGraphData.nodes,{id:e.id})||this.relyGraphData.nodes.push({id:e.id,name:e.name}),_.some(this.relyGraphData.nodes,{id:i.id})||this.relyGraphData.nodes.push({id:t,name:i.name}),this.relyGraphData.edges.push({source:t,target:a})}e.elements&&this.createTopoGraph(e.elements)})})}getRelyHandleList(e,t){let i=[];const{breadthFirstSearch:a}=R.Algorithm;let n=null;return a(this.relyGraphData,e,{enter:({current:e,previous:t})=>{},leave:({current:a,previous:r})=>{n||a==e||t&&!_.includes(t,a)||(n=a),a!=e&&i.push(a)}}),{relyHandleList:i,firstId:n}}async loadLinkage(e,t,i,a,n){let r=[],l={};_.each(e,e=>{let t=_.get(this.eleMap,e),a=_.get(t,"linkage.depends");if("Quote"==t.type&&(a=_.concat(a,_.get(t,"scope.depends"))),a=_.intersection(a,this.elementIdList),!_.isEmpty(a)){let t={calculate_type:"linkage",field_def_id:e},s=_.pick(i,a);l=_.merge(l,s),_.isNil(n)||_.set(t,"idx",n),r.push(t)}}),t&&_.set(l,a,t);let s=await this.bpm.loadResult({params:{cal_fields:r,fields:l}});return _.map(s.data,(e,t)=>{let i=_.get(this.eleMap,`${t}.type`);_.includes(["SelectFromForm","Quote"],i)&&(e=_.get(e,"data.form_id")),s.data[t]=e}),s.data}async fillDefault(e,t=[],i){let a=[];if(_.each(this.elements,n=>{let r=_.includes(t,n.id);if(!_.get(n,"perm.writable"))return;if(r)return _.set(e,n.id,null),void this.setLocalCache(n.id,null,i);let l=_.get(e,n.id);if(!_.isNil(l))return;let s=_.get(n,"default.value.type");if("EVCConfig"==s){let t=_.get(n,"default.value.value",null);_.set(e,n.id,t),this.setLocalCache(n.id,t,i)}"EVCExpression"!=s&&"EVCFirstElem"!=s||a.push({calculate_type:"default",field_def_id:n.id})}),_.isEmpty(a))return;let n=await this.bpm.loadResult({params:{cal_fields:a}});_.map(n.data,(t,a)=>{let n=_.get(this.eleMap,`${a}.type`);_.includes(["SelectFromForm","Quote"],n)&&(t=_.get(t,"data.form_id")),_.includes(["MulSelectFromForm"],n)&&(t=_.map(t,"data.form_id")),_.set(e,a,t),this.setLocalCache(a,t,i)})}setLocalCache(e,t,i){let a=_.get(this.eleMap,`${e}.value_type`);this.bpm.setLocalCache(i,`${e}.${a}`,t)}destroy(){this.relyGraphData={nodes:[],edges:[]},this.penetrationZList=[],this.elementIdList=[],this.eleMap=null,this.elements=[],this.bpm=null,this.value=null}}var L={name:"BpmSubForm",components:{SubFormStyleTable:F,SubFormStyleCard:M,SubFormStyleList:T},props:{value:{type:Array,default(){return[]}},type:{type:String,default:"XSubForm"},fieldConf:{type:Object,default(){return{}}},mode:{type:String,default:"view"},formMode:{type:String,default:""},uiType:{type:String,default:"default"},maxHeight:{type:[Number,String],default:500},showHeader:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},container:{type:Object,default:function(){return{}}},dm:{type:Boolean,default(){return!1}},orgInfo:{type:Object,default(){return{}}},formDefId:{type:String,default:""}},data(){return{subformData:[],tableMaxHeight:500,dialogTableMaxHeight:500,showSubForm:!1,linkageItem:null,initLinkageFlag:!1,relyHandleList:[],relyHandleListMap:{},relyingItemMap:{},timerId:null,initLinkageTimerId:null}},computed:{fixed_left_fields(){return _.get(this.fieldConf,"fixed_left_fields",[])},fieldSelf(){return this},readOnly(){return!this.fieldConf.perm||!(this.fieldConf.perm.editable&&this.fieldConf.perm.modifiable)},columns(){const e=this.fieldConf.elements||[],t=[];return e.forEach(e=>{const i=o.Q[e.type]||{},a=e.perm||{visible:!0,editable:!0,writable:!0};if(this.dm||a.visible||a.editable||a.writable){e.visible=a.visible||this.dm;let n=this.mode;"edit"!==n||a.editable||a.writable||(n="view");let r=(t,i)=>{let a=(e,t)=>{let i=0;return e&&t?_.isString(e)?i=e.localeCompare(t):_.isArray(e)?e.length>0&&t.length>0?0==a[(e[0],t[0])]?(e.pop(),t.pop(),i=a(e,t)):i=a(e[0],t[0]):i=0==e.length&&t.length>0?-1:e.length>0&&0==t.length?1:0:i=e-t:i=!e&&t?-1:e&&!t?1:0,i};return null==t[e.id]?-1:null==i[e.id]?1:a(t[e.id],i[e.id])};t.push({key:e.id,id:e.id,label:e.name||e.id,minWidth:e.display.column_width||i.tableColWidth||100,sortable:!("edit"==this.mode&&e&&e.range_remote&&e.range_remote.depends&&e.range_remote.depends.length),sortBy:e.id,fixed:!!this.fixed_left_fields.includes(e.id)&&"left",sortMethod:r,fieldMode:n,visible:a.visible,data:e})}}),t},subFormDialogTitle(){return this.fieldConf.name||this.fieldConf.id},showStyle(){return this.fieldConf.style||"table"},subformPerm(){return this.fieldConf.perm||{creatable:!1,deletable:!1,editable:!1,memorable:!1,modifiable:!1,visible:!0,writable:!1}},isSubForm(){return!0},elementIdList(){return _.map(this.fieldConf.elements,"id")},eleMap(){let e=this.fieldConf.elements,t=_.get(this.container,"formSchema.elements");return e=_.concat(e,t),_.keyBy(e,"id")}},watch:{value:{handler(e,t){e&&_.isArray(e)?(this.subformData=e,e!=t&&(this.initLinkageFlag=!1,this.$nextTick(()=>{this.initLinkage()}))):this.subformData=[]},immediate:!0}},created(){this.handleWindowResize(),this.linkageItem=new $(this.$bpm),this.dialogTableMaxHeight=Math.floor(window.innerHeight/100*70-114)},beforeDestroy(){window.removeEventListener("resize",this.handleWindowResize),this.linkageItem.destroy(),this.linkageItem=null,clearTimeout(this.timerId),clearTimeout(this.initLinkageTimerId),this.timerId=null,this.initLinkageTimerId=null,this.subformData=[],this.relyHandleList=[],this.relyHandleListMap={},this.relyingItemMap={}},mounted(){this.linkageItem.addStackArr(this.fieldConf.elements,this.eleMap),window.addEventListener("resize",this.handleWindowResize),this.timerId=setTimeout(()=>{this.handleWindowResize()},2e3)},methods:{handleWindowResize(){const e=Math.floor(window.innerHeight-330);this.tableMaxHeight=e>550?e:550},handleBeforeFormSubmit(){if("trigger"!==this.formMode)return;let e=this.$refs.sub_form_table;if(!e)return;if(_.isArray(e)&&(e=e[0]),!e||!e.computeTriggerFilteredData)return;const t=e.computeTriggerFilteredData();this.subformData=t,this.handleChange(t)},handleChange(e){this.$emit("input",e),this.$emit("change",e)},initLinkage(){if(this.initLinkageFlag||0==this.subformData.length)return!1;console.log("初始化联动");let{relyHandleList:e}=this.linkageItem.getRelyHandleList("sure000");_.set(this.relyHandleListMap,this.value.length-1,e),this.initLinkageFlag=!0,this.initLinkageTimerId=setTimeout(()=>{this.$bpm.$emit("initRelyComplete",this)},1e3)},handleNextRely(e){let t=_.get(this.relyHandleListMap,e);t&&t.shift(),_.isEmpty(t)&&this.$bpm.$emit("initRelyComplete",this,e);let i=_.head(t,e);i&&this.$bpm.$emit("handeInitRely",{id:i,rowIndex:e})},async handleRelyById(e,t){let{relyHandleList:i,firstId:a}=this.linkageItem.getRelyHandleList(e);if(this.relyHandleListMap[t]&&this.relyHandleListMap[t]&&this.relyHandleListMap[t].length>0){if(i&&i.length>0){let e=_.concat(this.relyHandleListMap[t],i);_.set(this.relyHandleListMap,t,e)}}else _.set(this.relyHandleListMap,t,i);if(a){this.$bpm.setRelyLoading(!0);let e=await this.linkageItem.loadLinkage(i,this.value,this.container.formData,this.fieldConf.id,t);_.map(e,(e,i)=>{this.$set(this.value[t],`${i}`,e)}),this.$bpm.$emit("handeRelyById",{id:a,rowIndex:t})}else this.$bpm.setRelyLoading(!1)},handleNextRelyById(e){let t=_.get(this.relyHandleListMap,e);if(t){this.$bpm.setRelyLoading(!0),t.shift(),_.isEmpty(t)&&this.$bpm.$emit("initRelyComplete",this,e);let i=_.head(t);i&&this.$bpm.$emit("handeRelyById",{id:i,rowIndex:e})}},setData(){}}},H=L,O=(0,p.A)(H,s,[],!1,null,"e0a458ce",null);O.options.__file="components/lib/bpmSubForm/src/main.vue";var B=O.exports;B.install=function(e){e.component(B.name,B)};var E=B;return l}()});
|