<template> <div class="formwrapper" id="formwrapper" v-loading="loading"> <div ref="actBox" class="formcontent" id="obpm-custom-formcontent" v-if="(formdata.stateId && isRouterAlive) || (isShowFormActivity)"> <!-- 2021.9.9涔嬪墠v-if="(formdata.formTemplate && formdata.formTemplate.template != false) --> <div class="act-btns" v-if="formdata.activities"> <activity v-for="(activity, index) in formdata.activities" :key="index" :info="activity" :isBlockClick="isBlockClick" @action="onAction" /> </div> <div class="approvers"> <approvers style="min-width: 250px; display: inline-block;" v-if="formdata.stateId && isRouterAlive" :approversData="formdata.approvers" :stateId="formdata.stateId" :openParams="openParams" :flowinfo="{ docid: this.formdata.docId, approvers: formdata.approvers, stateId: formdata.stateId }" /> </div> </div> <div class="formTable-wrap custom-scrollbar" :id="'formTemplate_' + formTemplateDocid" :style="{ 'height': formTableWrapHeight ? formTableWrapHeight : '' }"> <span class="formTable_signs"> <span :id="'formTemplate_' + formTemplateDocid + '_1'"></span> </span> <!--鐩栫珷鍒楄〃--> <form_signlist v-if="formdata.sign" :signList="formdata.sign" /> <!--鐩栫珷--> <form_stamp v-if="currentCustomSign.showSign" :visible.sync="currentCustomSign.showSign" :signData="currentCustomSign.data" :openParams="openParams" :formTemplateDocid="formTemplateDocid" @event="confirmSignature" /> <!--鍗扮珷绠$悊--> <form_signature v-if="formSignatureData.showFormSignature" :options="formSignatureData.list" :openParams="openParams" :visible.sync="formSignatureData.showFormSignature" @event="getCustomSignatureData" /> <component v-if="hackReset" name="formTemplate" :is="template" :ref="'inputChild_' + formTemplateDocid"> </component> <el-dialog :title="$t('view.noselect_approver')" v-if="showDialog == 1" :close-on-click-modal="false" :visible.sync="dialogVisible" top="10px" :lock-scroll="true" width="67%" :before-close="handleClose"> <div class="print-content"> <div class="content-wrap" ref="print"> <!--startprint--> <div id="print"> <form_print :printParams="printParams" :printData="printData" /> </div> <!--endprint--> </div> </div> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="printPage"> {{ $t('report.print') }} </el-button> </span> </el-dialog> <!--鏂扮増娴佺▼鎻愪氦闈㈡澘--> <!-- <flowDialog v-if="flowDialogVisible" :visible.sync="flowDialogVisible" :type="flowProcessAct?flowProcessAct.type:''" > <form_flowpanel @click.stop.prevent slot="body" :stateId="formdata.stateId" :act="flowProcessAct" :openParams = "openParams" :buildFormData="buildFormData()" :approverName = "approverName" :submitTo = "submitTo" :nextUserId = "nextUserId" :approvers = "formdata.approvers?formdata.approvers:''" :subFlowApproverData = "subFlowApproverData" :subFlowGroup = "subFlowGroup" :newHostOrCohostList = "newHostOrCohostList" :cCname = "cCname" :subFlowGroupNum = "subFlowGroupNum" v-if="flowProcessAct.type == 5 || flowProcessAct.type == 33 || flowProcessAct.type == 47 || flowProcessAct.type == 48 || flowProcessAct.type == 52 || flowProcessAct.type == 55 || flowProcessAct.type == 56 || flowProcessAct.type == 57 || flowProcessAct.type == 58" @action="designatedApprover" @closePopup="closeThePopup" @showSubFlow="showSubFlowDialog" @setProcessHosting="getProcessHosting" /> </flowDialog> --> <!--鏂扮増娴佺▼鎻愪氦闈㈡澘2.0--> <el-dialog class="flow-submission-dialog" v-if="flowDialogVisible" :close-on-click-modal="false" :visible.sync="flowDialogVisible" :append-to-body="true" :lock-scroll="true" width="41%" center> <div slot="title" class="dialog-title"> <i class="fa fa-paper-plane-o icon"></i> <span class="title-text">..</span> </div> <div class="flow-new-panel-wrap"> <form_new_flowpanel @click.stop.prevent slot="body" :stateId="formdata.stateId" :act="flowProcessAct" :openParams="openParams" :buildFormData="buildFormData()" :approverName="approverName" :submitTo="submitTo" :nextUserId="nextUserId" :approvers="formdata.approvers ? formdata.approvers : ''" :subFlowApproverData="subFlowApproverData" :subFlowGroup="subFlowGroup" :newHostOrCohostList="newHostOrCohostList" :cCname="cCname" :subFlowGroupNum="subFlowGroupNum" :isShowHandSign="isShowHandSign" :isShowKeyboard="isShowKeyboard" v-if=" flowDialogVisible && (flowProcessAct.type == 5 || flowProcessAct.type == 33 || flowProcessAct.type == 47 || flowProcessAct.type == 48 || flowProcessAct.type == 52 || flowProcessAct.type == 55 || flowProcessAct.type == 56 || flowProcessAct.type == 57 || flowProcessAct.type == 58)" @action="designatedApprover" @closePopup="closeThePopup" @showSubFlow="showSubFlowDialog" @setProcessHosting="getProcessHosting" /> </div> </el-dialog> <!--娴佺▼鎸囧畾瀹℃壒浜哄脊绐�--> <div class="user-dialog"> <comm-dialog :title="isAppentCirculator ? $t('view.cc') : $t('view.point_approver')" v-show="approverVisible" :visible.sync="approverVisible" :setClass="commDialog.userDialog" :appendToBody="true"> <form_selectApprover_flowpanel slot="body" :act="flowProcessAct" :openParams="openParams" :buildFormData="buildFormData()" :approversObj="approversObj" :submitTo="submitTo" :flowId="flowId" :isFreeFlow="isFreeFlow" :saveApproverStatus="saveApproverStatus" :approverNumType="approverNumType" :isAppentCirculator="isAppentCirculator" :subFlowToApprover="subFlowToApprover" :groupNum="groupNum" :isSubFlow="isSubFlow" :allowEditApprover="allowEditApprover" :approvers="formdata.approvers ? formdata.approvers : ''" :processHostingList="processHostingList" v-if="approverVisible" @action="selectApprover" @closeApproverDialog="closeApproverDialog" @event="subflowDataTopanel" @selectHostOrCohost="selectHostOrCohost" /> </comm-dialog> </div> <!--缁堟娴佺▼--> <comm-dialog :title="$t('view.stop_flow')" v-show="terminationVisible" :visible.sync="terminationVisible"> <!--缁堟娴佺▼--> <form_termination_flowpanel slot="body" :stateId="formdata.stateId" :act="flowProcessAct" :openParams="openParams" :buildFormData="buildFormData()" v-if="flowProcessAct.type == 52" @action="terminationWorkflow" @handleCancel="handleCancel" /> </comm-dialog> <!--鍙戦€侀偖浠舵垨鎵嬫満鐭俊--> <comm-dialog title="閫氳繃閭欢鎴栫煭淇¢€氱煡" v-show="sendMailVisible" :visible.sync="sendMailVisible" width="40%"> <form_sendMailOrSms_flowpanel slot="body" :buildFormData="buildFormData()" :act="flowProcessAct" :openParams="openParams" v-if="flowProcessAct.type == 37" @event="openUserDialg" @closePopup="closeThePopup" /> </comm-dialog> <!--璺宠浆鎸夐挳_寮圭獥鎵撳紑--> <el-dialog class="common-dialog" v-if="jumpPopup" :close-on-click-modal="false" :append-to-body="true" :visible.sync="jumpPopup" top="10px" :lock-scroll="true" :width="jumpPopupStyle.dialogWidth ? jumpPopupStyle.dialogWidth : '90%'" :before-close="handleClose" center> <!--琛ㄥ崟--> <div :style="{ height: jumpPopupStyle.dialogHeight ? jumpPopupStyle.dialogHeight : screenHeight }" v-if="isJumpForm" class="normal-form custom-form" :id="'dialog_normalform_' + openParams.actionContent"> <el-scrollbar class="scrollbar"> <form_normalform :openParams="jumpParams" @action="closeDialog" /> </el-scrollbar> </div> <!--瑙嗗浘--> <div v-if="isJumpView" class="dialog-listview" :style="{ height: jumpPopupStyle.dialogHeight ? jumpPopupStyle.dialogHeight : screenHeight }"> <el-scrollbar class="scrollbar" v-if="popupLayerType == 'VIEW'"> <div> <view_delegate :openParams="jumpParams" @popupOpenType="setPopupOpenType"> </view_delegate> </div> </el-scrollbar> <el-scrollbar class="scrollbar" v-else> <form_normalform :openParams="jumpParamsForm" @popupOpenType="setPopupOpenType" /> </el-scrollbar> </div> <!--澶栭儴閾炬帴--> <div v-if="isExternalLink" class="normal-form" :style="{ height: jumpPopupStyle.dialogHeight ? jumpPopupStyle.dialogHeight : screenHeight }"> <common_linkcontent :openParams="jumpParams"> </common_linkcontent> </div> </el-dialog> <!----> <el-dialog class="common-dialog" :close-on-click-modal="false" title="..." v-if="customMessagePopup" :visible.sync="customMessagePopup" top="10px" :lock-scroll="true" width="90%"> <div v-if="newOpenParams" class="normal-form"> <el-scrollbar class="scrollbar"> <form_template :openParams="newOpenParams" @event="closeCustomMessagePopup" /> </el-scrollbar> </div> </el-dialog> </div> </div> </template> <script> import Constant from "@/Constant.js"; import API from "@/api.js"; import activity from "@/components/activity.vue"; import approvers from "@/components/approvers.vue"; import form_flowpanel from "@/components/form_flowpanel.vue"; import form_new_flowpanel from "@/components/form_new_flowpanel.vue"; import form_print from "@/components/form_print"; import flowDialog from "@/components/flow_dialog.vue"; // import { Loading } from 'element-ui'; import form_selectApprover_flowpanel from "@/components/form_selectApprover_flowpanel.vue"; import form_termination_flowpanel from "@/components/form_termination_flowpanel.vue"; import Watermark from "@/assets/js/watermark"; //璺緞涓嶈鍐欓敊 import form_sendMailOrSms_flowpanel from "@/components/form_sendMailOrSms_flowpanel.vue"; import form_template from "@/expandedComponents/form_template.vue"; import common_linkcontent from "@/components/common_linkcontent.vue"; import form_signature from "@/expandedComponents/form_signature.vue"; import form_stamp from "@/expandedComponents/form_stamp.vue"; import form_signlist from "@/expandedComponents/form_sign_list.vue"; //import { constants } from 'crypto'; import authority from "@/components/authority.vue"; import Signature from "@/assets/kinggrid/signature.all.min.js"; import escapeHTML from "@/assets/js/escapeHTML.js"; export default { inject: ["refreshForm", "addTab", "openNewpage"], name: "form-normalform", props: [ "openParams", "callback", "originalFormDocid", "emptyParams", "openType", //琛ㄥ崟鎵撳紑绫诲瀷锛�277寮瑰嚭灞� ], provide() { return { setListViewDocIds: this.setListViewDocIds, findField: this.findField, buildFormData: this.buildFormData, }; }, components: { activity, approvers, form_flowpanel, form_new_flowpanel, form_print, flowDialog, form_selectApprover_flowpanel, form_termination_flowpanel, authority, form_sendMailOrSms_flowpanel, form_template, common_linkcontent, form_signature, form_stamp, form_signlist, }, // created created: function () { let op = this.openParams; this.initForm({ appId: op.appId, formId: op.actionContent, //docId: this.openParams.docId (9/03鏀�) docId: op._select, }); this.initSigns(); }, data: function () { return { isBlockClick: false, // 闃绘鎸夐挳鐐瑰嚮 formTableWrapHeight: "", formdata: {}, printData: "", isActive: false, hidden: true, inputId: "", inputVal: "", inputCurrentInfo: "", inputCurrentVal: "", copyFormData: "", dialogVisible: false, isRouterAlive: true, showDialog: "", divId: "", loading: true, hackReset: true, parameterObj: {}, //鍔犵涓诲姙鎴栬€呭崗鍔炴柊娣诲姞鐨勬暟鎹紝鐢卞瓙缁勪欢form_selectHostOrCohost寰楀埌 printParams: {}, flowDialogVisible: false, flowProcessAct: {}, //娴佺▼澶勭悊鎸夐挳 approverVisible: false, approverName: "", isFreeFlow: "", //鍒ゆ柇鏄惁鏄嚜鐢辨祦绋� nextUserId: "", //鑷敱娴佺▼鐨勪笅涓€鑺傜偣浜� submitTo: {}, isAppentCirculator: "", approversObj: {}, //鎸囧畾瀹℃壒浜哄弬鏁� saveApproverStatus: "", approverNumType: "", //鍒ゆ柇鎸囧畾瀹℃壒浜虹殑鐢ㄦ埛閫夋嫨妗嗘槸鍗曢€夎繕鏄閫夈€� terminationVisible: false, //缁堟娴佺▼寮瑰嚭绐� sendMailVisible: false, //閫氳繃閭欢鎴栬€呮墜鏈虹煭淇″垎浜脊绐� groupNum: "", subFlowToApprover: [], //鎻愪氦闈㈡澘鐨勫瓙娴佺▼-骞惰娴佺▼鏁版嵁淇濆瓨鍒癴orm_selectApprover_flowpanel isSubFlow: "", subFlowApproverData: "", //瀛愭祦绋嬮€夋嫨鐨勬暟鎹彁浜ゅ埌娴佺▼闈㈡澘 subFlowGroup: "", //瀛愭祦绋�-骞惰娴佺▼鏁版嵁淇濆瓨鍒版祦绋嬮潰鏉� subFlowGroupNum: "", newHostOrCohostList: [], //鍔犵涓诲姙鎴栬€呭崗鍔炴柊娣诲姞鐨勬暟鎹紝鐢卞瓙缁勪欢form_selectHostOrCohost寰楀埌 formTemplateDocid: "", cCname: "", //鎶勯€佷汉濮撳悕 allowEditApprover: false, popupLayerType: "", //寮瑰嚭灞傛墦寮€瑙嗗浘鐒跺悗鏂板缓鎴栬€呮墦寮€瑙嗗浘鏃讹紝鍒ゆ柇鎵撳紑绫诲瀷 jumpParams: "", //璺宠浆鎸夐挳鍙傛暟 jumpParamsForm: "", //寮瑰嚭灞傛墦寮€鐨勮鍥捐繘鍏ヨ〃鍗曠殑鍙傛暟 jumpPopup: false, //璺宠浆鎸夐挳寮瑰嚭绐� isJumpForm: "", //璺宠浆鎸夐挳鍙傛暟 isJumpView: "", //璺宠浆鎸夐挳鍙傛暟 isExternalLink: "", //鍒ゆ柇鏄惁鏄閮ㄩ摼鎺� customMessagePopup: false, //鎸夐挳锛岃嚜瀹氫箟鍙戦€佹秷鎭殑寮圭獥 newOpenParams: "", oldBuildFormData: "", //鏁版嵁淇濆瓨鍚庡悗鍙拌繑鍥炵殑琛ㄥ崟鏁版嵁锛岀敤鎴锋柊寤哄甫鏃ф暟鎹瓑 commDialog: { //寮瑰嚭绐楁牱閫夋嫨 userDialog: "user-dialog", }, processHostingList: [], //鍔犵鍗忓姙鍜屽姞绛句富鍔炲垪琛� isClickGoBackBtn: false, //鍒ゆ柇杩斿洖鎸夐挳鏄惁鐐瑰嚮杩� isShowHandSign: true, //鏄惁鏄剧ず鎵嬬鎸夐挳锛堣ˉ绛惧拰鐐硅瘎鏃朵笉闇€瑕佹墜绛撅級 isShowKeyboard: true, //娴佺▼鍚姩鏃朵笉闇€瑕佹樉绀鸿緭鍏ユ剰瑙� formSignatureData: { showFormSignature: false, list: [], }, currentCustomSign: { data: "", showSign: false, }, //褰撳墠鐩栫珷鐨勬暟鎹紙闈為噾鏍肩绔狅級 subSelects: [], //鍖呭惈鍏冪礌鎴栬€卼ab椤碉紝鑾峰彇docIds isShowFormActivity: true, //鏄惁鏄剧ず琛ㄥ崟鎸夐挳 isDialogOpenExternalLink: false, //寮圭獥鎵撳紑澶栭摼鍒ゆ柇鏄惁鍒锋柊 jumpPopupStyle: {}, //璺宠浆鎸夐挳鎴栬€呰绠楄剼鏈墦寮€寮圭獥鏃惰缃脊绐楀楂� screenHeight: document.documentElement.clientHeight - 120 + "px", haveViewGridview: false, //琛ㄥ崟鏈夌綉鏍艰鍥� timeIds: [], handleIncludeControlBugImpl: null }; }, computed: { template() { // debugger let data = this.formdata; if (data && data.fields) { // input 缂栬緫鐘舵€佷笅闇€瑕佽ˉ鏍峰紡 data.fields.map((item) => { if (!item.customStyle && data.style && data.style.content) { // 缂栬緫鏃舵牱寮忔棤鏁� // item.customStyle = { // content: data.style.content ? data.style.content : '' // } } else if ( !item.customStyle && item.type == "tabfield" && item.tabs && item.tabs.length > 0 ) { // 閫夐」鍗℃牱寮忎笉鐢熸晥 // item.tabs.forEach(tab => { // if(tab.fields && tab.fields.length > 0) { // tab.fields.map(item2 => { // if(!item2.customStyle && tab.style && tab.style.content){ // item2.customStyle = {content: tab.style.content} // } // }) // } // }) } }); if (!data.formTemplate.template) { this.isShowFormActivity = false; return { components: { authority }, template: "<div><authority /></div>", }; } else { //555 return { methods: { findField: this.findField, refresh: this.refresh, checkData: this.checkData, getAllFields: this.getAllFields, addTabs: this.addTabs, scriptJump: this.scriptJump, }, template: "<div class='formHtml' >" + data.formTemplate.template + "</div>", }; } } else if (data.formTemplate && data.formTemplate.template) { return { template: "<div class='formHtml' >" + data.formTemplate.template + "</div>", }; } else { return { template: "<div></div>", }; } }, }, watch: { template(nval) {//瀹炴椂鍝嶅簲template妯℃澘 // 鍐呭祵鍏冪礌 鏃犻檺鎵╁ぇ 鍔ㄦ€佽绠椾粬鐨勫搴� // debugger if (nval) { this.handleIncludeControlBug() // onResize 閲嶆柊瑙﹀彂璁$畻 /** * apply锛宑all锛宐ind涓夎€呯殑鍖哄埆--闈㈠悜瀵硅薄缂栫▼锛堜笉鏄嚱鏁扮紪绋嬶級 鈼� 涓夎€呴兘鍙互鏀瑰彉鍑芥暟鐨則his瀵硅薄鎸囧悜銆� 鈼� 涓夎€呯涓€涓弬鏁伴兘鏄痶his瑕佹寚鍚戠殑瀵硅薄锛屽鏋滄病鏈夎繖涓弬鏁版垨鍙傛暟涓簎ndefined鎴杗ull锛屽垯榛樿鎸囧悜鍏ㄥ眬window銆� 鈼� 涓夎€呴兘鍙互浼犲弬锛屼絾鏄痑pply鏄暟缁勶紝鑰宑all鏄弬鏁板垪琛紝涓攁pply鍜宑all鏄竴娆℃€т紶鍏ュ弬鏁帮紝鑰宐ind鍙互鍒嗕负澶氭浼犲叆銆� 鈼� bind 鏄繑鍥炵粦瀹歵his涔嬪悗鐨勫嚱鏁帮紝渚夸簬绋嶅悗璋冪敤锛沘pply 銆乧all 鍒欐槸绔嬪嵆鎵ц */ //this.handleIncludeControlBugImpl 杩欐槸鏄幏鍙栧綋鍓嶉〉闈㈢殑鍏冪礌锛屽彧鏈夌洃鍚埌resize灞忓箷鍝嶅簲缂╂斁鎵嶆墽琛�==>this.handleIncludeControlBug.bind(this) 绛夊悓浜� this.handleIncludeControlBug; this.handleIncludeControlBugImpl = this.handleIncludeControlBug.bind(this)//.bind(this) 鏌噷鍖栵紙鎴戜滑缁欎竴涓嚱鏁颁紶鍏ヤ竴閮ㄥ垎鍙傛暟锛屾鏃跺氨浼氳繑鍥炰竴涓嚱鏁版潵鎺ユ敹鍓╀綑鐨勫弬鏁帮級 缁戝畾this鎵ц涓簍his.handleIncludeControlBug璇ュ璞bject锛岃€屼笉鏄痺indow瀵硅薄 window.addEventListener('resize', this.handleIncludeControlBugImpl) } } }, mounted(){ let that=this; window.addEventListener('message',function(e){//鐩戝惉寮圭獥鍏抽棴-bcx console.log('e',e) if(e.data){ that.jumpPopup=false } }) }, beforeDestroy() { this.timeIds.forEach(id => { clearInterval(id) }) window.removeEventListener('resize', this.handleIncludeControlBugImpl)//鐢熷懡鍛ㄦ湡閿€姣佸墠锛岀Щ闄ょ洃鍚瑀esize灞忓箷鍝嶅簲缂╂斁 }, methods: { // 澶勭悊include-control 鑷姩澧炲ぇ閫昏緫 handleIncludeControlBug() { console.log('瑙﹀彂浜�') this.timeIds.forEach(id => { clearInterval(id) }) this.$nextTick(() => { let formwrappers = document.querySelectorAll('#formwrapper') formwrappers.forEach(item => { let includeControls = item.querySelectorAll('.include-control') let tabControls = item.querySelectorAll('.tab-control') this.handleIncludeControlRefresh(includeControls, () => this.handleIncludeControlComputed(includeControls)) this.handleIncludeControlRefresh(tabControls, () => this.handleIncludeControlComputed(tabControls)) }) }) }, handleIncludeControlRefresh(controls, cb) { console.log('controls', controls) // resize 璁$畻浼氳蛋杩欓噷 // include鍙兘鍘熸湰灏辫闅愯棌 杩欓噷瑕侀泦鍚� let affectedIncludeControls = [] controls.forEach(itm => { if (itm.style.display !== 'none') { itm.style.display = "none" affectedIncludeControls.push(itm) } }) console.log('affectedIncludeControls鑾峰彇Dom瀵硅薄', affectedIncludeControls) this.$nextTick(() => { cb() //杩欎釜鎵ц鐨勬槸handleIncludeControlComputed(controls)(); affectedIncludeControls.forEach(itm => { itm.style.display = "block" }) }) }, handleIncludeControlComputed(controls) { controls.forEach(item => { console.log('item.parentNode', item.parentNode) let pw = item.parentNode.clientWidth - (parseFloat(getComputedStyle(item.parentNode).paddingLeft) + parseFloat(getComputedStyle(item.parentNode).paddingRight)) console.log('pw', pw) if (pw > 0) { item.style.width = pw + 'px' //澧炲姞鐖跺厓绱犲浐瀹氬搴�'.include-control' 涓� '.tab-control' } else { let id = setTimeout(() => { console.log(111) // resize 璁$畻浼氳蛋杩欓噷 // include鍙兘鍘熸湰灏辫闅愯棌 杩欓噷瑕侀泦鍚� if (item.style.display !== 'none') { item.style.display = "none" this.$nextTick(()=>{ item.style.display = "block" }) } this.$nextTick(() => { console.log('bb', parseFloat(getComputedStyle(item.parentNode).paddingLeft)); let pw = item.parentNode.clientWidth - (parseFloat(getComputedStyle(item.parentNode).paddingLeft) + parseFloat(getComputedStyle(item.parentNode).paddingRight)) if (pw > 0) { console.log('item.parentNode', item.parentNode) item.style.width = pw + 'px' //澧炲姞鐖跺厓绱犲浐瀹氬搴�'.include-control' 涓� '.tab-control' item.style.display = "block" clearInterval(id) } }) }, 200) this.timeIds.push(id) } }) }, //濡傛灉鏄寘鍚厓绱犳垨鑰卼ab椤碉紝鑾峰彇docIds setListViewDocIds(docIds) { this.subSelects = docIds; }, //鍙栨秷 handleCancel(val) { this.terminationVisible = val; }, //鏂拌〃鍗曠殑data.formTemplate.template浼氳繑鍥瀘verflow锛歨idden锛涘鑷村脊鍑哄眰娌℃湁婊氬姩鏉� dialogShowScrollbar() { let containerDom = document.getElementsByName("瀹瑰櫒1")[0]; containerDom.style.overflow = "unset"; }, //纭畾绛剧珷 confirmSignature(data) { let op = this.openParams; let appId = op.appId; let formData = this.buildFormData(); let documentId = formData.id; formData.docId = formData.id; let versions = ""; let templateForm = ""; if (op.realformId) { //濡傛灉鏄ā鏉胯〃鍗曪紝realformId鏄湡瀹瀎ormID锛岃€屼笉鏄痶emplateForm formData.formId = op.realformId; formData.document.formId = op.realformId; templateForm = op.actionContent; } let signArr = []; signArr.push(data); let document = { applicationId: appId, formId: formData.formId, id: documentId, items: formData.items, parentId: formData.parentId, sign: JSON.stringify(signArr), versions: versions, exparams: {}, templateForm, }; delete formData.items; formData.document = document; formData.viewId = ""; this.$api.confirmSignature(appId, formData.docId, formData, { onSucess: (res) => { if (res.data.errcode == 0) { this.$notify({ title: "鎴愬姛", message: res.data.data, type: "success", }); this.currentCustomSign.showSign = false; this.formSignatureData.showFormSignature = false; let op = this.openParams; this.initForm({ appId: op.appId, formId: op.actionContent, //docId: this.openParams.docId (9/03鏀�) docId: formData.docId, }); // this.refreshForm() } }, }); }, //鑾峰彇褰撳墠闇€瑕佺洊绔犵殑鏁版嵁 getCustomSignatureData(data) { let cs = this.currentCustomSign; cs.data = data; cs.showSign = true; }, //鑷畾涔夌绔犲垵濮嬪寲 initSigns() { this.$api.getSigns({ onSucess: (res) => { this.formSignatureData.list = res.data.data; }, }); }, delCB(signatureid, signatureData) { for (var key in Signature.list) { if ( signatureid == key && Signature.list[signatureid].keysn == signatureData.keysn ) { var signatureCreator = Signature.create(); signatureCreator.removeSignature( signatureData.documentid, signatureid, function (data) { console.log(data); } ); break; } } return true; }, hiddenCustomizeVisible() { this.hackReset = false; this.$nextTick(() => { this.hackReset = true; }); }, mousewheel(e) { if (this.flowDialogVisible) { e.preventDefault(); } }, closeCustomMessagePopup() { this.customMessagePopup = false; }, addTabs(params) { if (typeof params == "string") { params = JSON.parse(params); } this.$emit("add-tab", params); }, getDocId() { return this.formdata.docId; }, getformId() { return this.formdata.formId; }, getAppId() { return this.openParams.appId; }, getAllFields() { return this.formdata.fields; }, onAction(act) { let actId = act.id; let activityType = act.type; switch (act.type) { case 1: //杞藉叆瑙嗗浘 break; case 4: //淇濆瓨骞跺惎鍔ㄦ祦绋� this.runBeforeAction(actId, "", "", activityType, "", act); break; case 5: //娴佺▼澶勭悊 this.flowHandle(act); break; case 10: // // this.goBack(act); this.v3ActionSubmit(actId, "", "", activityType, "", act); //bcx鏇挎崲鍚堝苟涓€涓帴鍙� // this.runBeforeAction(actId, "", "", activityType, "", act); break; case 11: //鎻愪氦55 --鏅€氳〃鍗曟彁浜cx -----娴嬭瘯娌℃晥鏋滆寰楀垹闄� this.v3ActionSubmit(actId, "", "", activityType, "", act); //bcx鏇挎崲鍚堝苟涓€涓帴鍙� // this.runBeforeAction(actId, "", "", activityType, "", act); break; case 13: //鑷畾涔夋寜閽�55--bcx this.v3ActionSubmit(actId, "", "", activityType, "", act); //bcx鏇挎崲鍚堝苟涓€涓帴鍙� // this.runBeforeAction(actId, "", "", activityType, "", act); break; case 14: //缃戦〉鎵撳嵃 case 16: //瀵煎嚭excel case 21: //淇濆瓨骞跺鍒� case 25: //瀵煎嚭pdf this.runBeforeAction(actId, "", "", activityType, "", act); break; case 26: //鏂囦欢涓嬭浇 this.runBeforeAction(actId, "", "", activityType); break; case 28: //鑷畾涔夋寜閽� this.runBeforeAction(actId, "", "", activityType, act); break; case 30: //鑷畾涔夋墦鍗� this.runBeforeAction(actId, "", "", activityType, "", act); break; case 33: //娴佺▼鍚姩 this.flowHandle(act); //涓嶆敮鎸佹祦绋嬪惎鍔ㄥ姛鑳� break; case 34: //淇濆瓨 // this.runBeforeAction(actId, "", "", activityType, "", act); this.v3ActionSubmit(actId, "", "", activityType, "", act); //bcx鏇挎崲鍚堝苟涓€涓帴鍙� break; case 37: //娴佺▼鍚姩 this.flowHandle(act); //this.sendMailOrSms() break; case 42: //淇濆瓨骞舵柊寤� this.runBeforeAction(actId, "", "", activityType, act.withOld, act); break; case 43: //璺宠浆 case 46: //绛剧珷 this.runBeforeAction(actId, "", "", activityType, "", act); break; case 47: //鍥為€€娴佺▼ this.flowHandle(act); break; case 48: //娴佺▼鍌姙 this.flowHandle(act); break; case 49: //娴佺▼鎸傝捣 this.suspendWorkflow(act); break; case 50: //娴佺▼鎭㈠ this.recoveryWorkflow(); break; case 51: //鍥炴挙娴佺▼ this.runBeforeAction(actId, "", "", activityType, "", act); this.retracementWorkflow(actId, act); break; case 52: //缁堟娴佺▼ case 53: //缂栬緫娴佺▼瀹℃壒浜� case 55: //鐐硅瘎 case 56: //琛ョ case 57: //鍔犵涓诲姙 case 58: //鍔犵鍗忓姙 this.flowHandle(act); break; default: break; } }, findField(id) { if (id) { let data = this.formdata; for (let i = 0; i < data.fields.length; i++) { let fld = data.fields[i]; if (id == fld.id) { return fld; } else if (fld.tabs && fld.tabs.length > 0) { for (let z = 0; z < fld.tabs.length; z++) { if (fld.tabs[z].fields && fld.tabs[z].fields.length > 0) { for (let h = 0; h < fld.tabs[z].fields.length; h++) { if (id == fld.tabs[z].fields[h].id) { return fld.tabs[z].fields[h]; } } } } } } //TODO:涓存椂澶勭悊闅愯棌瀛楁--Jarod return { id: id, displayType: Constant.PermissionType_HIDDEN, hiddenValue: "", }; } else { return this.formdata; } }, initForm({ appId, formId, docId }) { let openParams = this.openParams; console.log(docId); if (openParams.appId) { this.$root.appid = openParams.appId; //濡傛灉鏈夊涓蒋浠讹紝褰撲粠棣栭〉杩涘叆琛ㄥ崟锛岄渶瑕佹妸褰撳墠椤靛綋鍓嶆暟鎹殑appId璧嬪€肩粰鍏ㄥ眬鍙橀噺锛屽惁鍒欐湁鍙兘瀵艰嚧杞欢鐨刟ppId鎷块敊 } if (docId && docId != "") { let obj = { _: new Date().getTime(), }; if ( openParams.includeDisplayType && (openParams.includeDisplayType == 1 || openParams.includeDisplayType == 4) ) { //1, 4涓轰笉鍙敤 obj.isReadonly = true; } if (openParams.exparams) { obj = this.setParams(openParams.exparams, obj); } if (openParams.formParams) { obj = this.setParams(openParams.formParams, obj); } if (openParams.urlParams) { obj = this.setParams(openParams.urlParams, obj); } console.log("鑾峰彇琛ㄥ崟銆傘€傘€�"); API.getForm( appId, formId, docId, obj, // {}, { onSucess: (response) => { this.formTemplateDocid = docId.replace(/_/g, ""); this.loading = false; let fd = response.data.data; fd.fields.forEach((val) => { if (val.value) { val.value = val.value.replace(/%/g, "%"); } if (val.tabs) { //閫夐」鍗¢噷濂楃潃鏍囩椤� val.tabs.forEach((item) => { if (item.fields) { item.fields.forEach((items) => { if (items.value) { items.value = items.value.replace(/%/g, "%"); } }); } }); } }); let data = fd; let formType = data.formTemplate.showType; //鏂拌〃鍗曡繕鏄棫琛ㄥ崟 let openComment = data.openComment; let commentFlag = data.commentFlag; const loopOpe = (fields) => { for (let i = 0; i < fields.length; i++) { if (fields[i].value) { fields[i].value = fields[i].value; } if (!fields[i].isComment) { fields[i].formShowType = formType; fields[i].appId = appId; if (fields[i].formField == "IncludeField") { fields[i].isRefresh = "false"; if (fields[i].openType == 288) { //缃戞牸瑙嗗浘 this.haveViewGridview = true; } } if (fields[i].tabs && fields[i].tabs.length > 0) { for (let j = 0; j < fields[i].tabs.length; j++) { if (fields[i].tabs[j].openComment) { //tab涓嬫湁璇勮 let cf = fields[i].tabs[j].commentFlag; let commentField = { id: new Date().getTime() + "_璇勮", appId, docId: cf ? cf : docId, isComment: true, }; fields[i].tabs[j].fields.push(commentField); let dom = `<div> <o-comment v-bind="$attrs" v-on="$listeners" id='${commentField.id}'> </o-comment> </div>`; fields[i].tabs[j].template += dom; } if ( fields[i].tabs[j].fields && fields[i].tabs[j].fields.length > 0 ) { loopOpe(fields[i].tabs[j].fields); } } } } } }; if (data.fields && data.fields.length > 0) { loopOpe(data.fields); } fd.formId = formId; fd.docId = docId; if (openComment) { //鏈夎瘎璁� let commentField = { id: new Date().getTime() + "_璇勮", appId, docId: commentFlag ? commentFlag : docId, isComment: true, }; data.fields.push(commentField); let dom = `<div><o-comment v-bind="$attrs" v-on="$listeners" id='${commentField.id}'></o-comment></div>`; data.formTemplate.template += dom; } this.formdata = fd; if (fd.style && fd.style.content) { //鑷畾涔夋牱寮� let formCss = "#formTemplate_" + this.formTemplateDocid + " " + fd.style.content; let css = formCss, // let css = fd.style.content, head = document.head || document.getElementsByTagName("head")[0], style = document.createElement("style"); head.appendChild(style); style.type = "text/css"; style.appendChild(document.createTextNode(css)); } if (response.data.data.waterMarkText) { this.$nextTick(() => { let str = docId.replace(/_/g, ""); let id = "formTemplate_" + str; Watermark.set(response.data.data.waterMarkText, id); }); } this.$nextTick(() => { Signature.init({ //鍒濆鍖栧睘鎬� keysn: "T001", delCallBack: function delCB(signatureid, signatureData) { for (var key in Signature.list) { if ( signatureid == key && Signature.list[signatureid].keysn == signatureData.keysn ) { var signatureCreator = Signature.create(); signatureCreator.removeSignature( signatureData.documentid, signatureid, function (data) { console.log(data); } ); break; } } return true; }, imgtag: 0, //绛剧珷绫诲瀷锛�0锛氭棤; 1:鍏珷; 2:绉佺珷; 3:娉曚汉绔�; 4:娉曚汉绛惧悕; 5:鎵嬪啓绛惧悕 certType: "server", //璁剧疆璇佷功鍦ㄧ绔犳湇鍔″櫒 sealType: "server", //璁剧疆鍗扮珷浠庣绔犳湇鍔″櫒鍙� serverUrl: "http://171.34.78.70:8899/iSignatureHTML5/html5", //H5瀹樼綉婕旂ず鍦板潃 documentid: this.openParams._select ? this.openParams._select : "", //璁剧疆鏂囨。ID documentname: this.openParams._select ? this.openParams._select : "", //璁剧疆鏂囨。鍚嶇О //pw_enc_save : true,//瀵嗙爜鏄惁鍔犲瘑淇濆瓨 //pw_server_timeout:true, pw_timeout: "s1800", //s锛氱锛沨:灏忔椂锛沝:澶� scaleImage: 1, //绛剧珷鍥剧墖鐨勭缉鏀炬瘮渚� showProtectedBtn: true, //璁剧疆鏄惁鏄剧ず淇濇姢椤规寜閽� }); this.$api.getHTMLsignature(this.$root.appid, docId, { onSucess: (res) => { if (res.data) { let signature = {}; for (let j = 0; j < res.data.data.length; j++) { signature[res.data.data[j].signatureId] = true; } var signatureCreator = Signature.create(); signatureCreator.getSaveSignatures( docId, function (signs) { var signdata = new Array(); var jsonList = eval("(" + signs + ")"); for (var i = 0; i < jsonList.length; i++) { var map = {}; map.signatureid = jsonList[i]["signatureId"]; map.signatureData = jsonList[i]["signature"]; if (signature[map.signatureid]) { signdata.push(map); } //signdata.push(map); } Signature.loadSignatures(signdata); } ); } }, }); }); let showLog = false; //鏂拌〃鍗昮ormTemplate.template杩斿洖overflow锛歨idden浼氬奖鍝嶆搷浣滄棩蹇楃殑鏄剧ず if (formType == "new") { for (let i = 0; i < data.fields.length; i++) { if (data.fields[i].isModified) { console.log("111", showLog); showLog = true; break; } } } this.$nextTick(() => { let actBtnHeight = this.$refs.actBox.offsetHeight; this.formTableWrapHeight = "calc(100% - " + actBtnHeight + "px" + " )"; if ( (formType == "new" && openParams.type == 277) || showLog == true ) { this.dialogShowScrollbar(); //鏂拌〃鍗曞脊鍑哄眰鏈塪ocId鏃舵樉绀烘粴鍔ㄦ潯 } }); this.$emit("event", fd.formTemplate.formName); }, } ); } else { let queryStr = ""; if (openParams.queryString) { //鍙傛暟 queryStr = JSON.parse(openParams.queryString); } let obj = { appId: openParams.appId, formId: openParams.actionContent, _: new Date().getTime(), }; if (openParams.isRelate === true || openParams.isRelate === "true") { //鍖呭惈鍘熺礌鎴栬€呮爣绛句篃鏂板缓鍙兘浼氭惡甯sRelate鍜宲arentId锛岄渶瑕佷紶鍒板悗鍙� obj.isRelate = "true"; } else { obj.isRelate = openParams.isRelate; } if (openParams.parentId) { obj.parentId = openParams.parentId; } if (queryStr && queryStr.length > 0) { for (let i = 0; i < queryStr.length; i++) { obj[queryStr[i].paramKey] = queryStr[i].paramValue; } } let emptyParams = this.emptyParams; if (emptyParams && emptyParams.length > 0) { //瑙嗗浘鍒楀甫鍙傛暟璺宠浆 for (let i = 0; i < emptyParams.length; i++) { for (let key in emptyParams[i]) { obj[key] = emptyParams[i][key]; } } } if (openParams.exparams) { obj = this.setParams(openParams.exparams, obj); } if (openParams.formParams) { obj = this.setParams(openParams.formParams, obj); } if (openParams.urlParams) { obj = this.setParams(openParams.urlParams, obj); } if (openParams.realformId) { //濡傛灉鏄ā鏉胯〃鍗� obj.formId = openParams.realformId; formId = openParams.realformId; } API.getDocumentEmpty(appId, formId, obj, { onSucess: (response) => { if (response.data.errcode == 0) { if (openParams.isNewCreate) { //瑙嗗浘鏂板缓鍚庢墽琛岃剼鏈� if (openParams.isOpenNewWindow) { //濡傛灉鏄柊绐楀彛鎵撳紑 let _rp = JSON.parse(openParams.runAfterParams); _rp.docId = response.data.data.id; this.viewCreateRunAfterAction(_rp).then(() => { if (response.data.data) { this.loading = false; let docId = this.originalFormDocid ? this.originalFormDocid : response.data.data.id; //鍒ゆ柇鏄笉鏄繚瀛樺苟鏂板缓_甯︽棫鏁版嵁鐨刣ocid this.currentFormDocId = docId; this.formTemplateDocid = response.data.data.id.replace( /_/g, "" ); this.getForm( appId, formId, docId, {}, response.data.data.id ); } else { this.loading = false; } }); } else { if (openParams.runAfterParams) { openParams.runAfterParams.docId = response.data.data.id; let treedocid = openParams.treedocid; // this.viewCreateRunAfterAction(openParams.runAfterParams, treedocid); //濡傛灉鏄爲褰㈣鍥炬柊寤鸿繖涓墽琛岄『搴忎竴瀹氳鍦╡mpty涔嬪悗鎵嶄細鐢熸晥 this.viewCreateRunAfterAction( openParams.runAfterParams, treedocid, response.data.data.id ).then(() => { if (response.data.data) { this.loading = false; let docId = this.originalFormDocid ? this.originalFormDocid : response.data.data.id; //鍒ゆ柇鏄笉鏄繚瀛樺苟鏂板缓_甯︽棫鏁版嵁鐨刣ocid this.currentFormDocId = docId; this.formTemplateDocid = response.data.data.id.replace( /_/g, "" ); this.getForm( appId, formId, docId, {}, response.data.data.id ); } else { this.loading = false; } }); } else { this.currentFormDocId = response.data.data.id; this.getForm( appId, formId, response.data.data.id, {}, response.data.data.id ); this.loading = false; } } } else { if (response.data.data) { this.loading = false; let docId = this.originalFormDocid ? this.originalFormDocid : response.data.data.id; //鍒ゆ柇鏄笉鏄繚瀛樺苟鏂板缓_甯︽棫鏁版嵁鐨刣ocid this.currentFormDocId = docId; this.formTemplateDocid = response.data.data.id.replace( /_/g, "" ); this.getForm(appId, formId, docId, {}, response.data.data.id); } else { this.loading = false; } } } }, }); } }, getForm(appId, formId, docId, params, currentResDocId) { // debugger let op = this.openParams; if (op.exparams) { params = this.setParams(op.exparams, params); } if (op.formParams) { params = this.setParams(op.formParams, params); } if (op.urlParams) { params = this.setParams(op.urlParams, params); } else if (this.$route.query) { //鑾峰彇url鑷畾涔夊弬鏁癰cx params = { ...params, ...this.$route.query }; } console.log(params); API.getForm(appId, formId, docId, params, { onSucess: (res) => { let fd = res.data.data; this.formTemplateDocid = docId.replace(/_/g, ""); if (!fd.activities) { this.isShowFormActivity = false; } if (fd.style) { fd.fields.forEach((val) => { val.customStyle = fd.style; }); } // this.formdata = fd;//res.data.data; if (fd.fields) { fd.fields.forEach((val) => { if (val.value) { val.value = val.value.replace(/%/g, "%"); } }); } let data = fd; let formType = data.formTemplate.showType; //鏂拌〃鍗曡繕鏄棫琛ㄥ崟 let openComment = data.openComment; let commentFlag = data.commentFlag; const loopOpe = (fields) => { for (let i = 0; i < fields.length; i++) { if (fields[i].value) { fields[i].value = fields[i].value; } if (!fields[i].isComment) { fields[i].appId = appId; fields[i].formShowType = formType; if (fields[i].formField == "IncludeField") { fields[i].isRefresh = new Date().getTime(); if (fields[i].openType == 288) { //缃戞牸瑙嗗浘 this.haveViewGridview = true; } if (op.type && op.type == 277) { fields[i].isOpenDialog = true; fields[i].dialogId = op.dialogId ? op.dialogId : op.jumpDialogId; //op.jumpDialogId瑙e喅褰撹鍥惧垪璺宠浆鎸夐挳浠ュ脊鍑哄眰鎵撳紑琛ㄥ崟鏃讹紝鍖呭惈鍏冪礌鏃犳硶鏄剧ず } } else if (fields[i].formField == "InputField") { fields[i].isRefresh = parseInt(Math.random() * 100 + 1) + new Date().getTime(); } else if (fields[i].formField == "CalctextField") { if (op.isWidgetLink) { fields[i].isWidgetLink = true; } } if (fields[i].type == "tabfield") { //琛ㄥ崟宓屽tab鍒ゆ柇浼犻€掑弬鏁� fields[i].exparams = op.exparams; console.log(fields[i].exparams); } if (fields[i].tabs && fields[i].tabs.length > 0) { for (let j = 0; j < fields[i].tabs.length; j++) { if ( fields[i].tabs[j].openComment || fields[i].tabs[j].commentFlag ) { //tab涓嬫湁璇勮 let cf = fields[i].tabs[j].commentFlag; let commentField = { id: new Date().getTime() + "_璇勮", appId, docId: cf ? cf : docId, isComment: true, }; fields[i].tabs[j].fields.push(commentField); let dom = `<div> <o-comment v-bind="$attrs" v-on="$listeners" id='${commentField.id}'> </o-comment> </div>`; fields[i].tabs[j].template += dom; } if ( fields[i].tabs[j].fields && fields[i].tabs[j].fields.length > 0 ) { loopOpe(fields[i].tabs[j].fields); } } } } } }; if (data.fields && data.fields.length > 0) { loopOpe(data.fields); } fd.formId = formId; fd.docId = currentResDocId; //docId,涓€鐩存嬁鏂伴〉闈㈢殑docId; if (openComment) { //鏈夎瘎璁� let commentField = { id: new Date().getTime() + "_璇勮", appId, docId: commentFlag ? commentFlag : docId, isComment: true, }; data.fields.push(commentField); let dom = `<div><o-comment v-bind="$attrs" v-on="$listeners" id='${commentField.id}'></o-comment></div>`; data.formTemplate.template += dom; } // if(fd.style && fd.style.content) { //鑷畾涔夋牱寮� // debugger // let css = fd.style.content, // head = document.head || document.getElementsByTagName('head')[0], // style = document.createElement('style'); // head.appendChild(style); // style.type = 'text/css'; // style.appendChild(document.createTextNode(css)); // } this.formdata = fd; //res.data.data; if (fd.style && fd.style.content) { //鑷畾涔夋牱寮� let formCss = "#formTemplate_" + this.formTemplateDocid + " " + fd.style.content; let css = formCss, head = document.head || document.getElementsByTagName("head")[0], style = document.createElement("style"); head.appendChild(style); style.type = "text/css"; style.appendChild(document.createTextNode(css)); } if (res.data.data.waterMarkText) { //琛ㄥ崟姘村嵃 this.$nextTick(() => { let str = docId.replace(/_/g, ""); let id = "formTemplate_" + str; Watermark.set(res.data.data.waterMarkText, id); }); } if (this.oldBuildFormData) { //浠ヤ笅涓哄垽鏂綋淇濆瓨骞舵柊寤哄悗甯︽棫鏁版嵁鏃讹紝鎶婃棫鏁版嵁璧嬪€肩粰鏂拌〃鍗� let oldBuildFormData = this.oldBuildFormData; for (let key in oldBuildFormData) { for (let i = 0; i < fd.fields.length; i++) { if (key === fd.fields[i].name) { fd.fields[i].value = oldBuildFormData[key]; } } } } this.$nextTick(() => { let actBtnHeight = this.$refs.actBox.offsetHeight; this.formTableWrapHeight = "calc(100% - " + actBtnHeight + "px" + " )"; if (formType == "new" && op.type == 277) { this.dialogShowScrollbar(); //鏂拌〃鍗曞脊鍑哄眰鏃燿ocId鏃舵樉绀烘粴鍔ㄦ潯 } }); this.$emit("event", fd.formTemplate.formName); }, }); }, setParams(params, obj) { params = params.replace(/^(\s|&)+|(\s|&)+$/g, ""); let list = params.split("&"); for (let i = 0; i < list.length; i++) { let p = list[i].split("="); let isJson = this.isJSON(p[1]); if (isJson) { obj[p[0]] = encodeURI(p[1]); //encodeURIComponent(p[1]) } else { obj[p[0]] = p[1] ? p[1] : ""; } } return obj; }, isJSON(str) { //鍒ゆ柇鏄痡son瀛楃涓� if (typeof str == "string") { try { let obj = JSON.parse(str); if (typeof obj == "object" && obj) { return true; } else { return false; } } catch (e) { return false; } } }, //瑙嗗浘鏂板缓鍚庢墽琛岃剼鏈� viewCreateRunAfterAction(params, treedocid, docId) { if (docId) { params.formData.docId = docId; } return new Promise((resolve) => { this.$api.runAfterActionScript( params.appId, params.divId, docId, params.actionContent, params.relatedForm, params._templateForm, params.parentId, params._, params.formData, "", treedocid ? treedocid : "", { onSucess: (response) => { if (response.data.data) { let returnData = response.data.data; if (returnData.changedField) { this.$notify.success({ title: returnData.content, message: "", }); } else { let errmsg = response.data.data.content; if (returnData.type && returnData.type == "message") { if (errmsg.type == 16 || errmsg.type == 1) { this.$notify.success({ title: errmsg.content, message: "", }); } } else if (returnData.type && returnData.type == "1") { this.$notify.success({ title: errmsg, message: "", }); } else { this.$notify.error({ title: errmsg, message: "", }); } resolve(); } } else if (response.data.errcode == 0) { resolve(); } }, } ); }); }, refresh(fId) { let op = this.openParams; let fieldId = ""; if (fId.id) { fieldId = fId.id; } else { fieldId = fId; } //鍒锋柊鏂规硶 let fd = this.buildFormData(); let data = { document: fd, formId: op.actionContent, docId: fd.id, parentId: "", templateForm: "", viewId: "", applicationId: fd.applicationId, id: fd.id, }; fieldId = fieldId.replace(/"/g, ""); API.refreshForm(fieldId, data, { onSucess: (response) => { let fields = response.data.data; let keys = Object.keys(fields); let formdata = this.formdata; keys.forEach((key) => { let field = fields[key]; const loopOpe = (fields) => { fields.forEach((f, i) => { if (field.id == f.id) { console.log(fields[i].type); fields[i].value = field.value; //鍙兘鏇存柊value锛岃€屼笉鑳界畝鍗曞仛瀵硅薄鏇挎崲锛宖ield.value缁戝畾鍦ㄧ粍浠秜-model涓婏紝濡傛灉鐩存帴鏇挎崲鍙槸鏁扮粍鍐呭瓨鎸囬拡绠€鍗曞彉鏇� fields[i].options = field.options; fields[i].tabs = field.tabs; //濡傛灉涓洪€夋嫨绫诲瀷field锛屽垯options涔熻鍦ㄨ繖閲屾浛鎹�..... fields[i].displayType = field.displayType; fields[i].data = field.data; fields[i].activity = field.activity; if (field.formField == "DepartmentField") { //杩欎釜浼氭妸閮ㄩ棬閫夋嫨妗嗙殑鍊煎幓闄ゆ帀锛屽悗鏋滄湭鐭ワ紝鍏堣繖鏍� if (fields[i].value && fields[i].options.length <= 0) { fields[i].value = ""; } } else if (field.formField == "IncludeField") { fields[i].isRefresh = new Date().getTime(); } else if (field.formField == "InputField") { fields[i].addInTtems = true; //濡傛灉鍒锋柊閲嶈绠楁湁杩斿洖鎺т欢锛屽氨绠楁帶浠跺€兼槸闅愯棌鐨勶紝涔熻浼犲埌鍚庡彴锛屽湪buildForamData涓鐞� // fields[i].isRefresh = parseInt(Math.random()*100+1)+new Date().getTime(); } // if(fields[i].type=='tabfield'){ //琛ㄥ崟宓屽tab鍒ゆ柇浼犻€掑弬鏁� // fields[i].exparams=op.exparams // console.log(fields[i].exparams) // } } if (f.tabs && f.tabs.length > 0) { for (let j = 0; j < f.tabs.length; j++) { if (f.tabs[j].fields && f.tabs[j].fields.length > 0) { loopOpe(f.tabs[j].fields); } } } }); }; loopOpe(formdata.fields); }); this.formdata = formdata; }, }); }, handleClose(done) { console.log('done',done) done(); if (this.isDialogOpenExternalLink) { let appId = this.openParams.appId; let bf = this.buildFormData(); let formId = bf.formId; let docId = bf.id; this.initForm({ appId, formId, docId, }); } }, setPopupOpenType(type, params) { //褰撹鍥炬槸寮瑰嚭灞傛墦寮€锛屾柊寤烘垨鎵撳紑瑙嗗浘鍒楄〃 if (type == "FORM") { params.isPopupLayerDisplay = true; this.jumpParamsForm = params; this.popupLayerType = type; } else if (type == "VIEW") { this.popupLayerType = type; } }, checkData(value) { if (value) { let data = this.buildFormData(); return data; } }, //鎸夐挳浜嬩欢鎵ц鍓� /* actId锛氬弬鏁板€间负act.id; * isOrRefresh锛氬埛鏂伴噸璁$畻 * id锛� * activityType锛氬弬鏁板€间负act.type. * withOld锛氬垽鏂槸鍚︽槸淇濆瓨骞舵柊寤�, * act锛氬綋鍓嶇偣鍑荤殑鎸夐挳鐨勫叏閮ㄥ弬鏁� */ runBeforeAction(actId, isOrRefresh, id, activityType, withOld, act) { this.isBlockClick = true; let op = this.openParams; let appId = op.appId; let formData = ""; let documentId = ""; if (this.copyFormData) { //澶嶅埗鏂囨。鏃跺瓨鍦� let cf = this.copyFormData; formData = this.buildFormData(); //褰撳鍒舵椂鏁版嵁涓嶅彉锛屽彧鏀瑰彉id鍊� formData.docId = cf.id; formData.id = cf.id; documentId = cf.id; } else { let bf = this.buildFormData(); formData = bf; formData.docId = bf.id; documentId = bf.id; } let subDocuments = []; let versions = ""; let templateForm = ""; let subDoc = this.$store.state.subDocuments; let haveViewGridview = this.haveViewGridview; let time = 0; if (haveViewGridview) { //濡傛灉鏈夌綉鏍艰鍥� this.$store.commit("SET_SAVESUBDOCMENTS", { randomId: new Date().getTime(), docId: formData.docId, }); time = 100; } setTimeout(() => { let subDocData = this.$store.state.subDocumentsData; if (subDoc && subDoc.length > 0) { //鍒ゆ柇鏄惁鏄寘鍚厓绱犵綉鏍艰鍥� subDocuments = subDoc; versions = formData.versions; delete formData.subDocuments; delete formData.versions; delete formData.templateForm; } else if (subDocData && haveViewGridview) { //缃戞牸瑙嗗浘锛岀湅store.js subDocuments = this.setAllSubDocmentsData(subDocData); } else { subDocuments = formData.subDocuments; versions = formData.versions; } let document = { applicationId: op.appId, formId: formData.formId, id: documentId, items: formData.items, parentId: formData.parentId, sign: formData.sign, subDocuments: subDocuments, versions: versions, exparams: {}, templateForm: templateForm, }; delete formData.items; let subSelects = this.subSelects; if (subSelects.length > 0) { formData.subSelects = subSelects; } if (op.parentId) { if (op.isRelate === true || op.isRelate === "true") { document.isRelate = "true"; } else { document.isRelate = op.isRelate; } document.parentId = op.parentId; formData.parentId = op.parentId; } formData.document = document; formData.viewId = ""; formData.templateForm = ""; if (op.realformId) { //濡傛灉鏄ā鏉胯〃鍗曪紝realformId鏄湡瀹瀎ormID锛岃€屼笉鏄痶emplateForm formData.formId = op.realformId; formData.document.formId = op.realformId; formData.templateForm = op.actionContent; } this.parameterObj = formData; delete this.$route.query.id; //url鍘绘帀id涓嶈瑕嗙洊鍘熸潵鐨刬d formData = { ...formData, ...this.$route.query }; API.runBeforeActionScript( appId, actId, formData, activityType, "", //treedocid "", //flowType { onSucess: (response) => { if (response.data.data) { //濡傛灉鏈夋暟鎹繑鍥烇紝缁撴潫涓嬩竴姝� let resData = response.data.data; let errmsg = response.data.data.content; if (!resData.type) { //娌℃湁type鍊硷紝浣嗘槸鏈夎繑鍥炴暟鎹紝鎶婃暟鎹斁杩沝ocument this.isBlockClick = false; if (resData.changedField) { let items = this.formdata.fields; //formData.document.items; let resDataItem = resData.changedField; if (resDataItem) { for (let j = 0; j < items.length; j++) { for (let i = 0; i < resDataItem.length; i++) { for (let el in resDataItem[i]) { if (items[j].name == el) { formData.document.items[el] = resDataItem[i][el]; items[j].value = resDataItem[i][el]; } } } } } switch (activityType) { case 4: //淇濆瓨骞跺惎鍔ㄦ祦绋� this.saveStartWorkFlow(activityType, actId, act); break; case 8: //鍏抽棴绐楀彛 this.goBack(); this.runAfterAction(actId, activityType, "", "", act); break; case 10: //杩斿洖 this.goBack(activityType, actId, "", act); break; case 11: //淇濆瓨骞惰繑鍥� this.doSave(activityType, actId, "", subDoc, act); break; case 13: // this.execute(appId, actId, formData, act); this.execute({ actId, formData, act }); break; case 14: //缃戦〉鎵撳嵃 this.printForm(act); this.runAfterAction(actId, activityType, "", "", act); break; case 15: //缃戦〉鎵撳嵃_鍖呭惈娴佺▼鎵撳嵃 this.printForm(act); break; case 19: //淇濆瓨鑽夌ǹ this.saveDraft(activityType, actId, act); break; case 21: //淇濆瓨骞跺鍒� this.doSave(activityType, actId, "", "", act); break; case 25: //PDF瀵煎嚭 this.leadingOut(); break; case 26: //鏂囦欢涓嬭浇 this.fileDownload(actId); break; case 30: //鑷畾涔夋墦鍗� this.printForm(act); this.runAfterAction(actId, activityType, "", "", act); break; case 34: //淇濆瓨锛堟牎楠岋級鏁版嵁 this.doSave(activityType, actId, "", subDoc, act); break; case 37: //閫氳繃閭欢鎴栫煭淇¢€氱煡 this.showSendMailOrSmsFlowpanel(act); break; case 42: //淇濆瓨骞舵柊寤� this.doSave(activityType, actId, withOld, "", act); break; case 43: //璺宠浆 this.jumpType(act); break; case 45: //褰掓。 this.placeOnFile(); break; case 46: //绛剧珷 this.isBlockClick = false; this.formSignatureData.showFormSignature = true; break; default: break; } } } else if (resData.type == 1) { this.$notify.success({ title: errmsg, message: "", }); this.isBlockClick = false; } else if (resData.type == 16) { this.$notify({ title: errmsg, message: "", type: "warning", }); this.isBlockClick = false; } else if (resData.type == 32) { this.$confirm(`${errmsg}`, this.$t("tip"), { confirmButtonText: this.$t("msg.confirm"), cancelButtonText: this.$t("btns.cancel"), type: "warning", }) .then(() => { switch (activityType) { case 4: //淇濆瓨骞跺惎鍔ㄦ祦绋� this.saveStartWorkFlow(activityType, actId, act); break; case 8: //鍏抽棴绐楀彛 this.goBack(activityType, actId); this.runAfterAction(actId, activityType, "", "", act); break; case 10: //杩斿洖 this.goBack(activityType, actId, "", act); break; case 11: //淇濆瓨骞惰繑鍥� this.doSave(activityType, actId, "", subDoc, act); break; case 13: // this.execute(appId, actId, formData, act); this.execute({ actId, formData, act }); break; case 14: //缃戦〉鎵撳嵃 this.printForm(act); this.runAfterAction(actId, activityType, "", "", act); break; case 15: //缃戦〉鎵撳嵃_鍖呭惈娴佺▼鎵撳嵃 this.printForm(act); break; case 19: //淇濆瓨鑽夌ǹ this.saveDraft(activityType, actId, act); break; case 21: //淇濆瓨骞跺鍒� this.doSave(activityType, actId, "", "", act); break; case 25: //PDF瀵煎嚭 this.leadingOut(); break; case 26: //鏂囦欢涓嬭浇 this.fileDownload(actId); break; case 28: //鐢靛瓙绛剧珷 this.isBlockClick = false; this.doSignature(act); break; case 30: //鑷畾涔夋墦鍗� this.printForm(act); this.runAfterAction(actId, activityType, "", "", act); break; case 34: //淇濆瓨锛堟牎楠岋級鏁版嵁 this.doSave(activityType, actId, "", subDoc, act); break; case 37: //閫氳繃閭欢鎴栫煭淇¢€氱煡 this.showSendMailOrSmsFlowpanel(act); break; case 42: //淇濆瓨骞舵柊寤� this.doSave(activityType, actId, withOld, "", act); break; case 43: //璺宠浆 this.jumpType(act); break; case 45: //褰掓。 this.placeOnFile(); break; case 46: //绛剧珷 break; default: break; } }) .catch(() => { }); } } else { switch (activityType) { case 4: //淇濆瓨骞跺惎鍔ㄦ祦绋� this.saveStartWorkFlow(activityType, actId, act); break; case 8: //鍏抽棴绐楀彛 this.goBack(activityType, actId); this.runAfterAction(actId, activityType, "", "", act); break; case 10: //杩斿洖 this.goBack(activityType, actId, "", act); break; case 11: //淇濆瓨骞惰繑鍥� this.doSave(activityType, actId, "", subDoc, act); break; case 13: // this.execute(appId, actId, formData, act); this.execute({ actId, formData, act }); break; case 14: //缃戦〉鎵撳嵃 this.printForm(act); this.runAfterAction(actId, activityType, "", "", act); break; case 15: //缃戦〉鎵撳嵃_鍖呭惈娴佺▼鎵撳嵃 this.printForm(act); break; case 19: //淇濆瓨鑽夌ǹ this.saveDraft(activityType, actId, act); break; case 21: //淇濆瓨骞跺鍒� this.doSave(activityType, actId, "", "", act); break; case 25: //PDF瀵煎嚭 this.leadingOut(); break; case 26: //鏂囦欢涓嬭浇 this.fileDownload(actId); break; case 28: //鐢靛瓙绛剧珷 this.isBlockClick = false; this.doSignature(act); break; case 30: //鑷畾涔夋墦鍗� this.printForm(act); this.runAfterAction(actId, activityType, "", "", act); break; case 34: //淇濆瓨锛堟牎楠岋級鏁版嵁 this.doSave(activityType, actId, "", subDoc, act); break; case 37: //閫氳繃閭欢鎴栫煭淇¢€氱煡 this.showSendMailOrSmsFlowpanel(act); break; case 42: //淇濆瓨骞舵柊寤� this.doSave(activityType, actId, withOld, "", act); break; case 43: //璺宠浆 this.jumpType(act); break; case 45: //褰掓。 this.placeOnFile(); break; case 46: //绛剧珷 this.formSignatureData.showFormSignature = true; break; default: break; } if (isOrRefresh) { this.refresh(id); } } }, } ); }, time); }, //鎵ц鑴氭湰鍚� runAfterAction(actId, num, withOld, subDoc, act) { let op = this.openParams; let that = this; let appId = op.appId; let formData = this.parameterObj; let docId = ""; let bf = this.buildFormData(); if (this.copyFormData) { //澶嶅埗鏃跺瓨鍦� docId = this.copyFormData.id; } else { docId = bf.id; } let _bfd = bf; let formId = _bfd.formId; let viewId = ""; let _templateForm = ""; if (formData.templateForm) { _templateForm = formData.templateForm; } let _ = new Date().getTime(); let parentId = _bfd.parentId; delete this.$route.query.id; formData = { ...formData, ...this.$route.query }; //鑾峰彇url鍙傛暟锛屽幓鎺塽rl鐨刬d涓嶈瑕嗙洊鍘熸潵鐨刬d API.runAfterActionScript( appId, actId, docId, viewId, formId, _templateForm, parentId, _, formData, act.type, "", //treedocid { onSucess: (response) => { this.isBlockClick = false; if (response.data.errcode == 0) { if (response.data.data) { let resData = response.data.data; let errmsg = response.data.data.content; if (errmsg.content) { if (errmsg.type == 1) { this.$notify.success({ title: errmsg.content, message: "", }); if (num == 34) { this.initForm({ //淇濆瓨鍚庨噸鏂板姞杞介〉闈㈡暟鎹紝鍏朵粬鎸夐挳涔熻鎵ц璇ユ搷浣� appId, formId, docId, }); } } } else { if (!resData.type) { //娌℃湁type鍊硷紝浣嗘槸鏈夎繑鍥炴暟鎹紝鎶婃暟鎹斁杩沝ocument if (resData.changedField) { let items = this.formdata.fields; //formData.document.items; let resDataItem = resData.changedField; if (resDataItem) { for (let j = 0; j < items.length; j++) { for (let i = 0; i < resDataItem.length; i++) { for (let el in resDataItem[i]) { if (items[j].name == el) { formData.document.items[el] = resDataItem[i][el]; items[j].value = resDataItem[i][el]; } } } } } } } else if (resData.type == 1) { this.$notify.success({ title: errmsg, message: "", }); if (num == 34) { this.initForm({ //淇濆瓨鍚庨噸鏂板姞杞介〉闈㈡暟鎹紝鍏朵粬鎸夐挳涔熻鎵ц璇ユ搷浣� appId, formId, docId, }); } } else { this.$notify.success({ title: errmsg, message: "", }); } } } else { if (num == 4) { this.initForm({ appId, formId, docId, }); } else if (num == 11) { //鍏抽棴褰撳墠椤� setTimeout(function () { that.goBack(); }, 500); } else if (num == 21) { //淇濆瓨骞跺鍒� this.copyDoc(); } else if (num == 42) { //淇濆瓨骞堕噸寤� setTimeout(() => { if (withOld) { //淇濈暀鏃ф暟鎹� that.$parent.reloading(docId); } else { this.initForm({ appId, formId, docId: "", }); } }, 500); } else if (num == 34) { let openParams = this.openParams; let isSave = ""; isSave = true; if ( openParams.isIncludeCreate && openParams.isIncludeCreate == "include" ) { this.$emit("action", isSave); } else if ( (openParams.isTabCreate && openParams.isTabCreate == "tab") || openParams.showtype == "tab" ) { //閫夐」鍗� this.$emit("action", isSave); } if ( openParams.homeWidgetType && openParams.homeWidgetType == "system_workflow" ) { this.$store.dispatch("getPendingListWithWidget"); //淇濆瓨瀹屾瘯鍚庨椤垫祦绋嬪鐞唚idget鏁版嵁閲嶆柊鍒锋柊 this.$store.dispatch("getProcessedListWithWidget"); } if (openParams.type == 277) { that.goBack(num); } let isIncludeViewRefresh = this.$store.state.isIncludeViewRefresh; if (isIncludeViewRefresh && subDoc && subDoc.length > 0) { //鏄寘鍚厓绱犵綉鏍艰鍥惧苟瑕佸埛鏂� that.$parent.reloading(); let obj = { data: [], isRefresh: false, }; this.$store.commit("saveSubDocuments", obj); //淇濆瓨鎴愬姛鍚庨噸鏂版妸鍖呭惈鍏冪礌缃戞牸瑙嗗浘鐨勬暟鎹竻绌� } this.initForm({ //淇濆瓨鍚庨噸鏂板姞杞介〉闈㈡暟鎹紝鍏朵粬鎸夐挳涔熻鎵ц璇ユ搷浣� appId, formId, docId, }); let list = this.formdata.fields; for (let i = 0; i < list.length; i++) { if (list[i].isModified) { let data = { fieldName: list[i].name, _: new Date().getTime(), }; let docId = list[i].docId; this.$store.dispatch("getOperationLog", { appId, docId, data, }); } } this.$store.commit("SET_SUBDOCUMENTS_DATA", { //淇濆瓨鍚庢竻绌簊tore閲岀殑缃戞牸瑙嗗浘鐨勬暟鎹� op: "", view: "", _afd: "", _dl: "", }); this.$store.commit("saveSubDocuments", { data: [], isRefresh: false, }); } } if (num == 13) { //鑷畾涔夋寜閽� this.customBtnOperation(act.actionType, appId, formId, docId); } } }, } ); }, //閲嶆瀯鑷畾涔夈€佹櫘閫氭寜閽殑鍔熻兘 //鏅€氭寜閽�(type=11: 姣斿: 鑰冭瘯鐢虫姤->璧勬牸璇佹姤鍚嶇鐞�->鎶ュ悕浜哄憳->鎶ュ悕->鎻愪氦鎸夐挳), //鑷畾涔夋寜閽�(type=13: 姣斿: 鎶ュ悕瀹℃牳 ->瀛﹀憳绠$悊->鏉愭枡瀹℃牳->鎻愪氦瀹℃牳) v3ActionSubmit(actId, isOrRefresh, id, activityType, withOld, act) { this.isBlockClick = false; let op = this.openParams; let appId = op.appId; let formData = ""; let documentId = ""; if (this.copyFormData) { //澶嶅埗鏂囨。鏃跺瓨鍦� let cf = this.copyFormData; formData = this.buildFormData(); //褰撳鍒舵椂鏁版嵁涓嶅彉锛屽彧鏀瑰彉id鍊� formData.docId = cf.id; formData.id = cf.id; documentId = cf.id; } else { let bf = this.buildFormData(); formData = bf; formData.docId = bf.id; documentId = bf.id; } let subDocuments = []; let versions = ""; let templateForm = ""; let subDoc = this.$store.state.subDocuments; let haveViewGridview = this.haveViewGridview; let time = 0; if (haveViewGridview) { //濡傛灉鏈夌綉鏍艰鍥� this.$store.commit("SET_SAVESUBDOCMENTS", { randomId: new Date().getTime(), docId: formData.docId, }); time = 100; } setTimeout(() => { let subDocData = this.$store.state.subDocumentsData; if (subDoc && subDoc.length > 0) { //鍒ゆ柇鏄惁鏄寘鍚厓绱犵綉鏍艰鍥� subDocuments = subDoc; versions = formData.versions; delete formData.subDocuments; delete formData.versions; delete formData.templateForm; } else if (subDocData && haveViewGridview) { //缃戞牸瑙嗗浘锛岀湅store.js subDocuments = this.setAllSubDocmentsData(subDocData); } else { subDocuments = formData.subDocuments; versions = formData.versions; } let document = { applicationId: op.appId, formId: formData.formId, id: documentId, items: formData.items, parentId: formData.parentId, sign: formData.sign, subDocuments: subDocuments, versions: versions, exparams: {}, templateForm: templateForm, }; delete formData.items; let subSelects = this.subSelects; if (subSelects.length > 0) { formData.subSelects = subSelects; } if (op.parentId) { if (op.isRelate === true || op.isRelate === "true") { document.isRelate = "true"; } else { document.isRelate = op.isRelate; } document.parentId = op.parentId; formData.parentId = op.parentId; } formData.document = document; formData.viewId = ""; formData.templateForm = ""; if (op.realformId) { //濡傛灉鏄ā鏉胯〃鍗曪紝realformId鏄湡瀹瀎ormID锛岃€屼笉鏄痶emplateForm formData.formId = op.realformId; formData.document.formId = op.realformId; formData.templateForm = op.actionContent; } this.parameterObj = formData; //閲嶆瀯start let treedocid = ""; let flowType = ""; let step = "BeforeAction"; let req = { step, appId, actId, formData, activityType, treedocid, flowType, }; this.v3Activities( step, appId, actId, formData, activityType, treedocid, flowType, act ); //閲嶆瀯鎵ц鍓嶄唬鐮� //閲嶆瀯end }, time); }, v3Activities( step, appId, actId, formData, activityType, treedocid, flowType, act ) { this.isBlockClick = true; API.v3ActivitiesApi( step, appId, actId, formData, activityType, treedocid, flowType, { onSucess: (response) => { let errcode = response.data.errcode; let errmsg = response.data.errmsg; let errorsList = response.data.errors; this.isBlockClick = false; if (errcode == 4001) { this.isBlockClick = false; let promptData = ""; if (errorsList && errorsList.length > 0) { errorsList.forEach((item) => { promptData += item.errmsg + "\n"; }); } this.promptBox(errcode, errmsg, promptData); //閿欒鎻愮ず锛屽涓枃瀛楀惊鐜垽鏂�-鎹㈣ return; } // alert(response.data.errcode) // console.log(response.data.errcode) // if(response.data.data&&response.data.data.type==32){//鎵ц鍓嶈繘鍏ユ墽琛屽悗 // this.$confirm(`${errmsg}`, this.$t('tip'), { // confirmButtonText: this.$t('msg.confirm'), // cancelButtonText: this.$t('btns.cancel'), // type: "warning", // }).then(() => { // let step=response.data.data.next-step // this.v3Activities(step,appId,actId,formData,activityType,treedocid,flowType) //閲嶆瀯鎵ц鍓嶄唬鐮� // }).catch((error)=>{}) // return // }else if(response.data.errcode==0){//55--鑷畾涔夋寜閽�13杩斿洖 // this.goBack(); // return // } if (response.data.data) { //濡傛灉鏈夋暟鎹繑鍥烇紝缁撴潫涓嬩竴姝� let resData = response.data.data; let errmsg = response.data.data.content; if (!resData.type) { //娌℃湁type鍊硷紝浣嗘槸鏈夎繑鍥炴暟鎹紝鎶婃暟鎹斁杩沝ocument this.isBlockClick = false; if (resData.changedField) { let items = this.formdata.fields; //formData.document.items; let resDataItem = resData.changedField; if (resDataItem) { for (let j = 0; j < items.length; j++) { for (let i = 0; i < resDataItem.length; i++) { for (let el in resDataItem[i]) { if (items[j].name == el) { formData.document.items[el] = resDataItem[i][el]; items[j].value = resDataItem[i][el]; } } } } } switch (activityType) { case 4: //淇濆瓨骞跺惎鍔ㄦ祦绋� this.saveStartWorkFlow(activityType, actId, act); break; case 8: //鍏抽棴绐楀彛 this.goBack(); this.runAfterAction(actId, activityType, "", "", act); break; case 10: //杩斿洖 this.goBack(activityType, actId, "", act); break; case 11: //淇濆瓨骞惰繑鍥� this.doSave(activityType, actId, "", subDoc, act); break; case 13: // this.execute(appId, actId, formData, act); this.execute({ actId, formData, act }); break; case 14: //缃戦〉鎵撳嵃 this.printForm(act); this.runAfterAction(actId, activityType, "", "", act); break; case 15: //缃戦〉鎵撳嵃_鍖呭惈娴佺▼鎵撳嵃 this.printForm(act); break; case 19: //淇濆瓨鑽夌ǹ this.saveDraft(activityType, actId, act); break; case 21: //淇濆瓨骞跺鍒� this.doSave(activityType, actId, "", "", act); break; case 25: //PDF瀵煎嚭 this.leadingOut(); break; case 26: //鏂囦欢涓嬭浇 this.fileDownload(actId); break; case 30: //鑷畾涔夋墦鍗� this.printForm(act); this.runAfterAction(actId, activityType, "", "", act); break; case 34: //淇濆瓨锛堟牎楠岋級鏁版嵁 this.doSave(activityType, actId, "", subDoc, act); break; case 37: //閫氳繃閭欢鎴栫煭淇¢€氱煡 this.showSendMailOrSmsFlowpanel(act); break; case 42: //淇濆瓨骞舵柊寤� this.doSave(activityType, actId, withOld, "", act); break; case 43: //璺宠浆 this.jumpType(act); break; case 45: //褰掓。 this.placeOnFile(); break; case 46: //绛剧珷 this.isBlockClick = false; this.formSignatureData.showFormSignature = true; break; default: break; } } } else if (resData.type == 1) { this.$notify({ title: errmsg, message: "", type:'warning' }); this.isBlockClick = false; } else if (resData.type == 16) { this.$notify({ title: errmsg, message: "", type: "warning", }); this.isBlockClick = false; } else if (resData.type == 32) { this.$confirm(`${errmsg}`, this.$t("tip"), { confirmButtonText: this.$t("msg.confirm"), cancelButtonText: this.$t("btns.cancel"), closeOnClickModal: false, type: "warning", }).then(() => { let step = response.data.data["next-step"] this.v3Activities(step, appId, actId, formData, activityType, treedocid, flowType) //閲嶆瀯鎵ц鍓嶄唬鐮� }).catch(() => { this.isBlockClick = false; }); } } else if (response.data.errcode == 0) {//璇锋眰鎴愬姛杩斿洖 console.log('response.data', response.data) console.log('activityType', activityType) if (response.data.actionStep === 'AfterAction' && activityType == 34) {//activityType=34鎵嶆彁绀� this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' }) } if (response.data.actionStep === 'AfterAction' && activityType == 13) {//activityType=13鎵嶆彁绀� this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' }) } this.goBack(); return } }, } ); }, setSubDocmentsData(data) { let _afd = data._afd; let _dl = data._dl; if (_afd && _afd.length > 0) { for (let i = 0; i < _afd.length; i++) { for (let j = 0; j < _dl.length; j++) { if (_afd[i].docId == _dl[j].id) { let fields = _afd[i].data.fields; let items = _dl[j].items; for (let key in items) { for (let z = 0; z < fields.length; z++) { if (items[key].id == fields[z].id) { items[key].value = fields[z].value; } } } } } } } let arr = []; let dataList = data._dl; let view = data.view; let op = data.op; for (let i = 0; i < dataList.length; i++) { let obj = JSON.parse(JSON.stringify(dataList[i])); if (op.parentId) { obj.parentId = op.parentId; } if (op.isRelate === true || op.isRelate === "true") { obj.isRelate = "true"; } else { obj.isRelate = op.isRelate; } obj.items = {}; for (let j = 0; j < view.columns.length; j++) { for (let key in dataList[i].items) { if (key == view.columns[j].id) { obj.items[dataList[i].items[key].name] = dataList[i].items[key].value; if (dataList[i].edit) { obj.edit = true; } else { //鏆傛椂娌℃兂鍒板叾浠栧ソ鏂规硶锛屽彧鑳藉叏閮ㄩ兘缁檈dit淇濆瓨浜� obj.edit = true; } } } } arr.push(obj); } return arr; }, setAllSubDocmentsData(data) { let docId = this.formdata.docId; let subDoc = data[docId]; let arr = []; if (Object.values(data).length > 0) { for (let key in subDoc) { // arr.push(subDoc[key]) arr = arr.concat(subDoc[key]); } } return arr; }, //鐢靛瓙绛剧珷 doSignature() { let that = this; let posid = "formTemplate_" + this.formTemplateDocid + "_1"; let signatureCreator = Signature.create(); signatureCreator.run({ protectedItems: [], //璁剧疆瀹氫綅椤甸潰DOM鐨刬d锛岃嚜鍔ㄦ煡鎵綢D锛岃嚜鍔ㄨ幏鍙栦繚鎶OM鐨刱g-desc灞炴€т綔涓轰繚鎶ら」鎻忚堪锛寁alue灞炴€т负淇濇姢鏁版嵁銆備笉璁剧疆锛岃〃绀轰笉淇濇姢鏁版嵁锛岀绔犳案杩滄湁鏁堛€� position: posid, //璁剧疆鐩栫珷瀹氫綅dom鐨処D锛屽繀椤昏缃� okCall: function (fn, image) { //鐐瑰嚮纭畾鍚庣殑鍥炶皟鏂规硶锛宼his涓虹绔犲璞� ,绛剧珷鏁版嵁鎾ら攢鏃讹紝灏嗗洖璋冩鏂规硶锛岄渶瑕佸疄鐜扮绔犳暟鎹寔涔呭寲锛堜繚瀛樻暟鎹埌鍚庡彴鏁版嵁搴擄級,淇濆瓨鎴愬姛鍚庡繀椤诲洖璋僨n(true/false)娓叉煋绛剧珷鍒伴〉闈笂 // console.log("鐩栫珷ID锛�"+this.getSignatureid()); // console.log("鐩栫珷鏁版嵁锛�"+this.getSignatureData()); // var result = {"data":{}}; var json = {}; var docId = that.buildFormData().id; var signatureData = Signature.verifySignByList([this])[0]; //杩斿洖绛剧珷淇℃伅 (signatureData.documentid = docId), (signatureData.documentname = docId), (signatureData.position = posid); var imgData = image.imgdata; //杩斿洖绛剧珷鍥剧墖base64鏁版嵁 json.signatureData = signatureData; json.imgData = imgData; (json.userId = that.$root.user.id), //that.$store.state.userId; //user鍐欐浜� (json.nodeId = ""); json.stateLabel = ""; fn(true); var signatureCreator = Signature.create(); var list = Signature.list; json.signatureId = this.signatureid; that.$api.saveHTMLsignature(that.$root.appid, docId, json, { onSucess: (res) => { if (res.data.errcode === 4001) { Signature.hide(); //闅愯棌绛剧珷 Toast({ message: res.data.errmsg, iconClass: "fa fa-close fa-2x", }); return; } else { for (var key in list) { signatureCreator.saveSignature( docId, key, list[key].getSignatureData() ); } } }, }); }, cancelCall: function () { //鐐瑰嚮鍙栨秷鍚庣殑鍥炶皟鏂规硶 }, }); }, //鑷畾涔夋寜閽搷浣� customBtnOperation(actionType, appId, formId, docId) { switch (actionType) { case 0: this.initForm({ //淇濆瓨鍚庨噸鏂板姞杞介〉闈㈡暟鎹紝鍏朵粬鎸夐挳涔熻鎵ц璇ユ搷浣� appId, formId, docId, }); let list = this.formdata.fields; for (let i = 0; i < list.length; i++) { if (list[i].isModified) { let data = { fieldName: list[i].name, _: new Date().getTime(), }; let docId = list[i].docId; this.$store.dispatch("getOperationLog", { appId, docId, data }); } } break; case 1: this.goBack(); break; case 2: this.goBack(); break; case 3: break; default: break; } }, //淇濆瓨锛堟牎楠岋級鏁版嵁 doSave(num, actId, withOld, subDoc, act) { // debugger console.log(777); let openParams = this.openParams; let that = this; let transferrData = ""; let id = ""; let formId = ""; if (this.copyFormData) { //澶嶅埗鏃跺瓨鍦� transferrData = this.buildFormData(); //this.copyFormData id = this.copyFormData.id; transferrData.id = id; } else { let bf = this.buildFormData(); transferrData = bf; id = bf.id; } if (openParams.parentId) { transferrData.parentId = openParams.parentId; } else { transferrData.parentId = ""; } if (openParams.isRelate === true || openParams.isRelate === "true") { transferrData.isRelate = "true"; } else { transferrData.isRelate = ""; } let subDocData = this.$store.state.subDocumentsData; if (subDoc && subDoc.length > 0) { //鍖呭惈鍏冪礌缃戞牸瑙嗗浘 transferrData.subDocuments = subDoc; } else if (subDocData && this.haveViewGridview) { //缃戞牸瑙嗗浘锛岀湅store.js transferrData.subDocuments = this.setAllSubDocmentsData(subDocData); } if (openParams.realformId) { //濡傛灉鏄ā鏉胯〃鍗曪紝realformId鏄湡瀹瀎ormID锛岃€屼笉鏄痶emplateForm transferrData.templateForm = openParams.actionContent; transferrData.formId = openParams.realformId; formId = openParams.realformId; } else { formId = this.formdata.formId; } delete this.$route.query.id; transferrData = { ...transferrData, ...this.$route.query }; //鑾峰彇url鍙傛暟锛屽幓鎺塱d涓嶈瑕嗙洊鍘熸潵鐨刬d API.saveDocument(openParams.appId, formId, id, transferrData, { onSucess: (response) => { let errcode = response.data.errcode; let errmsg = response.data.errmsg; let errorsList = response.data.errors; if (errcode == 4001) { this.isBlockClick = false; let promptData = ""; if (errorsList && errorsList.length > 0) { errorsList.forEach((item) => { promptData += item.errmsg + "\n"; }); } this.promptBox(errcode, errmsg, promptData); //閿欒鎻愮ず锛屽涓枃瀛楀惊鐜垽鏂�-鎹㈣ } else if (errcode == 0) { that.promptBox(errcode, errmsg).then(() => { this.runAfterAction(actId, num, withOld, subDoc, act); }); if (num == 42) { //淇濆瓨鍚庨噸寤� if ( openParams.isIncludeCreate && openParams.isIncludeCreate == "include" ) { this.$emit("action"); } else if (openParams.type && openParams.type == 277) { this.$emit("action", true); } } if (response.data.data.items && num != 42) { this.oldBuildFormData = response.data.data.items; } // debugger // if(!openParams.isFlowCenterCreate) { //娴佺▼涓績澶勫彂璧锋柊寤猴紝淇濆瓨鍚庝細閲嶆柊鍔犺浇鏁翠釜琛ㄥ崟椤甸潰锛屼负浜嗕笉鍒锋柊椤甸潰锛屽垽鏂潪娴佺▼涓績鎵嶆墽琛屼笅涓€姝�(m 蹇樹簡鏄笉鏄垜鍐欑殑锛屼絾鏄繖閲屽鑷存櫘閫氳〃鍗曚繚瀛樺悗锛屾柊寤轰簡) // this.$parent.$parent.refreshView(openParams); //鏅€氳鍥句繚瀛樻垚鍔熷悗鍒锋柊瑙嗗浘椤甸潰 // } } }, }); }, //澶嶅埗鏂囨。 copyDoc() { let appId = this.openParams.appId; let docId = ""; let doc = {}; let formData = ""; let bf = this.buildFormData(); if (this.copyFormData) { //澶嶅埗鏃跺瓨鍦� formData = bf; formData.id = this.copyFormData.id; docId = this.copyFormData.id; doc.document = formData; } else { formData = bf; docId = bf.id; doc.document = formData; } delete doc.document.items.button_act; delete doc.document.items.null; delete doc.document.items.undefined; API.copeDocument(appId, docId, doc, { onSucess: (response) => { this.copyFormData = this.buildFormData(); this.copyFormData.id = response.data.data.id; }, }); }, //淇濆瓨鑽夌ǹ(19) saveDraft(num, actId, act) { let that = this; let formData = ""; if (this.copyFormData) { //澶嶅埗鏃跺瓨鍦� formData = this.buildFormData(); formData.id = this.copyFormData.id; } else { formData = this.buildFormData(); } delete formData.items.button_act; delete formData.items.null; delete formData.items.undefined; API.saveWithoutValidDocument( this.openParams.appId, formData.id, formData, { onSucess: (response) => { if (response.data.errcode == 0) { let errcode = response.data.errcode; let errmsg = response.data.errmsg; this.promptBox(errcode, errmsg).then((data) => { that.runAfterAction(actId, num, "", "", act); }); } }, } ); }, //杩斿洖 /** * num涓烘寜閽被鍨媡ype */ goBack(num, actId, isFlowPanel, act) { // debugger let params = this.openParams; if (params.isOpenNewWindow) { //濡傛灉鏄柊绐楀彛鎵撳紑 //|| (top == window 瀵艰嚧淇濆瓨骞惰繑鍥烇紝鎻愪氦娴佺▼绛夊叧闂〉绛炬棤娉曟墽琛�) window.close(); } else if (params.isExternalLink) { //澶栭摼,鎵撳紑鐨勬槸opener缁勪欢 if (params.isOpenDialog) { //寮圭獥鎵撳紑 window.parent.handleClose(); } else { this.$emit("onAction", "", true); } } else if ( params.isIncludeCreate && params.isIncludeCreate == "include" && !(params.openType && params.openType == 293) ) { //鍖呭惈鍏冪礌 this.$emit("action"); } else if (params.isTabCreate && params.isTabCreate == "tab") { //閫夐」鍗� this.$emit("action"); } else if (params.type && params.type == 277) { let isSave = ""; if (num && num == 34) { isSave = true; } this.$emit("action", isSave); } else if (isFlowPanel) { //鎵撳紑浜嗘彁浜ら潰鏉匡紝鎻愪氦娴佺▼鍚庡叧闂〃鍗曟爣绛撅紝浣嗘槸绗竴涓猧f宸茬粡鍒ゆ柇浜嗭紝杩欓噷鏆傛椂鍚庣画鍐嶇湅锛屽厛涓嶅垹闄� let tab = params; this.$parent.doBack(); // let havePar = false; // let par = ''; // while(!havePar) { // par = par + '.$parent'; // let url = 'this' + par + '.onCloseBtnClick'; // if(eval(url)) { // let path = url + '(' + JSON.stringify(tab) +')'; // eval(path); // break // } // } // let tab = this.openParams; // this.$parent.$parent.onCloseBtnClick(tab); } else if (params.isPopupLayerDisplay) { //濡傛灉鏄脊鍑哄眰鎵撳紑鐨勮鍥炬墦寮€鐨勮〃鍗� this.$emit("popupOpenType", "VIEW"); this.$emit("action"); } else { if (num && num == 8) { if (this.isClickGoBackBtn) { return; } } let tab = params; this.isClickGoBackBtn = true; if (params.allowOpenDoc && params.allowOpenDoc == true) { this.$parent.$parent.handleDocumentClose(); //瑙嗗浘閫夋嫨妗嗗厑璁告煡鐪嬫枃妗g偣鍑昏繑鍥炴寜閽脊妗唂alse } else { // this.$parent.$parent.onCloseBtnClick(tab); this.$parent.doBack(); } } if (num && num == 10) { //杩斿洖鎸夐挳鎵ц鎵ц鍚庤剼鏈� this.runAfterAction(actId, num, "", "", act); } }, printPage() { let newWindow = window.open("_blank"); // 鎵撳紑鏂扮獥鍙� let codestr = document.getElementById("print").innerHTML; // 鑾峰彇闇€瑕佺敓鎴恜df椤甸潰鐨刣iv浠g爜 newWindow.document.write(codestr); // 鍚戞枃妗e啓鍏TML琛ㄨ揪寮忔垨鑰匤avaScript浠g爜 newWindow.document.close(); // 鍏抽棴document鐨勮緭鍑烘祦, 鏄剧ず閫夊畾鐨勬暟鎹� setTimeout(() => { newWindow.print(); }, 100); }, //鎵撳嵃鏁版嵁 printForm(act) { this.isBlockClick = false; if (act.type == 14) { this.printParams.formId = this.formdata.formId; this.printParams.docId = this.formdata.docId; let routeData = this.$router.resolve({ name: "formPrint", query: { appId: this.openParams.appId, formId: this.formdata.formId, docId: this.formdata.docId, printType: act.type, }, }); window.open(routeData.href, "_blank"); } else if (act.type == 30) { this.printParams.formId = this.formdata.formId; this.printParams.docId = this.formdata.docId; let routeData = this.$router.resolve({ name: "formPrint", query: { appId: this.openParams.appId, onActionPrint: act.onActionPrint, docId: this.formdata.docId, printType: act.type, }, }); window.open(routeData.href, "_blank"); } }, //褰掓。 placeOnFile() { let appId = this.openParams.appId; let docId = this.buildFormData().id; API.Archive(appId, docId, { onSucess: () => { this.isBlockClick = false; }, }); }, //鏂囦欢涓嬭浇 fileDownload(actId) { let appId = this.openParams.appId; let docId = this.buildFormData().id; API.documentDownload(appId, docId, actId, { onSucess: (res) => { this.isBlockClick = false; let path = res.data.data; if ( path && (path.indexOf("https://") > -1 || path.indexOf("http://") > -1) ) { window.open(encodeURI(path)); return false; } let url = obpmConfig.obpmFilePath + path; // window.open(url); const elink = document.createElement("a"); let arr = path.split("/"); elink.download = arr[arr.length - 1]; elink.style.display = "none"; elink.href = url; document.body.appendChild(elink); elink.click(); URL.revokeObjectURL(elink.href); document.body.removeChild(elink); // let fileName = ""; // let type = response.headers['content-type']; // if(response.headers['content-disposition']) { // fileName = decodeURIComponent(response.headers['content-disposition'].split("=")[1]); // }else { // fileName="涓嬭浇"; // } // if(response.data.size >0){ // this.download(response, type, fileName); // }else { // this.$notify({ // title: this.$t('form.warning'), // message: '鏂囦欢涓嶅瓨鍦�', // type: 'warning' // }); // } }, onError: () => { this.isBlockClick = false; this.$notify({ title: this.$t("form.warning"), message: this.$t("view.nofile"), type: "warning", }); }, }); }, setHtmlReadnoly(isRead) { let data = this.formdata; const loopOpe = (fields) => { for (let i = 0; i < fields.length; i++) { if (isRead) { if (fields[i].displayType == Constant.PermissionType_MODIFY) { fields[i].originalDisplayType = Constant.PermissionType_MODIFY; fields[i].displayType = Constant.PermissionType_READONLY; } } else { if (fields[i].originalDisplayType) { fields[i].displayType = fields[i].originalDisplayType; } } if (!fields[i].isComment) { if (fields[i].tabs && fields[i].tabs.length > 0) { for (let j = 0; j < fields[i].tabs.length; j++) { if ( fields[i].tabs[j].fields && fields[i].tabs[j].fields.length > 0 ) { loopOpe(fields[i].tabs[j].fields); } } } } } }; if (data.fields && data.fields.length > 0) { loopOpe(data.fields); } this.formdata = data; }, //PDF瀵煎嚭 leadingOut() { let appId = this.openParams.appId; let _bf = this.buildFormData(); let docId = _bf.id; //__HIyNvkSUkqN1PsZOicZ let formId = _bf.formId; this.setHtmlReadnoly(true); setTimeout(() => { let domId = "formTemplate_" + docId.replace(/_/g, ""); //formTemplate_HIyNvkSUkqN1PsZOicZ let htmlBody = document.getElementById(domId).innerHTML; let linkCss = "<link rel='stylesheet' href='pdf.css'></link>"; htmlBody += linkCss; let params = { htmlBody, }; let statiContextPath = obpmConfig.statiContextPath; this.setHtmlReadnoly(false); if (statiContextPath) { //5.0 trunk API.trunkPDFExport(appId, formId, docId, params, { onSucess: (res) => { this.isBlockClick = false; let url = obpmConfig.obpmFilePath + res.data.data; window.open(url); }, }); } else { //4.4 stable API.stablePDFExport(appId, formId, docId, { onSucess: (response) => { this.isBlockClick = false; // 鑾峰彇鍦╮esponse headers涓繑鍥炵殑涓嬭浇鏂囦欢绫诲瀷 let type = response.headers["content-type"]; /*鑾峰彇鍦╮esponse headers涓繑鍥炵殑涓嬭浇鏂囦欢鍚� 鍥犱负杩斿洖鏂囦欢鍚嶆槸閫氳繃encodeURIComponent()鍑芥暟杩涜浜嗙紪鐮侊紝鍥犳闇€瑕侀€氳繃decodeURIComponent()鍑芥暟瑙g爜 */ let fileName = decodeURIComponent( response.headers["content-disposition"].split("=")[1] ); // 璋冪敤灏佽濂界殑涓嬭浇鍑芥暟 this.download(response, type, fileName); }, }); } }, 100); }, download(res, type, filename) { const blob = new Blob([res.data], { // 濡傛灉鍚庣娌¤繑鍥炰笅杞芥枃浠剁被鍨嬶紝鍒欓渶瑕佹墜鍔ㄨ缃細type: 'application/pdf;chartset=UTF-8' 琛ㄧず涓嬭浇鏂囨。涓簆df锛屽鏋滄槸word鍒欒缃负msword锛宔xcel涓篹xcel type: type, }); const a = document.createElement("a"); const herf = window.URL.createObjectURL(blob); // 涓嬭浇閾炬帴 a.href = herf; // 涓嬭浇鏂囦欢鍚�,濡傛灉鍚庣娌℃湁杩斿洖锛屽彲浠ヨ嚜宸卞啓a.download = '鏂囦欢.pdf' a.download = filename; document.body.appendChild(a); a.click(); document.body.removeChild(a); window.URL.revokeObjectURL(herf); }, //鍏抽棴璺宠浆鎸夐挳鎵撳紑鐨勭獥鍙� closeDialog() { this.jumpPopup = false; if (this.isDialogOpenExternalLink) { let appId = this.openParams.appId; let bf = this.buildFormData(); let formId = bf.formId; let docId = bf.id; this.initForm({ appId, formId, docId, }); } }, //璁$畻鑴氭湰a鏍囩璺宠浆 scriptJump(openType, params, jumpType, styleParams) { let newparams = JSON.parse(params)[0]; newparams.name = this.formdata.formTemplate.formName; if (jumpType === "opendocument") { if (openType == "open-eject" || openType == "dialog") { if (styleParams) { styleParams = JSON.parse(styleParams); } let screen = document.documentElement.clientHeight; let dialogHeight = styleParams.dialogHeight; if (dialogHeight) { let dh = dialogHeight.split("px")[0]; if (dh > screen) { styleParams.dialogHeight = screen - 80 + "px"; } else { styleParams.dialogHeight = dh - 80 + "px"; } } this.isJumpForm = true; newparams.dialogId = "dialog_normalform_" + this.openParams.actionContent; //鐢ㄤ簬寮圭獥鎵撳紑琛ㄥ崟鏈夊寘鍚厓绱犳椂锛岃绠楀寘鍚厓绱犲搴� this.jumpParams = newparams; this.jumpPopupStyle = styleParams; this.jumpPopup = true; } else if (openType == "open-present") { newparams.isCurrentPageOpen = true; this.$emit("openNewpage", newparams); } else if (openType == "open-blank") { let routeData = this.$router.resolve({ name: "open", query: newparams, }); window.open(routeData.href, "_blank"); } else { //榛樿鐢╰ab鏂瑰紡鎵撳紑 this.$emit("add-tab", newparams); } } else if (jumpType === "openview") { if (openType == "open-eject" || openType == "dialog") { this.isJumpView = true; this.jumpParams = newparams; this.jumpPopup = true; this.popupLayerType = "VIEW"; } else if (openType == "open-present") { newparams.isCurrentPageOpen = true; this.$emit("openNewpage", newparams); } else if (openType == "open-blank") { let routeData = this.$router.resolve({ name: "view_blank", query: newparams, }); window.open(routeData.href, "_blank"); } else { //榛樿鐢╰ab鏂瑰紡鎵撳紑 this.$emit("add-tab", newparams); } } else if (jumpType === "jumpto") { // let routeData = this.$router.resolve({ // name: "open", // query: newparams, // }); // window.open(routeData.href, "_blank"); window.open(newparams.actionContent); } }, //璺宠浆 jumpType(act) { let _op = this.openParams; let name = act.name; if (act.jumpMode === 0) { let actId = act.targetList.split("|")[0]; let params = { linkType: "00", appId: this.openParams.appId, actionContent: actId, _select: "", name, }; if (_op.isOpenNewWindow == "true") { params.isCurrentPageOpen = true; } let isExternalLink = false; switch (act.jumpActOpenType) { case 0: if (!isExternalLink) { params.isCurrentPageOpen = true; // this.openNewpage(params) this.$emit("openNewpage", params); this.runAfterAction(act.id, act.type, "", "", act); } break; case 1: this.isJumpForm = true; if (!isExternalLink) { params.isPopupLayerDisplay = true; this.jumpParams = params; this.jumpPopup = true; this.popupLayerType = "VIEW"; this.runAfterAction(act.id, act.type, "", "", act); } else { this.jumpParams = params; this.jumpPopup = true; } break; case 2: if (!isExternalLink) { this.$emit("add-tab", params); this.runAfterAction(act.id, act.type, "", "", act); } break; case 3: if (!isExternalLink) { params.isOpenNewWindow = true; //鍒ゆ柇鏄柊绐楀彛鎵撳紑 let routeData = this.$router.resolve({ // name: "form_blank", name: "open", query: params, }); window.open(routeData.href, "_blank"); this.runAfterAction(act.id, act.type, "", "", act); } break; case 4: break; default: break; } } else if (act.jumpMode === 1) { let subSelects = this.subSelects; let subSelectId = ""; if (subSelects && subSelects.length > 0) { subSelectId = subSelects.join(";"); } this.$api.runScript( this.openParams.appId, act.id, this.buildFormData().id, "dispatcherUrl", "", subSelectId, { onSucess: (res) => { if (res.data.errcode === 0) { this.isBlockClick = false; let url = res.data.data; let urlParams = ""; if (url.indexOf("?") > -1) { urlParams = url.split("?")[1]; } let isForm = url.search("form.html") != -1; let isView = url.search("view.html") != -1; let isOpenCurrentSoftwareData = url.search("open?") != -1; let urlArrayF = url.split("?"); let urlArray = ""; if (urlArrayF[1]) { urlArray = urlArrayF[1].split("&"); } this.isJumpForm = isForm; this.isJumpView = isView; let type = ""; let isExternalLink = false; if (isForm) { type = "00"; } else if (isView) { type = "01"; } else if (!isForm && !isView && !isOpenCurrentSoftwareData) { isExternalLink = true; this.isExternalLink = true; //鍒ゆ柇鏄惁鏄閮ㄩ摼鎺� } let params = { linkType: type, appId: this.openParams.appId, actionContent: "", name: act.name, _select: "", viewId: "", }; if (_op.isOpenNewWindow == "true") { params.isCurrentPageOpen = true; } let obj = {}; if (urlArray && urlArray.length > 0) { for (let i = 0; i < urlArray.length; i++) { let val = urlArray[i].split("="); obj[val[0]] = val[1]; } } switch (act.jumpActOpenType) { case 0: //褰撳墠椤垫墦寮€ if (!isExternalLink) { if (isOpenCurrentSoftwareData) { //濡傛灉澶栭摼褰㈠紡杩樻槸鎵撳紑浜у搧鐨勬帶浠讹紝閭d箞涓嶇敤iframe鐨勬柟娉曞祵濂� if (_op.exparams) { obj.exparams = _op.exparams; } obj.name = act.name; obj.isCurrentPageOpen = true; // this.$emit("openNewpage",obj) this.openNewpage(obj); } else { params = { linkType: type, appId: this.openParams.appId, actionContent: obj.viewId ? obj.viewId : obj.formId, name: act.name, _select: obj.docid ? obj.docid : "", viewId: "", clearTemp: obj.clearTemp ? obj.clearTemp : "", isCurrentPageOpen: true, }; if (urlParams) { params.urlParams = urlParams; } // this.$emit("openNewpage",params) this.openNewpage(obj); } } else { params = { linkType: "103", appId: this.openParams.appId, actionContent: url, }; this.$emit("openNewpage", params); this.runAfterAction(act.id, act.type, "", "", act); } break; case 1: //寮瑰嚭绐楁墦寮€ if (!isExternalLink) { if (isOpenCurrentSoftwareData) { let formParams = ""; for (let key in obj) { if ( key != "name" && key != "actionContent" && key != "searchData" && key != "showtype" && key != "realformId" && key != "templateForm" && key != "urlParams" && key != "exparams" && key != "runAfterParams" && key != "queryString" && key != "isOpenDialog" ) { if (obj[key]) { formParams += "&" + key + "=" + obj[key]; } } } if (_op.exparams) { if (formParams) { formParams = formParams + "" + _op.exparams; } else { formParams = _op.exparams; } } if (formParams) { obj.formParams = formParams; } obj.name = act.name; obj.isPopupLayerDisplay = true; if (obj.linkType == "00") { //琛ㄥ崟 this.isJumpForm = true; } else if (obj.linkType == "01") { //瑙嗗浘 this.isJumpView = true; this.popupLayerType = "VIEW"; } if (obj.isRefresh && obj.isRefresh == "true") { this.isDialogOpenExternalLink = true; } this.jumpParams = obj; } else { params = { linkType: type, appId: this.openParams.appId, actionContent: obj.viewId ? obj.viewId : obj.formId, name: act.name, _select: obj.docid ? obj.docid : "", viewId: "", clearTemp: obj.clearTemp ? obj.clearTemp : "", isPopupLayerDisplay: true, //寮瑰嚭灞傛墦寮€ }; if (urlParams) { params.urlParams = urlParams; } this.jumpParams = params; this.popupLayerType = "VIEW"; } this.jumpPopup = true; } else { params = { linkType: "103", appId: this.openParams.appId, actionContent: url, name: act.name, _select: obj.docid ? obj.docid : "", viewId: "", clearTemp: obj.clearTemp ? obj.clearTemp : "", }; if (obj.isRefresh && obj.isRefresh == "true") { this.isDialogOpenExternalLink = true; } this.jumpParams = params; this.jumpPopup = true; this.runAfterAction(act.id, act.type, "", "", act); } break; case 2: //椤电鎵撳紑 if (!isExternalLink) { if (isOpenCurrentSoftwareData) { if (_op.exparams) { obj.exparams = _op.exparams; } obj.name = act.name; this.addTab(obj); } else { params = { linkType: type, appId: this.openParams.appId, actionContent: obj.viewId ? obj.viewId : obj.formId, name: act.name, _select: obj.docid ? obj.docid : "", viewId: "", clearTemp: obj.clearTemp ? obj.clearTemp : "", }; if (urlParams) { params.urlParams = urlParams; } // this.$emit("add-tab", params); this.addTab(params); } } else { params = { linkType: "103", appId: _op.appId, actionContent: url, name: act.name, isExternalLink: true, //url鏄墦寮€opener缁勪欢锛屽垽鏂槸澶栭摼銆� refreshId: _op.id, //鍒ゆ柇鏄惁寰楀埛鏂� }; this.$emit("add-tab", params); this.runAfterAction(act.id, act.type, "", "", act); } break; case 3: //鏂扮獥鍙f墦寮€ if (!isExternalLink) { params = { linkType: type, appId: this.openParams.appId, actionContent: obj.viewId ? obj.viewId : obj.formId, name: act.name, _select: obj.docid ? obj.docid : "", viewId: "", clearTemp: obj.clearTemp ? obj.clearTemp : "", }; if (urlParams) { params.urlParams = urlParams; } if (isForm) { let routeData = this.$router.resolve({ // name: "form_blank", name: "open", query: params, }); window.open(routeData.href, "_blank"); } else if (isView) { let routeData = this.$router.resolve({ name: "view_blank", query: params, }); window.open(routeData.href, "_blank"); } else if (isOpenCurrentSoftwareData) { url += "&isOpenNewWindow=true"; window.open(url); } } else { window.open(url, "_blank"); this.runAfterAction(act.id, act.type, "", "", act); } break; case 4: break; default: break; } } }, } ); } }, //鎵ц鍓嶈剼鏈繑鍥炴垚鍔熷悗锛屾墽琛� execute({ actId, formData, act }) { if (act.actionSelection === 0) { let params = { docId: formData.docId, viewId: formData.viewId ? formData.viewId : "", formId: formData.formId, _templateForm: formData.templateForm ? formData.templateForm : "", parentId: formData.parentId ? formData.parentId : "", }; let obj = JSON.parse(JSON.stringify(formData)); obj.document.exparams = {}; delete obj.subDocuments; delete obj.versions; delete obj.sign; let appId = this.openParams.appId; API.executeCustom(appId, actId, obj, params, { onSucess: (res) => { console.log(res); let errcode = res.data.errcode; if (errcode == 0) { let errmsg = act.name + this.$t("success"); this.promptBox(errcode, errmsg); let obj = { docId: "", appId: this.openParams.appId, viewId: act.parentForm, opentarget: "", containTitle: this.formdata.formTemplate.formName, field: "", isRelate: undefined, parentId: "", }; this.$api.getAxecuteAddress(this.openParams.appId, act.id, obj, { onSucess: (res) => { if (res.data.errcode === 0) { let resData = res.data.data; if (resData && resData.type == 16) { let isOpenCurrentSoftwareData = resData.content.search("open?") != -1; if (isOpenCurrentSoftwareData) { let urlArrayF = resData.content.split("?"); let urlArray = ""; if (urlArrayF[1]) { urlArray = urlArrayF[1].split("&"); } let obj = {}; if (urlArray && urlArray.length > 0) { for (let i = 0; i < urlArray.length; i++) { let val = urlArray[i].split("="); obj[val[0]] = val[1]; } } obj.name = act.name; this.$emit("add-tab", obj); } else { let params = { linkType: "103", appId: this.openParams.appId, actionContent: resData.content, name: act.name, _select: "", viewId: "", }; this.$emit("add-tab", params); } } // if(resData.content&&resData.content.indexOf('processHtmlTem.html')>-1){ // API.softwareApplication(appId,{ // onSucess:res=>{ // console.log("11111111") // console.log(res) // let errcode = res.data.errcode; // if(errcode == 0) { // let software=JSON.stringify(res.data.data) // console.log('缂栬緫娴佺▼end') // sessionStorage.setItem('appId',this.openParams.appId) // sessionStorage.setItem('software',software) // } // } // }) // } this.runAfterAction(actId, act.type, "", "", act); } }, }); } else { let errmsg = response.data.errmsg; this.promptBox(errcode, errmsg); } }, }); } else if (act.actionSelection === 1) { let obj = { appId: this.openParams.appId, actionContent: this.openParams.actionContent, _select: "", relatedFormId: act.relatedFormId, opentarget: "detail", }; this.newOpenParams = obj; this.customMessagePopup = true; } // API.executeCustom( // appId, // divId, // formData, // { // onSucess: response => { // let errcode = response.data.errcode; // if(errcode == 0) { // if(act.actionSelection == 0) { // let obj = { // docId: '', // appId: this.openParams.appId, // viewId: act.parentForm, // opentarget: '', // containTitle: this.formdata.formTemplate.formName, // field:'', // isRelate: undefined, // parentId:'', // }; // this.$api.getAxecuteAddress( // this.openParams.appId, // act.id, // obj, // { // onSucess: res => { // if(res.data.errcode === 0) { // let resData = res.data.data; // if(resData.type == 16) { // let params = { // linkType: '103', // appId: this.openParams.appId, // actionContent: resData.content, // name: act.name, // _select: '', // viewId: '', // }; // this.$emit("add-tab", params); // } // } // } // } // ) // }else { // let errmsg = "鎴愬姛锛�"; // this.promptBox(errcode, errmsg); // } // }else { // let errmsg = response.data.errmsg // this.promptBox(errcode, errmsg); // } // } // } // ) // if(act.actionSelection === 0) { // }else if(act.actionSelection === 1) { // let obj = { // appId: this.openParams.appId, // actionContent: this.openParams.actionContent, // _select: '', // relatedFormId: act.relatedFormId, // opentarget: "detail" // } // this.newOpenParams = obj; // this.customMessagePopup = true; // }else { // } }, //杩斿洖鎴愬姛鎴栧け璐ユ椂鐨勬彁绀烘 promptBox(errcode, errmsg, title) { let that = this; var p = new Promise(function (resolve) { if (errcode == 4001) { that.$notify({ title: title, message: "", type: "warning", }); } else if (errcode == 0) { that.$notify({ title: errmsg, message: "", type: "success", }); resolve("鎴愬姛"); } }); return p; }, buildFormData() { let items = {}; // 鍒ゆ柇濡傛灉娌℃湁鍊煎氨涓嶆墽琛� if (this.formdata.fields) { const loopOpe = (fields) => { for (let i = 0; i < fields.length; i++) { let fld = fields[i]; if (fld.formField == "AttachmentUploadField") { let attachmentUploadVale = fld.value; let isJSON = this.isJSON(attachmentUploadVale); if (isJSON) { attachmentUploadVale = JSON.parse(attachmentUploadVale); } if (attachmentUploadVale) { attachmentUploadVale.forEach((item) => { item.isEdit = false; }); } } if ( fld.name && fld.value != undefined && fld.formField != "ButtonField" && fld.displayType != undefined ) { if (fld.textType == "hidden" && fld.value) { items[fld.name] = fld.value; } else if (fld.textType != "hidden") { items[fld.name] = fld.value; } if (fld.textType == "hidden" && !fld.value) { if (fld.isUpdatedValue) { //杩欓噷閽堝瑙嗗浘閫夋嫨妗� 闅愯棌骞朵笖娌″€兼椂锛屼絾鏈夐€夎繃鍊硷紝涔熻鎶婅繖涓睘鎬т紶鍒板悗鍙� items[fld.name] = ""; } } } if (fld.addInTtems) { items[fld.name] = fld.value; } if (fld.tabs && fld.tabs.length > 0) { fld.tabs.forEach((tab) => { if (tab.fields) { loopOpe(tab.fields); } if (tab.type == "view" && tab.openType == 288) { //閫夐」鍗℃墦寮€缃戞牸瑙嗗浘 this.haveViewGridview = true; } }); } } }; loopOpe(this.formdata.fields); } return { applicationId: this.openParams.appId, formId: this.formdata.formId, id: this.formdata.docId, items: items, parentId: "", sign: "", subDocuments: [], versions: "0", }; }, showSendMailOrSmsFlowpanel(act) { this.isBlockClick = false; this.flowProcessAct = act; this.sendMailVisible = true; }, flowHandle(act) { if (this.flowDialogVisible) { this.flowDialogVisible = false; return; } if (act.type == 5) { this.flowProcessAct = act; this.flowDialogVisible = true; } else if ( act.type == 47 || //鍥為€€娴佺▼ act.type == 33 || //娴佺▼鍚姩 act.type == 48 || //娴佺▼鍌姙 act.type == 55 || //鐐硅瘎 act.type == 56 || //琛ョ act.type == 57 || //鍔犵涓诲姙 act.type == 58 //鍔犵涓诲姙 ) { if (act) { this.flowProcessAct = act; } this.flowDialogVisible = true; if (act.type == 56 || act.type == 55 || act.type == 33) { //琛ョ鍜岀偣璇勫拰娴佺▼鍚姩 this.isShowHandSign = false; this.isShowKeyboard = false; } if (act.type == 47) { act.flowType = "81"; } } else if (act.type == 37) { //鍙戦€侀偖浠舵垨鑰呯煭淇� this.flowProcessAct = act; this.sendMailVisible = true; } else if (act.type == 52) { //缁堟娴佺▼ if (act) { this.flowProcessAct = act; } if (act.workFlowType == 1) { //鑷敱娴佺▼ this.flowDialogVisible = true; } else { this.terminationVisible = true; } } else if (act.type == 53) { //缂栬緫娴佺▼瀹℃壒浜� if (act) { this.flowProcessAct = act; } this.allowEditApprover = true; this.approverVisible = true; } }, //鎻愪氦鎴愬姛鎴栬€呭け璐ュ悗鍏抽棴娴佺▼鎻愪氦闈㈡澘鎴栬€呮祦绋嬮€€鍥為潰鏉� closeThePopup(status, isClose) { const isFlowPanel = true; if (isClose) { this.flowDialogVisible = false; //娴佺▼鎻愪氦闈㈡澘 this.goBack(); } else if (status == "SUCCESS" && !isClose) { let _op = this.openParams; if (_op.isOpenNewWindow == "true") { //鏂扮獥鍙f墦寮€锛屽欢杩熶竴涓嬫樉绀烘彁绀哄啀鍏抽棴 setTimeout(() => { this.flowDialogVisible = false; //娴佺▼鎻愪氦闈㈡澘 this.goBack("", "", isFlowPanel); }, 800); } else { this.flowDialogVisible = false; //娴佺▼鎻愪氦闈㈡澘 this.isShowKeyboard = true; this.goBack("", "", isFlowPanel); } } else if (status == "ERROR" && !isClose) { this.flowDialogVisible = false; } else { this.flowDialogVisible = false; //娴佺▼鎻愪氦闈㈡澘 this.sendMailVisible = false; this.isShowHandSign = true; this.isShowKeyboard = true; setTimeout(() => { this.flowDialogVisible = false; //娴佺▼鎻愪氦闈㈡澘 this.goBack("", "", isFlowPanel); }, 800); } }, //鎸囧畾瀹℃壒浜烘椂鏄剧ず鐢ㄦ埛鏄剧ず鐢ㄦ埛閫夋嫨妗� designatedApprover( approversObj, flowId, isFreeFlow, saveApprover, approverNumType, isAppentCirculator ) { this.isAppentCirculator = isAppentCirculator; //鏄惁鐭ラ亾娴佺▼鎶勯€佷汉 this.approversObj = approversObj; this.flowId = flowId; this.isFreeFlow = isFreeFlow; //鍒ゆ柇鏄惁鏄嚜鐢辨祦绋� this.saveApproverStatus = saveApprover; this.approverNumType = approverNumType; this.approverVisible = true; this.isSubFlow = false; }, // 鍔犵涓诲姙鎴栬€呭姞绛惧崗鍔炴湁鏁版嵁锛屾樉绀哄湪鐢ㄦ埛閫夋嫨妗� getProcessHosting(list) { this.processHostingList = list; this.approverVisible = true; }, //鎸囧畾瀹℃壒浜哄悗鏄剧ず鍦ㄦ祦绋嬪鐞嗛潰鏉夸笂 selectApprover(approverName, submitTo, nextUserId, isAppentCirculator) { if (!isAppentCirculator) { this.approverName = approverName; } else { this.cCname = approverName; } this.nextUserId = nextUserId; this.submitTo = submitTo; this.approverVisible = false; }, closeApproverDialog(isRefresh) { if (isRefresh) { // // this.isRouterAlive= false; // this.$nextTick(() => (this.isRouterAlive= true)); this.$parent.updateData(); } this.approverVisible = false; }, reloadApprover(act) { if (act.type == "51") { this.isRouterAlive = false; this.$nextTick(() => { this.isRouterAlive = true; }); } }, //鍥炴挙娴佺▼ retracementWorkflow(actId, act) { let openParams = this.openParams; let appId = openParams.appId; let docId = openParams._select; this.$api.retracementWorkflow(appId, docId, { onSucess: (response) => { let errcode = ""; let errmsg = ""; if (response.data.data) { errcode = response.data.errcode; errmsg = response.data.data; this.runAfterAction(actId, "", "", "", act); this.$notify({ title: this.$t("success"), message: errmsg, type: "success", }); this.initForm({ appId: openParams.appId, formId: openParams.actionContent, docId: openParams._select, }); setTimeout(() => { this.reloadApprover(act); //鍥炴挙瑕侀噸鏂板姞杞芥祦绋嬬姸鎬� }, 500); } else { errcode = response.data.errcode; errmsg = response.data.errors[0].errmsg; if (errcode == 4001) { this.$notify({ title: this.$t("msg.failure"), message: errmsg, position: "top-left", }); // this.promptBox(errcode, errmsg, response.data.errors[0].errmsg); } else if (errcode == 0) { // this.promptBox(errcode, errmsg); this.$notify({ title: this.$t("success"), message: errmsg, type: "success", }); this.goBack(); } } }, }); }, //缁堟娴佺▼ terminationWorkflow(act) { let errcode = ""; let errmsg = ""; if (act.data) { errcode = act.errcode; errmsg = act.data; this.promptBox(errcode, errmsg); this.goBack(); } else { errcode = act.errcode; errmsg = act.errors[0].errmsg; if (errcode == 4001) { // this.promptBox(errcode, errmsg, act.errors[0].errmsg); this.$notify({ title: this.$t("msg.failure"), message: errmsg, position: "top-left", }); } else if (errcode == 0) { // this.promptBox(errcode, errmsg); this.$notify({ title: this.$t("success"), message: errmsg, type: "success", }); this.goBack(); } } }, //娴佺▼鎸傝捣 suspendWorkflow() { let appId = this.openParams.appId; let docId = this.openParams._select; this.$api.suspendWorkflow(appId, docId, { onSucess: (response) => { let errcode = ""; let errmsg = ""; if (response.data.data) { errcode = response.data.errcode; errmsg = response.data.data; //this.promptBox(errcode, errmsg); this.$notify({ title: this.$t("success"), message: errmsg, type: "success", }); this.goBack(); } else { errcode = response.data.errcode; errmsg = response.data.errors[0].errmsg; if (errcode == 4001) { //this.promptBox(errcode, errmsg, response.data.errors[0].errmsg); this.$notify({ title: this.$t("msg.failure"), message: errmsg, position: "top-left", }); } else if (errcode == 0) { //this.promptBox(errcode, errmsg); this.$notify({ title: this.$t("success"), message: errmsg, type: "success", }); this.goBack(); } } }, }); }, //瀛愭祦绋�-骞惰娴佺▼(鐢ㄦ埛閫夋嫨妗嗙殑寮圭獥) showSubFlowDialog( approversObj, flowId, isFreeFlow, saveApprover, approverNumType, isAppentCirculator, groupNum, subFlowGroup, isSubFlow ) { this.approversObj = approversObj; this.flowId = flowId; this.isFreeFlow = isFreeFlow; //鍒ゆ柇鏄惁鏄嚜鐢辨祦绋� this.saveApproverStatus = saveApprover; this.approverNumType = approverNumType; this.groupNum = groupNum; //瀛愭祦绋嬪皬缁勬暟閲� this.subFlowToApprover = subFlowGroup; this.isSubFlow = isSubFlow; this.approverVisible = true; }, //瀛愭祦绋�-骞惰娴佺▼(鐢ㄦ埛閫夋嫨妗嗙殑寮圭獥)缁勪欢閫夋嫨鐨勭敤鎴锋彁浜ゅ埌娴佺▼闈㈡澘 subflowDataTopanel(name, subObj, currentGroup, groupNum) { this.approverName = name; this.subFlowApproverData = subObj; this.subFlowGroup = currentGroup; //鏁版嵁淇濆瓨鍦ㄦ祦绋嬮潰鏉夸腑 this.subFlowGroupNum = groupNum; this.approverVisible = false; }, //娴佺▼鎭㈠ recoveryWorkflow() { let appId = this.openParams.appId; let docId = this.openParams._select; this.$api.recoveryWorkflow(appId, docId, { onSucess: (response) => { let errcode = ""; let errmsg = ""; if (response.data.data) { errcode = response.data.errcode; errmsg = response.data.data; this.$notify({ title: errmsg, message: "", type: "success", }); this.goBack(); } else { errcode = response.data.errcode; errmsg = response.data.errors[0].errmsg; if (errcode == 4001) { this.$notify({ title: errmsg, message: "", position: "top-left", }); } else if (errcode == 0) { this.$notify({ title: errmsg, message: "", type: "success", }); this.goBack(); } } }, }); }, //鍔犵娣诲姞瑙掕壊纭畾鍚�(瀛愮粍浠惰皟鐢�) selectHostOrCohost(data, obj) { this.newHostOrCohostList = data; this.saveApproverStatus = obj; this.approverVisible = false; }, //淇濆瓨骞跺惎鍔ㄦ祦绋� saveStartWorkFlow(num, actId, act) { let appId = this.openParams.appId; let formData = {}; formData.document = this.buildFormData(); if (this.openParams.parentId) { formData.document.parentId = this.openParams.parentId; } this.$api.saveStartWorkFlow(appId, formData, { onSucess: (response) => { let errcode = ""; let errmsg = ""; if (response.data.data) { this.runAfterAction(actId, num, "", "", act); this.$notify({ title: this.$t("success"), message: "", type: "success", }); } else { errcode = response.data.errcode; errmsg = response.data.errors[0].errmsg; if (errcode == 4001) { this.$notify({ title: errmsg, message: "", type: "error", }); } else if (errcode == 0) { this.runAfterAction(actId, num, "", "", act); this.$notify({ title: errmsg, message: "", type: "success", }); } } }, }); }, //閭欢鎴栫煭淇¢€氱煡锛屾墦寮€鐢ㄦ埛閫夋嫨妗� openUserDialg() { }, }, }; </script> <style lang="scss"> @import "../assets/kinggrid/dialog/kgDialog/ui-dialog.css"; @import "../assets/kinggrid/core/kinggrid.plus.css"; @import "../assets/kinggrid/core/kinggrid.plus.mobile.css"; .myapps-iframe { overflow: auto; } .el-notification { //this.$notify鎹㈣鏍峰紡 white-space: pre-wrap !important; } // .active{ // display: none; // } // table { // width:100%; // } </style>