Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@farris/approval-comments

Package Overview
Dependencies
Maintainers
0
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@farris/approval-comments - npm Package Compare versions

Comparing version 0.1.0 to 0.1.1

2

bundles/farris-approval-comments.umd.min.js

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common/http"),require("@angular/core"),require("lodash-es"),require("@angular/forms"),require("@angular/common"),require("@angular/cdk/drag-drop"),require("@farris/extend-page-modal"),require("@farris/ui-combo-list"),require("@farris/ui-forms"),require("@farris/ui-input-group"),require("@farris/ui-notify"),require("@farris/ui-rate"),require("@farris/ui-switch")):"function"==typeof define&&define.amd?define("@farris/approval-comments",["exports","@angular/common/http","@angular/core","lodash-es","@angular/forms","@angular/common","@angular/cdk/drag-drop","@farris/extend-page-modal","@farris/ui-combo-list","@farris/ui-forms","@farris/ui-input-group","@farris/ui-notify","@farris/ui-rate","@farris/ui-switch"],e):e((t.farris=t.farris||{},t.farris["approval-comments"]={}),t.ng.common.http,t.ng.core,t.lodashEs,t.ng.forms,t.ng.common,t.ng.cdk["drag-drop"],t.extendPageModal,t.uiComboList,t.uiForms,t.uiInputGroup,t.uiNotify,t.uiRate,t.uiSwitch)}(this,function(t,n,i,o,e,a,r,s,p,l,d,c,m,g){"use strict";u.prototype.demoapi=function(t){var e={headers:new n.HttpHeaders({"Content-Type":"application/json"})};return this.http.post(this.baseURL+"/path",t,e)},u.prototype.getApprovalCommentApi=function(t){var e={headers:new n.HttpHeaders({"Content-Type":"application/json"})};return this.baseURL="/api/no/code/runtime/v1.0/getworkitemlogs",this.http.post(this.baseURL,t,e)},u.prototype.getAuditorsByMicroAppId=function(t){var e={headers:new n.HttpHeaders({"Content-Type":"application/json"})};return this.baseURL="/api/dev/nocode/v1.0/micro-apps/getauditorsbyappid/"+t,this.http.get(this.baseURL,e)},u.decorators=[{type:i.Injectable}],u.ctorParameters=function(){return[{type:n.HttpClient}]};var f=u;function u(t){this.http=t}function h(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var i,a,o=n.call(t),r=[];try{for(;(void 0===e||0<e--)&&!(i=o.next()).done;)r.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(a)throw a.error}}return r}x.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})};var v=x;function x(){}var b=function(){this.domainId="",this.domainName="",this.domainCode="",this.activityDefinedIds="",this.isFold=!1},y=(Object.defineProperty(w.prototype,"elementConfig",{get:function(){return this._elementConfig},set:function(t){this._elementConfig=t},enumerable:!0,configurable:!0}),w.prototype.ngOnInit=function(){this.initSetting()},w.prototype.ngOnChanges=function(t){},w.prototype.initSetting=function(){var t;this.elementConfig.beforeOpenModal&&(t=this.elementConfig.beforeOpenModal(),this.microAppId=t.parameters.microAppId,this.approvalCommentId=t.parameters.approvalCommentId,this.getAuditorsByMicroAppId(this.microAppId),this.approvalDomains=t.parameters.domains||[],this._approvalDomains=o.cloneDeep(this.approvalDomains),this.approvalDomains.length||this.addDomain())},w.prototype.getAuditorsByMicroAppId=function(t){var a=this;this.apiService.getAuditorsByMicroAppId(t).subscribe(function(t){var i;t&&(i=[],[].concat(t).map(function(t){t.Id&&i.push({value:t.Id,text:t.Name})}),a.activityOptions=i,a.approvalDomains.map(function(t){var e,n;t.activityDefinedIds&&(e=t.activityDefinedIds.split(","),e=function(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(h(arguments[e]));return t}(new Set(e)),n=[],e.forEach(function(e){i.some(function(t){return e.trim()===t.value})&&n.push(e)}),a.compareArray1EqualToArray2(e,n)||(t.activityIdErrorMessage="流程设计已变更,请更新审批意见组件绑定节点",t.activityDefinedIds=n.join(",")))}),a._approvalDomains=o.cloneDeep(a.approvalDomains),a.cdRef.detectChanges())},function(t){})},w.prototype.addDomain=function(t){var e=new b,n=(e.domainId=v.newGuid(),""),n=5<this.approvalCommentId.length?"ac_"+this.approvalCommentId.slice(this.approvalCommentId.length-4):"ac_"+v.newGuid().slice(0,4),i=1+this.approvalDomains.length;e.domainName="新增域"+i,e.domainCode=n+"_domain"+i,this.approvalDomains.push(e),this._approvalDomains=o.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains})},w.prototype.deleteDomain=function(t,e){var n=this.approvalDomains.findIndex(function(t){return t.domainId===e.domainId});this.approvalDomains.splice(n,1),this.approvalDomains=this.approvalDomains.slice(),this._approvalDomains=o.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains})},w.prototype.foldDomain=function(t,e){var n=this.approvalDomains.find(function(t){return t.domainId===e.domainId});n.isFold=!n.isFold},w.prototype.moveDomain=function(t,e,n){e<0||n==this.approvalDomains.length||(this.approvalDomains[e]=this.approvalDomains.splice(n,1,this.approvalDomains[e])[0],this.approvalDomains=this.approvalDomains.slice(),this._approvalDomains=o.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains}))},w.prototype.onDomainNameBlur=function(e,t,n){var i;t&&t.trim()?(this.approvalDomains[n].nameErrorMessage="",this.cdRef.detectChanges(),i=this.approvalDomains.find(function(t){return t.domainId==e}),1<this.approvalDomains.filter(function(t){return t.domainName.trim()==i.domainName}).length?(i.domainCode=this._approvalDomains.find(function(t){return t.domainId==e}).domainCode,this.approvalDomains[n].nameErrorMessage="域名称重复,请重新设置!",this.cdRef.detectChanges()):this._approvalDomains=o.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains})):(this.approvalDomains[n].nameErrorMessage="域名称不能为空!",this.cdRef.detectChanges())},w.prototype.onDomainCodeBlur=function(e){var n=this.approvalDomains.find(function(t){return t.domainId==e});/^[a-zA-Z_][0-9a-zA-Z_]*$/.test(n.domainCode)&&(1<this.approvalDomains.filter(function(t){return t.domainCode==n.domainCode}).length?n.domainCode=this._approvalDomains.find(function(t){return t.domainId==e}).domainCode:this._approvalDomains=o.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains}))},w.prototype.onActivityDefinedIdsBlur=function(t,e,n){e&&e.trim()?(this.approvalDomains[n].activityIdErrorMessage="",this.cdRef.detectChanges(),this._approvalDomains=o.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains})):(this.approvalDomains[n].activityIdErrorMessage="流程节点不能为空!",this.cdRef.detectChanges())},w.prototype.trackByFn=function(t,e){return e.domainId},w.prototype.compareArray1EqualToArray2=function(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0},w.decorators=[{type:i.Component,args:[{selector:"farris-approval-comment-editor",template:'<div class="domain-areas">\r\n <div style="flex-direction: row;flex-wrap: wrap;">\r\n <div *ngFor="let data of approvalDomains; let i = index; trackBy: trackByFn">\r\n <div style="margin-top: 5px; border: 1px dashed #ccc;">\r\n <div style="display: flex; justify-content: space-between">\r\n <div style="display: flex; align-items: center; margin: 5px 0 0 10px; height: 30px;">\r\n <div style="margin-right: 5px">\r\n <span class="f-icon f-icon-col-ascending"\r\n [ngClass]="i == 0 ? \'cannotMoveDomain\' : \'canMoveDomain\'"\r\n (click)="moveDomain($event, i - 1, i)"></span>\r\n </div>\r\n <div>\r\n <span class="f-icon f-icon-col-descending"\r\n [ngClass]="i == (approvalDomains.length -1) ? \'cannotMoveDomain\' : \'canMoveDomain\'"\r\n (click)="moveDomain($event, i, i + 1)"></span>\r\n </div>\r\n </div>\r\n <div style="display: flex; align-items: center; margin: 5px 10px 0 0; height: 30px;">\r\n <div style="margin-right: 5px">\r\n <span class="f-icon f-icon-arrow-chevron-down cursor-pointer"\r\n [ngStyle]="{\'transform\': data.isFold ? \'rotate(90deg)\' : \'none\'}"\r\n (click)="foldDomain($event, data)"></span>\r\n </div>\r\n <div style="margin-left: 5px">\r\n <span class="f-icon f-icon-yxs_delete cursor-pointer"\r\n (click)="deleteDomain($event, data)"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="f-form-layout farris-form farris-form-controls-inline" id="data.domainId">\r\n <div class="col-12" style="margin-top: 5px">\r\n <div class="farris-group-wrap">\r\n <div class="form-group farris-form-group">\r\n <label class="col-form-label" title="域名称">\r\n <span class="farris-label-text">域名称</span>\r\n </label>\r\n <div class="farris-input-wrap">\r\n \x3c!--<input-group [(ngModel)]="data.domainName" (clear)="onDomainNameBlur(data.domainId, data.domainName, i)"\r\n (blurHandle)="onDomainNameBlur(data.domainId, data.domainName, i)"></input-group>--\x3e\r\n <div class="f-cmp-inputgroup">\r\n <div class="input-group f-state-editable">\r\n <textarea class="form-control f-utils-fill text-left"\r\n style="display: block;overflow: auto" [(ngModel)]="data.domainName"\r\n (blur)="onDomainNameBlur(data.domainId, data.domainName, i)">\r\n </textarea>\r\n </div>\r\n </div>\r\n <div *ngIf="data?.nameErrorMessage" style="margin-top: 4px">\r\n <div class="error-text">\r\n {{data?.nameErrorMessage}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \x3c!-- <div class="col-12" style="margin-top: 5px" *ngIf="!data.isFold">\r\n <div class="farris-group-wrap">\r\n <div class="form-group farris-form-group">\r\n <label class="col-form-label" title="域编号">\r\n <span class="farris-label-text">域编号</span>\r\n </label>\r\n <div class="farris-input-wrap">\r\n <input-group [(ngModel)]="data.domainCode"\r\n (blurHandle)="onDomainCodeBlur(data.domainId)"></input-group>\r\n </div>\r\n </div>\r\n </div>\r\n </div>--\x3e\r\n <div class="col-12" style="margin-top: 5px" *ngIf="!data.isFold">\r\n <div class="farris-group-wrap">\r\n <div class="form-group farris-form-group">\r\n <label class="col-form-label" title="流程节点">\r\n <span class="farris-label-text">流程节点</span>\r\n </label>\r\n <div class="farris-input-wrap">\r\n \x3c!-- <input-group [(ngModel)]="data.activityDefinedIds"\r\n (blurHandle)="onActivityDefinedIdsBlur(data.domainId)"></input-group>--\x3e\r\n <farris-combo-list [(ngModel)]="data.activityDefinedIds" [idField]="\'value\'"\r\n [textField]="\'text\'" [data]="activityOptions" [multiSelect]="true"\r\n (ngModelChange)="onActivityDefinedIdsBlur(data.domainId, data.activityDefinedIds, i)"\r\n [editable]="false" [enableClear]="false" [enableCancelSelected]="false">\r\n </farris-combo-list>\r\n <div *ngIf="data?.activityIdErrorMessage" style="margin-top: 4px">\r\n <div class="error-text">\r\n {{data?.activityIdErrorMessage}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div style="display: flex; justify-content:center;align-items: center; margin-top: 15px;">\r\n <input type="button" class="btn btn-primary" value="新增域" (click)="addDomain($event)" />\r\n </div>\r\n</div>',styles:["@media screen and (min-width:888px){::ng-deep .apporal-comment .farris-form .farris-group-wrap{max-width:38.625rem!important}}.domain-areas .farris-form .farris-group-wrap::after{display:none}.domain-areas .canMoveDomain{cursor:pointer}.domain-areas .cannotMoveDomain{cursor:not-allowed;color:#80808080}.farris-form-controls-inline .farris-group-wrap .col-form-label,.farris-form-inline .col-form-label{width:4rem}.error-text{color:red}"]}]}],w.ctorParameters=function(){return[{type:f},{type:i.ChangeDetectorRef}]},w.propDecorators={valueChanged:[{type:i.Output}]},w);function w(t,e){this.apiService=t,this.cdRef=e,this.valueChanged=new i.EventEmitter,this.approvalDomains=new Array,this.activityOptions=[]}var D=function(){},I={Single:"single",Default:"default",Theme1:"theme1"},k=(C.prototype.ngOnDestroy=function(){},C.prototype.ngOnChanges=function(t){!this.procInstId||this.dataList||this.displayType===this.DisplayTypes.Default&&this.domains.length&&this.getApprovalComment()},C.prototype.ngOnInit=function(){this.displayType===this.DisplayTypes.Single&&(t=this.injector.view.component.viewModel,this.getFieldData(t.bindingData.getValue(this.sortPath(this.field))));var t,r={mergeString:function(t,e){for(var n=(t.length<e.length?t:e).length,i="",a=0,a=0;a<n;a++)i=(i+=t.substring(a,a+1))+e.substring(a,a+1);return i+=(t.length<e.length?e:t).substring(a)},getToken:function(t){var e=[1,2,3],n=(24<t.length&&(t=t.substring(0,24)),Math.floor(t.length/3)),i=t.substring(0,n),a=t.substring(n,2*n),n=t.substring(2*n,3*n),t=[],o=Math.ceil(3*Math.random()),o=(t.push(e[o-1]),e.splice(o-1,1),o=Math.ceil(2*Math.random()),t.push(e[o-1]),e.splice(o-1,1),t.push(e[0]),Math.round((new Date).getTime()/1e3)+"");return o.substring(0,5)+"times"+t[0]+t[1]+t[2]+r.switchStr(i,a,n,t[0])+r.switchStr(i,a,n,t[1])+r.switchStr(i,a,n,t[2])+"times"+o.substring(5)},switchStr:function(t,e,n,i){switch(i){case 1:return t;case 2:return e;case 3:return n}}};this.AttachUtil=r},C.prototype.sortPath=function(t){var e=t.includes(".")?".":"_";return t.split(e).reduce(function(t,e){return t.push(e[0].toLowerCase()+e.substring(1,e.length)),t},[])},C.prototype.getFieldData=function(t){var e=this;if(t)try{var n=[];JSON.parse(t).forEach(function(t){t.signature&&(t.url=e.getUrl('{"id":"'+t.signature+'"}',"taskcentersignature")),n.push({url:t.url,createdTime:t.operateTime,message:t.comment,operatorName:t.operatorName})}),this.workItemLogs=n}catch(i){console.error(i)}},C.prototype.getApprovalComment=function(){var o=this,t=this.domains.filter(function(t){return t.domainCode&&t.domainName&&t.activityDefinedIds}),t={processsInstId:this.procInstId,domains:t};this.dataList=[],this.apiService.getApprovalCommentApi(t).subscribe(function(t){t&&[].concat(t).forEach(function(t){var e=new D,n=(e.title=t.domainName,[]),t=(n=t.taskCommentImpl?"time"===o.sortOrder?t.taskCommentImpl.sort(function(t,e){return Date.parse(t.operatorTime)-Date.parse(e.operatorTime)}):t.taskCommentImpl:n).filter(function(t){return!(t.action&&["Submit","AddSignFront"].includes(t.action)||t.workItemType&&["AddSignFront"].includes(t.workItemType))});t.map(function(t){if(t.signature&&(t.url=o.getUrl(t.signature,"taskcentersignature")),t.attachmentRef&&""!==t.attachmentRef){for(var e=JSON.parse(t.attachmentRef),n=[],i=0;i<e.length;i++){var a={fileName:e[i].fileName,fileType:o.getFileType(e[i].fileName),fileSize:e[i].fileSize,url:o.getDownLoadUrl(e[i].metadataId,"wf_attachment"),metadataId:e[i].metadataId};n.push(a)}t.attachmentList=n}}),e.workItemLogs=t,o.dataList.push(e)})},function(t){})},C.prototype.getUrl=function(t,e){var r={mergeString:function(t,e){for(var n=(t.length<e.length?t:e).length,i="",a=0,a=0;a<n;a++)i=(i+=t.substring(a,a+1))+e.substring(a,a+1);return i+=(t.length<e.length?e:t).substring(a)},getToken:function(t){var e=[1,2,3],n=(24<t.length&&(t=t.substring(0,24)),Math.floor(t.length/3)),i=t.substring(0,n),a=t.substring(n,2*n),n=t.substring(2*n,3*n),t=[],o=Math.ceil(3*Math.random()),o=(t.push(e[o-1]),e.splice(o-1,1),o=Math.ceil(2*Math.random()),t.push(e[o-1]),e.splice(o-1,1),t.push(e[0]),Math.round((new Date).getTime()/1e3)+"");return o.substring(0,5)+"times"+t[0]+t[1]+t[2]+r.switchStr(i,a,n,t[0])+r.switchStr(i,a,n,t[1])+r.switchStr(i,a,n,t[2])+"times"+o.substring(5)},switchStr:function(t,e,n,i){switch(i){case 1:return t;case 2:return e;case 3:return n}}},t=(e=e||"default-root",JSON.parse(t).id);return"/api/runtime/dfs/v1.0/doc/filecontent?metadataid="+t+"&rootid="+e+"&token="+r.getToken(r.mergeString(t,e))},C.prototype.translateTask=function(t){var e=localStorage.getItem("languageCode"),n={"zh-CHS":{logDate:"处理时间",processTime:"处理时长",message:"办理意见",showForecastLog:"显示后续审批人",hiddenForecastLog:"隐藏后续审批人",terminal:"来自",web:"电脑端",mobile:"移动端",title:"审批记录",viewProcess:"查看流程",nodeName:"节点名称",participant:"办理人",receiveTime:"接收时间",action:"操作",submitTime:"提交时间",todo:"待办理",done:"已办理",submit:"已提交",undo:"未到达",toAssign:"未指派",toRead:"待阅",noResolvedUser:"未解析到用户",noData:"暂无数据",startTime:"接收时间",taskRead:"已读",taskToRead:"未读",taskHandle:"实际操作人",toSubmit:"待提交",download:"下载",view:"查看"},en:{logDate:"EndTime",processTime:"ProcessTime",message:"Approval opinion",showForecastLog:"show forecast log",hiddenForecastLog:"hide forecast log",terminal:"From",web:"Web",mobile:"Mobile",title:"Logs",viewProcess:"View Process",nodeName:"Node name",participant:"Participant",receiveTime:"Receive time",action:"Action",submitTime:"Submit time",todo:"Todo",done:"Done",submit:"Submit",undo:"Undo",toAssign:"To Assign",toRead:"To Read",noResolvedUser:"No one",noData:"Empty",startTime:"Start time",taskRead:"Read",taskToRead:"To read",taskOwner:"Operator",toSubmit:"To submit",download:"download",view:"view"},"zh-CHT":{logDate:"處理時間",processTime:"處理時長",message:"辦理意見",showForecastLog:"顯示後續審批人",hiddenForecastLog:"隱藏後續審批人",terminal:"來自",web:"電腦端",mobile:"移動端",title:"審批記錄",viewProcess:"查看流程",nodeName:"節點名稱",participant:"辦理人",receiveTime:"接收時間",action:"操作",submitTime:"提交時間",todo:"待辦理",done:"已辦理",submit:"已提交",undo:"未到達",toAssign:"未指派",toRead:"待閱",noResolvedUser:"未解析到用戶",noData:"暫無數據",startTime:"接收時間",taskRead:"已讀",taskToRead:"未讀",taskHandle:"實際操作人",toSubmit:"待提交",download:"下載",view:"查看"}},e=e&&["zh-CHS","zh_CHT","en"].includes(e)?n[e]:n["zh-CHS"];return e[t]},C.prototype.getFileType=function(t){var e=t.lastIndexOf("."),e=""===(e=t.substring(e+1))?"Default":e.toLowerCase();return"/platform/runtime/wf/webapp/mobiletaskcenter/assets/accessory/"+(e=0<="doc-docx-htm-html-js-pdf-ppt-pptx-rar-zip-txt-xls-xlsx".indexOf(e)?e.toLowerCase():0<="wav-aif-aiff-au-mp1-mp2-mp3-ra-rm-ram-mid-rmi".indexOf(e)?"video":0<="avi-rm-rmvb-mpeg-mpg-dat-mov-qt-asf-wm-mp4".indexOf(e)?"audio":0<="webp-baibmp-dupcx-tif-gif-jpeg-tga-exif-fpx-svg-psd-cdr-pcd-dxf-ufo-eps-ai-png-hdri-raw-wmf-flic-emf-ico-jpg".indexOf(e)?"picture":"default")+".svg?v=20230316"},C.prototype.getDownLoadUrl=function(t,e){e=e||"default-root";var n="https:"===document.location.protocol,i=window.location.host,i=n?"https://"+i:"http://"+i;return i+="/api/runtime/dfs/v1.0/doc/filecontent?metadataid="+t+"&rootid="+e+"&token="+this.AttachUtil.getToken(this.AttachUtil.mergeString(t,e))},C.prototype.attachmentDownload=function(t){window.open(t)},C.prototype.attachmentPreview=function(t){t={appType:"app",funcId:"",tabName:"文档在线预览",appId:"6ccb476b-f2ba-df8f-6f47-d37d100c56e2",appEntrance:"docviewertab",tabId:(new Date).getTime(),entityParams:{metadataIdList:t,rootId:"wf_attachment",metadataId:null,viewOptions:{showHeader:!0,showPaging:!0,showThumbnails:!0,showDownload:!0,showSearch:!0,showZoom:!0,showPrint:!0,showSecondaryToolBar:!0}}};top.gspframeworkService&&(top.gspframeworkService.rtf.func.openMenu(t),top.postMessage("TaskCloseLogDialog",top.document.location.origin))},C.decorators=[{type:i.Component,args:[{selector:"farris-approval-comments",template:'<ng-container *ngIf="dataList && displayType === DisplayTypes.Default">\r\n <div class="main-content">\r\n <div class="body-content" *ngFor="let comment of dataList">\r\n <div class="left-content">\r\n <div class="approval-suggestion">{{comment.title}}</div>\r\n </div>\r\n <div class="right-content">\r\n <div *ngFor="let item of comment.workItemLogs">\r\n <div class="right-content-item">\r\n <div class="right-content-item-list-content">\r\n <div class="approval-comment-message">{{item?.message}}</div>\r\n <div *ngIf="attachmentVisible" class="approval-comment-attachment">\r\n <div *ngFor="let attachment of item.attachmentList"\r\n class="log-attachment task-attachmentlist-li">\r\n \x3c!-- 附件名称 --\x3e\r\n <div class="log-attachment-title">\r\n <img class="log-attachment-img" src="{{attachment.fileType}}" />\r\n <span>{{attachment.fileName}}</span>\r\n </div>\r\n <div style="display: flex; align-items: center">\r\n \x3c!-- 附件大小 --\x3e\r\n <div><span class="log-attachment-size">{{attachment.fileSize}}</span></div>\r\n \x3c!-- 下载按钮 --\x3e\r\n <div class="log-attachment-icon-download" id="log-attachment-download"\r\n title="{{translateTask(\'download\')}}">\r\n <img src="/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-download.svg?v=20230222"\r\n (click)="attachmentDownload(attachment.url)" />\r\n </div>\r\n \x3c!-- 查看按钮 --\x3e\r\n <div class="log-attachment-icon-preview" id="log-attachment-preview"\r\n title="{{translateTask(\'view\')}}">\r\n <img src="/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-view.svg?v=20230222"\r\n (click)="attachmentPreview([attachment?.metadataId])" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="right-content-item-list-sign">\r\n <div *ngIf="item?.url" class="approval-operator-name">\r\n <img class="image-height-width" src="{{item?.url}}">\r\n </div>\r\n <div *ngIf="!item?.url" class="approval-operator-name">{{item?.operatorName}}</div>\r\n <div class="approval-start-time">\r\n <span>处理时间:</span>{{(item?.createdTime |date:\'yyyy-MM-dd HH:mm:ss\') || \'--\'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf="dataList && displayType === DisplayTypes.Theme1">\r\n <div class="main-content">\r\n <div class="body-content-item2" *ngFor="let comment of dataList">\r\n <div class="approval-suggestion">{{comment.title}}</div>\r\n <div *ngFor="let item of comment.workItemLogs">\r\n <div class="right-content-item">\r\n <div class="right-content-item-list-content">\r\n <div class="approval-comment-message-item2">{{item?.message}}</div>\r\n </div>\r\n <div class="right-content-item-list-sign">\r\n <div *ngIf="item?.url" class="approval-operator-name-item2">\r\n <img class="image-height-width" src="{{item?.url}}">\r\n </div>\r\n <div *ngIf="!item?.url" class="approval-operator-name-item2">{{item?.operatorName}}</div>\r\n <div class="approval-start-time-item2">\r\n <span>处理时间:</span>{{(item?.createdTime |date:\'yyyy-MM-dd HH:mm:ss\') || \'--\'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf="displayType === DisplayTypes.Single">\r\n\r\n <div class="main-content">\r\n <div class="body-content">\r\n <div class="left-content">\r\n <div class="approval-suggestion">{{title}}</div>\r\n </div>\r\n <div class="right-content">\r\n <div *ngFor="let item of workItemLogs">\r\n <div class="right-content-item">\r\n <div class="right-content-item-list-content">\r\n <div class="approval-comment-message">{{item?.message}}</div>\r\n <div *ngIf="attachmentVisible" class="approval-comment-attachment">\r\n <div *ngFor="let attachment of item.attachmentList"\r\n class="log-attachment task-attachmentlist-li">\r\n \x3c!-- 附件名称 --\x3e\r\n <div class="log-attachment-title">\r\n <img class="log-attachment-img" src="{{attachment.fileType}}" />\r\n <span>{{attachment.fileName}}</span>\r\n </div>\r\n <div style="display: flex; align-items: center">\r\n \x3c!-- 附件大小 --\x3e\r\n <div><span class="log-attachment-size">{{attachment.fileSize}}</span></div>\r\n \x3c!-- 下载按钮 --\x3e\r\n <div class="log-attachment-icon-download" id="log-attachment-download"\r\n title="{{translateTask(\'download\')}}">\r\n <img src="/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-download.svg?v=20230222"\r\n (click)="attachmentDownload(attachment.url)" />\r\n </div>\r\n \x3c!-- 查看按钮 --\x3e\r\n <div class="log-attachment-icon-preview" id="log-attachment-preview"\r\n title="{{translateTask(\'view\')}}">\r\n <img src="/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-view.svg?v=20230222"\r\n (click)="attachmentPreview([attachment?.metadataId])" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="right-content-item-list-sign">\r\n <div *ngIf="item?.url" class="approval-operator-name">\r\n <img class="image-height-width" src="{{item?.url}}">\r\n </div>\r\n <div *ngIf="!item?.url" class="approval-operator-name">{{item?.operatorName}}</div>\r\n <div class="approval-start-time">\r\n <span>处理时间:</span>{{(item?.createdTime |date:\'yyyy-MM-dd HH:mm:ss\') || \'--\'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</ng-container>',providers:[{provide:e.NG_VALUE_ACCESSOR,useExisting:i.forwardRef(function(){return C}),multi:!0},f],styles:[".fos-dialog .fos-content{width:100%;height:100%;min-width:760px;overflow:hidden}.fos-dialog ::ng-deep .modal-content{border-radius:10px}.fos-dialog ::ng-deep .modal-header{color:#2d2f33;border-bottom:none;padding:15px 0 15px 24px}.fos-dialog ::ng-deep .actions{padding-right:22px;font-size:20px}.fos-dialog ::ng-deep .modal-title-label{font-size:17px;font-weight:600}.fos-dialog ::ng-deep .modal-footer{padding:17px 24px;background:#fff;border-top:none}.fos-dialog .fos-content .fos-content-container{display:flex;width:calc(100% - 48px);height:100%;margin:0 24px;border:1px solid #dee1ea;border-radius:3px}.fos-dialog .fos-content .fos-content-container .fos-content-main{flex:0 0 100%;position:relative;display:flex}.fos-dialog .fos-content .fos-content-container .fos-content-main .fos-search-input{position:absolute;top:7px;right:14px;color:#959ab1;z-index:99;width:320px}.fos-dialog .fos-content .fos-content-container .fos-content-main .fos-tabs{min-width:575px}.fos-dialog ::ng-deep .fos-tabs .nav-link{line-height:18px;padding:11px 0!important}.fos-dialog ::ng-deep .fos-tabs .farris-tabs-header{background:#f9f9f9}.fos-dialog ::ng-deep .fos-tabs .nav-item{margin-right:30px}.fos-dialog ::ng-deep .fos-tabs .nav{padding-left:14px;font-size:16px;font-weight:600}.fos-dialog ::ng-deep .fos-tabs .nav-item .st-tab-text{color:#6f8cb4}.fos-dialog ::ng-deep .fos-tabs .nav-item .active .st-tab-text{color:#2a87ff}.fos-dialog::ng-deep input::-webkit-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep input::-moz-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep input::-ms-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep .fos-search-input .form-control{line-height:26px;height:26px;font-size:13px}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead{background:#fff;font-size:13px}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead th .tt-checkbox .custom-control-label::before{top:2px;margin:0}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead th:hover{background:#fff}.fos-dialog ::ng-deep .fos-treetable .treetable-cell-content span{font-size:13px}:host .input-group .input-group-append{background:#fff}:host .s-input-group .input-group-text{color:rgba(0,0,0,.25)}:host .cursor-pointer{cursor:pointer}:host .s-input-group .multi-more{padding:0 0 2px 8px;height:auto;min-height:24px;flex:1;overflow:hidden}:host .s-input-group .multi--content{display:flex;flex-wrap:nowrap;cursor:default;padding:0 5px;background:#ebf7fe;border:1px solid #cfedff;margin:3px 3px 0 0;float:left;height:17px;border-radius:3px;line-height:17px;justify-content:space-between;box-sizing:content-box;max-width:calc(100% - 10px)}:host .s-input-group .multi--item{line-height:16px;text-overflow:ellipsis;height:16px;flex:1;overflow:hidden;word-break:break-all}:host .s-input-group .multi-another{padding:3px 3px 0 0;line-height:16px;float:left;height:17px;box-sizing:content-box;border:1px solid #fff;color:#bfbfbf}.fos-dialog ::ng-deep .fos-dialog-footer{width:200px;height:30px;line-height:30px;position:absolute;left:24px;text-align:left;cursor:default}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-selection{font-size:14px;color:#2d2f33;background:#f4f9ff;border-radius:5px;padding:2px 5px}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-selection a{font-size:17px;color:#2a87ff}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-clear{font-size:13px;color:#2a87ff;margin-left:1rem;cursor:pointer}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-selection-content{position:absolute;bottom:25px;left:-10px;background:#fff;z-index:102}.fos-dialog::ng-deep .pagination-container{height:1.5rem;margin-bottom:21px}.fos-dialog::ng-deep .pagination-container input::-webkit-inner-spin-button,.fos-dialog::ng-deep .pagination-container input::-webkit-outer-spin-button{-webkit-appearance:none}.fos-dialog::ng-deep .pagination-container input[type=number]{-moz-appearance:textfield;text-align:center;width:38px;line-height:20px;border:1px solid #e9ecf3;border-radius:6px;box-shadow:0 2px 6px 0 rgba(31,35,41,.06);margin-left:4px;outline:0}.fos-dialog::ng-deep .pagination-container input[type=number]:focus{border:1px solid #0084ff}.fos-dialog::ng-deep .pagination-container li{line-height:22px}.fos-dialog ::ng-deep .fos-treetable td{border-color:#fff}.fos-dialog ::ng-deep .default-light-color{color:#f7b500}.fos-dialog ::ng-deep .default-dark-color{color:#d8dce6}.fos-dialog ::ng-deep .s-personnel-group{width:440px;height:250px;border-radius:5px;background:#fff;box-shadow:0 0 40px 0 rgba(0,0,0,.2);padding:16px 24px;position:fixed;top:50%;left:50%;margin-left:-220px;margin-top:-125px;z-index:9999}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-title{font-size:17px;line-height:24px;color:#2d2f33;font-weight:600}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-title .f-icon{float:right;font-size:20px;color:#878d99;margin-top:3px;cursor:pointer}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-footer{margin-top:20px}.fos-dialog ::ng-deep .s-personnel-group .col-12{padding:0}.fos-dialog ::ng-deep .s-personnel-group-footer .title-checkall{margin-top:6px}.fos-dialog ::ng-deep .s-personnel-group .farris-label-text{color:#5a5e66}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-footer .fr{float:right;height:32px}.main-content{width:100%;height:100%;display:flex;flex-direction:column}.body-content{box-sizing:border-box;flex:1.5;display:flex;flex-direction:row;margin:0 -1px -1px 0;border:1px dashed #ccc;border-collapse:collapse}.body-content-item2{box-sizing:border-box;flex:1.5;display:flex;flex-direction:column;padding:10px 0 0 10px;margin:0 -1px -1px 0;border:1px dashed #ccc;border-collapse:collapse;min-height:36px}.left-content{width:160px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;min-height:36px;border-right:1px dashed #ccc}.right-content{box-sizing:border-box;padding-left:12px;flex:1;display:flex;flex-direction:column}.right-content-item{box-sizing:border-box;display:flex;flex-direction:row}.right-content-item-list-content{display:flex;flex:1;flex-direction:column;box-sizing:border-box;padding-top:10px}.right-content-item-list-sign{display:flex;box-sizing:border-box;width:210px;flex-direction:column}.approval-comment-message{flex:1;font-size:12px;padding:0 10px 10px}.approval-comment-attachment{padding-bottom:10px}.approval-comment-message-item2{font-size:12px;padding:10px}.date_area{font-size:6px}.approval-start-time{font-size:10px;padding:0 10px 15px}.approval-start-time-item2{font-size:10px;padding-top:10px;margin-bottom:15px}.approval-operator-name{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;margin-top:20px;padding-bottom:10px}.approval-operator-name-item2{font-size:12px;text-align:center}.footer-content .right-content .right-content-item .right-content-item-list-sign{margin-top:8px}.approval-suggestion{white-space:pre-line;padding:10px;font-size:12px;word-wrap:break-word;word-break:break-all}.image-height-width{height:34px;width:100px}.log-attachment{display:flex;justify-content:space-between;align-items:center;background:rgba(249,252,255,.87);border:0 solid rgba(229,232,237,.71);border-radius:3px;margin-top:10px;padding:5px 10px;cursor:pointer}.log-attachment-title{display:flex;align-items:center;font-size:12px}.log-attachment-img{height:24px;margin-right:10px}.log-attachment-name{white-space:pre-wrap;word-break:break-all}.log-attachment-size{display:block;font-size:12px;color:rgba(45,47,51,.45);padding:0 10px}.log-attachment-icon-download{border-radius:50%;background:#c7d4ee;margin-left:10px;color:#fff;cursor:pointer;width:16px;height:16px;display:flex;justify-content:center;align-items:center}.log-attachment-icon-preview{border-radius:50%;background:#2b87ff;margin-left:10px;color:#fff;cursor:pointer;width:16px;height:16px;display:flex;justify-content:center;align-items:center}.log-task-read{display:flex;align-items:center;font-size:12px;color:rgba(0,0,0,.45);padding:8px 14px;background:rgba(245,248,252,.6);box-shadow:inset 0 1px 0 0 #e9ecf3}.log-task-read-text{padding:0 8px}"]}]}],C.ctorParameters=function(){return[{type:f},{type:i.Injector}]},C.propDecorators={title:[{type:i.Optional},{type:i.Input}],domains:[{type:i.Optional},{type:i.Input}],procInstId:[{type:i.Input}],sortOrder:[{type:i.Optional},{type:i.Input}],field:[{type:i.Optional},{type:i.Input}],bindingfield:[{type:i.Optional},{type:i.Input}],displayType:[{type:i.Optional},{type:i.Input}],attachmentVisible:[{type:i.Optional},{type:i.Input}]},C);function C(t,e){var n=this,i=(this.apiService=t,this.injector=e,this.title="",this.domains=[],this.sortOrder="",this.field="",this.bindingfield="",this.displayType="default",this.attachmentVisible=!0,this.filterAction=["Pass","Back"],this.DisplayTypes=I,this.injector.view.component.viewModel);i.bindingData.changes.subscribe(function(t){n.displayType===n.DisplayTypes.Single&&n.getFieldData(i.bindingData.getValue(n.sortPath(n.field)))})}function T(){}T.decorators=[{type:i.NgModule,args:[{declarations:[k,y],imports:[a.CommonModule,e.FormsModule,l.FarrisFormsModule,r.DragDropModule,s.FEPageModalModule,c.NotifyModule,m.RateModule,g.SwitchModule,p.ComboListModule,d.InputGroupModule],exports:[k,y],entryComponents:[k,y],providers:[f]}]}],t.ApprovalCommentsModule=T,t.ApprovalCommentEditorComponent=y,t.ApprovalCommentComponent=k,t.ApiService=f,Object.defineProperty(t,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/common/http"),require("@angular/cdk/drag-drop"),require("@farris/extend-page-modal"),require("@farris/ui-combo-list"),require("@farris/ui-forms"),require("@farris/ui-input-group"),require("@farris/ui-notify"),require("@farris/ui-rate"),require("@farris/ui-switch"),require("lodash-es"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@farris/approval-comments",["exports","@angular/common","@angular/common/http","@angular/cdk/drag-drop","@farris/extend-page-modal","@farris/ui-combo-list","@farris/ui-forms","@farris/ui-input-group","@farris/ui-notify","@farris/ui-rate","@farris/ui-switch","lodash-es","@angular/core","@angular/forms"],t):t((e.farris=e.farris||{},e.farris["approval-comments"]={}),e.ng.common,e.ng.common.http,e.ng.cdk["drag-drop"],e.extendPageModal,e.uiComboList,e.uiForms,e.uiInputGroup,e.uiNotify,e.uiRate,e.uiSwitch,e.lodashEs,e.ng.core,e.ng.forms)}(this,function(e,t,n,i,a,o,r,s,p,l,d,c,m,g){"use strict";u.prototype.demoapi=function(e){var t={headers:new n.HttpHeaders({"Content-Type":"application/json"})};return this.http.post(this.baseURL+"/path",e,t)},u.prototype.getApprovalCommentApi=function(e){var t={headers:new n.HttpHeaders({"Content-Type":"application/json"})};return this.baseURL="/api/no/code/runtime/v1.0/getworkitemlogs",this.http.post(this.baseURL,e,t)},u.prototype.getAuditorsByMicroAppId=function(e){var t={headers:new n.HttpHeaders({"Content-Type":"application/json"})};return this.baseURL="/api/dev/nocode/v1.0/micro-apps/getauditorsbyappid/"+e,this.http.get(this.baseURL,t)},u.decorators=[{type:m.Injectable}],u.ctorParameters=function(){return[{type:n.HttpClient}]};var f=u;function u(e){this.http=e}function h(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,a,o=n.call(e),r=[];try{for(;(void 0===t||0<t--)&&!(i=o.next()).done;)r.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(a)throw a.error}}return r}x.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})};var v=x;function x(){}var b=function(){this.domainId="",this.domainName="",this.domainCode="",this.activityDefinedIds="",this.isFold=!1},y=(Object.defineProperty(w.prototype,"elementConfig",{get:function(){return this._elementConfig},set:function(e){this._elementConfig=e},enumerable:!0,configurable:!0}),w.prototype.ngOnInit=function(){this.initSetting()},w.prototype.ngOnChanges=function(e){},w.prototype.initSetting=function(){var e;this.elementConfig.beforeOpenModal&&(e=this.elementConfig.beforeOpenModal(),this.microAppId=e.parameters.microAppId,this.approvalCommentId=e.parameters.approvalCommentId,this.getAuditorsByMicroAppId(this.microAppId),this.approvalDomains=e.parameters.domains||[],this._approvalDomains=c.cloneDeep(this.approvalDomains),this.approvalDomains.length||this.addDomain())},w.prototype.getAuditorsByMicroAppId=function(e){var a=this;this.apiService.getAuditorsByMicroAppId(e).subscribe(function(e){var i;e&&(i=[],[].concat(e).map(function(e){e.Id&&i.push({value:e.Id,text:e.Name})}),a.activityOptions=i,a.approvalDomains.map(function(e){var t,n;e.activityDefinedIds&&(t=e.activityDefinedIds.split(","),t=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}(new Set(t)),n=[],t.forEach(function(t){i.some(function(e){return t.trim()===e.value})&&n.push(t)}),a.compareArray1EqualToArray2(t,n)||(e.activityIdErrorMessage="流程设计已变更,请更新审批意见组件绑定节点",e.activityDefinedIds=n.join(",")))}),a._approvalDomains=c.cloneDeep(a.approvalDomains),a.cdRef.detectChanges())},function(e){})},w.prototype.addDomain=function(e){var t=new b,n=(t.domainId=v.newGuid(),""),n=5<this.approvalCommentId.length?"ac_"+this.approvalCommentId.slice(this.approvalCommentId.length-4):"ac_"+v.newGuid().slice(0,4),i=1+this.approvalDomains.length;t.domainName="新增域"+i,t.domainCode=n+"_domain"+i,this.approvalDomains.push(t),this._approvalDomains=c.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains})},w.prototype.deleteDomain=function(e,t){var n=this.approvalDomains.findIndex(function(e){return e.domainId===t.domainId});this.approvalDomains.splice(n,1),this.approvalDomains=this.approvalDomains.slice(),this._approvalDomains=c.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains})},w.prototype.foldDomain=function(e,t){var n=this.approvalDomains.find(function(e){return e.domainId===t.domainId});n.isFold=!n.isFold},w.prototype.moveDomain=function(e,t,n){t<0||n==this.approvalDomains.length||(this.approvalDomains[t]=this.approvalDomains.splice(n,1,this.approvalDomains[t])[0],this.approvalDomains=this.approvalDomains.slice(),this._approvalDomains=c.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains}))},w.prototype.onDomainNameBlur=function(t,e,n){var i;e&&e.trim()?(this.approvalDomains[n].nameErrorMessage="",this.cdRef.detectChanges(),i=this.approvalDomains.find(function(e){return e.domainId==t}),1<this.approvalDomains.filter(function(e){return e.domainName.trim()==i.domainName}).length?(i.domainCode=this._approvalDomains.find(function(e){return e.domainId==t}).domainCode,this.approvalDomains[n].nameErrorMessage="域名称重复,请重新设置!",this.cdRef.detectChanges()):this._approvalDomains=c.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains})):(this.approvalDomains[n].nameErrorMessage="域名称不能为空!",this.cdRef.detectChanges())},w.prototype.onDomainCodeBlur=function(t){var n=this.approvalDomains.find(function(e){return e.domainId==t});/^[a-zA-Z_][0-9a-zA-Z_]*$/.test(n.domainCode)&&(1<this.approvalDomains.filter(function(e){return e.domainCode==n.domainCode}).length?n.domainCode=this._approvalDomains.find(function(e){return e.domainId==t}).domainCode:this._approvalDomains=c.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains}))},w.prototype.onActivityDefinedIdsBlur=function(e,t,n){t&&t.trim()?(this.approvalDomains[n].activityIdErrorMessage="",this.cdRef.detectChanges(),this._approvalDomains=c.cloneDeep(this.approvalDomains),this.valueChanged.next({$event:null,elementValue:this._approvalDomains})):(this.approvalDomains[n].activityIdErrorMessage="流程节点不能为空!",this.cdRef.detectChanges())},w.prototype.trackByFn=function(e,t){return t.domainId},w.prototype.compareArray1EqualToArray2=function(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0},w.decorators=[{type:m.Component,args:[{selector:"farris-approval-comment-editor",template:'<div class="domain-areas">\r\n <div style="flex-direction: row;flex-wrap: wrap;">\r\n <div *ngFor="let data of approvalDomains; let i = index; trackBy: trackByFn">\r\n <div style="margin-top: 5px; border: 1px dashed #ccc;">\r\n <div style="display: flex; justify-content: space-between">\r\n <div style="display: flex; align-items: center; margin: 5px 0 0 10px; height: 30px;">\r\n <div style="margin-right: 5px">\r\n <span class="f-icon f-icon-col-ascending"\r\n [ngClass]="i == 0 ? \'cannotMoveDomain\' : \'canMoveDomain\'"\r\n (click)="moveDomain($event, i - 1, i)"></span>\r\n </div>\r\n <div>\r\n <span class="f-icon f-icon-col-descending"\r\n [ngClass]="i == (approvalDomains.length -1) ? \'cannotMoveDomain\' : \'canMoveDomain\'"\r\n (click)="moveDomain($event, i, i + 1)"></span>\r\n </div>\r\n </div>\r\n <div style="display: flex; align-items: center; margin: 5px 10px 0 0; height: 30px;">\r\n <div style="margin-right: 5px">\r\n <span class="f-icon f-icon-arrow-chevron-down cursor-pointer"\r\n [ngStyle]="{\'transform\': data.isFold ? \'rotate(90deg)\' : \'none\'}"\r\n (click)="foldDomain($event, data)"></span>\r\n </div>\r\n <div style="margin-left: 5px">\r\n <span class="f-icon f-icon-yxs_delete cursor-pointer"\r\n (click)="deleteDomain($event, data)"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="f-form-layout farris-form farris-form-controls-inline" id="data.domainId">\r\n <div class="col-12" style="margin-top: 5px">\r\n <div class="farris-group-wrap">\r\n <div class="form-group farris-form-group">\r\n <label class="col-form-label" title="域名称">\r\n <span class="farris-label-text">域名称</span>\r\n </label>\r\n <div class="farris-input-wrap">\r\n \x3c!--<input-group [(ngModel)]="data.domainName" (clear)="onDomainNameBlur(data.domainId, data.domainName, i)"\r\n (blurHandle)="onDomainNameBlur(data.domainId, data.domainName, i)"></input-group>--\x3e\r\n <div class="f-cmp-inputgroup">\r\n <div class="input-group f-state-editable">\r\n <textarea class="form-control f-utils-fill text-left"\r\n style="display: block;overflow: auto" [(ngModel)]="data.domainName"\r\n (blur)="onDomainNameBlur(data.domainId, data.domainName, i)">\r\n </textarea>\r\n </div>\r\n </div>\r\n <div *ngIf="data?.nameErrorMessage" style="margin-top: 4px">\r\n <div class="error-text">\r\n {{data?.nameErrorMessage}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \x3c!-- <div class="col-12" style="margin-top: 5px" *ngIf="!data.isFold">\r\n <div class="farris-group-wrap">\r\n <div class="form-group farris-form-group">\r\n <label class="col-form-label" title="域编号">\r\n <span class="farris-label-text">域编号</span>\r\n </label>\r\n <div class="farris-input-wrap">\r\n <input-group [(ngModel)]="data.domainCode"\r\n (blurHandle)="onDomainCodeBlur(data.domainId)"></input-group>\r\n </div>\r\n </div>\r\n </div>\r\n </div>--\x3e\r\n <div class="col-12" style="margin-top: 5px" *ngIf="!data.isFold">\r\n <div class="farris-group-wrap">\r\n <div class="form-group farris-form-group">\r\n <label class="col-form-label" title="流程节点">\r\n <span class="farris-label-text">流程节点</span>\r\n </label>\r\n <div class="farris-input-wrap">\r\n \x3c!-- <input-group [(ngModel)]="data.activityDefinedIds"\r\n (blurHandle)="onActivityDefinedIdsBlur(data.domainId)"></input-group>--\x3e\r\n <farris-combo-list [(ngModel)]="data.activityDefinedIds" [idField]="\'value\'"\r\n [textField]="\'text\'" [data]="activityOptions" [multiSelect]="true"\r\n (ngModelChange)="onActivityDefinedIdsBlur(data.domainId, data.activityDefinedIds, i)"\r\n [editable]="false" [enableClear]="false" [enableCancelSelected]="false">\r\n </farris-combo-list>\r\n <div *ngIf="data?.activityIdErrorMessage" style="margin-top: 4px">\r\n <div class="error-text">\r\n {{data?.activityIdErrorMessage}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div style="display: flex; justify-content:center;align-items: center; margin-top: 15px;">\r\n <input type="button" class="btn btn-primary" value="新增域" (click)="addDomain($event)" />\r\n </div>\r\n</div>',styles:["@media screen and (min-width:888px){::ng-deep .apporal-comment .farris-form .farris-group-wrap{max-width:38.625rem!important}}.domain-areas .farris-form .farris-group-wrap::after{display:none}.domain-areas .canMoveDomain{cursor:pointer}.domain-areas .cannotMoveDomain{cursor:not-allowed;color:#80808080}.farris-form-controls-inline .farris-group-wrap .col-form-label,.farris-form-inline .col-form-label{width:4rem}.error-text{color:red}"]}]}],w.ctorParameters=function(){return[{type:f},{type:m.ChangeDetectorRef}]},w.propDecorators={valueChanged:[{type:m.Output}]},w);function w(e,t){this.apiService=e,this.cdRef=t,this.valueChanged=new m.EventEmitter,this.approvalDomains=new Array,this.activityOptions=[]}var D=function(){},I={Single:"single",Default:"default",Theme1:"theme1"},k=(C.prototype.ngOnDestroy=function(){},C.prototype.ngOnChanges=function(e){!this.procInstId||this.dataList||this.displayType===this.DisplayTypes.Default&&this.domains.length&&this.getApprovalComment()},C.prototype.ngOnInit=function(){this.displayType===this.DisplayTypes.Single&&(e=this.injector.view.component.viewModel,this.getFieldData(e.bindingData.getValue(this.sortPath(this.field))));var e,r={mergeString:function(e,t){for(var n=(e.length<t.length?e:t).length,i="",a=0,a=0;a<n;a++)i=(i+=e.substring(a,a+1))+t.substring(a,a+1);return i+=(e.length<t.length?t:e).substring(a)},getToken:function(e){var t=[1,2,3],n=(24<e.length&&(e=e.substring(0,24)),Math.floor(e.length/3)),i=e.substring(0,n),a=e.substring(n,2*n),n=e.substring(2*n,3*n),e=[],o=Math.ceil(3*Math.random()),o=(e.push(t[o-1]),t.splice(o-1,1),o=Math.ceil(2*Math.random()),e.push(t[o-1]),t.splice(o-1,1),e.push(t[0]),Math.round((new Date).getTime()/1e3)+"");return o.substring(0,5)+"times"+e[0]+e[1]+e[2]+r.switchStr(i,a,n,e[0])+r.switchStr(i,a,n,e[1])+r.switchStr(i,a,n,e[2])+"times"+o.substring(5)},switchStr:function(e,t,n,i){switch(i){case 1:return e;case 2:return t;case 3:return n}}};this.AttachUtil=r},C.prototype.sortPath=function(e){var t=e.includes(".")?".":"_";return e.split(t).reduce(function(e,t){return e.push(t[0].toLowerCase()+t.substring(1,t.length)),e},[])},C.prototype.getFieldData=function(e){var t=this;if(e)try{var n=[];JSON.parse(e).forEach(function(e){e.signature&&(e.url=t.getUrl('{"id":"'+e.signature+'"}',"taskcentersignature")),n.push({url:e.url,createdTime:e.operateTime,message:e.comment,operatorName:e.operatorName})}),this.workItemLogs=n}catch(i){console.error(i)}},C.prototype.getApprovalComment=function(){var o=this,e=this.domains.filter(function(e){return e.domainCode&&e.domainName&&e.activityDefinedIds}),e={processsInstId:this.procInstId,domains:e};this.dataList=[],this.apiService.getApprovalCommentApi(e).subscribe(function(e){e&&[].concat(e).forEach(function(e){var t=new D,n=(t.title=e.domainName,[]),e=(n=e.taskCommentImpl?"time"===o.sortOrder?e.taskCommentImpl.sort(function(e,t){return Date.parse(e.operatorTime)-Date.parse(t.operatorTime)}):e.taskCommentImpl:n).filter(function(e){return e.action&&"Submit"!==e.action});e.map(function(e){if(e.signature&&(e.url=o.getUrl(e.signature,"taskcentersignature")),e.attachmentRef&&""!==e.attachmentRef){for(var t=JSON.parse(e.attachmentRef),n=[],i=0;i<t.length;i++){var a={fileName:t[i].fileName,fileType:o.getFileType(t[i].fileName),fileSize:t[i].fileSize,url:o.getDownLoadUrl(t[i].metadataId,"wf_attachment"),metadataId:t[i].metadataId};n.push(a)}e.attachmentList=n}}),t.workItemLogs=e,o.dataList.push(t)})},function(e){})},C.prototype.getUrl=function(e,t){var r={mergeString:function(e,t){for(var n=(e.length<t.length?e:t).length,i="",a=0,a=0;a<n;a++)i=(i+=e.substring(a,a+1))+t.substring(a,a+1);return i+=(e.length<t.length?t:e).substring(a)},getToken:function(e){var t=[1,2,3],n=(24<e.length&&(e=e.substring(0,24)),Math.floor(e.length/3)),i=e.substring(0,n),a=e.substring(n,2*n),n=e.substring(2*n,3*n),e=[],o=Math.ceil(3*Math.random()),o=(e.push(t[o-1]),t.splice(o-1,1),o=Math.ceil(2*Math.random()),e.push(t[o-1]),t.splice(o-1,1),e.push(t[0]),Math.round((new Date).getTime()/1e3)+"");return o.substring(0,5)+"times"+e[0]+e[1]+e[2]+r.switchStr(i,a,n,e[0])+r.switchStr(i,a,n,e[1])+r.switchStr(i,a,n,e[2])+"times"+o.substring(5)},switchStr:function(e,t,n,i){switch(i){case 1:return e;case 2:return t;case 3:return n}}},e=(t=t||"default-root",JSON.parse(e).id);return"/api/runtime/dfs/v1.0/doc/filecontent?metadataid="+e+"&rootid="+t+"&token="+r.getToken(r.mergeString(e,t))},C.prototype.translateTask=function(e){var t=localStorage.getItem("languageCode"),n={"zh-CHS":{logDate:"处理时间",processTime:"处理时长",message:"办理意见",showForecastLog:"显示后续审批人",hiddenForecastLog:"隐藏后续审批人",terminal:"来自",web:"电脑端",mobile:"移动端",title:"审批记录",viewProcess:"查看流程",nodeName:"节点名称",participant:"办理人",receiveTime:"接收时间",action:"操作",submitTime:"提交时间",todo:"待办理",done:"已办理",submit:"已提交",undo:"未到达",toAssign:"未指派",toRead:"待阅",noResolvedUser:"未解析到用户",noData:"暂无数据",startTime:"接收时间",taskRead:"已读",taskToRead:"未读",taskHandle:"实际操作人",toSubmit:"待提交",download:"下载",view:"查看"},en:{logDate:"EndTime",processTime:"ProcessTime",message:"Approval opinion",showForecastLog:"show forecast log",hiddenForecastLog:"hide forecast log",terminal:"From",web:"Web",mobile:"Mobile",title:"Logs",viewProcess:"View Process",nodeName:"Node name",participant:"Participant",receiveTime:"Receive time",action:"Action",submitTime:"Submit time",todo:"Todo",done:"Done",submit:"Submit",undo:"Undo",toAssign:"To Assign",toRead:"To Read",noResolvedUser:"No one",noData:"Empty",startTime:"Start time",taskRead:"Read",taskToRead:"To read",taskOwner:"Operator",toSubmit:"To submit",download:"download",view:"view"},"zh-CHT":{logDate:"處理時間",processTime:"處理時長",message:"辦理意見",showForecastLog:"顯示後續審批人",hiddenForecastLog:"隱藏後續審批人",terminal:"來自",web:"電腦端",mobile:"移動端",title:"審批記錄",viewProcess:"查看流程",nodeName:"節點名稱",participant:"辦理人",receiveTime:"接收時間",action:"操作",submitTime:"提交時間",todo:"待辦理",done:"已辦理",submit:"已提交",undo:"未到達",toAssign:"未指派",toRead:"待閱",noResolvedUser:"未解析到用戶",noData:"暫無數據",startTime:"接收時間",taskRead:"已讀",taskToRead:"未讀",taskHandle:"實際操作人",toSubmit:"待提交",download:"下載",view:"查看"}},t=t&&["zh-CHS","zh_CHT","en"].includes(t)?n[t]:n["zh-CHS"];return t[e]},C.prototype.getFileType=function(e){var t=e.lastIndexOf("."),t=""===(t=e.substring(t+1))?"Default":t.toLowerCase();return"/platform/runtime/wf/webapp/mobiletaskcenter/assets/accessory/"+(t=0<="doc-docx-htm-html-js-pdf-ppt-pptx-rar-zip-txt-xls-xlsx".indexOf(t)?t.toLowerCase():0<="wav-aif-aiff-au-mp1-mp2-mp3-ra-rm-ram-mid-rmi".indexOf(t)?"video":0<="avi-rm-rmvb-mpeg-mpg-dat-mov-qt-asf-wm-mp4".indexOf(t)?"audio":0<="webp-baibmp-dupcx-tif-gif-jpeg-tga-exif-fpx-svg-psd-cdr-pcd-dxf-ufo-eps-ai-png-hdri-raw-wmf-flic-emf-ico-jpg".indexOf(t)?"picture":"default")+".svg?v=20230316"},C.prototype.getDownLoadUrl=function(e,t){t=t||"default-root";var n="https:"===document.location.protocol,i=window.location.host,i=n?"https://"+i:"http://"+i;return i+="/api/runtime/dfs/v1.0/doc/filecontent?metadataid="+e+"&rootid="+t+"&token="+this.AttachUtil.getToken(this.AttachUtil.mergeString(e,t))},C.prototype.attachmentDownload=function(e){window.open(e)},C.prototype.attachmentPreview=function(e){e={appType:"app",funcId:"",tabName:"文档在线预览",appId:"6ccb476b-f2ba-df8f-6f47-d37d100c56e2",appEntrance:"docviewertab",tabId:(new Date).getTime(),entityParams:{metadataIdList:e,rootId:"wf_attachment",metadataId:null,viewOptions:{showHeader:!0,showPaging:!0,showThumbnails:!0,showDownload:!0,showSearch:!0,showZoom:!0,showPrint:!0,showSecondaryToolBar:!0}}};top.gspframeworkService&&(top.gspframeworkService.rtf.func.openMenu(e),top.postMessage("TaskCloseLogDialog",top.document.location.origin))},C.decorators=[{type:m.Component,args:[{selector:"farris-approval-comments",template:'<ng-container *ngIf="dataList && displayType === DisplayTypes.Default">\r\n <div class="main-content">\r\n <div class="body-content" *ngFor="let comment of dataList">\r\n <div class="left-content">\r\n <div class="approval-suggestion">{{comment.title}}</div>\r\n </div>\r\n <div class="right-content">\r\n <div *ngFor="let item of comment.workItemLogs">\r\n <div class="right-content-item">\r\n <div class="right-content-item-list-content">\r\n <div class="approval-comment-message">{{item?.message}}</div>\r\n <div *ngIf="attachmentVisible" class="approval-comment-attachment">\r\n <div *ngFor="let attachment of item.attachmentList"\r\n class="log-attachment task-attachmentlist-li">\r\n \x3c!-- 附件名称 --\x3e\r\n <div class="log-attachment-title">\r\n <img class="log-attachment-img" src="{{attachment.fileType}}" />\r\n <span>{{attachment.fileName}}</span>\r\n </div>\r\n <div style="display: flex; align-items: center">\r\n \x3c!-- 附件大小 --\x3e\r\n <div><span class="log-attachment-size">{{attachment.fileSize}}</span></div>\r\n \x3c!-- 下载按钮 --\x3e\r\n <div class="log-attachment-icon-download" id="log-attachment-download"\r\n title="{{translateTask(\'download\')}}">\r\n <img src="/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-download.svg?v=20230222"\r\n (click)="attachmentDownload(attachment.url)" />\r\n </div>\r\n \x3c!-- 查看按钮 --\x3e\r\n <div class="log-attachment-icon-preview" id="log-attachment-preview"\r\n title="{{translateTask(\'view\')}}">\r\n <img src="/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-view.svg?v=20230222"\r\n (click)="attachmentPreview([attachment?.metadataId])" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="right-content-item-list-sign">\r\n <div *ngIf="item?.url" class="approval-operator-name">\r\n <img class="image-height-width" src="{{item?.url}}">\r\n </div>\r\n <div *ngIf="!item?.url" class="approval-operator-name">{{item?.operatorName}}</div>\r\n <div class="approval-start-time">\r\n <span>处理时间:</span>{{(item?.createdTime |date:\'yyyy-MM-dd HH:mm:ss\') || \'--\'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf="dataList && displayType === DisplayTypes.Theme1">\r\n <div class="main-content">\r\n <div class="body-content-item2" *ngFor="let comment of dataList">\r\n <div class="approval-suggestion">{{comment.title}}</div>\r\n <div *ngFor="let item of comment.workItemLogs">\r\n <div class="right-content-item">\r\n <div class="right-content-item-list-content">\r\n <div class="approval-comment-message-item2">{{item?.message}}</div>\r\n </div>\r\n <div class="right-content-item-list-sign">\r\n <div *ngIf="item?.url" class="approval-operator-name-item2">\r\n <img class="image-height-width" src="{{item?.url}}">\r\n </div>\r\n <div *ngIf="!item?.url" class="approval-operator-name-item2">{{item?.operatorName}}</div>\r\n <div class="approval-start-time-item2">\r\n <span>处理时间:</span>{{(item?.createdTime |date:\'yyyy-MM-dd HH:mm:ss\') || \'--\'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf="displayType === DisplayTypes.Single">\r\n\r\n <div class="main-content">\r\n <div class="body-content">\r\n <div class="left-content">\r\n <div class="approval-suggestion">{{title}}</div>\r\n </div>\r\n <div class="right-content">\r\n <div *ngFor="let item of workItemLogs">\r\n <div class="right-content-item">\r\n <div class="right-content-item-list-content">\r\n <div class="approval-comment-message">{{item?.message}}</div>\r\n <div *ngIf="attachmentVisible" class="approval-comment-attachment">\r\n <div *ngFor="let attachment of item.attachmentList"\r\n class="log-attachment task-attachmentlist-li">\r\n \x3c!-- 附件名称 --\x3e\r\n <div class="log-attachment-title">\r\n <img class="log-attachment-img" src="{{attachment.fileType}}" />\r\n <span>{{attachment.fileName}}</span>\r\n </div>\r\n <div style="display: flex; align-items: center">\r\n \x3c!-- 附件大小 --\x3e\r\n <div><span class="log-attachment-size">{{attachment.fileSize}}</span></div>\r\n \x3c!-- 下载按钮 --\x3e\r\n <div class="log-attachment-icon-download" id="log-attachment-download"\r\n title="{{translateTask(\'download\')}}">\r\n <img src="/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-download.svg?v=20230222"\r\n (click)="attachmentDownload(attachment.url)" />\r\n </div>\r\n \x3c!-- 查看按钮 --\x3e\r\n <div class="log-attachment-icon-preview" id="log-attachment-preview"\r\n title="{{translateTask(\'view\')}}">\r\n <img src="/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-view.svg?v=20230222"\r\n (click)="attachmentPreview([attachment?.metadataId])" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class="right-content-item-list-sign">\r\n <div *ngIf="item?.url" class="approval-operator-name">\r\n <img class="image-height-width" src="{{item?.url}}">\r\n </div>\r\n <div *ngIf="!item?.url" class="approval-operator-name">{{item?.operatorName}}</div>\r\n <div class="approval-start-time">\r\n <span>处理时间:</span>{{(item?.createdTime |date:\'yyyy-MM-dd HH:mm:ss\') || \'--\'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</ng-container>',providers:[{provide:g.NG_VALUE_ACCESSOR,useExisting:m.forwardRef(function(){return C}),multi:!0},f],styles:[".fos-dialog .fos-content{width:100%;height:100%;min-width:760px;overflow:hidden}.fos-dialog ::ng-deep .modal-content{border-radius:10px}.fos-dialog ::ng-deep .modal-header{color:#2d2f33;border-bottom:none;padding:15px 0 15px 24px}.fos-dialog ::ng-deep .actions{padding-right:22px;font-size:20px}.fos-dialog ::ng-deep .modal-title-label{font-size:17px;font-weight:600}.fos-dialog ::ng-deep .modal-footer{padding:17px 24px;background:#fff;border-top:none}.fos-dialog .fos-content .fos-content-container{display:flex;width:calc(100% - 48px);height:100%;margin:0 24px;border:1px solid #dee1ea;border-radius:3px}.fos-dialog .fos-content .fos-content-container .fos-content-main{flex:0 0 100%;position:relative;display:flex}.fos-dialog .fos-content .fos-content-container .fos-content-main .fos-search-input{position:absolute;top:7px;right:14px;color:#959ab1;z-index:99;width:320px}.fos-dialog .fos-content .fos-content-container .fos-content-main .fos-tabs{min-width:575px}.fos-dialog ::ng-deep .fos-tabs .nav-link{line-height:18px;padding:11px 0!important}.fos-dialog ::ng-deep .fos-tabs .farris-tabs-header{background:#f9f9f9}.fos-dialog ::ng-deep .fos-tabs .nav-item{margin-right:30px}.fos-dialog ::ng-deep .fos-tabs .nav{padding-left:14px;font-size:16px;font-weight:600}.fos-dialog ::ng-deep .fos-tabs .nav-item .st-tab-text{color:#6f8cb4}.fos-dialog ::ng-deep .fos-tabs .nav-item .active .st-tab-text{color:#2a87ff}.fos-dialog::ng-deep input::-webkit-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep input::-moz-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep input::-ms-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep .fos-search-input .form-control{line-height:26px;height:26px;font-size:13px}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead{background:#fff;font-size:13px}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead th .tt-checkbox .custom-control-label::before{top:2px;margin:0}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead th:hover{background:#fff}.fos-dialog ::ng-deep .fos-treetable .treetable-cell-content span{font-size:13px}:host .input-group .input-group-append{background:#fff}:host .s-input-group .input-group-text{color:rgba(0,0,0,.25)}:host .cursor-pointer{cursor:pointer}:host .s-input-group .multi-more{padding:0 0 2px 8px;height:auto;min-height:24px;flex:1;overflow:hidden}:host .s-input-group .multi--content{display:flex;flex-wrap:nowrap;cursor:default;padding:0 5px;background:#ebf7fe;border:1px solid #cfedff;margin:3px 3px 0 0;float:left;height:17px;border-radius:3px;line-height:17px;justify-content:space-between;box-sizing:content-box;max-width:calc(100% - 10px)}:host .s-input-group .multi--item{line-height:16px;text-overflow:ellipsis;height:16px;flex:1;overflow:hidden;word-break:break-all}:host .s-input-group .multi-another{padding:3px 3px 0 0;line-height:16px;float:left;height:17px;box-sizing:content-box;border:1px solid #fff;color:#bfbfbf}.fos-dialog ::ng-deep .fos-dialog-footer{width:200px;height:30px;line-height:30px;position:absolute;left:24px;text-align:left;cursor:default}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-selection{font-size:14px;color:#2d2f33;background:#f4f9ff;border-radius:5px;padding:2px 5px}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-selection a{font-size:17px;color:#2a87ff}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-clear{font-size:13px;color:#2a87ff;margin-left:1rem;cursor:pointer}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-selection-content{position:absolute;bottom:25px;left:-10px;background:#fff;z-index:102}.fos-dialog::ng-deep .pagination-container{height:1.5rem;margin-bottom:21px}.fos-dialog::ng-deep .pagination-container input::-webkit-inner-spin-button,.fos-dialog::ng-deep .pagination-container input::-webkit-outer-spin-button{-webkit-appearance:none}.fos-dialog::ng-deep .pagination-container input[type=number]{-moz-appearance:textfield;text-align:center;width:38px;line-height:20px;border:1px solid #e9ecf3;border-radius:6px;box-shadow:0 2px 6px 0 rgba(31,35,41,.06);margin-left:4px;outline:0}.fos-dialog::ng-deep .pagination-container input[type=number]:focus{border:1px solid #0084ff}.fos-dialog::ng-deep .pagination-container li{line-height:22px}.fos-dialog ::ng-deep .fos-treetable td{border-color:#fff}.fos-dialog ::ng-deep .default-light-color{color:#f7b500}.fos-dialog ::ng-deep .default-dark-color{color:#d8dce6}.fos-dialog ::ng-deep .s-personnel-group{width:440px;height:250px;border-radius:5px;background:#fff;box-shadow:0 0 40px 0 rgba(0,0,0,.2);padding:16px 24px;position:fixed;top:50%;left:50%;margin-left:-220px;margin-top:-125px;z-index:9999}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-title{font-size:17px;line-height:24px;color:#2d2f33;font-weight:600}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-title .f-icon{float:right;font-size:20px;color:#878d99;margin-top:3px;cursor:pointer}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-footer{margin-top:20px}.fos-dialog ::ng-deep .s-personnel-group .col-12{padding:0}.fos-dialog ::ng-deep .s-personnel-group-footer .title-checkall{margin-top:6px}.fos-dialog ::ng-deep .s-personnel-group .farris-label-text{color:#5a5e66}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-footer .fr{float:right;height:32px}.main-content{width:100%;height:100%;display:flex;flex-direction:column}.body-content{box-sizing:border-box;flex:1.5;display:flex;flex-direction:row;margin:0 -1px -1px 0;border:1px dashed #ccc;border-collapse:collapse}.body-content-item2{box-sizing:border-box;flex:1.5;display:flex;flex-direction:column;padding:10px 0 0 10px;margin:0 -1px -1px 0;border:1px dashed #ccc;border-collapse:collapse;min-height:36px}.left-content{width:160px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;min-height:36px;border-right:1px dashed #ccc}.right-content{box-sizing:border-box;padding-left:12px;flex:1;display:flex;flex-direction:column}.right-content-item{box-sizing:border-box;display:flex;flex-direction:row}.right-content-item-list-content{display:flex;flex:1;flex-direction:column;box-sizing:border-box;padding-top:10px}.right-content-item-list-sign{display:flex;box-sizing:border-box;width:210px;flex-direction:column}.approval-comment-message{flex:1;font-size:12px;padding:0 10px 10px}.approval-comment-attachment{padding-bottom:10px}.approval-comment-message-item2{font-size:12px;padding:10px}.date_area{font-size:6px}.approval-start-time{font-size:10px;padding:0 10px 15px}.approval-start-time-item2{font-size:10px;padding-top:10px;margin-bottom:15px}.approval-operator-name{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;margin-top:20px;padding-bottom:10px}.approval-operator-name-item2{font-size:12px;text-align:center}.footer-content .right-content .right-content-item .right-content-item-list-sign{margin-top:8px}.approval-suggestion{white-space:pre-line;padding:10px;font-size:12px;word-wrap:break-word;word-break:break-all}.image-height-width{height:34px;width:100px}.log-attachment{display:flex;justify-content:space-between;align-items:center;background:rgba(249,252,255,.87);border:0 solid rgba(229,232,237,.71);border-radius:3px;margin-top:10px;padding:5px 10px;cursor:pointer}.log-attachment-title{display:flex;align-items:center;font-size:12px}.log-attachment-img{height:24px;margin-right:10px}.log-attachment-name{white-space:pre-wrap;word-break:break-all}.log-attachment-size{display:block;font-size:12px;color:rgba(45,47,51,.45);padding:0 10px}.log-attachment-icon-download{border-radius:50%;background:#c7d4ee;margin-left:10px;color:#fff;cursor:pointer;width:16px;height:16px;display:flex;justify-content:center;align-items:center}.log-attachment-icon-preview{border-radius:50%;background:#2b87ff;margin-left:10px;color:#fff;cursor:pointer;width:16px;height:16px;display:flex;justify-content:center;align-items:center}.log-task-read{display:flex;align-items:center;font-size:12px;color:rgba(0,0,0,.45);padding:8px 14px;background:rgba(245,248,252,.6);box-shadow:inset 0 1px 0 0 #e9ecf3}.log-task-read-text{padding:0 8px}"]}]}],C.ctorParameters=function(){return[{type:f},{type:m.Injector}]},C.propDecorators={title:[{type:m.Input}],domains:[{type:m.Input}],procInstId:[{type:m.Input}],sortOrder:[{type:m.Input}],field:[{type:m.Input}],bindingfield:[{type:m.Input}],displayType:[{type:m.Input}],attachmentVisible:[{type:m.Input}]},C);function C(e,t){var n=this,i=(this.apiService=e,this.injector=t,this.domains=[],this.displayType=I.Default,this.attachmentVisible=!0,this.filterAction=["Pass","Back"],this.DisplayTypes=I,this.injector.view.component.viewModel);i.bindingData.changes.subscribe(function(e){n.displayType===n.DisplayTypes.Single&&n.getFieldData(i.bindingData.getValue(n.sortPath(n.field)))})}function T(){}T.decorators=[{type:m.NgModule,args:[{declarations:[k,y],imports:[t.CommonModule,g.FormsModule,r.FarrisFormsModule,i.DragDropModule,a.FEPageModalModule,p.NotifyModule,l.RateModule,d.SwitchModule,o.ComboListModule,s.InputGroupModule],exports:[k,y],entryComponents:[k,y],providers:[f]}]}],e.ApprovalCommentsModule=T,e.ApprovalCommentEditorComponent=y,e.ApprovalCommentComponent=k,e.ApiService=f,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=farris-approval-comments.umd.min.js.map

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"ApprovalCommentsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ApprovalCommentComponent"},{"__symbolic":"reference","name":"ApprovalCommentEditorComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":23,"character":4},{"__symbolic":"reference","module":"@farris/ui-forms","name":"FarrisFormsModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"DragDropModule","line":25,"character":4},{"__symbolic":"reference","module":"@farris/extend-page-modal","name":"FEPageModalModule","line":26,"character":4},{"__symbolic":"reference","module":"@farris/ui-notify","name":"NotifyModule","line":27,"character":4},{"__symbolic":"reference","module":"@farris/ui-rate","name":"RateModule","line":28,"character":4},{"__symbolic":"reference","module":"@farris/ui-switch","name":"SwitchModule","line":29,"character":4},{"__symbolic":"reference","module":"@farris/ui-combo-list","name":"ComboListModule","line":30,"character":4},{"__symbolic":"reference","module":"@farris/ui-input-group","name":"InputGroupModule","line":31,"character":4}],"exports":[{"__symbolic":"reference","name":"ApprovalCommentComponent"},{"__symbolic":"reference","name":"ApprovalCommentEditorComponent"}],"entryComponents":[{"__symbolic":"reference","name":"ApprovalCommentComponent"},{"__symbolic":"reference","name":"ApprovalCommentEditorComponent"}],"providers":[{"__symbolic":"reference","name":"ApiService"}]}]}],"members":{}},"ApprovalCommentEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"farris-approval-comment-editor","template":"<div class=\"domain-areas\">\r\n <div style=\"flex-direction: row;flex-wrap: wrap;\">\r\n <div *ngFor=\"let data of approvalDomains; let i = index; trackBy: trackByFn\">\r\n <div style=\"margin-top: 5px; border: 1px dashed #ccc;\">\r\n <div style=\"display: flex; justify-content: space-between\">\r\n <div style=\"display: flex; align-items: center; margin: 5px 0 0 10px; height: 30px;\">\r\n <div style=\"margin-right: 5px\">\r\n <span class=\"f-icon f-icon-col-ascending\"\r\n [ngClass]=\"i == 0 ? 'cannotMoveDomain' : 'canMoveDomain'\"\r\n (click)=\"moveDomain($event, i - 1, i)\"></span>\r\n </div>\r\n <div>\r\n <span class=\"f-icon f-icon-col-descending\"\r\n [ngClass]=\"i == (approvalDomains.length -1) ? 'cannotMoveDomain' : 'canMoveDomain'\"\r\n (click)=\"moveDomain($event, i, i + 1)\"></span>\r\n </div>\r\n </div>\r\n <div style=\"display: flex; align-items: center; margin: 5px 10px 0 0; height: 30px;\">\r\n <div style=\"margin-right: 5px\">\r\n <span class=\"f-icon f-icon-arrow-chevron-down cursor-pointer\"\r\n [ngStyle]=\"{'transform': data.isFold ? 'rotate(90deg)' : 'none'}\"\r\n (click)=\"foldDomain($event, data)\"></span>\r\n </div>\r\n <div style=\"margin-left: 5px\">\r\n <span class=\"f-icon f-icon-yxs_delete cursor-pointer\"\r\n (click)=\"deleteDomain($event, data)\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"f-form-layout farris-form farris-form-controls-inline\" id=\"data.domainId\">\r\n <div class=\"col-12\" style=\"margin-top: 5px\">\r\n <div class=\"farris-group-wrap\">\r\n <div class=\"form-group farris-form-group\">\r\n <label class=\"col-form-label\" title=\"域名称\">\r\n <span class=\"farris-label-text\">域名称</span>\r\n </label>\r\n <div class=\"farris-input-wrap\">\r\n <!--<input-group [(ngModel)]=\"data.domainName\" (clear)=\"onDomainNameBlur(data.domainId, data.domainName, i)\"\r\n (blurHandle)=\"onDomainNameBlur(data.domainId, data.domainName, i)\"></input-group>-->\r\n <div class=\"f-cmp-inputgroup\">\r\n <div class=\"input-group f-state-editable\">\r\n <textarea class=\"form-control f-utils-fill text-left\"\r\n style=\"display: block;overflow: auto\" [(ngModel)]=\"data.domainName\"\r\n (blur)=\"onDomainNameBlur(data.domainId, data.domainName, i)\">\r\n </textarea>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.nameErrorMessage\" style=\"margin-top: 4px\">\r\n <div class=\"error-text\">\r\n {{data?.nameErrorMessage}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"col-12\" style=\"margin-top: 5px\" *ngIf=\"!data.isFold\">\r\n <div class=\"farris-group-wrap\">\r\n <div class=\"form-group farris-form-group\">\r\n <label class=\"col-form-label\" title=\"域编号\">\r\n <span class=\"farris-label-text\">域编号</span>\r\n </label>\r\n <div class=\"farris-input-wrap\">\r\n <input-group [(ngModel)]=\"data.domainCode\"\r\n (blurHandle)=\"onDomainCodeBlur(data.domainId)\"></input-group>\r\n </div>\r\n </div>\r\n </div>\r\n </div>-->\r\n <div class=\"col-12\" style=\"margin-top: 5px\" *ngIf=\"!data.isFold\">\r\n <div class=\"farris-group-wrap\">\r\n <div class=\"form-group farris-form-group\">\r\n <label class=\"col-form-label\" title=\"流程节点\">\r\n <span class=\"farris-label-text\">流程节点</span>\r\n </label>\r\n <div class=\"farris-input-wrap\">\r\n <!-- <input-group [(ngModel)]=\"data.activityDefinedIds\"\r\n (blurHandle)=\"onActivityDefinedIdsBlur(data.domainId)\"></input-group>-->\r\n <farris-combo-list [(ngModel)]=\"data.activityDefinedIds\" [idField]=\"'value'\"\r\n [textField]=\"'text'\" [data]=\"activityOptions\" [multiSelect]=\"true\"\r\n (ngModelChange)=\"onActivityDefinedIdsBlur(data.domainId, data.activityDefinedIds, i)\"\r\n [editable]=\"false\" [enableClear]=\"false\" [enableCancelSelected]=\"false\">\r\n </farris-combo-list>\r\n <div *ngIf=\"data?.activityIdErrorMessage\" style=\"margin-top: 4px\">\r\n <div class=\"error-text\">\r\n {{data?.activityIdErrorMessage}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"display: flex; justify-content:center;align-items: center; margin-top: 15px;\">\r\n <input type=\"button\" class=\"btn btn-primary\" value=\"新增域\" (click)=\"addDomain($event)\" />\r\n </div>\r\n</div>","styles":["@media screen and (min-width:888px){::ng-deep .apporal-comment .farris-form .farris-group-wrap{max-width:38.625rem!important}}.domain-areas .farris-form .farris-group-wrap::after{display:none}.domain-areas .canMoveDomain{cursor:pointer}.domain-areas .cannotMoveDomain{cursor:not-allowed;color:#80808080}.farris-form-controls-inline .farris-group-wrap .col-form-label,.farris-form-inline .col-form-label{width:4rem}.error-text{color:red}"]}]}],"members":{"valueChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":39,"character":23}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"initSetting":[{"__symbolic":"method"}],"getAuditorsByMicroAppId":[{"__symbolic":"method"}],"addDomain":[{"__symbolic":"method"}],"deleteDomain":[{"__symbolic":"method"}],"foldDomain":[{"__symbolic":"method"}],"moveDomain":[{"__symbolic":"method"}],"onDomainNameBlur":[{"__symbolic":"method"}],"onDomainCodeBlur":[{"__symbolic":"method"}],"onActivityDefinedIdsBlur":[{"__symbolic":"method"}],"trackByFn":[{"__symbolic":"method"}],"compareArray1EqualToArray2":[{"__symbolic":"method"}]}},"ApprovalCommentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"farris-approval-comments","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":28,"character":21},"useExisting":{"__symbolic":"reference","name":"ApprovalCommentComponent"},"multi":true},{"__symbolic":"reference","name":"ApiService"}],"template":"<ng-container *ngIf=\"dataList && displayType === DisplayTypes.Default\">\r\n <div class=\"main-content\">\r\n <div class=\"body-content\" *ngFor=\"let comment of dataList\">\r\n <div class=\"left-content\">\r\n <div class=\"approval-suggestion\">{{comment.title}}</div>\r\n </div>\r\n <div class=\"right-content\">\r\n <div *ngFor=\"let item of comment.workItemLogs\">\r\n <div class=\"right-content-item\">\r\n <div class=\"right-content-item-list-content\">\r\n <div class=\"approval-comment-message\">{{item?.message}}</div>\r\n <div *ngIf=\"attachmentVisible\" class=\"approval-comment-attachment\">\r\n <div *ngFor=\"let attachment of item.attachmentList\"\r\n class=\"log-attachment task-attachmentlist-li\">\r\n <!-- 附件名称 -->\r\n <div class=\"log-attachment-title\">\r\n <img class=\"log-attachment-img\" src=\"{{attachment.fileType}}\" />\r\n <span>{{attachment.fileName}}</span>\r\n </div>\r\n <div style=\"display: flex; align-items: center\">\r\n <!-- 附件大小 -->\r\n <div><span class=\"log-attachment-size\">{{attachment.fileSize}}</span></div>\r\n <!-- 下载按钮 -->\r\n <div class=\"log-attachment-icon-download\" id=\"log-attachment-download\"\r\n title=\"{{translateTask('download')}}\">\r\n <img src=\"/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-download.svg?v=20230222\"\r\n (click)=\"attachmentDownload(attachment.url)\" />\r\n </div>\r\n <!-- 查看按钮 -->\r\n <div class=\"log-attachment-icon-preview\" id=\"log-attachment-preview\"\r\n title=\"{{translateTask('view')}}\">\r\n <img src=\"/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-view.svg?v=20230222\"\r\n (click)=\"attachmentPreview([attachment?.metadataId])\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right-content-item-list-sign\">\r\n <div *ngIf=\"item?.url\" class=\"approval-operator-name\">\r\n <img class=\"image-height-width\" src=\"{{item?.url}}\">\r\n </div>\r\n <div *ngIf=\"!item?.url\" class=\"approval-operator-name\">{{item?.operatorName}}</div>\r\n <div class=\"approval-start-time\">\r\n <span>处理时间:</span>{{(item?.createdTime |date:'yyyy-MM-dd HH:mm:ss') || '--'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"dataList && displayType === DisplayTypes.Theme1\">\r\n <div class=\"main-content\">\r\n <div class=\"body-content-item2\" *ngFor=\"let comment of dataList\">\r\n <div class=\"approval-suggestion\">{{comment.title}}</div>\r\n <div *ngFor=\"let item of comment.workItemLogs\">\r\n <div class=\"right-content-item\">\r\n <div class=\"right-content-item-list-content\">\r\n <div class=\"approval-comment-message-item2\">{{item?.message}}</div>\r\n </div>\r\n <div class=\"right-content-item-list-sign\">\r\n <div *ngIf=\"item?.url\" class=\"approval-operator-name-item2\">\r\n <img class=\"image-height-width\" src=\"{{item?.url}}\">\r\n </div>\r\n <div *ngIf=\"!item?.url\" class=\"approval-operator-name-item2\">{{item?.operatorName}}</div>\r\n <div class=\"approval-start-time-item2\">\r\n <span>处理时间:</span>{{(item?.createdTime |date:'yyyy-MM-dd HH:mm:ss') || '--'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"displayType === DisplayTypes.Single\">\r\n\r\n <div class=\"main-content\">\r\n <div class=\"body-content\">\r\n <div class=\"left-content\">\r\n <div class=\"approval-suggestion\">{{title}}</div>\r\n </div>\r\n <div class=\"right-content\">\r\n <div *ngFor=\"let item of workItemLogs\">\r\n <div class=\"right-content-item\">\r\n <div class=\"right-content-item-list-content\">\r\n <div class=\"approval-comment-message\">{{item?.message}}</div>\r\n <div *ngIf=\"attachmentVisible\" class=\"approval-comment-attachment\">\r\n <div *ngFor=\"let attachment of item.attachmentList\"\r\n class=\"log-attachment task-attachmentlist-li\">\r\n <!-- 附件名称 -->\r\n <div class=\"log-attachment-title\">\r\n <img class=\"log-attachment-img\" src=\"{{attachment.fileType}}\" />\r\n <span>{{attachment.fileName}}</span>\r\n </div>\r\n <div style=\"display: flex; align-items: center\">\r\n <!-- 附件大小 -->\r\n <div><span class=\"log-attachment-size\">{{attachment.fileSize}}</span></div>\r\n <!-- 下载按钮 -->\r\n <div class=\"log-attachment-icon-download\" id=\"log-attachment-download\"\r\n title=\"{{translateTask('download')}}\">\r\n <img src=\"/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-download.svg?v=20230222\"\r\n (click)=\"attachmentDownload(attachment.url)\" />\r\n </div>\r\n <!-- 查看按钮 -->\r\n <div class=\"log-attachment-icon-preview\" id=\"log-attachment-preview\"\r\n title=\"{{translateTask('view')}}\">\r\n <img src=\"/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-view.svg?v=20230222\"\r\n (click)=\"attachmentPreview([attachment?.metadataId])\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right-content-item-list-sign\">\r\n <div *ngIf=\"item?.url\" class=\"approval-operator-name\">\r\n <img class=\"image-height-width\" src=\"{{item?.url}}\">\r\n </div>\r\n <div *ngIf=\"!item?.url\" class=\"approval-operator-name\">{{item?.operatorName}}</div>\r\n <div class=\"approval-start-time\">\r\n <span>处理时间:</span>{{(item?.createdTime |date:'yyyy-MM-dd HH:mm:ss') || '--'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</ng-container>","styles":[".fos-dialog .fos-content{width:100%;height:100%;min-width:760px;overflow:hidden}.fos-dialog ::ng-deep .modal-content{border-radius:10px}.fos-dialog ::ng-deep .modal-header{color:#2d2f33;border-bottom:none;padding:15px 0 15px 24px}.fos-dialog ::ng-deep .actions{padding-right:22px;font-size:20px}.fos-dialog ::ng-deep .modal-title-label{font-size:17px;font-weight:600}.fos-dialog ::ng-deep .modal-footer{padding:17px 24px;background:#fff;border-top:none}.fos-dialog .fos-content .fos-content-container{display:flex;width:calc(100% - 48px);height:100%;margin:0 24px;border:1px solid #dee1ea;border-radius:3px}.fos-dialog .fos-content .fos-content-container .fos-content-main{flex:0 0 100%;position:relative;display:flex}.fos-dialog .fos-content .fos-content-container .fos-content-main .fos-search-input{position:absolute;top:7px;right:14px;color:#959ab1;z-index:99;width:320px}.fos-dialog .fos-content .fos-content-container .fos-content-main .fos-tabs{min-width:575px}.fos-dialog ::ng-deep .fos-tabs .nav-link{line-height:18px;padding:11px 0!important}.fos-dialog ::ng-deep .fos-tabs .farris-tabs-header{background:#f9f9f9}.fos-dialog ::ng-deep .fos-tabs .nav-item{margin-right:30px}.fos-dialog ::ng-deep .fos-tabs .nav{padding-left:14px;font-size:16px;font-weight:600}.fos-dialog ::ng-deep .fos-tabs .nav-item .st-tab-text{color:#6f8cb4}.fos-dialog ::ng-deep .fos-tabs .nav-item .active .st-tab-text{color:#2a87ff}.fos-dialog::ng-deep input::-webkit-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep input::-moz-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep input::-ms-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep .fos-search-input .form-control{line-height:26px;height:26px;font-size:13px}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead{background:#fff;font-size:13px}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead th .tt-checkbox .custom-control-label::before{top:2px;margin:0}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead th:hover{background:#fff}.fos-dialog ::ng-deep .fos-treetable .treetable-cell-content span{font-size:13px}:host .input-group .input-group-append{background:#fff}:host .s-input-group .input-group-text{color:rgba(0,0,0,.25)}:host .cursor-pointer{cursor:pointer}:host .s-input-group .multi-more{padding:0 0 2px 8px;height:auto;min-height:24px;flex:1;overflow:hidden}:host .s-input-group .multi--content{display:flex;flex-wrap:nowrap;cursor:default;padding:0 5px;background:#ebf7fe;border:1px solid #cfedff;margin:3px 3px 0 0;float:left;height:17px;border-radius:3px;line-height:17px;justify-content:space-between;box-sizing:content-box;max-width:calc(100% - 10px)}:host .s-input-group .multi--item{line-height:16px;text-overflow:ellipsis;height:16px;flex:1;overflow:hidden;word-break:break-all}:host .s-input-group .multi-another{padding:3px 3px 0 0;line-height:16px;float:left;height:17px;box-sizing:content-box;border:1px solid #fff;color:#bfbfbf}.fos-dialog ::ng-deep .fos-dialog-footer{width:200px;height:30px;line-height:30px;position:absolute;left:24px;text-align:left;cursor:default}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-selection{font-size:14px;color:#2d2f33;background:#f4f9ff;border-radius:5px;padding:2px 5px}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-selection a{font-size:17px;color:#2a87ff}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-clear{font-size:13px;color:#2a87ff;margin-left:1rem;cursor:pointer}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-selection-content{position:absolute;bottom:25px;left:-10px;background:#fff;z-index:102}.fos-dialog::ng-deep .pagination-container{height:1.5rem;margin-bottom:21px}.fos-dialog::ng-deep .pagination-container input::-webkit-inner-spin-button,.fos-dialog::ng-deep .pagination-container input::-webkit-outer-spin-button{-webkit-appearance:none}.fos-dialog::ng-deep .pagination-container input[type=number]{-moz-appearance:textfield;text-align:center;width:38px;line-height:20px;border:1px solid #e9ecf3;border-radius:6px;box-shadow:0 2px 6px 0 rgba(31,35,41,.06);margin-left:4px;outline:0}.fos-dialog::ng-deep .pagination-container input[type=number]:focus{border:1px solid #0084ff}.fos-dialog::ng-deep .pagination-container li{line-height:22px}.fos-dialog ::ng-deep .fos-treetable td{border-color:#fff}.fos-dialog ::ng-deep .default-light-color{color:#f7b500}.fos-dialog ::ng-deep .default-dark-color{color:#d8dce6}.fos-dialog ::ng-deep .s-personnel-group{width:440px;height:250px;border-radius:5px;background:#fff;box-shadow:0 0 40px 0 rgba(0,0,0,.2);padding:16px 24px;position:fixed;top:50%;left:50%;margin-left:-220px;margin-top:-125px;z-index:9999}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-title{font-size:17px;line-height:24px;color:#2d2f33;font-weight:600}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-title .f-icon{float:right;font-size:20px;color:#878d99;margin-top:3px;cursor:pointer}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-footer{margin-top:20px}.fos-dialog ::ng-deep .s-personnel-group .col-12{padding:0}.fos-dialog ::ng-deep .s-personnel-group-footer .title-checkall{margin-top:6px}.fos-dialog ::ng-deep .s-personnel-group .farris-label-text{color:#5a5e66}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-footer .fr{float:right;height:32px}.main-content{width:100%;height:100%;display:flex;flex-direction:column}.body-content{box-sizing:border-box;flex:1.5;display:flex;flex-direction:row;margin:0 -1px -1px 0;border:1px dashed #ccc;border-collapse:collapse}.body-content-item2{box-sizing:border-box;flex:1.5;display:flex;flex-direction:column;padding:10px 0 0 10px;margin:0 -1px -1px 0;border:1px dashed #ccc;border-collapse:collapse;min-height:36px}.left-content{width:160px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;min-height:36px;border-right:1px dashed #ccc}.right-content{box-sizing:border-box;padding-left:12px;flex:1;display:flex;flex-direction:column}.right-content-item{box-sizing:border-box;display:flex;flex-direction:row}.right-content-item-list-content{display:flex;flex:1;flex-direction:column;box-sizing:border-box;padding-top:10px}.right-content-item-list-sign{display:flex;box-sizing:border-box;width:210px;flex-direction:column}.approval-comment-message{flex:1;font-size:12px;padding:0 10px 10px}.approval-comment-attachment{padding-bottom:10px}.approval-comment-message-item2{font-size:12px;padding:10px}.date_area{font-size:6px}.approval-start-time{font-size:10px;padding:0 10px 15px}.approval-start-time-item2{font-size:10px;padding-top:10px;margin-bottom:15px}.approval-operator-name{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;margin-top:20px;padding-bottom:10px}.approval-operator-name-item2{font-size:12px;text-align:center}.footer-content .right-content .right-content-item .right-content-item-list-sign{margin-top:8px}.approval-suggestion{white-space:pre-line;padding:10px;font-size:12px;word-wrap:break-word;word-break:break-all}.image-height-width{height:34px;width:100px}.log-attachment{display:flex;justify-content:space-between;align-items:center;background:rgba(249,252,255,.87);border:0 solid rgba(229,232,237,.71);border-radius:3px;margin-top:10px;padding:5px 10px;cursor:pointer}.log-attachment-title{display:flex;align-items:center;font-size:12px}.log-attachment-img{height:24px;margin-right:10px}.log-attachment-name{white-space:pre-wrap;word-break:break-all}.log-attachment-size{display:block;font-size:12px;color:rgba(45,47,51,.45);padding:0 10px}.log-attachment-icon-download{border-radius:50%;background:#c7d4ee;margin-left:10px;color:#fff;cursor:pointer;width:16px;height:16px;display:flex;justify-content:center;align-items:center}.log-attachment-icon-preview{border-radius:50%;background:#2b87ff;margin-left:10px;color:#fff;cursor:pointer;width:16px;height:16px;display:flex;justify-content:center;align-items:center}.log-task-read{display:flex;align-items:center;font-size:12px;color:rgba(0,0,0,.45);padding:8px 14px;background:rgba(245,248,252,.6);box-shadow:inset 0 1px 0 0 #e9ecf3}.log-task-read-text{padding:0 8px}"]}]}],"members":{"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":44,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}}]}],"domains":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":50,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":5}}]}],"procInstId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":5}}]}],"sortOrder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":58,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}}]}],"field":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":64,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5}}]}],"bindingfield":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":70,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":5}}]}],"displayType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":73,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":5}}]}],"attachmentVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":76,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":93,"character":26}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"sortPath":[{"__symbolic":"method"}],"getFieldData":[{"__symbolic":"method"}],"getApprovalComment":[{"__symbolic":"method"}],"getUrl":[{"__symbolic":"method"}],"translateTask":[{"__symbolic":"method"}],"getFileType":[{"__symbolic":"method"}],"getDownLoadUrl":[{"__symbolic":"method"}],"attachmentDownload":[{"__symbolic":"method"}],"attachmentPreview":[{"__symbolic":"method"}]}},"ApiService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":9,"character":18}]}],"demoapi":[{"__symbolic":"method"}],"getApprovalCommentApi":[{"__symbolic":"method"}],"getAuditorsByMicroAppId":[{"__symbolic":"method"}]}}},"origins":{"ApprovalCommentsModule":"./lib/approval-comments.module","ApprovalCommentEditorComponent":"./lib/components/approval-comment-editor/approval-comment-editor.component","ApprovalCommentComponent":"./lib/components/approval-comments/approval-comments.component","ApiService":"./lib/services/api.service"},"importAs":"@farris/approval-comments"}
{"__symbolic":"module","version":4,"metadata":{"ApprovalCommentsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ApprovalCommentComponent"},{"__symbolic":"reference","name":"ApprovalCommentEditorComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":23,"character":4},{"__symbolic":"reference","module":"@farris/ui-forms","name":"FarrisFormsModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"DragDropModule","line":25,"character":4},{"__symbolic":"reference","module":"@farris/extend-page-modal","name":"FEPageModalModule","line":26,"character":4},{"__symbolic":"reference","module":"@farris/ui-notify","name":"NotifyModule","line":27,"character":4},{"__symbolic":"reference","module":"@farris/ui-rate","name":"RateModule","line":28,"character":4},{"__symbolic":"reference","module":"@farris/ui-switch","name":"SwitchModule","line":29,"character":4},{"__symbolic":"reference","module":"@farris/ui-combo-list","name":"ComboListModule","line":30,"character":4},{"__symbolic":"reference","module":"@farris/ui-input-group","name":"InputGroupModule","line":31,"character":4}],"exports":[{"__symbolic":"reference","name":"ApprovalCommentComponent"},{"__symbolic":"reference","name":"ApprovalCommentEditorComponent"}],"entryComponents":[{"__symbolic":"reference","name":"ApprovalCommentComponent"},{"__symbolic":"reference","name":"ApprovalCommentEditorComponent"}],"providers":[{"__symbolic":"reference","name":"ApiService"}]}]}],"members":{}},"ApprovalCommentEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"farris-approval-comment-editor","template":"<div class=\"domain-areas\">\r\n <div style=\"flex-direction: row;flex-wrap: wrap;\">\r\n <div *ngFor=\"let data of approvalDomains; let i = index; trackBy: trackByFn\">\r\n <div style=\"margin-top: 5px; border: 1px dashed #ccc;\">\r\n <div style=\"display: flex; justify-content: space-between\">\r\n <div style=\"display: flex; align-items: center; margin: 5px 0 0 10px; height: 30px;\">\r\n <div style=\"margin-right: 5px\">\r\n <span class=\"f-icon f-icon-col-ascending\"\r\n [ngClass]=\"i == 0 ? 'cannotMoveDomain' : 'canMoveDomain'\"\r\n (click)=\"moveDomain($event, i - 1, i)\"></span>\r\n </div>\r\n <div>\r\n <span class=\"f-icon f-icon-col-descending\"\r\n [ngClass]=\"i == (approvalDomains.length -1) ? 'cannotMoveDomain' : 'canMoveDomain'\"\r\n (click)=\"moveDomain($event, i, i + 1)\"></span>\r\n </div>\r\n </div>\r\n <div style=\"display: flex; align-items: center; margin: 5px 10px 0 0; height: 30px;\">\r\n <div style=\"margin-right: 5px\">\r\n <span class=\"f-icon f-icon-arrow-chevron-down cursor-pointer\"\r\n [ngStyle]=\"{'transform': data.isFold ? 'rotate(90deg)' : 'none'}\"\r\n (click)=\"foldDomain($event, data)\"></span>\r\n </div>\r\n <div style=\"margin-left: 5px\">\r\n <span class=\"f-icon f-icon-yxs_delete cursor-pointer\"\r\n (click)=\"deleteDomain($event, data)\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"f-form-layout farris-form farris-form-controls-inline\" id=\"data.domainId\">\r\n <div class=\"col-12\" style=\"margin-top: 5px\">\r\n <div class=\"farris-group-wrap\">\r\n <div class=\"form-group farris-form-group\">\r\n <label class=\"col-form-label\" title=\"域名称\">\r\n <span class=\"farris-label-text\">域名称</span>\r\n </label>\r\n <div class=\"farris-input-wrap\">\r\n <!--<input-group [(ngModel)]=\"data.domainName\" (clear)=\"onDomainNameBlur(data.domainId, data.domainName, i)\"\r\n (blurHandle)=\"onDomainNameBlur(data.domainId, data.domainName, i)\"></input-group>-->\r\n <div class=\"f-cmp-inputgroup\">\r\n <div class=\"input-group f-state-editable\">\r\n <textarea class=\"form-control f-utils-fill text-left\"\r\n style=\"display: block;overflow: auto\" [(ngModel)]=\"data.domainName\"\r\n (blur)=\"onDomainNameBlur(data.domainId, data.domainName, i)\">\r\n </textarea>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.nameErrorMessage\" style=\"margin-top: 4px\">\r\n <div class=\"error-text\">\r\n {{data?.nameErrorMessage}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"col-12\" style=\"margin-top: 5px\" *ngIf=\"!data.isFold\">\r\n <div class=\"farris-group-wrap\">\r\n <div class=\"form-group farris-form-group\">\r\n <label class=\"col-form-label\" title=\"域编号\">\r\n <span class=\"farris-label-text\">域编号</span>\r\n </label>\r\n <div class=\"farris-input-wrap\">\r\n <input-group [(ngModel)]=\"data.domainCode\"\r\n (blurHandle)=\"onDomainCodeBlur(data.domainId)\"></input-group>\r\n </div>\r\n </div>\r\n </div>\r\n </div>-->\r\n <div class=\"col-12\" style=\"margin-top: 5px\" *ngIf=\"!data.isFold\">\r\n <div class=\"farris-group-wrap\">\r\n <div class=\"form-group farris-form-group\">\r\n <label class=\"col-form-label\" title=\"流程节点\">\r\n <span class=\"farris-label-text\">流程节点</span>\r\n </label>\r\n <div class=\"farris-input-wrap\">\r\n <!-- <input-group [(ngModel)]=\"data.activityDefinedIds\"\r\n (blurHandle)=\"onActivityDefinedIdsBlur(data.domainId)\"></input-group>-->\r\n <farris-combo-list [(ngModel)]=\"data.activityDefinedIds\" [idField]=\"'value'\"\r\n [textField]=\"'text'\" [data]=\"activityOptions\" [multiSelect]=\"true\"\r\n (ngModelChange)=\"onActivityDefinedIdsBlur(data.domainId, data.activityDefinedIds, i)\"\r\n [editable]=\"false\" [enableClear]=\"false\" [enableCancelSelected]=\"false\">\r\n </farris-combo-list>\r\n <div *ngIf=\"data?.activityIdErrorMessage\" style=\"margin-top: 4px\">\r\n <div class=\"error-text\">\r\n {{data?.activityIdErrorMessage}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"display: flex; justify-content:center;align-items: center; margin-top: 15px;\">\r\n <input type=\"button\" class=\"btn btn-primary\" value=\"新增域\" (click)=\"addDomain($event)\" />\r\n </div>\r\n</div>","styles":["@media screen and (min-width:888px){::ng-deep .apporal-comment .farris-form .farris-group-wrap{max-width:38.625rem!important}}.domain-areas .farris-form .farris-group-wrap::after{display:none}.domain-areas .canMoveDomain{cursor:pointer}.domain-areas .cannotMoveDomain{cursor:not-allowed;color:#80808080}.farris-form-controls-inline .farris-group-wrap .col-form-label,.farris-form-inline .col-form-label{width:4rem}.error-text{color:red}"]}]}],"members":{"valueChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":39,"character":23}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"initSetting":[{"__symbolic":"method"}],"getAuditorsByMicroAppId":[{"__symbolic":"method"}],"addDomain":[{"__symbolic":"method"}],"deleteDomain":[{"__symbolic":"method"}],"foldDomain":[{"__symbolic":"method"}],"moveDomain":[{"__symbolic":"method"}],"onDomainNameBlur":[{"__symbolic":"method"}],"onDomainCodeBlur":[{"__symbolic":"method"}],"onActivityDefinedIdsBlur":[{"__symbolic":"method"}],"trackByFn":[{"__symbolic":"method"}],"compareArray1EqualToArray2":[{"__symbolic":"method"}]}},"ApprovalCommentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"farris-approval-comments","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":19,"character":21},"useExisting":{"__symbolic":"reference","name":"ApprovalCommentComponent"},"multi":true},{"__symbolic":"reference","name":"ApiService"}],"template":"<ng-container *ngIf=\"dataList && displayType === DisplayTypes.Default\">\r\n <div class=\"main-content\">\r\n <div class=\"body-content\" *ngFor=\"let comment of dataList\">\r\n <div class=\"left-content\">\r\n <div class=\"approval-suggestion\">{{comment.title}}</div>\r\n </div>\r\n <div class=\"right-content\">\r\n <div *ngFor=\"let item of comment.workItemLogs\">\r\n <div class=\"right-content-item\">\r\n <div class=\"right-content-item-list-content\">\r\n <div class=\"approval-comment-message\">{{item?.message}}</div>\r\n <div *ngIf=\"attachmentVisible\" class=\"approval-comment-attachment\">\r\n <div *ngFor=\"let attachment of item.attachmentList\"\r\n class=\"log-attachment task-attachmentlist-li\">\r\n <!-- 附件名称 -->\r\n <div class=\"log-attachment-title\">\r\n <img class=\"log-attachment-img\" src=\"{{attachment.fileType}}\" />\r\n <span>{{attachment.fileName}}</span>\r\n </div>\r\n <div style=\"display: flex; align-items: center\">\r\n <!-- 附件大小 -->\r\n <div><span class=\"log-attachment-size\">{{attachment.fileSize}}</span></div>\r\n <!-- 下载按钮 -->\r\n <div class=\"log-attachment-icon-download\" id=\"log-attachment-download\"\r\n title=\"{{translateTask('download')}}\">\r\n <img src=\"/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-download.svg?v=20230222\"\r\n (click)=\"attachmentDownload(attachment.url)\" />\r\n </div>\r\n <!-- 查看按钮 -->\r\n <div class=\"log-attachment-icon-preview\" id=\"log-attachment-preview\"\r\n title=\"{{translateTask('view')}}\">\r\n <img src=\"/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-view.svg?v=20230222\"\r\n (click)=\"attachmentPreview([attachment?.metadataId])\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right-content-item-list-sign\">\r\n <div *ngIf=\"item?.url\" class=\"approval-operator-name\">\r\n <img class=\"image-height-width\" src=\"{{item?.url}}\">\r\n </div>\r\n <div *ngIf=\"!item?.url\" class=\"approval-operator-name\">{{item?.operatorName}}</div>\r\n <div class=\"approval-start-time\">\r\n <span>处理时间:</span>{{(item?.createdTime |date:'yyyy-MM-dd HH:mm:ss') || '--'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"dataList && displayType === DisplayTypes.Theme1\">\r\n <div class=\"main-content\">\r\n <div class=\"body-content-item2\" *ngFor=\"let comment of dataList\">\r\n <div class=\"approval-suggestion\">{{comment.title}}</div>\r\n <div *ngFor=\"let item of comment.workItemLogs\">\r\n <div class=\"right-content-item\">\r\n <div class=\"right-content-item-list-content\">\r\n <div class=\"approval-comment-message-item2\">{{item?.message}}</div>\r\n </div>\r\n <div class=\"right-content-item-list-sign\">\r\n <div *ngIf=\"item?.url\" class=\"approval-operator-name-item2\">\r\n <img class=\"image-height-width\" src=\"{{item?.url}}\">\r\n </div>\r\n <div *ngIf=\"!item?.url\" class=\"approval-operator-name-item2\">{{item?.operatorName}}</div>\r\n <div class=\"approval-start-time-item2\">\r\n <span>处理时间:</span>{{(item?.createdTime |date:'yyyy-MM-dd HH:mm:ss') || '--'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"displayType === DisplayTypes.Single\">\r\n\r\n <div class=\"main-content\">\r\n <div class=\"body-content\">\r\n <div class=\"left-content\">\r\n <div class=\"approval-suggestion\">{{title}}</div>\r\n </div>\r\n <div class=\"right-content\">\r\n <div *ngFor=\"let item of workItemLogs\">\r\n <div class=\"right-content-item\">\r\n <div class=\"right-content-item-list-content\">\r\n <div class=\"approval-comment-message\">{{item?.message}}</div>\r\n <div *ngIf=\"attachmentVisible\" class=\"approval-comment-attachment\">\r\n <div *ngFor=\"let attachment of item.attachmentList\"\r\n class=\"log-attachment task-attachmentlist-li\">\r\n <!-- 附件名称 -->\r\n <div class=\"log-attachment-title\">\r\n <img class=\"log-attachment-img\" src=\"{{attachment.fileType}}\" />\r\n <span>{{attachment.fileName}}</span>\r\n </div>\r\n <div style=\"display: flex; align-items: center\">\r\n <!-- 附件大小 -->\r\n <div><span class=\"log-attachment-size\">{{attachment.fileSize}}</span></div>\r\n <!-- 下载按钮 -->\r\n <div class=\"log-attachment-icon-download\" id=\"log-attachment-download\"\r\n title=\"{{translateTask('download')}}\">\r\n <img src=\"/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-download.svg?v=20230222\"\r\n (click)=\"attachmentDownload(attachment.url)\" />\r\n </div>\r\n <!-- 查看按钮 -->\r\n <div class=\"log-attachment-icon-preview\" id=\"log-attachment-preview\"\r\n title=\"{{translateTask('view')}}\">\r\n <img src=\"/platform/runtime/wf/webapp/mobiletaskcenter/assets/img/web-attachment-view.svg?v=20230222\"\r\n (click)=\"attachmentPreview([attachment?.metadataId])\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right-content-item-list-sign\">\r\n <div *ngIf=\"item?.url\" class=\"approval-operator-name\">\r\n <img class=\"image-height-width\" src=\"{{item?.url}}\">\r\n </div>\r\n <div *ngIf=\"!item?.url\" class=\"approval-operator-name\">{{item?.operatorName}}</div>\r\n <div class=\"approval-start-time\">\r\n <span>处理时间:</span>{{(item?.createdTime |date:'yyyy-MM-dd HH:mm:ss') || '--'}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</ng-container>","styles":[".fos-dialog .fos-content{width:100%;height:100%;min-width:760px;overflow:hidden}.fos-dialog ::ng-deep .modal-content{border-radius:10px}.fos-dialog ::ng-deep .modal-header{color:#2d2f33;border-bottom:none;padding:15px 0 15px 24px}.fos-dialog ::ng-deep .actions{padding-right:22px;font-size:20px}.fos-dialog ::ng-deep .modal-title-label{font-size:17px;font-weight:600}.fos-dialog ::ng-deep .modal-footer{padding:17px 24px;background:#fff;border-top:none}.fos-dialog .fos-content .fos-content-container{display:flex;width:calc(100% - 48px);height:100%;margin:0 24px;border:1px solid #dee1ea;border-radius:3px}.fos-dialog .fos-content .fos-content-container .fos-content-main{flex:0 0 100%;position:relative;display:flex}.fos-dialog .fos-content .fos-content-container .fos-content-main .fos-search-input{position:absolute;top:7px;right:14px;color:#959ab1;z-index:99;width:320px}.fos-dialog .fos-content .fos-content-container .fos-content-main .fos-tabs{min-width:575px}.fos-dialog ::ng-deep .fos-tabs .nav-link{line-height:18px;padding:11px 0!important}.fos-dialog ::ng-deep .fos-tabs .farris-tabs-header{background:#f9f9f9}.fos-dialog ::ng-deep .fos-tabs .nav-item{margin-right:30px}.fos-dialog ::ng-deep .fos-tabs .nav{padding-left:14px;font-size:16px;font-weight:600}.fos-dialog ::ng-deep .fos-tabs .nav-item .st-tab-text{color:#6f8cb4}.fos-dialog ::ng-deep .fos-tabs .nav-item .active .st-tab-text{color:#2a87ff}.fos-dialog::ng-deep input::-webkit-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep input::-moz-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep input::-ms-input-placeholder{color:#b4bccc;font-size:13px;line-height:24px}.fos-dialog ::ng-deep .fos-search-input .form-control{line-height:26px;height:26px;font-size:13px}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead{background:#fff;font-size:13px}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead th .tt-checkbox .custom-control-label::before{top:2px;margin:0}.fos-dialog ::ng-deep .fos-treetable .farris-treetable-thead th:hover{background:#fff}.fos-dialog ::ng-deep .fos-treetable .treetable-cell-content span{font-size:13px}:host .input-group .input-group-append{background:#fff}:host .s-input-group .input-group-text{color:rgba(0,0,0,.25)}:host .cursor-pointer{cursor:pointer}:host .s-input-group .multi-more{padding:0 0 2px 8px;height:auto;min-height:24px;flex:1;overflow:hidden}:host .s-input-group .multi--content{display:flex;flex-wrap:nowrap;cursor:default;padding:0 5px;background:#ebf7fe;border:1px solid #cfedff;margin:3px 3px 0 0;float:left;height:17px;border-radius:3px;line-height:17px;justify-content:space-between;box-sizing:content-box;max-width:calc(100% - 10px)}:host .s-input-group .multi--item{line-height:16px;text-overflow:ellipsis;height:16px;flex:1;overflow:hidden;word-break:break-all}:host .s-input-group .multi-another{padding:3px 3px 0 0;line-height:16px;float:left;height:17px;box-sizing:content-box;border:1px solid #fff;color:#bfbfbf}.fos-dialog ::ng-deep .fos-dialog-footer{width:200px;height:30px;line-height:30px;position:absolute;left:24px;text-align:left;cursor:default}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-selection{font-size:14px;color:#2d2f33;background:#f4f9ff;border-radius:5px;padding:2px 5px}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-selection a{font-size:17px;color:#2a87ff}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-footer-clear{font-size:13px;color:#2a87ff;margin-left:1rem;cursor:pointer}.fos-dialog ::ng-deep .fos-dialog-footer .fosd-selection-content{position:absolute;bottom:25px;left:-10px;background:#fff;z-index:102}.fos-dialog::ng-deep .pagination-container{height:1.5rem;margin-bottom:21px}.fos-dialog::ng-deep .pagination-container input::-webkit-inner-spin-button,.fos-dialog::ng-deep .pagination-container input::-webkit-outer-spin-button{-webkit-appearance:none}.fos-dialog::ng-deep .pagination-container input[type=number]{-moz-appearance:textfield;text-align:center;width:38px;line-height:20px;border:1px solid #e9ecf3;border-radius:6px;box-shadow:0 2px 6px 0 rgba(31,35,41,.06);margin-left:4px;outline:0}.fos-dialog::ng-deep .pagination-container input[type=number]:focus{border:1px solid #0084ff}.fos-dialog::ng-deep .pagination-container li{line-height:22px}.fos-dialog ::ng-deep .fos-treetable td{border-color:#fff}.fos-dialog ::ng-deep .default-light-color{color:#f7b500}.fos-dialog ::ng-deep .default-dark-color{color:#d8dce6}.fos-dialog ::ng-deep .s-personnel-group{width:440px;height:250px;border-radius:5px;background:#fff;box-shadow:0 0 40px 0 rgba(0,0,0,.2);padding:16px 24px;position:fixed;top:50%;left:50%;margin-left:-220px;margin-top:-125px;z-index:9999}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-title{font-size:17px;line-height:24px;color:#2d2f33;font-weight:600}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-title .f-icon{float:right;font-size:20px;color:#878d99;margin-top:3px;cursor:pointer}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-footer{margin-top:20px}.fos-dialog ::ng-deep .s-personnel-group .col-12{padding:0}.fos-dialog ::ng-deep .s-personnel-group-footer .title-checkall{margin-top:6px}.fos-dialog ::ng-deep .s-personnel-group .farris-label-text{color:#5a5e66}.fos-dialog ::ng-deep .s-personnel-group .s-personnel-group-footer .fr{float:right;height:32px}.main-content{width:100%;height:100%;display:flex;flex-direction:column}.body-content{box-sizing:border-box;flex:1.5;display:flex;flex-direction:row;margin:0 -1px -1px 0;border:1px dashed #ccc;border-collapse:collapse}.body-content-item2{box-sizing:border-box;flex:1.5;display:flex;flex-direction:column;padding:10px 0 0 10px;margin:0 -1px -1px 0;border:1px dashed #ccc;border-collapse:collapse;min-height:36px}.left-content{width:160px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;min-height:36px;border-right:1px dashed #ccc}.right-content{box-sizing:border-box;padding-left:12px;flex:1;display:flex;flex-direction:column}.right-content-item{box-sizing:border-box;display:flex;flex-direction:row}.right-content-item-list-content{display:flex;flex:1;flex-direction:column;box-sizing:border-box;padding-top:10px}.right-content-item-list-sign{display:flex;box-sizing:border-box;width:210px;flex-direction:column}.approval-comment-message{flex:1;font-size:12px;padding:0 10px 10px}.approval-comment-attachment{padding-bottom:10px}.approval-comment-message-item2{font-size:12px;padding:10px}.date_area{font-size:6px}.approval-start-time{font-size:10px;padding:0 10px 15px}.approval-start-time-item2{font-size:10px;padding-top:10px;margin-bottom:15px}.approval-operator-name{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;text-align:center;margin-top:20px;padding-bottom:10px}.approval-operator-name-item2{font-size:12px;text-align:center}.footer-content .right-content .right-content-item .right-content-item-list-sign{margin-top:8px}.approval-suggestion{white-space:pre-line;padding:10px;font-size:12px;word-wrap:break-word;word-break:break-all}.image-height-width{height:34px;width:100px}.log-attachment{display:flex;justify-content:space-between;align-items:center;background:rgba(249,252,255,.87);border:0 solid rgba(229,232,237,.71);border-radius:3px;margin-top:10px;padding:5px 10px;cursor:pointer}.log-attachment-title{display:flex;align-items:center;font-size:12px}.log-attachment-img{height:24px;margin-right:10px}.log-attachment-name{white-space:pre-wrap;word-break:break-all}.log-attachment-size{display:block;font-size:12px;color:rgba(45,47,51,.45);padding:0 10px}.log-attachment-icon-download{border-radius:50%;background:#c7d4ee;margin-left:10px;color:#fff;cursor:pointer;width:16px;height:16px;display:flex;justify-content:center;align-items:center}.log-attachment-icon-preview{border-radius:50%;background:#2b87ff;margin-left:10px;color:#fff;cursor:pointer;width:16px;height:16px;display:flex;justify-content:center;align-items:center}.log-task-read{display:flex;align-items:center;font-size:12px;color:rgba(0,0,0,.45);padding:8px 14px;background:rgba(245,248,252,.6);box-shadow:inset 0 1px 0 0 #e9ecf3}.log-task-read-text{padding:0 8px}"]}]}],"members":{"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"domains":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"procInstId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"sortOrder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}}]}],"field":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}}]}],"bindingfield":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"displayType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":5}}]}],"attachmentVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":68,"character":26}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"sortPath":[{"__symbolic":"method"}],"getFieldData":[{"__symbolic":"method"}],"getApprovalComment":[{"__symbolic":"method"}],"getUrl":[{"__symbolic":"method"}],"translateTask":[{"__symbolic":"method"}],"getFileType":[{"__symbolic":"method"}],"getDownLoadUrl":[{"__symbolic":"method"}],"attachmentDownload":[{"__symbolic":"method"}],"attachmentPreview":[{"__symbolic":"method"}]}},"ApiService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":9,"character":18}]}],"demoapi":[{"__symbolic":"method"}],"getApprovalCommentApi":[{"__symbolic":"method"}],"getAuditorsByMicroAppId":[{"__symbolic":"method"}]}}},"origins":{"ApprovalCommentsModule":"./lib/approval-comments.module","ApprovalCommentEditorComponent":"./lib/components/approval-comment-editor/approval-comment-editor.component","ApprovalCommentComponent":"./lib/components/approval-comments/approval-comments.component","ApiService":"./lib/services/api.service"},"importAs":"@farris/approval-comments"}

@@ -19,3 +19,3 @@ import { Injector, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';

bindingfield: string;
displayType: string;
displayType: DisplayTypes;
attachmentVisible: boolean;

@@ -22,0 +22,0 @@ dataList: ApprovalComment[];

{
"name": "@farris/approval-comments",
"version": "0.1.0",
"version": "0.1.1",
"peerDependencies": {

@@ -5,0 +5,0 @@ "@angular/common": "^7.2.0",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc