@zhijiancloud/bpm 1.0.95 → 1.0.96
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 +2 -2
- package/dist/bpmFormField.umd.js +2 -2
- package/dist/bpmNumber.umd.js +1 -1
- package/dist/bpmQuote.umd.js +1 -1
- package/dist/bpmSelectFromField.umd.js +1 -1
- package/dist/bpmSelectFromForm.umd.js +1 -1
- package/dist/bpmSelectFromMulForm.umd.js +1 -1
- package/dist/bpmSubForm.umd.js +1 -1
- package/dist/bpmSubFormField.umd.js +2 -2
- package/dist/css/bpmSubForm.css +1 -1
- package/dist/css/index.css +1 -1
- package/dist/index.umd.js +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("lodash"),require("qs")):"function"==typeof define&&define.amd?define(["lodash","qs"],t):"object"==typeof exports?exports.bpm2=t(require("lodash"),require("qs")):e.bpm2=t(e.lodash,e.qs)}(self,function(e,t){return function(){"use strict";var r={5281:function(e,t,r){r.d(t,{A:function(){return u}});var o=r(9795),i=r(6773),n=r.n(i),a=class{constructor(e,t={}){this._fnBatchLoad=e,this._options=t,this._queue=[]}async load(e){let t=await this.loads(e);return n().get(t,"0")}loads(...e){return new Promise((t,r)=>{this._queue.push({keys:e,resolve:t,reject:r}),1==this._queue.length&&this.nextTick(()=>{this.process()})})}nextTick(e){setTimeout(e,0)}process(){let e=this._queue;this._queue=[];let t={};n().each(e,e=>{n().each(e.keys,e=>t[e]=null)});let r=n().keys(t);this._fnBatchLoad(r).then(o=>{n().each(r,(e,r)=>{t[e]=o[r]}),n().each(e,({keys:e,resolve:r})=>{r(n().map(e,e=>t[e]))})}).catch(t=>{n().each(e,({reject:e})=>e(t))})}},s=r(5360),l=r.n(s);const f=async(e,t,r)=>{if(t.setNetworking(!0),t.netHeader&&(e.headers={common:t.netHeader}),e.params=_.merge({},e.params,r),t.env.ignore_levels&&_.set(e.params,"ignore_levels",!0),(0,o.Fr)()){let t=zj.utils.pageParam().token;e.params=_.merge({token:t,platform:"phone"},e.params)}e.isSilentOnErr=e=>{let t=_.get(e,"data.result");return t>=19e6||t<=19999999};let i=_.cloneDeep(e);if(i.can_custom_org_params){let e=_.cloneDeep(_.get(t,"orgInfo",{}));e.custom_page_level&&(i.params.page_level=e.custom_page_level),e.custom_group_id&&(i.params.group_id=e.custom_group_id),e.custom_team_id&&(i.params.team_id=e.custom_team_id),e.custom_project_id&&(i.params.project_id=e.custom_project_id)}let n=await zj.net.request(i);return t.setNetworking(!1),n},d={},c={};var u={assistSelectEntranceForm:{getListDefinition(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i}){return f({url:`/app_flow/v1/papi/assist_select_entrance_form/${t}/${r}/list_definition/`,method:"GET"},e,o)},getOptions(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n){return f({url:`/app_flow/v1/papi/assist_select_entrance_form/${t}/${r}/list_search/`,method:"GET",params:n},e,o)},getListSelected(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n){return f({url:`/app_flow/v1/papi/assist_select_entrance_form/${t}/${r}/list_selected/`,method:"GET",params:n},e,o)}},assistField:{getBatchLoader(e,{formDefId:t,fieldDefId:r,orgInfo:o,uniqueId:i}){const n=`${t}/${r}`,s=d[n]||new a(async n=>{let a=`/app_flow/v1/papi/assist_field/${t}/${r}/list_title/`;const s=await f({url:a,method:"GET",params:{values:JSON.stringify(n)}},e,o),l=_.get(s,"data.data.data",{});let d=[];return _.map(n,e=>{i?(e=JSON.parse(e),e=_.get(e,`${i}`),d=_.concat(d,l[e])):d=_.concat(d,l[e])}),d});return d[n]=s,s},getTitle(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n){return f({url:`/app_flow/v1/papi/assist_field/${t}/${r}/list_title/`,method:"GET",params:{values:JSON.stringify(n)}},e,o)},async searchSelectOpts(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n={},a=""){a&&(n.q=a);let s=i?`/app_flow/v1/papi/dm/assist_field/${t}/${r}/search_title/`:`/app_flow/v1/papi/assist_field/${t}/${r}/search_title/`,l=`${t}/${r}/${a}/${JSON.stringify(o)}/${JSON.stringify(n)}`,d={};return c[l]&&"loading"==c[l]?await this.waitCacheMapData(l):(!c[l]||(new Date).getTime()-c[l].last_time>6e4?(c[l]="loading",d=await f({url:s,method:i?"GET":"POST",data:n,can_custom_org_params:!0},e,o),c[l]={last_time:(new Date).getTime(),result:d}):c[l].result&&(d=c[l].result),d)},waitCacheMapData(e){return new Promise(t=>{let r=setInterval(()=>{c[e]&&"loading"!=c[e]&&c[e].result&&(clearInterval(r),t(c[e].result))},100)})},async selectFromMulFormSearchOpts(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n={},a=""){a&&(n.q=a);let s=i?`/app_flow/v1/papi/dm/assist_field/select_form_mul_form/${t}/${r}/search_title/`:`/app_flow/v1/papi/assist_field/select_form_mul_form/${t}/${r}/search_title/`,l=`select_form_mul_form_search_${t}/${r}/${a}/${JSON.stringify(o)}/${JSON.stringify(n)}`,d={};return c[l]&&"loading"==c[l]?await this.waitCacheMapData(l):(!c[l]||(new Date).getTime()-c[l].last_time>6e4?(c[l]="loading",d=await f({url:s,method:"GET",params:n},e,o),c[l]={last_time:(new Date).getTime(),result:d}):c[l].result&&(d=c[l].result),d)},selectFromMulFormListTitleLoader(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i}){const n=`${t}/${r}`,s=d[n]||new a(async n=>{let a=i?`/app_flow/v1/papi/dm/assist_field/select_form_mul_form/${t}/${r}/list_title/`:`/app_flow/v1/papi/assist_field/select_form_mul_form/${t}/${r}/list_title/`;const s=await f({url:a,method:"GET",params:{values:JSON.stringify(n)}},e,o),l=_.get(s.data,"data.items",[]),d={};l.forEach(e=>{Object.keys(e.data).forEach(t=>{let r=e.data[t];d[t]={form_def_id:_.get(e,"definition.form.id"),form_title:_.get(e,"definition.form.name"),label:r}})});let c=[];return n.forEach(e=>{c.push(d[e])}),c});return d[n]=s,s},async selectFromMulFormListTitle(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n){let a=i?`/app_flow/v1/papi/dm/assist_field/select_form_mul_form/${t}/${r}/list_title/`:`/app_flow/v1/papi/assist_field/select_form_mul_form/${t}/${r}/list_title/`,s=`select_form_mul_form_list_title_${t}/${r}}/${JSON.stringify(o)}/${JSON.stringify(n)}`,l={};return c[s]&&"loading"==c[s]?await this.waitCacheMapData(s):(!c[s]||(new Date).getTime()-c[s].last_time>6e4?(c[s]="loading",l=await f({url:a,method:"GET",params:{values:JSON.stringify(n)}},e,o),c[s]={last_time:(new Date).getTime(),result:l}):c[s].result&&(l=c[s].result),l)}},assistTreeField:{searchSelectOpts(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n={},a=""){return a&&(n.q=a),f({url:i?`/app_flow/v1/papi/dm/assist_tree_field/${t}/${r}/search_title/`:`/app_flow/v1/papi/assist_tree_field/${t}/${r}/search_title/`,method:"GET",params:n,can_custom_org_params:!0},e,o)}},assistUserTaskCC:{searchSelectOpts(e,{formDefId:t,node:r,orgInfo:o,isDm:i},n={},a=""){return a&&(n.q=a),f({url:`/app_flow/v1/papi/assist_user_task_cc/${t}/${r}/search_title/`,method:"GET",params:n},e,o)}},OCR:{getCreatedTaskList(e){return zj.net.w.noapi({url:"/base_srv_module/v2/gapi/task/async_notify_list",method:"POST",data:l().stringify({group_id:zj.pageParam().group_id||0,file_md5:e})})},getTaskId(e){return zj.net.w.noapi({url:"/base_srv_module/v2/gapi/task/async_notify_submit",method:"POST",data:l().stringify({group_id:zj.pageParam().group_id||0,name:"OCR识别MD5_"+e,vendor_code:"csmart",enable_notify:0,task_type:1,creator:zj.app.accessInfo.user_id,file_md5:e})})},getOcrResult(e){return zj.net.w.noapi({url:"/base_srv_module/v2/gapi/task/detail",method:"POST",data:l().stringify(e)})},ocrCreateForm(e,t){return zj.net.w.noapi.json({url:"/app_flow/v1/papi/ocr_create/submit",method:"POST",params:t,data:e})}}}},9795:function(e,t,r){function o(){for(var e=["iphone","ipod","ipad","android","mobile","blackberry","webos","incognito","webmate","bada","nokia","lg","ucweb","skyfire"],t=navigator.userAgent.toLowerCase(),r=!1,o=0,i=e.length;o<i;o++)-1!=t.indexOf(e[o])&&(r=!0);return r}r.d(t,{Fr:function(){return o}}),r(6773),r(5360)},5366:function(e,t,r){var o=r(1601),i=r.n(o),n=r(6314),a=r.n(n)()(i());a.push([e.id,".select-from-form-dialog {\n .search-box{\n display: flex;\n margin-top: -10px;\n margin-bottom: 10px;\n .input-with-select{\n margin-right: 10px;\n }\n }\n}\n\n\n\n.select-from-form-editor {\n \n .fake-trigger {\n height: 40px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 38px;\n box-sizing: border-box;\n border: 1px solid #d9dce3;\n border-radius: 4px;\n padding: 0 15px;\n cursor: pointer;\n }\n}\n.bpm-select-from-form-box{\n list-style: none;\n padding: 10px 0;\n max-height: calc(70vh - 220px);\n box-sizing: border-box;\n overflow: auto;\n\n .form-item{\n list-style: none;\n margin-bottom: 10px;\n }\n .subitem {\n margin-top: 5px;\n margin-bottom: 5px;\n margin-left: 24px;\n font-size: 12px;\n color: #949494;\n }\n}\n",""]),t.A=a},9850:function(e,t,r){var o=r(1601),i=r.n(o),n=r(6314),a=r.n(n),s=r(5366),l=a()(i());l.i(s.A),l.push([e.id,"\n",""]),t.A=l},6314:function(e){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r="",o=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),o&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),o&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r}).join("")},t.i=function(e,r,o,i,n){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var f=0;f<e.length;f++){var d=[].concat(e[f]);o&&a[d[0]]||(void 0!==n&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=n),r&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=r):d[2]=r),i&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=i):d[4]="".concat(i)),t.push(d))}},t}},1601:function(e){e.exports=function(e){return e[1]}},5072:function(e){var t=[];function r(e){for(var r=-1,o=0;o<t.length;o++)if(t[o].identifier===e){r=o;break}return r}function o(e,o){for(var n={},a=[],s=0;s<e.length;s++){var l=e[s],f=o.base?l[0]+o.base:l[0],d=n[f]||0,c="".concat(f," ").concat(d);n[f]=d+1;var u=r(c),m={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==u)t[u].references++,t[u].updater(m);else{var p=i(m,o);o.byIndex=s,t.splice(s,0,{identifier:c,updater:p,references:1})}a.push(c)}return a}function i(e,t){var r=t.domAPI(t);return r.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,i){var n=o(e=e||[],i=i||{});return function(e){e=e||[];for(var a=0;a<n.length;a++){var s=r(n[a]);t[s].references--}for(var l=o(e,i),f=0;f<n.length;f++){var d=r(n[f]);0===t[d].references&&(t[d].updater(),t.splice(d,1))}n=l}}},7659:function(e){var t={};e.exports=function(e,r){var o=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(r)}},540:function(e){e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},5056:function(e,t,r){e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:function(e){e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var o="";r.supports&&(o+="@supports (".concat(r.supports,") {")),r.media&&(o+="@media ".concat(r.media," {"));var i=void 0!==r.layer;i&&(o+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),o+=r.css,i&&(o+="}"),r.media&&(o+="}"),r.supports&&(o+="}");var n=r.sourceMap;n&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(n))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:function(e){e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},4486:function(e,t,r){function o(e,t,r,o,i,n,a,s){var l,f="function"==typeof e?e.options:e;if(t&&(f.render=t,f.staticRenderFns=r,f._compiled=!0),o&&(f.functional=!0),n&&(f._scopeId="data-v-"+n),a?(l=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__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},f._ssrRegister=l):i&&(l=s?function(){i.call(this,(f.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(f.functional){f._injectStyles=l;var d=f.render;f.render=function(e,t){return l.call(t),d(e,t)}}else{var c=f.beforeCreate;f.beforeCreate=c?[].concat(c,l):[l]}return{exports:e,options:f}}r.d(t,{A:function(){return o}})},6773:function(t){t.exports=e},5360:function(e){e.exports=t}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={id:e,exports:{}};return r[e](n,n.exports,i),n.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nc=void 0;var n={};i.r(n),i.d(n,{default:function(){return N}});var a=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.curComponent,e._b({tag:"component",staticClass:"bpm-select-from-form",attrs:{fieldConf:e.fieldConf,row:e.row,mode:e.mode,formName:e.formName,orgInfo:e.orgInfo,uiType:e.uiType,isMultiple:!0},on:{change:e.handleChange},model:{value:e.curVal,callback:function(t){e.curVal=t},expression:"curVal"}},"component",e.$attrs,!1))};a._withStripped=!0;var s=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"select-from-form-editor"},[r("div",{on:{click:e.toOpen}},[e.formLabels.length?r("ul",{staticStyle:{"list-style":"none"}},e._l(e.formLabels,function(t){return r("li",{key:t.form_id},[r("span",[e._v(e._s(t.form_title)+": ")]),e._v(" "),r("span",[e._v(e._s(t.label))])])}),0):r("div",{staticClass:"fake-trigger"},[e._v("\n "+e._s(e.$z("未选择","c.not_selected"))+"\n ")])]),e._v(" "),r("el-dialog",{attrs:{"append-to-body":!0,visible:e.opened,"before-close":e.onHide,title:e.fieldConf.name,width:"40%"},on:{"update:visible":function(t){e.opened=t},open:e.onOpen}},[r("el-input",{staticClass:"input-with-select",attrs:{placeholder:e.$z("只展示前100条数据,通过搜索获取更多","b2.common.see_100_data")},on:{input:e.throttleSearch},model:{value:e.keyword,callback:function(t){e.keyword=t},expression:"keyword"}}),e._v(" "),r("el-tabs",{staticStyle:{"margin-top":"20px"},attrs:{type:"card","tab-position":"top"},on:{"tab-click":e.hanldeTabClick}},e._l(e.rangeRemote,function(t,o){return r("el-tab-pane",{key:t.form+o,attrs:{label:e.optionListArr[o]&&e.optionListArr[o].form_title||""+e.$z("表单","c.form")+(o+1),name:t.form+o}},[e.optionListArr[o]&&e.optionListArr[o].options.length?r("div",{staticClass:"bpm-select-from-form-box"},[r("el-checkbox-group",{model:{value:e.curVal[o].form_ids,callback:function(t){e.$set(e.curVal[o],"form_ids",t)},expression:"curVal[index].form_ids"}},e._l(e.optionListArr[o].options,function(t){return r("div",{key:t.id,staticClass:"form-item"},[r("div",{style:e.getTitleStyle(o)},[r("el-checkbox",{key:t.id,attrs:{label:t.id,disabled:e.setDisabled(t.id)}},[e._v(e._s(t.title))])],1),e._v(" "),e._l(t.fields,function(t){return r("div",{key:t.key,staticClass:"subitem",style:e.geFieldStyle(o,t.key)},[e._v("\n "+e._s(t.name)+": "+e._s(t.value)+"\n ")])})],2)}),0)],1):r("div",[e._v(e._s(e.$z("暂无数据","c.no_data")))])])}),1),e._v(" "),r("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v(e._s(e.$z("确定","c.confirm")))])],1)],1)],1)};s._withStripped=!0;var l=i(6773),f=i.n(l),d=i(5281),c={props:["value","fieldConf","row","formName","formDefId","orgInfo","dm","isMultiple"],inject:["getSelectFields","selectOptions"],data(){return{curVal:[],label:zj.z("未选择","c.not_selected"),formLabels:[],keyword:"",opened:!1,throttleSearch:f().throttle(f().bind(this.search,this),1500,{trailing:!0,leading:!1}),optionListArr:[],formList:[]}},watch:{value(e){this.getCurVal(e),this.loadRemoteLabel()}},computed:{rangeRemote(){return this.fieldConf.range_remote||[]},placeholder(){return this.fieldConf.desc||this.fieldConf.name},maxCount(){return f().get(this.fieldConf,"check.max_count")},allChecked(){let e=[];return this.curVal.forEach(t=>{e.push(...t.form_ids)}),e}},created(){},mounted(){this.getCurVal(this.value),this.loadRemoteLabel()},methods:{getCurVal(e){let t=f().cloneDeep(e);t&&f().isArray(t)&&t.length?this.curVal=t:this.curVal=this.rangeRemote.map(e=>({form_def_id:e.form,form_ids:[]}))},getTitleStyle(e){let t=this.fieldConf.range_remote||[],r=f().get(t[e],"range_display.title");return{fontSize:f().get(r,"size",16)+"px",color:f().get(r,"color","#333")}},geFieldStyle(e,t){let r=this.fieldConf.rangeRemote||[],o=f().get(r[e],"range_display.fields"),i=f().keyBy(o,"field"),n=f().get(i,t);return{fontSize:f().get(n,"size",12)+"px",color:f().get(n,"color","#949494")}},hanldeTabClick(e){},handleChange(e){this.$emit("input",e),this.$emit("change",e)},setDisabled(e){const t=this.allChecked.length;return!this.allChecked.includes(e)&&t>=this.maxCount},async search(){let e=this.keyword,t=f().get(this.fieldConf,"id");const r={q:e};if(this.getSelectFields){let e=this.getSelectFields();e&&"{}"!==JSON.stringify(e)&&(r.fields=e)}let o=await d.A.assistField.selectFromMulFormSearchOpts(this.$bpm,{formDefId:this.formDefId,fieldDefId:t,orgInfo:this.orgInfo,isDm:this.dm},r),i=f().get(o.data,"data.items"),n=this.transformOptions(i);this.optionListArr=n},transformOptions(e){return e.map(e=>{let t=f().get(e,"definition.form.elements",[]),r=f().keyBy(t,"id"),o=f().map(e.data,e=>({title:e.title,id:e.form_id,form_id:e.form_id,f_fields:e.f_fields,fields:f().map(e.f_fields,(e,t)=>({key:t,name:r[t]&&r[t].name,value:e}))}));return{form_def_id:f().get(e,"definition.form.id"),form_title:f().get(e,"definition.form.name"),options:o}})},onHide(){this.opened=!1},onOpen(){if(this.getCurVal(this.value),this.selectOptions){let e=this.selectOptions();if(e&&e.length)return void(this.formList=this.transformOptions(e))}this.search()},toOpen(){this.opened=!0},onSubmit(){this.$emit("input",this.curVal),this.$emit("change",this.curVal),this.opened=!1},async loadRemoteLabel(){let e=this.allChecked,t=f().get(this.fieldConf,"id");const r=d.A.assistField.selectFromMulFormListTitleLoader(this.$bpm,{formDefId:this.formDefId,fieldDefId:t,orgInfo:this.orgInfo,isDm:this.dm}),o=await r.loads(...e),i=f().groupBy(o,"form_def_id");let n=[];Object.keys(i).forEach(e=>{let t=i[e].map(e=>e.label);n.push({form_def_id:i[e][0].form_def_id,form_title:i[e][0].form_title,label:t.join(", ")})}),this.formLabels=n}}},u=i(4486),m=(0,u.A)(c,s,[],!1,null,null,null);m.options.__file="components/lib/bpmSelectFromMulForm/src/part/editor.vue";var p=m.exports,h=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.formLabels.length?r("ul",{staticStyle:{"list-style":"none"}},e._l(e.formLabels,function(t){return r("li",{key:t.form_id},[r("span",[e._v(e._s(t.form_title)+": ")]),e._v(" "),r("span",[e._v(e._s(t.label))])])}),0):r("div",[e._v(e._s(e.$z("未选择","c.not_selected")))])])};h._withStripped=!0;var g={props:["value","fieldConf","row","formDefId","orgInfo","dm"],data(){return{label:"",formLabels:[]}},computed:{allChecked(){let e=[];return this.value.forEach(t=>{e.push(...t.form_ids)}),e}},watch:{value(){this.loadRemoteLabel()}},mounted(){this.loadRemoteLabel()},methods:{async loadRemoteLabel(){let e=this.value;if(f().isNil(e)||!e||!f().isArray(e))return;let t=this.allChecked,r=f().get(this.fieldConf,"id");const o=d.A.assistField.selectFromMulFormListTitleLoader(this.$bpm,{formDefId:this.formDefId,fieldDefId:r,orgInfo:this.orgInfo,isDm:this.dm}),i=await o.loads(...t),n=f().groupBy(i,"form_def_id");let a=[];Object.keys(n).forEach(e=>{let t=n[e].map(e=>e.label);a.push({form_def_id:n[e][0].form_def_id,form_title:n[e][0].form_title,label:t.join(", ")})}),this.formLabels=a}}},v=(0,u.A)(g,h,[],!1,null,null,null);v.options.__file="components/lib/bpmSelectFromMulForm/src/part/reader.vue";var y=v.exports,b={name:"BpmSelectFromMulForm",components:{editorComponent:p,readerComponent:y},props:{value:{type:[String,Array],default(){return""}},fieldConf:{type:Object,default(){return{}}},row:{type:Object,default(){return{}}},mode:{type:String,default(){return"view"}},uiType:{type:String,default(){return"default"}},orgInfo:{type:Object},formName:{type:String},isMultiple:{type:Boolean,default(){return!0}}},data(){return{curVal:[]}},computed:{curComponent(){return"view"==this.mode?y:p}},watch:{value(e){this.curVal=e}},mounted(){this.curVal=this.value},methods:{transValue(e){if(!e||!_.isArray(e))return[];let t=[];return this.val.forEach(e=>{t.push(...e.form_ids)}),t},handleChange(e){this.$emit("input",e),this.$emit("change",e)}}},w=i(5072),$=i.n(w),C=i(7825),S=i.n(C),x=i(7659),I=i.n(x),D=i(5056),k=i.n(D),T=i(540),O=i.n(T),L=i(1113),F=i.n(L),j=i(9850),E={};E.styleTagTransform=F(),E.setAttributes=k(),E.insert=I().bind(null,"head"),E.domAPI=S(),E.insertStyleElement=O(),$()(j.A,E),j.A&&j.A.locals&&j.A.locals;var A=(0,u.A)(b,a,[],!1,null,null,null);A.options.__file="components/lib/bpmSelectFromMulForm/src/main.vue";var M=A.exports;M.install=function(e){e.component(M.name,M)};var N=M;return n}()});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("lodash"),require("qs")):"function"==typeof define&&define.amd?define(["lodash","qs"],t):"object"==typeof exports?exports.bpm2=t(require("lodash"),require("qs")):e.bpm2=t(e.lodash,e.qs)}(self,function(e,t){return function(){"use strict";var r={5281:function(e,t,r){r.d(t,{A:function(){return u}});var o=r(9795),i=r(6773),n=r.n(i),a=class{constructor(e,t={}){this._fnBatchLoad=e,this._options=t,this._queue=[]}async load(e){let t=await this.loads(e);return n().get(t,"0")}loads(...e){return new Promise((t,r)=>{this._queue.push({keys:e,resolve:t,reject:r}),1==this._queue.length&&this.nextTick(()=>{this.process()})})}nextTick(e){setTimeout(e,0)}process(){let e=this._queue;this._queue=[];let t={};n().each(e,e=>{n().each(e.keys,e=>t[e]=null)});let r=n().keys(t);this._fnBatchLoad(r).then(o=>{n().each(r,(e,r)=>{t[e]=o[r]}),n().each(e,({keys:e,resolve:r})=>{r(n().map(e,e=>t[e]))})}).catch(t=>{n().each(e,({reject:e})=>e(t))})}},s=r(5360),l=r.n(s);const f=async(e,t,r)=>{if(t.setNetworking(!0),t.netHeader&&(e.headers={common:t.netHeader}),e.params=_.merge({},e.params,r),t.env.ignore_levels&&_.set(e.params,"ignore_levels",!0),(0,o.Fr)()){let t=zj.utils.pageParam().token;e.params=_.merge({token:t,platform:"phone"},e.params)}e.isSilentOnErr=e=>{let t=_.get(e,"data.result");return t>=19e6||t<=19999999};let i=_.cloneDeep(e);if(i.can_custom_org_params){let e=_.cloneDeep(_.get(t,"orgInfo",{}));e.custom_page_level&&(i.params.page_level=e.custom_page_level),e.custom_group_id&&(i.params.group_id=e.custom_group_id),e.custom_team_id&&(i.params.team_id=e.custom_team_id),e.custom_project_id&&(i.params.project_id=e.custom_project_id)}let n=await zj.net.request(i);return t.setNetworking(!1),n},d={},c={};var u={assistSelectEntranceForm:{getListDefinition(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i}){return f({url:`/app_flow/v1/papi/assist_select_entrance_form/${t}/${r}/list_definition/`,method:"GET"},e,o)},getOptions(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n){return f({url:`/app_flow/v1/papi/assist_select_entrance_form/${t}/${r}/list_search/`,method:"GET",params:n},e,o)},getListSelected(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n){return f({url:`/app_flow/v1/papi/assist_select_entrance_form/${t}/${r}/list_selected/`,method:"GET",params:n},e,o)}},assistField:{getBatchLoader(e,{formDefId:t,fieldDefId:r,orgInfo:o,uniqueId:i}){const n=`${t}/${r}`,s=d[n]||new a(async n=>{let a=`/app_flow/v1/papi/assist_field/${t}/${r}/list_title/`;const s=await f({url:a,method:"GET",params:{values:JSON.stringify(n)}},e,o),l=_.get(s,"data.data.data",{});let d=[];return _.map(n,e=>{i?(e=JSON.parse(e),e=_.get(e,`${i}`),d=_.concat(d,l[e])):d=_.concat(d,l[e])}),d});return d[n]=s,s},getTitle(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n){return f({url:`/app_flow/v1/papi/assist_field/${t}/${r}/list_title/`,method:"GET",params:{values:JSON.stringify(n)}},e,o)},async searchSelectOpts(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n={},a=""){a&&(n.q=a);let s=i?`/app_flow/v1/papi/dm/assist_field/${t}/${r}/search_title/`:`/app_flow/v1/papi/assist_field/${t}/${r}/search_title/`,l=`${t}/${r}/${a}/${JSON.stringify(o)}/${JSON.stringify(n)}`,d={};return c[l]&&"loading"==c[l]?await this.waitCacheMapData(l):(!c[l]||(new Date).getTime()-c[l].last_time>6e4?(c[l]="loading",d=await f({url:s,method:i?"GET":"POST",data:n,can_custom_org_params:!0},e,o),c[l]={last_time:(new Date).getTime(),result:d}):c[l].result&&(d=c[l].result),d)},waitCacheMapData(e){return new Promise(t=>{let r=setInterval(()=>{c[e]&&"loading"!=c[e]&&c[e].result&&(clearInterval(r),t(c[e].result))},100)})},async selectFromMulFormSearchOpts(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n={},a=""){a&&(n.q=a);let s=i?`/app_flow/v1/papi/dm/assist_field/select_form_mul_form/${t}/${r}/search_title/`:`/app_flow/v1/papi/assist_field/select_form_mul_form/${t}/${r}/search_title/`,l=`select_form_mul_form_search_${t}/${r}/${a}/${JSON.stringify(o)}/${JSON.stringify(n)}`,d={};return c[l]&&"loading"==c[l]?await this.waitCacheMapData(l):(!c[l]||(new Date).getTime()-c[l].last_time>6e4?(c[l]="loading",d=await f({url:s,method:"GET",params:n},e,o),c[l]={last_time:(new Date).getTime(),result:d}):c[l].result&&(d=c[l].result),d)},selectFromMulFormListTitleLoader(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i}){const n=`${t}/${r}`,s=d[n]||new a(async n=>{let a=i?`/app_flow/v1/papi/dm/assist_field/select_form_mul_form/${t}/${r}/list_title/`:`/app_flow/v1/papi/assist_field/select_form_mul_form/${t}/${r}/list_title/`;const s=await f({url:a,method:"GET",params:{values:JSON.stringify(n)}},e,o),l=_.get(s.data,"data.items",[]),d={};l.forEach(e=>{Object.keys(e.data).forEach(t=>{let r=e.data[t];d[t]={form_def_id:_.get(e,"definition.form.id"),form_title:_.get(e,"definition.form.name"),label:r}})});let c=[];return n.forEach(e=>{c.push(d[e])}),c});return d[n]=s,s},async selectFromMulFormListTitle(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n){let a=i?`/app_flow/v1/papi/dm/assist_field/select_form_mul_form/${t}/${r}/list_title/`:`/app_flow/v1/papi/assist_field/select_form_mul_form/${t}/${r}/list_title/`,s=`select_form_mul_form_list_title_${t}/${r}}/${JSON.stringify(o)}/${JSON.stringify(n)}`,l={};return c[s]&&"loading"==c[s]?await this.waitCacheMapData(s):(!c[s]||(new Date).getTime()-c[s].last_time>6e4?(c[s]="loading",l=await f({url:a,method:"GET",params:{values:JSON.stringify(n)}},e,o),c[s]={last_time:(new Date).getTime(),result:l}):c[s].result&&(l=c[s].result),l)}},assistTreeField:{searchSelectOpts(e,{formDefId:t,fieldDefId:r,orgInfo:o,isDm:i},n={},a=""){return a&&(n.q=a),f({url:i?`/app_flow/v1/papi/dm/assist_tree_field/${t}/${r}/search_title/`:`/app_flow/v1/papi/assist_tree_field/${t}/${r}/search_title/`,method:"GET",params:n,can_custom_org_params:!0},e,o)}},assistUserTaskCC:{searchSelectOpts(e,{formDefId:t,node:r,orgInfo:o,isDm:i},n={},a=""){return a&&(n.q=a),f({url:`/app_flow/v1/papi/assist_user_task_cc/${t}/${r}/search_title/`,method:"GET",params:n},e,o)}},OCR:{getCreatedTaskList(e){return zj.net.w.noapi({url:"/base_srv_module/v2/gapi/task/async_notify_list",method:"POST",data:l().stringify({group_id:zj.pageParam().group_id||0,file_md5:e})})},getTaskId(e){return zj.net.w.noapi({url:"/base_srv_module/v2/gapi/task/async_notify_submit",method:"POST",data:l().stringify({group_id:zj.pageParam().group_id||0,name:"OCR识别MD5_"+e,vendor_code:"csmart",enable_notify:0,task_type:1,creator:zj.app.accessInfo.user_id,file_md5:e})})},getOcrResult(e){return zj.net.w.noapi({url:"/base_srv_module/v2/gapi/task/detail",method:"POST",data:l().stringify(e)})},ocrCreateForm(e,t){return zj.net.w.noapi.json({url:"/app_flow/v1/papi/ocr_create/submit",method:"POST",params:t,data:e})}}}},9795:function(e,t,r){function o(){for(var e=["iphone","ipod","ipad","android","mobile","blackberry","webos","incognito","webmate","bada","nokia","lg","ucweb","skyfire"],t=navigator.userAgent.toLowerCase(),r=!1,o=0,i=e.length;o<i;o++)-1!=t.indexOf(e[o])&&(r=!0);return r}r.d(t,{Fr:function(){return o}}),r(6773),r(5360)},5366:function(e,t,r){var o=r(1601),i=r.n(o),n=r(6314),a=r.n(n)()(i());a.push([e.id,".select-from-form-dialog {\n .search-box{\n display: flex;\n margin-top: -10px;\n margin-bottom: 10px;\n .input-with-select{\n margin-right: 10px;\n }\n }\n}\n\n\n\n.select-from-form-editor {\n \n .fake-trigger {\n height: 40px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 38px;\n box-sizing: border-box;\n border: 1px solid #d9dce3;\n border-radius: 4px;\n padding: 0 15px;\n cursor: pointer;\n }\n}\n.bpm-select-from-form-box{\n list-style: none;\n padding: 10px 0;\n max-height: calc(70vh - 220px);\n box-sizing: border-box;\n overflow: auto;\n\n .form-item{\n list-style: none;\n margin-bottom: 10px;\n }\n .subitem {\n margin-top: 5px;\n margin-bottom: 5px;\n margin-left: 24px;\n font-size: 12px;\n color: #949494;\n }\n}\n",""]),t.A=a},9850:function(e,t,r){var o=r(1601),i=r.n(o),n=r(6314),a=r.n(n),s=r(5366),l=a()(i());l.i(s.A),l.push([e.id,"\n",""]),t.A=l},6314:function(e){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r="",o=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),o&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),o&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r}).join("")},t.i=function(e,r,o,i,n){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var f=0;f<e.length;f++){var d=[].concat(e[f]);o&&a[d[0]]||(void 0!==n&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=n),r&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=r):d[2]=r),i&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=i):d[4]="".concat(i)),t.push(d))}},t}},1601:function(e){e.exports=function(e){return e[1]}},5072:function(e){var t=[];function r(e){for(var r=-1,o=0;o<t.length;o++)if(t[o].identifier===e){r=o;break}return r}function o(e,o){for(var n={},a=[],s=0;s<e.length;s++){var l=e[s],f=o.base?l[0]+o.base:l[0],d=n[f]||0,c="".concat(f," ").concat(d);n[f]=d+1;var u=r(c),m={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==u)t[u].references++,t[u].updater(m);else{var p=i(m,o);o.byIndex=s,t.splice(s,0,{identifier:c,updater:p,references:1})}a.push(c)}return a}function i(e,t){var r=t.domAPI(t);return r.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,i){var n=o(e=e||[],i=i||{});return function(e){e=e||[];for(var a=0;a<n.length;a++){var s=r(n[a]);t[s].references--}for(var l=o(e,i),f=0;f<n.length;f++){var d=r(n[f]);0===t[d].references&&(t[d].updater(),t.splice(d,1))}n=l}}},7659:function(e){var t={};e.exports=function(e,r){var o=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(r)}},540:function(e){e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},5056:function(e,t,r){e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},7825:function(e){e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var o="";r.supports&&(o+="@supports (".concat(r.supports,") {")),r.media&&(o+="@media ".concat(r.media," {"));var i=void 0!==r.layer;i&&(o+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),o+=r.css,i&&(o+="}"),r.media&&(o+="}"),r.supports&&(o+="}");var n=r.sourceMap;n&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(n))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:function(e){e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},4486:function(e,t,r){function o(e,t,r,o,i,n,a,s){var l,f="function"==typeof e?e.options:e;if(t&&(f.render=t,f.staticRenderFns=r,f._compiled=!0),o&&(f.functional=!0),n&&(f._scopeId="data-v-"+n),a?(l=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__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},f._ssrRegister=l):i&&(l=s?function(){i.call(this,(f.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(f.functional){f._injectStyles=l;var d=f.render;f.render=function(e,t){return l.call(t),d(e,t)}}else{var c=f.beforeCreate;f.beforeCreate=c?[].concat(c,l):[l]}return{exports:e,options:f}}r.d(t,{A:function(){return o}})},6773:function(t){t.exports=e},5360:function(e){e.exports=t}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={id:e,exports:{}};return r[e](n,n.exports,i),n.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nc=void 0;var n={};i.r(n),i.d(n,{default:function(){return N}});var a=function(){var e=this,t=e.$createElement;return(e._self._c||t)(e.curComponent,e._b({tag:"component",staticClass:"bpm-select-from-form",attrs:{fieldConf:e.fieldConf,row:e.row,mode:e.mode,formName:e.formName,orgInfo:e.orgInfo,uiType:e.uiType,isMultiple:!0},on:{change:e.handleChange},model:{value:e.curVal,callback:function(t){e.curVal=t},expression:"curVal"}},"component",e.$attrs,!1))};a._withStripped=!0;var s=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"select-from-form-editor"},[r("div",{on:{click:e.toOpen}},[e.formLabels.length?r("ul",{staticStyle:{"list-style":"none"}},e._l(e.formLabels,function(t){return r("li",{key:t.form_id},[r("span",[e._v(e._s(t.form_title)+": ")]),e._v(" "),r("span",[e._v(e._s(t.label))])])}),0):r("div",{staticClass:"fake-trigger"},[e._v("\n "+e._s(e.$z("未选择","c.not_selected"))+"\n ")])]),e._v(" "),r("el-dialog",{attrs:{"append-to-body":!0,visible:e.opened,"before-close":e.onHide,title:e.fieldConf.name,width:"50%"},on:{"update:visible":function(t){e.opened=t},open:e.onOpen}},[r("el-input",{staticClass:"input-with-select",attrs:{placeholder:e.$z("只展示前100条数据,通过搜索获取更多","b2.common.see_100_data")},on:{input:e.throttleSearch},model:{value:e.keyword,callback:function(t){e.keyword=t},expression:"keyword"}}),e._v(" "),r("el-tabs",{staticStyle:{"margin-top":"20px"},attrs:{type:"card","tab-position":"top"},on:{"tab-click":e.hanldeTabClick}},e._l(e.rangeRemote,function(t,o){return r("el-tab-pane",{key:t.form+o,attrs:{label:e.optionListArr[o]&&e.optionListArr[o].form_title||""+e.$z("表单","c.form")+(o+1),name:t.form+o}},[e.optionListArr[o]&&e.optionListArr[o].options.length?r("div",{staticClass:"bpm-select-from-form-box"},[r("el-checkbox-group",{model:{value:e.curVal[o].form_ids,callback:function(t){e.$set(e.curVal[o],"form_ids",t)},expression:"curVal[index].form_ids"}},e._l(e.optionListArr[o].options,function(t){return r("div",{key:t.id,staticClass:"form-item"},[r("div",{style:e.getTitleStyle(o)},[r("el-checkbox",{key:t.id,attrs:{label:t.id,disabled:e.setDisabled(t.id)}},[e._v(e._s(t.title))])],1),e._v(" "),e._l(t.fields,function(t){return r("div",{key:t.key,staticClass:"subitem",style:e.geFieldStyle(o,t.key)},[e._v("\n "+e._s(t.name)+": "+e._s(t.value)+"\n ")])})],2)}),0)],1):r("div",[e._v(e._s(e.$z("暂无数据","c.no_data")))])])}),1),e._v(" "),r("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v(e._s(e.$z("确定","c.confirm")))])],1)],1)],1)};s._withStripped=!0;var l=i(6773),f=i.n(l),d=i(5281),c={props:["value","fieldConf","row","formName","formDefId","orgInfo","dm","isMultiple"],inject:["getSelectFields","selectOptions"],data(){return{curVal:[],label:zj.z("未选择","c.not_selected"),formLabels:[],keyword:"",opened:!1,throttleSearch:f().throttle(f().bind(this.search,this),1500,{trailing:!0,leading:!1}),optionListArr:[],formList:[]}},watch:{value(e){this.getCurVal(e),this.loadRemoteLabel()}},computed:{rangeRemote(){return this.fieldConf.range_remote||[]},placeholder(){return this.fieldConf.desc||this.fieldConf.name},maxCount(){return f().get(this.fieldConf,"check.max_count")},allChecked(){let e=[];return this.curVal.forEach(t=>{e.push(...t.form_ids)}),e}},created(){},mounted(){this.getCurVal(this.value),this.loadRemoteLabel()},methods:{getCurVal(e){let t=f().cloneDeep(e);t&&f().isArray(t)&&t.length?this.curVal=t:this.curVal=this.rangeRemote.map(e=>({form_def_id:e.form,form_ids:[]}))},getTitleStyle(e){let t=this.fieldConf.range_remote||[],r=f().get(t[e],"range_display.title");return{fontSize:f().get(r,"size",16)+"px",color:f().get(r,"color","#333")}},geFieldStyle(e,t){let r=this.fieldConf.rangeRemote||[],o=f().get(r[e],"range_display.fields"),i=f().keyBy(o,"field"),n=f().get(i,t);return{fontSize:f().get(n,"size",12)+"px",color:f().get(n,"color","#949494")}},hanldeTabClick(e){},handleChange(e){this.$emit("input",e),this.$emit("change",e)},setDisabled(e){const t=this.allChecked.length;return!this.allChecked.includes(e)&&t>=this.maxCount},async search(){let e=this.keyword,t=f().get(this.fieldConf,"id");const r={q:e};if(this.getSelectFields){let e=this.getSelectFields();e&&"{}"!==JSON.stringify(e)&&(r.fields=e)}let o=await d.A.assistField.selectFromMulFormSearchOpts(this.$bpm,{formDefId:this.formDefId,fieldDefId:t,orgInfo:this.orgInfo,isDm:this.dm},r),i=f().get(o.data,"data.items"),n=this.transformOptions(i);this.optionListArr=n},transformOptions(e){return e.map(e=>{let t=f().get(e,"definition.form.elements",[]),r=f().keyBy(t,"id"),o=f().map(e.data,e=>({title:e.title,id:e.form_id,form_id:e.form_id,f_fields:e.f_fields,fields:f().map(e.f_fields,(e,t)=>({key:t,name:r[t]&&r[t].name,value:e}))}));return{form_def_id:f().get(e,"definition.form.id"),form_title:f().get(e,"definition.form.name"),options:o}})},onHide(){this.opened=!1},onOpen(){if(this.getCurVal(this.value),this.selectOptions){let e=this.selectOptions();if(e&&e.length)return void(this.formList=this.transformOptions(e))}this.search()},toOpen(){this.opened=!0},onSubmit(){this.$emit("input",this.curVal),this.$emit("change",this.curVal),this.opened=!1},async loadRemoteLabel(){let e=this.allChecked,t=f().get(this.fieldConf,"id");const r=d.A.assistField.selectFromMulFormListTitleLoader(this.$bpm,{formDefId:this.formDefId,fieldDefId:t,orgInfo:this.orgInfo,isDm:this.dm}),o=await r.loads(...e),i=f().groupBy(o,"form_def_id");let n=[];Object.keys(i).forEach(e=>{let t=i[e].map(e=>e.label);n.push({form_def_id:i[e][0].form_def_id,form_title:i[e][0].form_title,label:t.join(", ")})}),this.formLabels=n}}},u=i(4486),m=(0,u.A)(c,s,[],!1,null,null,null);m.options.__file="components/lib/bpmSelectFromMulForm/src/part/editor.vue";var p=m.exports,h=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.formLabels.length?r("ul",{staticStyle:{"list-style":"none"}},e._l(e.formLabels,function(t){return r("li",{key:t.form_id},[r("span",[e._v(e._s(t.form_title)+": ")]),e._v(" "),r("span",[e._v(e._s(t.label))])])}),0):r("div",[e._v(e._s(e.$z("未选择","c.not_selected")))])])};h._withStripped=!0;var g={props:["value","fieldConf","row","formDefId","orgInfo","dm"],data(){return{label:"",formLabels:[]}},computed:{allChecked(){let e=[];return this.value.forEach(t=>{e.push(...t.form_ids)}),e}},watch:{value(){this.loadRemoteLabel()}},mounted(){this.loadRemoteLabel()},methods:{async loadRemoteLabel(){let e=this.value;if(f().isNil(e)||!e||!f().isArray(e))return;let t=this.allChecked,r=f().get(this.fieldConf,"id");const o=d.A.assistField.selectFromMulFormListTitleLoader(this.$bpm,{formDefId:this.formDefId,fieldDefId:r,orgInfo:this.orgInfo,isDm:this.dm}),i=await o.loads(...t),n=f().groupBy(i,"form_def_id");let a=[];Object.keys(n).forEach(e=>{let t=n[e].map(e=>e.label);a.push({form_def_id:n[e][0].form_def_id,form_title:n[e][0].form_title,label:t.join(", ")})}),this.formLabels=a}}},v=(0,u.A)(g,h,[],!1,null,null,null);v.options.__file="components/lib/bpmSelectFromMulForm/src/part/reader.vue";var y=v.exports,b={name:"BpmSelectFromMulForm",components:{editorComponent:p,readerComponent:y},props:{value:{type:[String,Array],default(){return""}},fieldConf:{type:Object,default(){return{}}},row:{type:Object,default(){return{}}},mode:{type:String,default(){return"view"}},uiType:{type:String,default(){return"default"}},orgInfo:{type:Object},formName:{type:String},isMultiple:{type:Boolean,default(){return!0}}},data(){return{curVal:[]}},computed:{curComponent(){return"view"==this.mode?y:p}},watch:{value(e){this.curVal=e}},mounted(){this.curVal=this.value},methods:{transValue(e){if(!e||!_.isArray(e))return[];let t=[];return this.val.forEach(e=>{t.push(...e.form_ids)}),t},handleChange(e){this.$emit("input",e),this.$emit("change",e)}}},w=i(5072),$=i.n(w),C=i(7825),S=i.n(C),x=i(7659),I=i.n(x),D=i(5056),k=i.n(D),T=i(540),O=i.n(T),L=i(1113),F=i.n(L),j=i(9850),E={};E.styleTagTransform=F(),E.setAttributes=k(),E.insert=I().bind(null,"head"),E.domAPI=S(),E.insertStyleElement=O(),$()(j.A,E),j.A&&j.A.locals&&j.A.locals;var A=(0,u.A)(b,a,[],!1,null,null,null);A.options.__file="components/lib/bpmSelectFromMulForm/src/main.vue";var M=A.exports;M.install=function(e){e.component(M.name,M)};var N=M;return n}()});
|
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:"不晚于"}],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},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},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 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!==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,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),r&&(d._scopeId="data-v-"+r),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__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(l)},d._ssrRegister=s):n&&(s=o?function(){n.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:n),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 h=d.beforeCreate;d.beforeCreate=h?[].concat(h,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}},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 W}});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,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,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,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,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,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,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=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.showSubformData.length>e.countForClickToEdit&&!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":"","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":""}}):e._e(),e._v(" "),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,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)}},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,382061851)}):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",label:e.$z("操作","c.operation"),"min-width":150},scopedSlots:e._u([{key:"default",fn:function(t){return[i("div",{staticClass:"table-row-opertaion-btn-grp"},[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,expression:"relate.enable"}],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,1202723972)}):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),h={props:{value:{type:Array,default(){return[]}},columns:{type:Array,default(){return[]}},subformPerm:{type:Object,default(){return{}}},fieldConf:{type:Object,default(){return{}}},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,hasInit:!1,isEditingMap:{},formSchemaDef:{},formSourceData:[],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)},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.showSubformData.length;return{canAdd:!(t&&i>=t),canRemove:!(i<=e)}},treeMainField(){return _.get(this.fieldConf,"tree_main_field","")},treeParentField(){return _.get(this.fieldConf,"tree_parent_field","")},showIndex(){return!!this.fieldConf.show_index},indexLabel(){return this.fieldConf.index_label||zj.z("序号","b2.common.subform_index")},groupField(){return _.get(this.fieldConf,"group_by.by","")},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)}},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.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.showSubformData.length;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)},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?("table"==this.style_ui_type&&!this.isEditingMap[t._meta.id]&&this.showSubformData.length>this.countForClickToEdit&&(i="view"),t&&t._meta&&t._meta.readonly&&(i="view")):i="view",i},debounceEmit:_.throttle(function(){"edit"===this.mode&&this.$emit("change",this.subformData)},1e3,{leading:!1}),handleChange(e,t,i){let a=!1;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.showSubformData.length;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.isTriggerMode&&(r._meta.is_selected=!0),this.$set(this.isEditingMap,t,!0),r=_.merge(r,a),await this.linkageItem.fillDefault(r,[],this.mode),!this.subformData||_.isEmpty(this.subformData)?this.subformData=[r]:this.subformData.push(r),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,r.rowIndex),o&&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:o,rowIndex:r.rowIndex})},500)},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});if(this.groupField&&this.$q.platform.is.desktop&&this.readonly){let e=_.groupBy(i,this.groupField);_.map(e,(e,t)=>{_.each(e,(e,i)=>{0==i&&(e._groupField=t)})})}return this._oldVal=JSON.stringify(e),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 o=new Map;_.each(l,e=>{const n=a(e)[0],l=i(_.get(e,t));if(!n)return;if(!l||l===n)return void o.set(n,null);const s=r.get(l),d=s?a(s)[0]:null;o.set(n,d&&d!==n?d:null)});const s=new Set;return _.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=r.get(i);l&&l!==e&&(l.children||n(l),l.children.push(e),s.add(t))}),_.filter(l,e=>{const t=a(e)[0];return t&&!s.has(t)})},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 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)?r(e):void 0,s=e=>{let t=!1;return _.each(e,e=>{const n=[],r=_.some(e,(t,i)=>{if(a[i])return!1;const r=this.getRowKey(e),s=i,d=this.fieldLabelMap[`${r}-${s}`];d&&(t=d);const m=l(t);return m&&n.push({key:i,value:o(t)}),m}),d=_.get(e,"children",[]),m=!(!_.isArray(d)||!d.length)&&s(d),h=r||m,u=this.getRowKey(e);null!=u&&(i[u]=h),h&&(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}},u=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)};u._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=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 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)}}},f=(r(1773),r(4486)),p=(0,f.A)(c,u,[],!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+"",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=>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),assist_field_label_loaded:e=>i.handleFieldLabelLoaded(e,a.row,t.data)}})}}):null}};var y={name:"SubFormStyleTable",mixins:[h],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)},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=>{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=>{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=>{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=>{i[this.getTriggerRowId(e)]=!0});const a={};_.each(this.showSubformData,e=>{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){"edit"==this.mode&&this.showSubformData.length>this.countForClickToEdit&&(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:{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()}))}}},S=y,w=(0,f.A)(S,d,[],!1,null,null,null);w.options.__file="components/lib/bpmSubForm/src/table.vue";var v=w.exports,C=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)};C._withStripped=!0;var I={name:"SubFormStyleCard",mixins:[h],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 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}}},F=(0,f.A)(I,C,[],!1,null,null,null);F.options.__file="components/lib/bpmSubForm/src/card.vue";var k=F.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 M={name:"SubFormStyleList",mixins:[h],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 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}}},x=(0,f.A)(M,D,[],!1,null,null,null);x.options.__file="components/lib/bpmSubForm/src/list.vue";var R=x.exports,T=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 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,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}=T.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},o=_.pick(i,a);l=_.merge(l,o),_.isNil(n)||_.set(t,"idx",n),r.push(t)}}),t&&_.set(l,a,t);let o=await this.bpm.loadResult({params:{cal_fields:r,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,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 o=_.get(n,"default.value.type");if("EVCConfig"==o){let t=_.get(n,"default.value.value",null);_.set(e,n.id,t),this.setLocalCache(n.id,t,i)}"EVCExpression"!=o&&"EVCFirstElem"!=o||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:v,SubFormStyleCard:k,SubFormStyleList:R},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:{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 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,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(){}}},B=L,O=(0,f.A)(B,o,[],!1,null,"e0a458ce",null);O.options.__file="components/lib/bpmSubForm/src/main.vue";var H=O.exports;H.install=function(e){e.component(H.name,H)};var W=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:"不晚于"}],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(),this.scrollToRow();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}()});
|