|
|
@@ -1,3433 +1,3176 @@
|
|
|
-mod.definePage('workflow/metas/js/approve', function (waf, wfCommonUtil) {
|
|
|
- var _public = {},
|
|
|
- _private = {},
|
|
|
- me = _self
|
|
|
- var okPolicy = new Array()
|
|
|
- var noPolicy = new Array()
|
|
|
- var assign = {}
|
|
|
- var selnextPersons = {}
|
|
|
- var transId = null
|
|
|
- var locationurl = waf.getUrlParams(document.location.href)
|
|
|
- var approvetype = locationurl.type
|
|
|
- var passId = locationurl.passid
|
|
|
- var sourceIDs = locationurl.sourceIDs
|
|
|
- var msgId = locationurl.msgId
|
|
|
- var showerror = ''
|
|
|
- var nextActIndex = '#nextAct'
|
|
|
- var approveOpinions = {}
|
|
|
- var isFirst = true
|
|
|
- var approvePolicy = {}
|
|
|
- var riskInsight = false
|
|
|
- var billInsightOption = {}
|
|
|
- var caConfig = {
|
|
|
- caConfigInfo: null,
|
|
|
- rootDiv: null,
|
|
|
- CA_plainText: null,
|
|
|
- CA_signature: null,
|
|
|
- plainTextMap: null,
|
|
|
- plainSignatureMap: null
|
|
|
- }
|
|
|
- waf.extend(_public, {
|
|
|
- submit: function (event, value) {
|
|
|
- return _private.submit(event, value)
|
|
|
- },
|
|
|
- save: function (event, value) {
|
|
|
- return _private.save(event, value)
|
|
|
- },
|
|
|
- deliver: function (event, value) {
|
|
|
- return _private.deliver(event, value)
|
|
|
- },
|
|
|
- passAssignment: function (event, value) {
|
|
|
- return _private.passAssignment(event, value)
|
|
|
- },
|
|
|
- kickback: function (event, value) {
|
|
|
- return _private.kickback(event, value)
|
|
|
- },
|
|
|
- appendActivity: function (event, value) {
|
|
|
- return _private.appendActivity(event, value)
|
|
|
- },
|
|
|
- dynamicSign: function (event, value) {
|
|
|
- return _private.dynamicSign(event, value)
|
|
|
- },
|
|
|
- jumpto: function (event, value) {
|
|
|
- return _private.jumpto(event, value)
|
|
|
- },
|
|
|
- viewProcessDiagram: function (event, value) {
|
|
|
- return _private.viewProcessDiagram(event, value)
|
|
|
- },
|
|
|
- billImage: function (event, value) {
|
|
|
- return _private.billImage(event, value)
|
|
|
- },
|
|
|
- bill: function (event, value) {
|
|
|
- return _private.bill(event, value)
|
|
|
- },
|
|
|
- showoperate: function (event, value) {
|
|
|
- return _private.showoperate(event, value)
|
|
|
- },
|
|
|
- nextActs: function (event, ui) {
|
|
|
- return _private.nextActs(event, ui)
|
|
|
- },
|
|
|
- modifynextActs: function (event, value) {
|
|
|
- return _private.modifynextActs(event, value)
|
|
|
- },
|
|
|
- changePolicy: function (event, ui) {
|
|
|
- return _private.changePolicy(event, ui)
|
|
|
- },
|
|
|
- changeselPolicy: function (event, ui) {
|
|
|
- return _private.changeselPolicy(event, ui)
|
|
|
- },
|
|
|
- myPhrase: function (event, value) {
|
|
|
- return _private.myPhrase(event, value)
|
|
|
- },
|
|
|
- openPerson: function (event, value) {
|
|
|
- return _private.openPerson(event, value)
|
|
|
- },
|
|
|
- esignatureOnClick: function (event, ui) {
|
|
|
- return _private.esignatureOnClick(event, ui)
|
|
|
- },
|
|
|
- nextAct: function (event, ui) {
|
|
|
- return _private.nextAct(event, ui)
|
|
|
- },
|
|
|
- modifynextAct: function (event, value) {
|
|
|
- return _private.modifynextAct(event, value)
|
|
|
- },
|
|
|
- pageOnload: function (e) {
|
|
|
- return _private.pageOnload(e)
|
|
|
- },
|
|
|
- pageOnRenderBefore: function (e) {
|
|
|
- return _private.pageOnRenderBefore(e)
|
|
|
- },
|
|
|
- phrasedel: function (e) {
|
|
|
- return _private.phrasedel(e)
|
|
|
- },
|
|
|
- phrasesure: function (e) {
|
|
|
- return _private.phrasesure(e)
|
|
|
- },
|
|
|
- addphrase: function (e) {
|
|
|
- return _private.addphrase(e)
|
|
|
- },
|
|
|
- phraseback: function (e) {
|
|
|
- return _private.phraseback(e)
|
|
|
- },
|
|
|
- phraseadd: function (e) {
|
|
|
- return _private.phraseadd(e)
|
|
|
- },
|
|
|
- reloadTranId: function () {
|
|
|
- return _private.reloadTranId()
|
|
|
- },
|
|
|
- getnextacts: function () {
|
|
|
- return _private.getnextacts()
|
|
|
- },
|
|
|
- showtab: function () {
|
|
|
- return _private.showtab()
|
|
|
- },
|
|
|
- setmanualdecision: function () {
|
|
|
- return _private.setmanualdecision()
|
|
|
- },
|
|
|
- setmodifynextAct: function () {
|
|
|
- return _private.setmodifynextAct()
|
|
|
- },
|
|
|
- getbatchlist: function () {
|
|
|
- return _private.getbatchlist()
|
|
|
- },
|
|
|
- displayBillInfo: function (url) {
|
|
|
- return _private.displayBillInfo(url)
|
|
|
- },
|
|
|
- getPolicy: function (approveValueStr) {
|
|
|
- return _private.getPolicy(approveValueStr)
|
|
|
- },
|
|
|
- setPolicy: function (val) {
|
|
|
- return _private.setPolicy(val)
|
|
|
- },
|
|
|
- isNeedDefaultOption: function (vals) {
|
|
|
- return _private.isNeedDefaultOption(vals)
|
|
|
- },
|
|
|
- setsendmailormsg: function (
|
|
|
- isOpenMessageSendOnUI,
|
|
|
- notifyNextBySMS,
|
|
|
- notifyNextByMail
|
|
|
- ) {
|
|
|
- return _private.setsendmailormsg(
|
|
|
- isOpenMessageSendOnUI,
|
|
|
- notifyNextBySMS,
|
|
|
- notifyNextByMail
|
|
|
- )
|
|
|
- },
|
|
|
- resizePage: function () {
|
|
|
- return _private.resizePage()
|
|
|
- },
|
|
|
- showapprovehis: function (procInstId) {
|
|
|
- return _private.showapprovehis(procInstId)
|
|
|
- },
|
|
|
- showbtn: function () {
|
|
|
- return _private.showbtn()
|
|
|
- },
|
|
|
- setselnextperson: function (actId, name, id) {
|
|
|
- return _private.setselnextperson(actId, name, id)
|
|
|
- },
|
|
|
- loadNextActs: function () {
|
|
|
- return _private.loadNextActs()
|
|
|
- },
|
|
|
- getOpinion: function (actInstId, assignId, billId) {
|
|
|
- return _private.getOpinion(actInstId, assignId, billId)
|
|
|
- },
|
|
|
- getphrase: function () {
|
|
|
- return _private.getphrase()
|
|
|
- },
|
|
|
- setselnextactperson: function (resultStr) {
|
|
|
- return _private.setselnextactperson(resultStr)
|
|
|
- },
|
|
|
- shownextActs: function (nextactname, ui) {
|
|
|
- return _private.shownextActs(nextactname, ui)
|
|
|
- },
|
|
|
- passComentsubmit: function () {
|
|
|
- return _private.passComentsubmit()
|
|
|
- },
|
|
|
- initCAConfig: function (tCAConfig) {
|
|
|
- return _private.initCAConfig(tCAConfig)
|
|
|
- },
|
|
|
- batchSubmitForCA: function () {
|
|
|
- return _private.batchSubmitForCA()
|
|
|
- },
|
|
|
- checkCAPassword: function (isBatch) {
|
|
|
- return _private.checkCAPassword(isBatch)
|
|
|
- },
|
|
|
- batchSubmit: function () {
|
|
|
- return _private.batchSubmit()
|
|
|
- },
|
|
|
- getbatchid: function () {
|
|
|
- return _private.getbatchid()
|
|
|
- },
|
|
|
- _batchsubmit: function (info) {
|
|
|
- return _private._batchsubmit(info)
|
|
|
- },
|
|
|
- getApprove: function () {
|
|
|
- return _private.getApprove()
|
|
|
- },
|
|
|
- beforeBatchSubmitSigature: function (selectBillIds) {
|
|
|
- return _private.beforeBatchSubmitSigature(selectBillIds)
|
|
|
- },
|
|
|
- getNextPersons: function (isSave) {
|
|
|
- return _private.getNextPersons(isSave)
|
|
|
- },
|
|
|
- manualdecisionsubmit: function () {
|
|
|
- return _private.manualdecisionsubmit()
|
|
|
- },
|
|
|
- beforeInnerSubmit: function () {
|
|
|
- return _private.beforeInnerSubmit()
|
|
|
- },
|
|
|
- innerSubmit: function () {
|
|
|
- return _private.innerSubmit()
|
|
|
- },
|
|
|
- _submit: function (isReadOnly) {
|
|
|
- return _private._submit(isReadOnly)
|
|
|
- },
|
|
|
- beforeSubmitSigature: function () {
|
|
|
- return _private.beforeSubmitSigature()
|
|
|
- },
|
|
|
- toDecimal: function (src, pos) {
|
|
|
- return _private.toDecimal(src, pos)
|
|
|
- },
|
|
|
- checkIsSave: function (callback, type) {
|
|
|
- return _private.checkIsSave(callback, type)
|
|
|
- },
|
|
|
- _save: function (isReadOnly) {
|
|
|
- return _private._save(isReadOnly)
|
|
|
- },
|
|
|
- backto: function () {
|
|
|
- return _private.backto()
|
|
|
- },
|
|
|
- addUploadHtml: function () {
|
|
|
- return _private.addUploadHtml()
|
|
|
- },
|
|
|
- getAttchmentcount: function () {
|
|
|
- return _private.getAttchmentcount()
|
|
|
- },
|
|
|
- selattachment: function (item, attcreater, beizhu) {
|
|
|
- return _private.selattachment(item, attcreater, beizhu)
|
|
|
- },
|
|
|
- attachmentDelete: function (item, id) {
|
|
|
- return _private.attachmentDelete(item, id)
|
|
|
- },
|
|
|
- attachmentView: function (id, type) {
|
|
|
- return _private.attachmentView(id, type)
|
|
|
- },
|
|
|
- isWaf1Bill: function (url) {
|
|
|
- return _private.isWaf1Bill(url)
|
|
|
- },
|
|
|
- messageDigest: function () {
|
|
|
- return _private.messageDigest()
|
|
|
- },
|
|
|
- jMessageAlert: function (message) {
|
|
|
- return _private.jMessageAlert(message)
|
|
|
- },
|
|
|
- onselect: function (event, ui) {
|
|
|
- return _private.onselect(event, ui)
|
|
|
- },
|
|
|
- addphrase: function () {
|
|
|
- return _private.addphrase()
|
|
|
- },
|
|
|
- openAttachmentPage: function (event, value) {
|
|
|
- return _private.openAttachmentPage(event, value)
|
|
|
- },
|
|
|
- getAssignInfo: function () {
|
|
|
- return _private.getAssignInfo()
|
|
|
- }
|
|
|
- })
|
|
|
- _self.subscribeEvent('pageOnLoadEvent', _public.pageOnload, 'after')
|
|
|
- _self.subscribeEvent(
|
|
|
- 'pageOnRenderEvent',
|
|
|
- _public.pageOnRenderBefore,
|
|
|
- 'before'
|
|
|
- )
|
|
|
- _self.subscribeEvent('phrasedelActionEvent', _public.phrasedel, 'overwrite')
|
|
|
- _self.subscribeEvent('phrasesureActionEvent', _public.phrasesure, 'overwrite')
|
|
|
- _self.subscribeEvent('phrasebackActionEvent', _public.phraseback, 'overwrite')
|
|
|
- _self.subscribeEvent('phraseaddActionEvent', _public.phraseadd, 'overwrite')
|
|
|
- waf.extend(_private, {
|
|
|
- modifyNextAct: '#modifynextAct',
|
|
|
- charFrameId: 'predictionChartIframe',
|
|
|
- curTab: '',
|
|
|
- leftPanelWidth: '',
|
|
|
- rightPanelWidth: '',
|
|
|
- isPredict: true,
|
|
|
- displayBillInfo: function (url) {
|
|
|
- if (assign.attachmentMode) {
|
|
|
- if (!url.endsWith('nobill.html')) {
|
|
|
- url += '&hasAttachment=false'
|
|
|
- }
|
|
|
- }
|
|
|
- waf('#billFrame').wafIframe('option', 'src', url)
|
|
|
- },
|
|
|
- getPolicy: function (approveValueStr) {
|
|
|
- if (approveValueStr == null || approveValueStr == '') {
|
|
|
- approveValueStr =
|
|
|
- '0;' +
|
|
|
- _self._localeStr.WEB_AGREE +
|
|
|
- ';' +
|
|
|
- _self._localeStr.WEB_AGREE +
|
|
|
- ';:1;' +
|
|
|
- _self._localeStr.WEB_DISAGREE +
|
|
|
- ';' +
|
|
|
- _self._localeStr.WEB_DISAGREE +
|
|
|
- ';'
|
|
|
- }
|
|
|
- var strs = approveValueStr.split(':')
|
|
|
- for (var i = 0; i < strs.length; i++) {
|
|
|
- var strTemp = strs[i].split(';')
|
|
|
- var key = strTemp[0]
|
|
|
- var text = strTemp[1]
|
|
|
- var type = strTemp.length == 2 ? _self._localeStr.WEB_ALL : strTemp[2]
|
|
|
- var line = strTemp.length < 4 ? '' : strTemp[3]
|
|
|
- var o = {}
|
|
|
- o.alias = text
|
|
|
- o.value = key
|
|
|
- if (
|
|
|
- 'agree' == type ||
|
|
|
- type == _self._localeStr.WEB_AGREE ||
|
|
|
- '同意' == type
|
|
|
- ) {
|
|
|
- okPolicy.push(o)
|
|
|
- } else {
|
|
|
- if (
|
|
|
- 'disagree' == type ||
|
|
|
- type == _self._localeStr.WEB_DISAGREE ||
|
|
|
- '不同意' == type
|
|
|
- ) {
|
|
|
- noPolicy.push(o)
|
|
|
- } else {
|
|
|
- if (
|
|
|
- 'all' == type ||
|
|
|
- type == _self._localeStr.WEB_ALL ||
|
|
|
- '全部' == type
|
|
|
- ) {
|
|
|
- okPolicy.push(o)
|
|
|
- noPolicy.push(o)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- setPolicy: function (val) {
|
|
|
- if (val == 'true') {
|
|
|
- if (isFirst) {
|
|
|
- isFirst = false
|
|
|
- } else {
|
|
|
- approveOpinions.disagree = $('#approveOpinion').val()
|
|
|
- approvePolicy.disagree = waf('#policy').wafSelect('getValue')
|
|
|
- }
|
|
|
- if (approvePolicy.agree) {
|
|
|
- waf('#policy').wafSelect('setValue', approvePolicy.agree)
|
|
|
- }
|
|
|
- $('#approveOpinion').val(approveOpinions.agree)
|
|
|
- waf('#policy').wafSelect('option', 'enumSource', okPolicy)
|
|
|
- } else {
|
|
|
- if (isFirst) {
|
|
|
- isFirst = false
|
|
|
- } else {
|
|
|
- approveOpinions.agree = $('#approveOpinion').val()
|
|
|
- approvePolicy.agree = waf('#policy').wafSelect('getValue')
|
|
|
- }
|
|
|
- if (approvePolicy.disagree) {
|
|
|
- waf('#policy').wafSelect('setValue', approvePolicy.disagree)
|
|
|
- }
|
|
|
- $('#approveOpinion').val(approveOpinions.disagree)
|
|
|
- waf('#policy').wafSelect('option', 'enumSource', noPolicy)
|
|
|
- }
|
|
|
- _private.reloadTranId()
|
|
|
- if (waf(nextActIndex).wafCheckbox('isChecked')) {
|
|
|
- _private.loadNextActs()
|
|
|
- }
|
|
|
- },
|
|
|
- isNeedDefaultOption: function (vals) {
|
|
|
- if (assign.isNeedDefaultOption) {
|
|
|
- waf('#approveOpinion').val(vals)
|
|
|
- }
|
|
|
- if (assign.defaultOpinion != null && assign.defaultOpinion != '') {
|
|
|
- waf('#approveOpinion').val(assign.defaultOpinion)
|
|
|
- }
|
|
|
- },
|
|
|
- getDefaultOption: function (vals) {
|
|
|
- if (assign.isNeedDefaultOption) {
|
|
|
- approveOpinions = {
|
|
|
- agree: _self._localeStr.WEB_AGREE,
|
|
|
- disagree: _self._localeStr.WEB_DISAGREE
|
|
|
- }
|
|
|
- }
|
|
|
- if (assign.defaultOpinion != null && assign.defaultOpinion != '') {
|
|
|
- approveOpinions = {
|
|
|
- agree: assign.defaultOpinion,
|
|
|
- disagree: assign.defaultOpinion
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- setsendmailormsg: function (
|
|
|
- isOpenMessageSendOnUI,
|
|
|
- notifyNextBySMS,
|
|
|
- notifyNextByMail
|
|
|
- ) {
|
|
|
- waf('#issendmsgormail').wafPanel(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- !isOpenMessageSendOnUI
|
|
|
- )
|
|
|
- waf('#sendmsg').wafCheckbox('option', 'hidden', !isOpenMessageSendOnUI)
|
|
|
- waf('#sendmail').wafCheckbox('option', 'hidden', !isOpenMessageSendOnUI)
|
|
|
- waf('#sendmsg').wafCheckbox('setChecked', notifyNextBySMS)
|
|
|
- waf('#sendmail').wafCheckbox('setChecked', notifyNextByMail)
|
|
|
- },
|
|
|
- resizePage: function () {
|
|
|
- var rightwidth = Math.ceil((300 / window.innerWidth) * 100)
|
|
|
- if (window.screen.width <= 1366) {
|
|
|
- rightwidth = 21
|
|
|
- }
|
|
|
- var leftwidth = 100 - rightwidth
|
|
|
- waf('#splitPanel').wafSplitPanel('option', {
|
|
|
- split: false,
|
|
|
- leftWidth: leftwidth,
|
|
|
- rightWidth: rightwidth
|
|
|
- })
|
|
|
- var billHeightOffset = 220
|
|
|
- var tabOffset = 100
|
|
|
- if (assign.newPage && approvetype == 'approve') {
|
|
|
- billHeightOffset = 160
|
|
|
- tabOffset = 155
|
|
|
- }
|
|
|
- if (approvetype != 'approve') {
|
|
|
- billHeightOffset -= 120
|
|
|
- }
|
|
|
- $('#tabs .ui-waftabs-panel')
|
|
|
- .eq(0)
|
|
|
- .height(window.innerHeight - tabOffset)
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- if (assign.batchApproveUrl) {
|
|
|
- var times = 0
|
|
|
- waf('#billFrame').wafIframe(
|
|
|
- 'option',
|
|
|
- 'height',
|
|
|
- window.innerHeight - 100
|
|
|
- )
|
|
|
- var interval = setInterval(function () {
|
|
|
- try {
|
|
|
- window.frames.billFrame
|
|
|
- .$('#gview_queryGrid .ui-jqgrid-bdiv')
|
|
|
- .eq(0)
|
|
|
- .css('height', window.innerHeight - 220)
|
|
|
- if (times > 4) {
|
|
|
- clearInterval(interval)
|
|
|
- }
|
|
|
- times++
|
|
|
- } catch (e) {}
|
|
|
- }, 500)
|
|
|
- waf('#billFrame').wafIframe('option', 'scrolling', 'auto')
|
|
|
- } else {
|
|
|
- $('#gview_queryGrid .ui-jqgrid-bdiv').height(
|
|
|
- $('#tabs').height() - 100
|
|
|
- )
|
|
|
- $('#gview_queryGrid .ui-jqgrid-bdiv').css('overflow-y', 'auto')
|
|
|
- $('#panel5 .ui-jqgrid').height($('#tabs').height())
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (assign.messageDigest) {
|
|
|
- $('#panel5').css({
|
|
|
- height: window.innerHeight - billHeightOffset,
|
|
|
- 'overflow-y': 'auto',
|
|
|
- 'overflow-x': 'hidden'
|
|
|
- })
|
|
|
- $('#bill_content').css({
|
|
|
- height: window.innerHeight - billHeightOffset,
|
|
|
- overflow: 'auto'
|
|
|
- })
|
|
|
- } else {
|
|
|
- waf('#billFrame').wafIframe(
|
|
|
- 'option',
|
|
|
- 'height',
|
|
|
- window.innerHeight - billHeightOffset
|
|
|
- )
|
|
|
- waf('#billFrame').wafIframe('option', 'scrolling', 'auto')
|
|
|
- }
|
|
|
- }
|
|
|
- if (assign.absStr || assign.decisionDesc) {
|
|
|
- _private.changeBillHeight(90, false)
|
|
|
- }
|
|
|
- if (approvetype == 'batchapprove' || approvetype == 'approve') {
|
|
|
- $('#myPhraseList .scrollhid').height($('#approveTask').height() - 100)
|
|
|
- }
|
|
|
- },
|
|
|
- changeBillHeight: function (height, isClose) {
|
|
|
- var billHeight = 0
|
|
|
- if (assign.messageDigest) {
|
|
|
- billHeight = $('#panel5').height()
|
|
|
- } else {
|
|
|
- billHeight = waf('#billFrame').wafIframe('option', 'height')
|
|
|
- }
|
|
|
- if (isClose) {
|
|
|
- billHeight += height
|
|
|
- } else {
|
|
|
- billHeight -= height
|
|
|
- }
|
|
|
- if (assign.messageDigest) {
|
|
|
- $('#panel5').css({ height: billHeight, 'overflow-y': 'auto' })
|
|
|
- } else {
|
|
|
- waf('#billFrame').wafIframe('option', 'height', billHeight)
|
|
|
- waf('#billFrame').wafIframe('option', 'scrolling', 'auto')
|
|
|
- }
|
|
|
- },
|
|
|
- showapprovehis: function (procInstId) {
|
|
|
- var params = {}
|
|
|
- params.embed = 'true'
|
|
|
- params.proInstId = procInstId
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/flowRelated.do?method=getFlowRealted',
|
|
|
- data: params,
|
|
|
- success: function (data) {
|
|
|
- var _html = ''
|
|
|
- for (var i = 0; i < data.length; i++) {
|
|
|
- var action = data[i].action
|
|
|
- var node = data[i].node
|
|
|
- if (node == null) {
|
|
|
- node = ''
|
|
|
- }
|
|
|
- var operatorResult = data[i].operatorResult
|
|
|
- if (operatorResult == '' || operatorResult == null) {
|
|
|
- operatorResult = action
|
|
|
- }
|
|
|
- var op = ''
|
|
|
- var operatorOpinion = data[i].operatorOpinion
|
|
|
- if (operatorOpinion == '' || operatorOpinion == null) {
|
|
|
- operatorOpinion = ''
|
|
|
- }
|
|
|
- var classname = 'agree'
|
|
|
- var type = data[i].type
|
|
|
- var titlename = ''
|
|
|
- if (type == 9 || type == 10) {
|
|
|
- var operatorResults = operatorResult.split(',')
|
|
|
- if (operatorResults.length == 2) {
|
|
|
- op +=
|
|
|
- '<span title=' +
|
|
|
- _self._localeStr.WEB_APPROVALRESULTS +
|
|
|
- '>' +
|
|
|
- _self._localeStr.WEB_APPROVALRESULTS +
|
|
|
- ":</span><span title='" +
|
|
|
- operatorResults[0] +
|
|
|
- "'>" +
|
|
|
- operatorResults[0] +
|
|
|
- '</span><br/>'
|
|
|
- op +=
|
|
|
- '<span title=' +
|
|
|
- _self._localeStr.WEB_HANDLEROPINIONS +
|
|
|
- '>' +
|
|
|
- _self._localeStr.WEB_HANDLEROPINIONS +
|
|
|
- ":</span><span title='" +
|
|
|
- operatorResults[1] +
|
|
|
- "'>" +
|
|
|
- operatorResults[1] +
|
|
|
- '</span><br/>'
|
|
|
- if (
|
|
|
- operatorResults[0] == _self._localeStr.WEB_DISAGREE ||
|
|
|
- operatorResults[0] == 'Disagree'
|
|
|
- ) {
|
|
|
- classname = 'disagree'
|
|
|
- }
|
|
|
- } else {
|
|
|
- op +=
|
|
|
- "<span title='" +
|
|
|
- operatorResult +
|
|
|
- "'>" +
|
|
|
- operatorResult +
|
|
|
- '</span><br/>'
|
|
|
- }
|
|
|
- titlename = _self._localeStr.WEB_APPROVALCOMMENTS
|
|
|
- } else {
|
|
|
- op +=
|
|
|
- "<span title='" +
|
|
|
- operatorResult +
|
|
|
- "'>" +
|
|
|
- operatorResult +
|
|
|
- '</span><br/>'
|
|
|
- if (type == 1) {
|
|
|
- classname = 'jump'
|
|
|
- titlename = _self._localeStr.WEB_JUMPCOMMENTS
|
|
|
- } else {
|
|
|
- if (type == 2) {
|
|
|
- classname = 'append'
|
|
|
- titlename = _self._localeStr.WEB_COUNTERSIGNCOMMENTS
|
|
|
- } else {
|
|
|
- if (type == 4) {
|
|
|
- classname = 'stop'
|
|
|
- titlename = _self._localeStr.WEB_ENDCOMMENTS
|
|
|
- } else {
|
|
|
- if (type == 3) {
|
|
|
- classname = 'deliver'
|
|
|
- titlename = _self._localeStr.WEB_TRANSFERRCOMMENTS
|
|
|
- } else {
|
|
|
- if (type == 0) {
|
|
|
- classname = 'jump'
|
|
|
- titlename = _self._localeStr.WEB_REJECTCOMMENTS
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (titlename != '') {
|
|
|
- op +=
|
|
|
- "<span title='" +
|
|
|
- titlename +
|
|
|
- "'>" +
|
|
|
- titlename +
|
|
|
- ":</span><span title='" +
|
|
|
- operatorOpinion +
|
|
|
- "'>" +
|
|
|
- operatorOpinion +
|
|
|
- '</span><br/>'
|
|
|
- }
|
|
|
- if (i > 0) {
|
|
|
- if (data[i].node == data[i - 1].node) {
|
|
|
- _html +=
|
|
|
- '<div class="infos"> <div class="content"> <div class="title"> <i></i> <span style="float:left;">' +
|
|
|
- data[i].operatorTime +
|
|
|
- '</span> <span style="float:right;">' +
|
|
|
- data[i].operator +
|
|
|
- '</span> </div> <div class="op">' +
|
|
|
- op +
|
|
|
- '</div> </div></div>'
|
|
|
- if (i != data.length - 1) {
|
|
|
- if (data[i].node != data[i + 1].node) {
|
|
|
- _html += '</div></li>'
|
|
|
- }
|
|
|
- }
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
- _html +=
|
|
|
- '<li><div class="node"> <i class="' +
|
|
|
- classname +
|
|
|
- '"></i> <span>' +
|
|
|
- node +
|
|
|
- '</span></div>'
|
|
|
- if (i != data.length - 1) {
|
|
|
- if (data[i].node == data[i + 1].node) {
|
|
|
- _html += '<div class="info"><div class="infos">'
|
|
|
- } else {
|
|
|
- _html += '<div class="info">'
|
|
|
- }
|
|
|
- } else {
|
|
|
- _html += '<div class="info">'
|
|
|
- }
|
|
|
- _html += ' <div class="content"> <div class="title">'
|
|
|
- if (i != data.length - 1) {
|
|
|
- if (data[i].node == data[i + 1].node) {
|
|
|
- _html += '<i></i>'
|
|
|
- }
|
|
|
- }
|
|
|
- _html +=
|
|
|
- ' <span style="float:left;">' +
|
|
|
- data[i].operatorTime +
|
|
|
- '</span> <span style="float:right;">' +
|
|
|
- data[i].operator +
|
|
|
- '</span> </div> <div class="op">' +
|
|
|
- op +
|
|
|
- '</div> </div></div>'
|
|
|
- if (i != data.length - 1) {
|
|
|
- if (data[i].node != data[i + 1].node) {
|
|
|
- _html += '</li>'
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (!_html) {
|
|
|
- _html = _self._localeStr.WEB_NOAPPROVALRECORDS
|
|
|
- }
|
|
|
- $('#approveHisInfo ul')[0].innerHTML = _html
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- showbtn: function () {
|
|
|
- waf('#dynamicSign').wafLinkButton('option', 'hidden', !assign.dynamicSign)
|
|
|
- waf('#appendActivity').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- !assign.allowAppendActivity || approvetype == 'manualdecision'
|
|
|
- )
|
|
|
- waf('#jumpto').wafLinkButton('option', 'hidden', !assign.allowJumpTo)
|
|
|
- waf('#kickback').wafLinkButton('option', 'hidden', !assign.allowKickBack)
|
|
|
- waf('#deliver').wafLinkButton('option', 'hidden', !assign.allowDeliver)
|
|
|
- waf('#YZJShare').wafLinkButton('option', 'hidden', true)
|
|
|
- if (assign.allowJumpTo || assign.allowKickBack) {
|
|
|
- var assignId = assign.assignId
|
|
|
- waf.doPost({
|
|
|
- url:
|
|
|
- waf.getContextPath() +
|
|
|
- '/common/tree.do?method=getJumpAndKickBackModel',
|
|
|
- async: false,
|
|
|
- data: { assignId: assignId },
|
|
|
- success: function (data) {
|
|
|
- if (assign.allowJumpTo) {
|
|
|
- waf('#jumpto').wafLinkButton('option', 'hidden', !data.jumpTo)
|
|
|
- }
|
|
|
- if (assign.allowKickBack) {
|
|
|
- waf('#kickback').wafLinkButton('option', 'hidden', !data.kickBack)
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- if (
|
|
|
- assign.canSpecifyNextPerformer ||
|
|
|
- assign.mustShowPostActivities ||
|
|
|
- assign.showNextP
|
|
|
- ) {
|
|
|
- if (assign.mustShowPostActivities || assign.showNextP) {
|
|
|
- waf(nextActIndex).wafCheckbox('option', 'checked', true)
|
|
|
- }
|
|
|
- } else {
|
|
|
- waf(nextActIndex).wafCheckbox('option', 'hidden', true)
|
|
|
- }
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- waf('#btnImage').wafLinkButton('option', 'hidden', false)
|
|
|
- waf('#btnBill').wafLinkButton('option', 'hidden', false)
|
|
|
- }
|
|
|
- if (approvetype == 'approve') {
|
|
|
- waf('#save').wafLinkButton('option', 'hidden', false)
|
|
|
- }
|
|
|
- },
|
|
|
- setselnextperson: function (actId, name, id) {
|
|
|
- var ps = {}
|
|
|
- if (selnextPersons[actId]) {
|
|
|
- ps = selnextPersons[actId]
|
|
|
- if (ps[id]) {
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- ps[id] = { number: '', name: name, id: id }
|
|
|
- selnextPersons[actId] = ps
|
|
|
- },
|
|
|
- loadNextActs: function () {
|
|
|
- _private.getnextacts()
|
|
|
- var nextActs = assign.nextActs
|
|
|
- _private.innerloadNextActs(nextActs)
|
|
|
- },
|
|
|
- innerloadNextActs: function (nextActs, selectAct) {
|
|
|
- var table = $('#nextActList')
|
|
|
- var _innerhtml = ''
|
|
|
- if (nextActs) {
|
|
|
- var actTitles = {}
|
|
|
- if (nextActs.length == 0) {
|
|
|
- _innerhtml +=
|
|
|
- '<div>' + _self._localeStr.WEB_NOSETACTIVITYPERSON + '</div>'
|
|
|
- $(_private.modifyNextAct).wafLinkButton('option', 'hidden', true)
|
|
|
- } else {
|
|
|
- var hasAct = false
|
|
|
- var selectActobj = {}
|
|
|
- if (selectAct) {
|
|
|
- for (var actid in selectAct) {
|
|
|
- selectActobj[actid] = actid
|
|
|
- }
|
|
|
- }
|
|
|
- for (var i = 0; i != nextActs.length; i++) {
|
|
|
- var act = nextActs[i]
|
|
|
- var num = 0
|
|
|
- var actId = act.actId
|
|
|
- var candidateselected = act.candidateselected
|
|
|
- if (!selectActobj[actId]) {
|
|
|
- for (var id in candidateselected) {
|
|
|
- _private.setselnextperson(actId, candidateselected[id], id)
|
|
|
- num++
|
|
|
- }
|
|
|
- }
|
|
|
- if (_private.isPredict && !act.isPredict) {
|
|
|
- continue
|
|
|
- }
|
|
|
- hasAct = true
|
|
|
- var actKey = act.actKey
|
|
|
- var actName = act.actName
|
|
|
- var isAllPersonAsPerformer = act.isAllPersonAsPerformer
|
|
|
- var persons = act.persons
|
|
|
- var count = act.count
|
|
|
- var issel = false
|
|
|
- var title = ''
|
|
|
- if (num > 0) {
|
|
|
- issel = true
|
|
|
- }
|
|
|
- _innerhtml +=
|
|
|
- "<div class='actInfo' actId='" +
|
|
|
- actId +
|
|
|
- "' actKey='" +
|
|
|
- actKey +
|
|
|
- "' title='" +
|
|
|
- actName +
|
|
|
- "'>" +
|
|
|
- actName +
|
|
|
- "</div><div class='actInfoperson' id='" +
|
|
|
- actId +
|
|
|
- "'>"
|
|
|
- if (issel) {
|
|
|
- _innerhtml += _self._localeStr.WEB_SELECTED
|
|
|
- var j = 0
|
|
|
- for (var id in candidateselected) {
|
|
|
- if (j > 0) {
|
|
|
- title += '、'
|
|
|
- }
|
|
|
- title += candidateselected[id]
|
|
|
- if (j > 2) {
|
|
|
- j++
|
|
|
- continue
|
|
|
- }
|
|
|
- if (j > 0) {
|
|
|
- _innerhtml += '、'
|
|
|
- }
|
|
|
- _innerhtml +=
|
|
|
- "<span class='persons' personid='" +
|
|
|
- id +
|
|
|
- "'>" +
|
|
|
- candidateselected[id] +
|
|
|
- '</span>'
|
|
|
- j++
|
|
|
- }
|
|
|
- actTitles[actId] = title
|
|
|
- if (j > 2) {
|
|
|
- _innerhtml +=
|
|
|
- _self._localeStr.WEB_ANDSOON + j + _self._localeStr.WEB_PEOPLE
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (count > 0) {
|
|
|
- _innerhtml += ''
|
|
|
- var j = 0
|
|
|
- for (var id in persons) {
|
|
|
- if (j > 0) {
|
|
|
- title += '、'
|
|
|
- }
|
|
|
- title += persons[id]
|
|
|
- if (j > 2) {
|
|
|
- _innerhtml +=
|
|
|
- _self._localeStr.WEB_ANDSOON +
|
|
|
- count +
|
|
|
- _self._localeStr.WEB_PEOPLE
|
|
|
- break
|
|
|
- }
|
|
|
- if (j > 0) {
|
|
|
- _innerhtml += '、'
|
|
|
- }
|
|
|
- _innerhtml +=
|
|
|
- "<span class='persons' personid='" +
|
|
|
- id +
|
|
|
- "'>" +
|
|
|
- persons[id] +
|
|
|
- '</span>'
|
|
|
- j++
|
|
|
- }
|
|
|
- actTitles[actId] = title
|
|
|
- } else {
|
|
|
- _innerhtml += _self._localeStr.WEB_UNSELECTEDPERSON
|
|
|
- }
|
|
|
- }
|
|
|
- _innerhtml += '</div>'
|
|
|
- }
|
|
|
- if (!hasAct) {
|
|
|
- _innerhtml += '<div>' + _self._localeStr.WEB_POINTNEXTTIP + '</div>'
|
|
|
- }
|
|
|
- $(_private.modifyNextAct).wafLinkButton('option', 'hidden', false)
|
|
|
- }
|
|
|
- table.html(_innerhtml)
|
|
|
- for (var actTitle in actTitles) {
|
|
|
- $('#' + actTitle).attr('title', actTitles[actTitle])
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- getOpinion: function (actInstId, assignId, billId) {
|
|
|
- var params = {}
|
|
|
- params.actInstId = actInstId
|
|
|
- params.assignId = assignId
|
|
|
- params.billId = billId
|
|
|
- params.type = approvetype
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/workflow/approve.do?method=getOpinion',
|
|
|
- data: params,
|
|
|
- success: function (data) {
|
|
|
- if (
|
|
|
- data != null &&
|
|
|
- data != '' &&
|
|
|
- data.option != null &&
|
|
|
- data.option != ''
|
|
|
- ) {
|
|
|
- $('#approveOpinionInfo span').text(data.option)
|
|
|
- } else {
|
|
|
- $('#approveOpinionInfo').hide()
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- supportMulti: function () {
|
|
|
- $('#approveDeliverBtn span').text(_self._localeStr.WEB_DELIVER)
|
|
|
- $('#approvePassBtn span').text(_self._localeStr.WEB_CIRCULATEBTN)
|
|
|
- $('#approveAppendBtn span').text(_self._localeStr.WEB_ADDSIGN)
|
|
|
- $('#approveDynamicSignBtn span').text(_self._localeStr.WEB_CONTERSIGNED)
|
|
|
- $('#approveSaveBtn span').text(_self._localeStr.WEB_SAVE)
|
|
|
- $('#approveSubmitBtn span').text(_self._localeStr.WEB_SUBMIT)
|
|
|
- $('#btnUpload').prepend(_self._localeStr.WEB_UPLOADATTACH)
|
|
|
- $('#attachmul1').prepend(_self._localeStr.WEB_ATTCHNUM)
|
|
|
- $('#attchmul2').prepend(_self._localeStr.WEB_VIEWDETAIL)
|
|
|
- $('#attachmul3').prepend(_self._localeStr.WEB_ATTCHGE)
|
|
|
- $('#attchment').append($('.attchmentnuminfo'))
|
|
|
- $('#attchment').append($('#upload'))
|
|
|
- $('#myPhraseInfo .edit').text(_self._localeStr.WEB_SAVE)
|
|
|
- $('#myPhraseInfo .backprevious').text(_self._localeStr.WEB_BACK)
|
|
|
- $('#myPhraseInfo .commit').text(_self._localeStr.WEB_DETERMINE)
|
|
|
- $('#myPhrasetext').prop(
|
|
|
- 'placeholder',
|
|
|
- _self._localeStr.WEB_ENTER_COMMENTS
|
|
|
- )
|
|
|
- },
|
|
|
- initApprove: function () {
|
|
|
- if (assign.riskInsight) {
|
|
|
- _private.initRiskInsight()
|
|
|
- } else {
|
|
|
- waf('#riskInsight').wafTab('remove')
|
|
|
- }
|
|
|
- _private.initEsignature()
|
|
|
- _private.initCCPerson()
|
|
|
- _private.showbtn()
|
|
|
- _private.initBillPage()
|
|
|
- _private.initAttachment()
|
|
|
- _private.initOperateIframe()
|
|
|
- _private.initAbstractAndPhrase()
|
|
|
- _private.initApprovePolicy()
|
|
|
- },
|
|
|
- initBatchapprove: function () {
|
|
|
- _private.initEsignature()
|
|
|
- _private.showbtn()
|
|
|
- locationurl.billIds = decodeURIComponent(parent.window.billIDs)
|
|
|
- locationurl.assignmentIds = parent.window.assignmentIDs
|
|
|
- _private.getbatchlist()
|
|
|
- _private.initAbstractAndPhrase()
|
|
|
- _private.initApprovePolicy()
|
|
|
- waf('#attchment').wafSection('option', 'hidden', true)
|
|
|
- $('#upload').remove()
|
|
|
- $('#operateInfo').remove()
|
|
|
- $('.attchmentnuminfo').remove()
|
|
|
- },
|
|
|
- initManualdecision: function () {
|
|
|
- _private.initManualdecisionNextAct()
|
|
|
- _private.showbtn()
|
|
|
- _private.initBillPage()
|
|
|
- _private.initAttachment()
|
|
|
- _private.initOperateIframe()
|
|
|
- _private.initDecisionDescAndVal()
|
|
|
- },
|
|
|
- initPassComent: function () {
|
|
|
- if (assign.passcoment != null) {
|
|
|
- waf('#passComentOpinion').val(assign.passcoment)
|
|
|
- }
|
|
|
- if (assign.isFeedBack) {
|
|
|
- waf('#sendmsgs').wafCheckbox('disable')
|
|
|
- waf('#sendmails').wafCheckbox('disable')
|
|
|
- }
|
|
|
- waf('#submit').wafLinkButton('option', 'hidden', assign.isFeedBack)
|
|
|
- waf('#passAssignment').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- assign.againPass === 'false'
|
|
|
- )
|
|
|
- _private.initBillPage()
|
|
|
- _private.initAttachment()
|
|
|
- _private.initOperateIframe()
|
|
|
- },
|
|
|
- initManualdecisionNextAct: function () {
|
|
|
- nextActIndex = '#nextAct1'
|
|
|
- _private.modifyNextAct = '#modifynextAct1'
|
|
|
- if (waf(nextActIndex).wafCheckbox('isChecked')) {
|
|
|
- _private.loadNextActs()
|
|
|
- }
|
|
|
- },
|
|
|
- initRiskInsight: function () {
|
|
|
- try {
|
|
|
- mod.use('billInsight', function () {
|
|
|
- riskInsight = true
|
|
|
- $('#form').append(
|
|
|
- '<div id="billInsight" class="" ctrlrole="waf.billInsight" data-domcreated="true"></div>'
|
|
|
- )
|
|
|
- $('#li_approveTask').css('width', '50%')
|
|
|
- $('#li_riskInsight').show()
|
|
|
- billInsightOption = _private.getWeakRisk()
|
|
|
- _private.updateBillInsightNum(billInsightOption)
|
|
|
- $(window).resize(function () {
|
|
|
- _private.resizeBillInsight(true)
|
|
|
- })
|
|
|
- })
|
|
|
- } catch (e) {
|
|
|
- console.log(_self._localeStr.WEB_CONSOLETEXT)
|
|
|
- }
|
|
|
- },
|
|
|
- initCCPerson: function () {
|
|
|
- if (assign.allowCC) {
|
|
|
- $('#panelCC').show()
|
|
|
- }
|
|
|
- if (assign.ccPersonIds != null && assign.ccPersonName != null) {
|
|
|
- waf('#textCC').prop('personIds', assign.ccPersonIds)
|
|
|
- waf('#textCC').val(assign.ccPersonName)
|
|
|
- }
|
|
|
- },
|
|
|
- initEsignature: function () {
|
|
|
- if (
|
|
|
- !assign.isEsignature ||
|
|
|
- assign.esignatureAttachId == undefined ||
|
|
|
- assign.esignatureAttachId == ''
|
|
|
- ) {
|
|
|
- $('#panel6').remove()
|
|
|
- } else {
|
|
|
- var _html =
|
|
|
- "<img src='/easweb/webviews/webframework/webcom/attachment/view.jsp?bosID=" +
|
|
|
- assign.esignatureAttachId +
|
|
|
- "'/>"
|
|
|
- $('#esigndiv')[0].innerHTML = _html
|
|
|
- }
|
|
|
- },
|
|
|
- initBillPage: function () {
|
|
|
- if (assign.messageDigest) {
|
|
|
- try {
|
|
|
- _private.messageDigest()
|
|
|
- } catch (e) {
|
|
|
- console.log(_self._localeStr.WEB_BILLINITFAILED)
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (!assign.billEditUrl || assign.billEditUrl == 'nobill.html') {
|
|
|
- assign.billEditUrl = '/easweb/webviews/workflow/nobill.html?'
|
|
|
- }
|
|
|
- if (approvetype == 'passComent' && msgId) {
|
|
|
- assign.billEditUrl =
|
|
|
- assign.billEditUrl + '&msgId=' + encodeURIComponent(msgId)
|
|
|
- }
|
|
|
- _private.displayBillInfo(assign.billEditUrl)
|
|
|
- }
|
|
|
- },
|
|
|
- initAttachment: function () {
|
|
|
- waf('#attachmentBtn').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- assign.attachDisabled
|
|
|
- )
|
|
|
- _private.refreshAttachCountInner(assign.attachmentCount)
|
|
|
- },
|
|
|
- initOperateIframe: function () {
|
|
|
- var url =
|
|
|
- '/easweb/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.approveRelatedInfo&isshowapprove=true&assignmentId=' +
|
|
|
- assign.assignId
|
|
|
- waf('#operateiframe').wafIframe('option', 'src', url)
|
|
|
- },
|
|
|
- initApprovePolicy: function () {
|
|
|
- _private.getPolicy(assign.approveValue)
|
|
|
- _private.getDefaultOption()
|
|
|
- if (assign.id) {
|
|
|
- waf('#approveResult').wafRadioGroup('setValue', assign.approveResult)
|
|
|
- waf('#policy').wafSelect('setValue', assign.handlerOpinion)
|
|
|
- } else {
|
|
|
- waf('#approveResult').wafRadioGroup('setValue', 'true')
|
|
|
- }
|
|
|
- },
|
|
|
- initAbstractAndPhrase: function () {
|
|
|
- if (assign.absStr) {
|
|
|
- waf('#optionalSection').wafSection(
|
|
|
- 'option',
|
|
|
- 'title',
|
|
|
- _self._localeStr.WEB_PROCESSSUMMARY
|
|
|
- )
|
|
|
- waf('#optionalSection').wafSection('option', 'hidden', false)
|
|
|
- $('#description').text(assign.absStr)
|
|
|
- }
|
|
|
- _private.getphrase()
|
|
|
- $('#myPhraseList').on('click', 'li', function (e) {
|
|
|
- _private.clickPhrase(e)
|
|
|
- })
|
|
|
- $('#myPhraseList').on('dblclick', 'li', function (e) {
|
|
|
- _private.dblclickPhrase(e)
|
|
|
- })
|
|
|
- $('#myPhraseList').on('click', 'li i', function (e) {
|
|
|
- _private.phrasedel(e)
|
|
|
- })
|
|
|
- },
|
|
|
- initDecisionDescAndVal: function () {
|
|
|
- if (assign.decisionDesc) {
|
|
|
- waf('#optionalSection').wafSection(
|
|
|
- 'option',
|
|
|
- 'title',
|
|
|
- _self._localeStr.WEB_DECISONDESC
|
|
|
- )
|
|
|
- waf('#optionalSection').wafSection('option', 'hidden', false)
|
|
|
- $('#description').text(assign.decisionDesc)
|
|
|
- _private.changeBillHeight(85, false)
|
|
|
- }
|
|
|
- _private.setmanualdecision()
|
|
|
- },
|
|
|
- initCalProcDiagram: function () {
|
|
|
- var url =
|
|
|
- '/easweb/webviews/workflow/calProcDiagramNew.jsp?procInstId=' +
|
|
|
- assign.procInstId +
|
|
|
- '&actinstId=' +
|
|
|
- assign.actInstId +
|
|
|
- '&newPage=' +
|
|
|
- assign.newPage
|
|
|
- waf('#' + _private.charFrameId).wafIframe('option', 'src', url)
|
|
|
- var urlWin =
|
|
|
- '/easweb/webviews/workflow/calProcDiagram.jsp?procInstId=' +
|
|
|
- assign.procInstId +
|
|
|
- '&actinstId=' +
|
|
|
- assign.actInstId
|
|
|
- waf('#chartIframe').wafIframe('option', 'src', urlWin)
|
|
|
- $('#chart').click(function () {
|
|
|
- $('#chart').hide()
|
|
|
- })
|
|
|
- $('#chartClose').click(function () {
|
|
|
- $('#chart').hide()
|
|
|
- })
|
|
|
- $('#openChartIframe').click(function () {
|
|
|
- $('#chart').show()
|
|
|
- })
|
|
|
- var times = 0
|
|
|
- var interval = setInterval(function () {
|
|
|
- if (window.frames[_private.charFrameId]) {
|
|
|
- var num = window.frames[_private.charFrameId].num
|
|
|
- if (num > 0) {
|
|
|
- var iWidth = window.innerWidth * (4 / 5)
|
|
|
- var rowNum = parseInt(iWidth / 176)
|
|
|
- var calcHeight = Math.ceil(num / rowNum) * 140
|
|
|
- var winHeight = ''
|
|
|
- if (top == parent.parent) {
|
|
|
- winHeight = window.innerHeight
|
|
|
- } else {
|
|
|
- winHeight = window.screen.availHeight - 120
|
|
|
- }
|
|
|
- var iHeight = winHeight * (4 / 5)
|
|
|
- if (calcHeight < iHeight) {
|
|
|
- iHeight = calcHeight
|
|
|
- }
|
|
|
- var iTop = (winHeight - 70 - iHeight) / 2
|
|
|
- var iLeft = (window.innerWidth - 10 - iWidth) / 2
|
|
|
- $('#chartIframe').css({
|
|
|
- 'margin-left': iLeft,
|
|
|
- 'margin-top': iTop,
|
|
|
- width: iWidth,
|
|
|
- height: iHeight
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- times++
|
|
|
- if (times > 100) {
|
|
|
- clearInterval(interval)
|
|
|
- }
|
|
|
- }, 100)
|
|
|
- },
|
|
|
- initPageLayout: function () {
|
|
|
- if (assign.newPage) {
|
|
|
- $('#predictionChart').remove()
|
|
|
- _private.charFrameId = 'predictionChartIframeNew'
|
|
|
- _private.initBtnNew()
|
|
|
- } else {
|
|
|
- $('#predictionChartNew').remove()
|
|
|
- }
|
|
|
- if (
|
|
|
- locationurl.isOpenNewTab != undefined &&
|
|
|
- locationurl.isOpenNewTab == 'true'
|
|
|
- ) {
|
|
|
- $('#nextActList').css('height', '20vh')
|
|
|
- }
|
|
|
- },
|
|
|
- initCalProcDiagramPanel: function () {
|
|
|
- if (approvetype == 'approve') {
|
|
|
- _private.initCalProcDiagram()
|
|
|
- } else {
|
|
|
- $('#chart').remove()
|
|
|
- $('#predictionChart').remove()
|
|
|
- $('#predictionChartNew').remove()
|
|
|
- }
|
|
|
- },
|
|
|
- initSection: function () {
|
|
|
- if (approvetype != 'batchapprove') {
|
|
|
- waf('#predictionChart').wafSection(
|
|
|
- 'option',
|
|
|
- 'onopen',
|
|
|
- function (event) {
|
|
|
- _private.changeBillHeight(50, false)
|
|
|
- }
|
|
|
- )
|
|
|
- waf('#predictionChart').wafSection(
|
|
|
- 'option',
|
|
|
- 'onclose',
|
|
|
- function (event) {
|
|
|
- _private.changeBillHeight(50, true)
|
|
|
- }
|
|
|
- )
|
|
|
- waf('#operateInfo').wafSection('option', 'onopen', function (event) {
|
|
|
- _private.changeBillHeight(220, false)
|
|
|
- })
|
|
|
- waf('#operateInfo').wafSection('option', 'onclose', function (event) {
|
|
|
- _private.changeBillHeight(220, true)
|
|
|
- })
|
|
|
- waf('#optionalSection').wafSection(
|
|
|
- 'option',
|
|
|
- 'onopen',
|
|
|
- function (event) {
|
|
|
- _private.changeBillHeight(60, false)
|
|
|
- }
|
|
|
- )
|
|
|
- waf('#optionalSection').wafSection(
|
|
|
- 'option',
|
|
|
- 'onclose',
|
|
|
- function (event) {
|
|
|
- _private.changeBillHeight(60, true)
|
|
|
- }
|
|
|
- )
|
|
|
- }
|
|
|
- },
|
|
|
- initZoomTool: function () {
|
|
|
- $('#onClose').show()
|
|
|
- $('#tabs_ul li')
|
|
|
- .eq($('#tabs_ul li').length - 1)
|
|
|
- .append($('#onClose'))
|
|
|
- $('#splitPanel_LeftSplitPanel').prepend($('#onOpen'))
|
|
|
- $('#onClose').bind('click', function () {
|
|
|
- $('#splitPanel').height($('#splitPanel_LeftSplitPanel').height())
|
|
|
- rightPanelWidth = $('#splitPanel_RightSplitPanel').width()
|
|
|
- leftPanelWidth = $('#splitPanel_LeftSplitPanel').width()
|
|
|
- $('#splitPanel_RightSplitPanel').css('width', '0%')
|
|
|
- $('#splitPanel_LeftSplitPanel').css('width', '100%')
|
|
|
- $('#onOpen').show()
|
|
|
- if (riskInsight && _private.curTab == 'riskInsight') {
|
|
|
- $('.billInsight_cardPanel').css('display', 'none')
|
|
|
- }
|
|
|
- if (approvetype == 'batchapprove' && !assign.batchApproveUrl) {
|
|
|
- var newWidth = $('#queryGrid').wafGrid('getGridParentWidth')
|
|
|
- $('#queryGrid').jqGrid('setGridWidth', newWidth)
|
|
|
- }
|
|
|
- })
|
|
|
- $('#onOpen').bind('click', function () {
|
|
|
- $('#onOpen').hide()
|
|
|
- $('#splitPanel_RightSplitPanel').css('width', rightPanelWidth)
|
|
|
- $('#splitPanel_LeftSplitPanel').css('width', leftPanelWidth)
|
|
|
- if (riskInsight && _private.curTab == 'riskInsight') {
|
|
|
- $('.billInsight_cardPanel').show()
|
|
|
- }
|
|
|
- if (approvetype == 'batchapprove' && !assign.batchApproveUrl) {
|
|
|
- var newWidth = $('#queryGrid').wafGrid('getGridParentWidth')
|
|
|
- $('#queryGrid').jqGrid('setGridWidth', newWidth)
|
|
|
- }
|
|
|
- })
|
|
|
- $('#onOpen').bind('hover', function () {
|
|
|
- $('#onOpen').css('opacity', 1)
|
|
|
- })
|
|
|
- },
|
|
|
- pageOnload: function (e) {
|
|
|
- $('body').ready(function () {
|
|
|
- _private.supportMulti()
|
|
|
- _private.showtab()
|
|
|
- var billId = assign.billId
|
|
|
- if (approvetype == 'approve') {
|
|
|
- _private.initApprove()
|
|
|
- } else {
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- _private.initBatchapprove()
|
|
|
- if (locationurl && locationurl.assignmentIds) {
|
|
|
- var actionUrl =
|
|
|
- waf.getContextPath() +
|
|
|
- '/activityProperty.do?method=addAssignReadTime'
|
|
|
- var params = {}
|
|
|
- params.assignIds = locationurl.assignmentIds
|
|
|
- waf.doPost({
|
|
|
- url: actionUrl,
|
|
|
- data: params,
|
|
|
- async: true,
|
|
|
- success: function (data) {}
|
|
|
- })
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (approvetype == 'manualdecision') {
|
|
|
- _private.initManualdecision()
|
|
|
- } else {
|
|
|
- if (approvetype == 'passComent') {
|
|
|
- _private.initPassComent()
|
|
|
- billId = passId
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- _private.initSection()
|
|
|
- _private.initPageLayout()
|
|
|
- _private.initCalProcDiagramPanel()
|
|
|
- _private.getOpinion(assign.actInstId, assign.assignId, billId)
|
|
|
- _private.setsendmailormsg(
|
|
|
- assign.isOpenMessageSendOnUI,
|
|
|
- assign.notifyNextBySMS,
|
|
|
- assign.notifyNextByMail
|
|
|
- )
|
|
|
- if (assign.newPage) {
|
|
|
- _private.initZoomTool()
|
|
|
- }
|
|
|
- _private.resizePage()
|
|
|
- window.scrollTo(0, 0)
|
|
|
- var newTab = waf.getUrlParams(document.URL).isOpenNewTab
|
|
|
- if (newTab) {
|
|
|
- $('#operateInfo').css('margin', '3px 5px 5px 0')
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- initBtnNew: function () {
|
|
|
- var submitBtn = waf('#submit').wafLinkButton('option', 'hidden')
|
|
|
- $('#toolBar .ui-toolbar-ul').css('float', 'right')
|
|
|
- if (approvetype == 'approve' || approvetype == 'batchapprove') {
|
|
|
- if (approvetype == 'approve') {
|
|
|
- var offset =
|
|
|
- $('#panelNew1').width() - ($('#approveSaveBtn').width() * 2 + 20)
|
|
|
- if (offset > 0) {
|
|
|
- $('#approveSaveBtn').css('margin-left', offset / 2)
|
|
|
- }
|
|
|
- } else {
|
|
|
- $('#approveSubmitBtn').css('float', 'right')
|
|
|
- }
|
|
|
- $('#toolBarNew1').show()
|
|
|
- $('#panelNew1').show()
|
|
|
- $('#labelapproveResult_label').hide()
|
|
|
- waf('#approveSubmitBtn').wafLinkButton('option', 'hidden', submitBtn)
|
|
|
- waf('#approveSaveBtn').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- waf('#save').wafLinkButton('option', 'hidden')
|
|
|
- )
|
|
|
- waf('#approveDeliverBtn').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- waf('#deliver').wafLinkButton('option', 'hidden')
|
|
|
- )
|
|
|
- waf('#approvePassBtn').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- waf('#passAssignment').wafLinkButton('option', 'hidden')
|
|
|
- )
|
|
|
- waf('#approveKickbackBtn').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- waf('#kickback').wafLinkButton('option', 'hidden')
|
|
|
- )
|
|
|
- waf('#approveAppendBtn').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- waf('#appendActivity').wafLinkButton('option', 'hidden')
|
|
|
- )
|
|
|
- waf('#approveDynamicSignBtn').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- waf('#dynamicSign').wafLinkButton('option', 'hidden')
|
|
|
- )
|
|
|
- waf('#approveJumpBtn').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- waf('#jumpto').wafLinkButton('option', 'hidden')
|
|
|
- )
|
|
|
- } else {
|
|
|
- if (approvetype == 'manualdecision') {
|
|
|
- $('#panelNew3').show()
|
|
|
- var b = waf('#deliver').wafLinkButton('option', 'hidden')
|
|
|
- if (!b) {
|
|
|
- $('#toolBarNew3').show()
|
|
|
- }
|
|
|
- waf('#decisionDeliverBtn').wafLinkButton(
|
|
|
- 'option',
|
|
|
- 'hidden',
|
|
|
- waf('#deliver').wafLinkButton('option', 'hidden')
|
|
|
- )
|
|
|
- waf('#decisionSubmitBtn').wafLinkButton('option', 'hidden', submitBtn)
|
|
|
- } else {
|
|
|
- if (approvetype == 'passComent') {
|
|
|
- $('#panelNew2').show()
|
|
|
- var b = waf('#passAssignment').wafLinkButton('option', 'hidden')
|
|
|
- if (!b) {
|
|
|
- $('#toolBarNew2').show()
|
|
|
- }
|
|
|
- waf('#passPassBtn').wafLinkButton('option', 'hidden', b)
|
|
|
- waf('#passSubmitBtn').wafLinkButton('option', 'hidden', submitBtn)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- waf('#submit').wafLinkButton('option', 'hidden', true)
|
|
|
- waf('#save').wafLinkButton('option', 'hidden', true)
|
|
|
- waf('#deliver').wafLinkButton('option', 'hidden', true)
|
|
|
- waf('#passAssignment').wafLinkButton('option', 'hidden', true)
|
|
|
- waf('#kickback').wafLinkButton('option', 'hidden', true)
|
|
|
- waf('#appendActivity').wafLinkButton('option', 'hidden', true)
|
|
|
- waf('#dynamicSign').wafLinkButton('option', 'hidden', true)
|
|
|
- waf('#jumpto').wafLinkButton('option', 'hidden', true)
|
|
|
- if (approvetype != 'batchapprove') {
|
|
|
- $('#assignTitle').show()
|
|
|
- $('#assignTitle').css(
|
|
|
- 'width',
|
|
|
- $('#toolBar').width() - $('#toolBar .ui-toolbar-ul').width()
|
|
|
- )
|
|
|
- $('#assignTitle').text(assign.title)
|
|
|
- $('#assignTitle').prop('title', assign.title)
|
|
|
- }
|
|
|
- },
|
|
|
- changePolicy: function (event, ui) {
|
|
|
- _private.setPolicy(ui.current)
|
|
|
- if (ui.current == 'false') {
|
|
|
- $('#panel').hide()
|
|
|
- } else {
|
|
|
- $('#panel').show()
|
|
|
- }
|
|
|
- },
|
|
|
- deliver: function (event, value) {
|
|
|
- var para = {}
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- para.sourceID = _private.getbatchid().assignIds
|
|
|
- } else {
|
|
|
- para.sourceID = assign.assignId
|
|
|
- }
|
|
|
- wfCommonUtil.deliverAssignment(para)
|
|
|
- },
|
|
|
- passAssignment: function (event, value) {
|
|
|
- var para = {}
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- var info = _private.getbatchid()
|
|
|
- para.sourceID = info.assignIds
|
|
|
- para.bizObjID = info.billIds
|
|
|
- } else {
|
|
|
- para.sourceID = assign.assignId
|
|
|
- para.bizObjID = assign.billId
|
|
|
- }
|
|
|
- wfCommonUtil.passComment(para)
|
|
|
- },
|
|
|
- kickback: function (event, value) {
|
|
|
- var assignid = ''
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- assignid = _private.getbatchid().assignIds
|
|
|
- } else {
|
|
|
- assignid = assign.assignId
|
|
|
- }
|
|
|
- var url =
|
|
|
- waf.getContextPath() +
|
|
|
- '/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.kickBackPage&assignmentId=' +
|
|
|
- encodeURIComponent(assignid)
|
|
|
- wfCommonUtil.windowopen(url, _self._localeStr.WEB_REJECT, 450, 320)
|
|
|
- },
|
|
|
- jumpto: function (event, value) {
|
|
|
- var assignid = ''
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- assignid = _private.getbatchid().assignIds
|
|
|
- } else {
|
|
|
- assignid = assign.assignId
|
|
|
- }
|
|
|
- var url =
|
|
|
- waf.getContextPath() +
|
|
|
- '/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.jump&assignmentId=' +
|
|
|
- encodeURIComponent(assignid)
|
|
|
- wfCommonUtil.windowopen(url, _self._localeStr.WEB_JUMP, 450, 281)
|
|
|
- },
|
|
|
- dynamicSign: function (event, value) {
|
|
|
- var assignid = ''
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- assignid = _private.getbatchid().assignIds
|
|
|
- } else {
|
|
|
- assignid = assign.assignId
|
|
|
- }
|
|
|
- var url =
|
|
|
- waf.getContextPath() +
|
|
|
- '/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.dynamicSignPage&assignmentId=' +
|
|
|
- encodeURIComponent(assignid)
|
|
|
- wfCommonUtil.windowopen(
|
|
|
- url,
|
|
|
- _self._localeStr.WEB_COUNTERSIGNPART,
|
|
|
- 450,
|
|
|
- 281
|
|
|
- )
|
|
|
- },
|
|
|
- appendActivity: function (event, value) {
|
|
|
- var billId = ''
|
|
|
- var assignId = ''
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- var info = _private.getbatchid()
|
|
|
- assignId = info.assignIds
|
|
|
- billId = info.billIds
|
|
|
- } else {
|
|
|
- assignId = assign.assignId
|
|
|
- billId = assign.billId
|
|
|
- }
|
|
|
- var url =
|
|
|
- waf.getContextPath() +
|
|
|
- '/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.appendSignPage&assignmentId=' +
|
|
|
- encodeURIComponent(assignId) +
|
|
|
- '&billIds=' +
|
|
|
- encodeURIComponent(billId) +
|
|
|
- '&isAppended=' +
|
|
|
- assign.isAppended
|
|
|
- if (assign.appendMode) {
|
|
|
- url += '&appendMode=' + assign.appendMode[0]
|
|
|
- }
|
|
|
- if (assign.routeMode) {
|
|
|
- url += '&routeMode=' + assign.routeMode[0]
|
|
|
- }
|
|
|
- wfCommonUtil.windowopen(url, _self._localeStr.WEB_COUNTERSIGN, 520, 746)
|
|
|
- },
|
|
|
- modifynextAct: function (event, value) {
|
|
|
- _private.setmodifynextAct()
|
|
|
- },
|
|
|
- setselnextactperson: function (resultStr) {
|
|
|
- _private.innerloadNextActs(assign.nextActs, resultStr)
|
|
|
- for (var actid in resultStr) {
|
|
|
- var ps = resultStr[actid]
|
|
|
- var _innerhtml = _self._localeStr.WEB_SELECTED
|
|
|
- var j = 0
|
|
|
- if (_private.isEmptyObject(ps)) {
|
|
|
- delete selnextPersons[actid]
|
|
|
- } else {
|
|
|
- var title = ''
|
|
|
- for (var id in ps) {
|
|
|
- var person = ps[id]
|
|
|
- var name = person.name
|
|
|
- _private.setselnextperson(actid, name, id)
|
|
|
- if (j > 0) {
|
|
|
- title += '、'
|
|
|
- }
|
|
|
- title += name
|
|
|
- if (j > 2) {
|
|
|
- j++
|
|
|
- continue
|
|
|
- }
|
|
|
- if (j > 0) {
|
|
|
- _innerhtml += '、'
|
|
|
- }
|
|
|
- _innerhtml +=
|
|
|
- "<span class='persons' personid='" + id + "'>" + name + '</span>'
|
|
|
- j++
|
|
|
- }
|
|
|
- if (j > 2) {
|
|
|
- _innerhtml +=
|
|
|
- _self._localeStr.WEB_ANDSOON + j + _self._localeStr.WEB_PEOPLE
|
|
|
- }
|
|
|
- $('#' + actid).html(_innerhtml)
|
|
|
- $('#' + actid).attr('title', title)
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- isEmptyObject: function (obj) {
|
|
|
- for (var key in obj) {
|
|
|
- return false
|
|
|
- }
|
|
|
- return true
|
|
|
- },
|
|
|
- getphrase: function () {
|
|
|
- waf.doPost({
|
|
|
- url:
|
|
|
- waf.getContextPath() +
|
|
|
- '/workflow/approve.do?method=getAppMyPhraseList',
|
|
|
- success: function (data) {
|
|
|
- var myPhraseList = $('#myPhraseList .showdel')
|
|
|
- myPhraseList.html('')
|
|
|
- for (var i = 0; i < data.length; i++) {
|
|
|
- var row = $('<li></li>')
|
|
|
- row.attr({ 'data-id': data[i].id, title: data[i].phraseText })
|
|
|
- row.text(data[i].phraseText)
|
|
|
- row.append('<i></i>')
|
|
|
- myPhraseList.append(row)
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- clickPhrase: function (e) {
|
|
|
- $('#myPhraseInfo li').removeClass('cur')
|
|
|
- var targetElem = $(e.target)
|
|
|
- targetElem.addClass('cur')
|
|
|
- $('#myPhrasetext').val(targetElem.attr('title'))
|
|
|
- $('#myPhrasetext').attr('data-id', targetElem.attr('data-id'))
|
|
|
- },
|
|
|
- dblclickPhrase: function (e) {
|
|
|
- var itemval = $(e.target).attr('title')
|
|
|
- $('#approveOpinion').val(itemval)
|
|
|
- $('#myPhraseInfo li').removeClass('cur')
|
|
|
- $('#myPhrasetext').attr('data-id', '')
|
|
|
- $('#myPhrasetext').val('')
|
|
|
- $('#phrasePanel').hide()
|
|
|
- },
|
|
|
- phrasesure: function (e) {
|
|
|
- var text = $('#myPhrasetext').val()
|
|
|
- if (text != null && text.length > 1000) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_APPROVALCOMMENTS_TOOLONG)
|
|
|
- return null
|
|
|
- }
|
|
|
- $('#approveOpinion').val(text)
|
|
|
- $('#myPhraseInfo li').removeClass('cur')
|
|
|
- $('#myPhrasetext').attr('data-id', '')
|
|
|
- $('#myPhrasetext').val('')
|
|
|
- $('#phrasePanel').hide()
|
|
|
- },
|
|
|
- phraseback: function (e) {
|
|
|
- $('#myPhraseInfo li').removeClass('cur')
|
|
|
- $('#myPhrasetext').attr('data-id', '')
|
|
|
- $('#myPhrasetext').val('')
|
|
|
- $('#phrasePanel').hide()
|
|
|
- },
|
|
|
- myPhrase: function (event, value) {
|
|
|
- $('#phrasePanel').show()
|
|
|
- $('#myPhrasesection .ui-jqgrid-bdiv').css('height', 'auto')
|
|
|
- },
|
|
|
- addphrase: function () {
|
|
|
- var text = $('#myPhrasetext').val()
|
|
|
- if (text != null && text.length > 1000) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_APPROVALCOMMENTS_TOOLONG)
|
|
|
- return null
|
|
|
- }
|
|
|
- var param = {}
|
|
|
- var rowid = $('#myPhrasetext').attr('data-id')
|
|
|
- var value = $('#myPhrasetext').val()
|
|
|
- if (!value) {
|
|
|
- return
|
|
|
- }
|
|
|
- if (rowid) {
|
|
|
- param.method = 'updateOption'
|
|
|
- param.opId = rowid
|
|
|
- param.opName = value
|
|
|
- } else {
|
|
|
- param.phraseTxt = value
|
|
|
- param.method = 'saveMyPhrase'
|
|
|
- }
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/workflow/approve.do',
|
|
|
- data: param,
|
|
|
- success: function (data) {
|
|
|
- _private.getphrase()
|
|
|
- _self.showSuccess(_self._localeStr.WEB_ADDCOMMONCOMMENTS)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- phrasedel: function (e) {
|
|
|
- var param = {}
|
|
|
- param.phraseIds = $(e.target).parent().attr('data-id')
|
|
|
- $('#myPhrasetext').attr('data-id', '')
|
|
|
- $('#myPhrasetext').val('')
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/workflow/approve.do?method=delMyPhrase',
|
|
|
- data: param,
|
|
|
- success: function (data) {
|
|
|
- _private.getphrase()
|
|
|
- _self.showSuccess(_self._localeStr.WEB_DELETECOMMONCOMMENTS)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- pageOnRenderBefore: function (e) {
|
|
|
- assign = _self.getPageInitData()
|
|
|
- if (approvetype != 'passComent') {
|
|
|
- _private.initCAConfig(assign.CAConfig)
|
|
|
- }
|
|
|
- var title = ''
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- title = _self._localeStr.WEB_BATCHAPPROVAL
|
|
|
- } else {
|
|
|
- title = assign.title
|
|
|
- }
|
|
|
- _self.changeTitle(title)
|
|
|
- },
|
|
|
- phraseadd: function (e) {
|
|
|
- var datarow = { phraseText: '' }
|
|
|
- waf('#myPhrasegrid').wafGrid('addRow', { data: datarow })
|
|
|
- },
|
|
|
- viewProcessDiagram: function (event, value) {
|
|
|
- var para = {}
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- var assignIds = _private.getbatchid().assignIds
|
|
|
- if (assignIds.split(';').length != 1) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_SELECTARECORD)
|
|
|
- return false
|
|
|
- }
|
|
|
- para.sourceID = assignIds.split(';')[0]
|
|
|
- } else {
|
|
|
- para.sourceID = assign.assignId
|
|
|
- }
|
|
|
- wfCommonUtil.viewProcessDiagram(para)
|
|
|
- },
|
|
|
- reloadTranId: function () {
|
|
|
- var approveResult = waf('#approveResult').wafRadioGroup('getValue')
|
|
|
- var policy = waf('#policy').wafSelect('getValue')
|
|
|
- var ispass
|
|
|
- if (approveResult == 'false') {
|
|
|
- ispass = false
|
|
|
- } else {
|
|
|
- if (approveResult == 'true') {
|
|
|
- ispass = true
|
|
|
- }
|
|
|
- }
|
|
|
- if (assign) {
|
|
|
- var approveValueStr = assign.approveValue
|
|
|
- if (approveValueStr == null || approveValueStr == '') {
|
|
|
- approveValueStr =
|
|
|
- '0;' +
|
|
|
- _self._localeStr.WEB_AGREE +
|
|
|
- ';' +
|
|
|
- _self._localeStr.WEB_AGREE +
|
|
|
- ';:1;' +
|
|
|
- _self._localeStr.WEB_DISAGREE +
|
|
|
- ';' +
|
|
|
- _self._localeStr.WEB_DISAGREE +
|
|
|
- ';'
|
|
|
- }
|
|
|
- var strs = approveValueStr.split(':')
|
|
|
- for (var i = 0; i < strs.length; i++) {
|
|
|
- var strTemp = strs[i].split(';')
|
|
|
- if (strTemp.length != 4) {
|
|
|
- continue
|
|
|
- }
|
|
|
- if (ispass && policy == strTemp[0]) {
|
|
|
- transId = strTemp[3]
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- changeselPolicy: function (event, ui) {
|
|
|
- _private.reloadTranId()
|
|
|
- if (waf(nextActIndex).wafCheckbox('isChecked')) {
|
|
|
- _private.loadNextActs()
|
|
|
- }
|
|
|
- },
|
|
|
- getnextacts: function () {
|
|
|
- var param = {}
|
|
|
- param.assignId = assign.assignId
|
|
|
- param.associatedLine = transId
|
|
|
- param.isPredict = _private.isPredict
|
|
|
- param.isNewProcessCenter = true
|
|
|
- waf.doPost({
|
|
|
- url:
|
|
|
- waf.getContextPath() + '/common/tree.do?method=findPostParticipants',
|
|
|
- data: param,
|
|
|
- async: false,
|
|
|
- success: function (data) {
|
|
|
- assign.nextActs = data
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- showtab: function () {
|
|
|
- if (approvetype == 'approve' || approvetype == 'batchapprove') {
|
|
|
- $('#tabs').wafTabs('remove', '#manualdecision')
|
|
|
- $('#tabs').wafTabs('remove', '#passComent')
|
|
|
- } else {
|
|
|
- if (approvetype == 'manualdecision') {
|
|
|
- $('#tabs').wafTabs('remove', '#approveTask')
|
|
|
- $('#tabs').wafTabs('remove', '#passComent')
|
|
|
- } else {
|
|
|
- if (approvetype == 'passComent') {
|
|
|
- $('#tabs').wafTabs('remove', '#approveTask')
|
|
|
- $('#tabs').wafTabs('remove', '#manualdecision')
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (approvetype != 'approve') {
|
|
|
- waf('#riskInsight').wafTab('remove')
|
|
|
- }
|
|
|
- },
|
|
|
- setmanualdecision: function () {
|
|
|
- var items = assign.decisionItems
|
|
|
- var opinions = assign.decisionOpinions
|
|
|
- var _html = ''
|
|
|
- var itemArr = items.split(';')
|
|
|
- var opinionArr = new Array()
|
|
|
- if (!opinions) {
|
|
|
- var opinionItem = ''
|
|
|
- for (var i = 0; i < itemArr.length; i++) {
|
|
|
- opinionItem += i + 1
|
|
|
- if (i < itemArr.length - 1) {
|
|
|
- opinionItem += ';'
|
|
|
- }
|
|
|
- opinionArr.push(i + 1)
|
|
|
- }
|
|
|
- assign.decisionOpinions = opinionItem
|
|
|
- } else {
|
|
|
- opinionArr = opinions.split(';')
|
|
|
- }
|
|
|
- var json = []
|
|
|
- for (var i = 0; i < itemArr.length; i++) {
|
|
|
- var name = itemArr[i]
|
|
|
- var val = opinionArr[i]
|
|
|
- var para = {}
|
|
|
- para.value = val + '_' + i
|
|
|
- para.alias = name
|
|
|
- json.push(para)
|
|
|
- }
|
|
|
- waf('#radioDecision').wafRadioGroup('setItems', null, json)
|
|
|
- waf('#radioDecision').wafRadioGroup('setValue', json[0].value)
|
|
|
- },
|
|
|
- nextActs: function (event, ui) {
|
|
|
- _private.shownextActs('modifynextAct1', ui)
|
|
|
- },
|
|
|
- nextAct: function (event, ui) {
|
|
|
- _private.shownextActs('modifynextAct', ui)
|
|
|
- },
|
|
|
- modifynextActs: function (event, value) {
|
|
|
- _private.setmodifynextAct()
|
|
|
- },
|
|
|
- setmodifynextAct: function () {
|
|
|
- var jsonval = ''
|
|
|
- if (selnextPersons == null || selnextPersons.length == 0) {
|
|
|
- jsonval = ''
|
|
|
- } else {
|
|
|
- jsonval = JSON.stringify(selnextPersons)
|
|
|
- }
|
|
|
- waf.window.open({
|
|
|
- url:
|
|
|
- waf.getContextPath() +
|
|
|
- '/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.setNextAct&debug=true&assignmentId=' +
|
|
|
- encodeURIComponent(assign.assignId) +
|
|
|
- '&selnextPersons=' +
|
|
|
- encodeURIComponent(jsonval) +
|
|
|
- '&asso=' +
|
|
|
- transId +
|
|
|
- '&isPredict=' +
|
|
|
- _private.isPredict,
|
|
|
- openType: 'iframe',
|
|
|
- method: 'POST',
|
|
|
- data: {},
|
|
|
- modal: true,
|
|
|
- title: _self._localeStr.WEB_NEXTACTIVITY,
|
|
|
- position: 'center',
|
|
|
- width: 1020,
|
|
|
- height: 580,
|
|
|
- minHeight: 560,
|
|
|
- minWidth: 1020,
|
|
|
- iconCls: 'waf-ui-icon',
|
|
|
- draggable: true,
|
|
|
- resizable: true,
|
|
|
- close: function (event, ui) {},
|
|
|
- retValCallBack: function (resultData) {
|
|
|
- if (
|
|
|
- resultData &&
|
|
|
- resultData.resultStr &&
|
|
|
- resultData.resultStr.length > 0
|
|
|
- ) {
|
|
|
- var resultStr = JSON.parse(resultData.resultStr)
|
|
|
- selnextPersons = {}
|
|
|
- _private.isPredict = resultData.isPredict
|
|
|
- _private.setselnextactperson(resultStr)
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- getbatchlist: function () {
|
|
|
- if (assign.batchApproveUrl) {
|
|
|
- var url =
|
|
|
- waf.getContextPath() +
|
|
|
- assign.batchApproveUrl +
|
|
|
- '&hasToolbar=false&showCommonQuery=false'
|
|
|
- var billIds = locationurl.billIds.split(';')
|
|
|
- var temp = 'id%20in%20('
|
|
|
- for (var i = 0; i < billIds.length; i++) {
|
|
|
- if (billIds[i]) {
|
|
|
- if (i == 0) {
|
|
|
- temp += '%27' + encodeURIComponent(billIds[i]) + '%27'
|
|
|
- } else {
|
|
|
- temp += '%2C%27' + encodeURIComponent(billIds[i]) + '%27'
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- temp += ')'
|
|
|
- $(
|
|
|
- "<form id='framesrcbillform' method='POST' type='hidden' target='billFrame' action='" +
|
|
|
- url +
|
|
|
- "'></form>"
|
|
|
- )
|
|
|
- .insertAfter($('#billFrame'))
|
|
|
- .append(
|
|
|
- $("<input type='hidden' name='filterInfo' value='" + temp + "'>")
|
|
|
- )
|
|
|
- .append(
|
|
|
- $("<input type='hidden' name='botpFilter' value='" + temp + "'>")
|
|
|
- )
|
|
|
- setTimeout(function () {
|
|
|
- document.getElementById('framesrcbillform').submit()
|
|
|
- }, 500)
|
|
|
- var times = 0
|
|
|
- var interval = setInterval(function () {
|
|
|
- var frame = document.getElementById('billFrame')
|
|
|
- $($(frame)[0].contentDocument.body)
|
|
|
- .find('.ui-jqgrid')
|
|
|
- .css({ margin: '0px', width: '100%' })
|
|
|
- if (times > 600) {
|
|
|
- clearInterval(interval)
|
|
|
- }
|
|
|
- times++
|
|
|
- })
|
|
|
- } else {
|
|
|
- waf('#billFrame').remove()
|
|
|
- var listinfo = {}
|
|
|
- waf.doPost({
|
|
|
- url:
|
|
|
- waf.getContextPath() +
|
|
|
- '/workflow/approve.do?method=getBatchApproveBillGrid',
|
|
|
- data: { billIds: locationurl.billIds },
|
|
|
- async: false,
|
|
|
- success: function (data) {
|
|
|
- listinfo = data
|
|
|
- }
|
|
|
- })
|
|
|
- var headers = listinfo.headers
|
|
|
- var list = listinfo.list
|
|
|
- var fields = listinfo.fields
|
|
|
- if (headers.length > 0) {
|
|
|
- var colmodel = []
|
|
|
- var paraid = { name: 'id', label: 'id', hidden: true, key: true }
|
|
|
- colmodel.push(paraid)
|
|
|
- for (var m = 0; m < headers.length; m++) {
|
|
|
- var para = { name: fields[m], label: headers[m] }
|
|
|
- colmodel.push(para)
|
|
|
- }
|
|
|
- var myGridoptions = {
|
|
|
- id: 'queryGrid',
|
|
|
- colModel: colmodel,
|
|
|
- multiselect: true,
|
|
|
- loadInit: false,
|
|
|
- shrinkToFit: true
|
|
|
- }
|
|
|
- if (headers.length > 15) {
|
|
|
- myGridoptions.shrinkToFit = false
|
|
|
- }
|
|
|
- var dom = waf.createDOM('grid', myGridoptions)
|
|
|
- waf.appendDOM(waf('#panel5'), dom)
|
|
|
- waf.initComponent('grid', myGridoptions, dom)
|
|
|
- for (var i = 0; i < list.length; i++) {
|
|
|
- for (var j in list[i]) {
|
|
|
- if (list[i][j] != null && typeof list[i][j] == 'object') {
|
|
|
- list[i][j] = list[i][j].alias
|
|
|
- }
|
|
|
- }
|
|
|
- waf('#queryGrid').wafGrid('addRow', { data: list[i] })
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- shownextActs: function (nextactname, ui) {
|
|
|
- if (ui.checked) {
|
|
|
- $('.approve-next-persons').show()
|
|
|
- _private.loadNextActs()
|
|
|
- } else {
|
|
|
- $('.approve-next-persons').hide()
|
|
|
- waf('#' + nextactname).wafLinkButton('option', 'hidden', true)
|
|
|
- selnextPersons = {}
|
|
|
- }
|
|
|
- },
|
|
|
- submit: function (event, value) {
|
|
|
- if (approvetype == 'approve') {
|
|
|
- _private.confirmSumit('beforeInnerSubmit')
|
|
|
- } else {
|
|
|
- if (approvetype == 'manualdecision') {
|
|
|
- _private.manualdecisionsubmit()
|
|
|
- } else {
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- _private.confirmSumit('batchSubmitForCA')
|
|
|
- } else {
|
|
|
- if (approvetype == 'passComent') {
|
|
|
- _private.passComentsubmit()
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- confirmSumit: function (funcName) {
|
|
|
- if (assign.enableMultiapproveConfirm == 'true') {
|
|
|
- var ok = function () {
|
|
|
- _private[funcName]()
|
|
|
- }
|
|
|
- var cancel = function () {
|
|
|
- return
|
|
|
- }
|
|
|
- waf.msgBox.showConfirm({
|
|
|
- title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
- summaryMsg: _self._localeStr.WEB_CONFIRMSUBMITAPPROVAL,
|
|
|
- buttonType: 'ok-cancel',
|
|
|
- buttonCallBack: [ok, cancel]
|
|
|
- })
|
|
|
- } else {
|
|
|
- _private[funcName]()
|
|
|
- }
|
|
|
- },
|
|
|
- passComentsubmit: function () {
|
|
|
- var params = {}
|
|
|
- params.parameter = sourceIDs
|
|
|
- params.chksendMessage = 'yes'
|
|
|
- if (waf('#sendmsgs').wafCheckbox('isChecked')) {
|
|
|
- params.chksendMobile = 'yes'
|
|
|
- }
|
|
|
- if (waf('#sendmails').wafCheckbox('isChecked')) {
|
|
|
- params.chksendMail = 'yes'
|
|
|
- }
|
|
|
- params.opinion = $('#passComentOpinion').val()
|
|
|
- var option = $('#passComentOpinion').val()
|
|
|
- if (option != null && option.length > 1000) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_FEEDBACKCOMMENTS_TOOLONG)
|
|
|
- return null
|
|
|
- }
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/passComment/get.do?method=commit',
|
|
|
- data: params,
|
|
|
- success: function (data) {
|
|
|
- _self.showSuccess(_self._localeStr.WEB_DEEDBACKCIRCULATESUCCESS)
|
|
|
- _private.backto()
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- initCAConfig: function (tCAConfig) {
|
|
|
- caConfig.caConfigInfo = tCAConfig
|
|
|
- if (
|
|
|
- caConfig.caConfigInfo.isSignatureApprove === 'true' &&
|
|
|
- caConfig.caConfigInfo.caType != '5'
|
|
|
- ) {
|
|
|
- var initflag = initTopesa()
|
|
|
- if (initflag != 0) {
|
|
|
- waf.msgBox.showError(_self._localeStr.WEB_CAINITFAILED)
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- batchSubmitForCA: function () {
|
|
|
- if (
|
|
|
- caConfig.caConfigInfo.checkPassword === 'true' &&
|
|
|
- caConfig.caConfigInfo.isSignatureApprove === 'true' &&
|
|
|
- caConfig.caConfigInfo.caType != '5'
|
|
|
- ) {
|
|
|
- _private.checkCAPassword(true)
|
|
|
- } else {
|
|
|
- _private.batchSubmit()
|
|
|
- }
|
|
|
- },
|
|
|
- checkCAPassword: function (isBatch) {
|
|
|
- var setcss = function () {
|
|
|
- var item = parent.$('.ui-msgbox .ui-prompt .prompt')
|
|
|
- if ($(item)) {
|
|
|
- $(item).css({
|
|
|
- height: '78px',
|
|
|
- margin: '20px 0 20px 190px',
|
|
|
- background:
|
|
|
- 'url(/easweb/webviews/workflow/img/waitpic.png) no-repeat'
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- setTimeout(setcss, 100)
|
|
|
- var prmt = function (r, dialog) {
|
|
|
- if (r) {
|
|
|
- var res = -1
|
|
|
- try {
|
|
|
- res = checkPassword(r, caConfig.caConfigInfo.userName)
|
|
|
- } catch (errMsg) {
|
|
|
- _self.showInfo(
|
|
|
- _self._localeStr.WEB_USBKEYCHECKPASSDETAIL + errMsg.message
|
|
|
- )
|
|
|
- return false
|
|
|
- }
|
|
|
- if (res != 0) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_USBKEYCHECKPASS)
|
|
|
- } else {
|
|
|
- if (isBatch) {
|
|
|
- _private.batchSubmit()
|
|
|
- } else {
|
|
|
- _private.innerSubmit()
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- var cancel = function () {
|
|
|
- return
|
|
|
- }
|
|
|
- waf.msgBox.showPrompt({
|
|
|
- title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
- icon: 'prompt',
|
|
|
- summaryMsg: _self._localeStr.WEB_INPUTUSBKEYPASSWORD,
|
|
|
- buttonCallBack: [prmt, cancel]
|
|
|
- })
|
|
|
- parent.$('#waf-messageBox-prompt-input').prop('type', 'password')
|
|
|
- },
|
|
|
- batchSubmit: function () {
|
|
|
- var info = _private.getbatchid()
|
|
|
- if (info == null) {
|
|
|
- return
|
|
|
- }
|
|
|
- _private._batchsubmit(info)
|
|
|
- },
|
|
|
- getbatchid: function () {
|
|
|
- var info = {}
|
|
|
- var assignIds = ''
|
|
|
- var billIds = ''
|
|
|
- var allbillIds = locationurl.billIds
|
|
|
- var allassignmentIds = locationurl.assignmentIds
|
|
|
- if (assign.batchApproveUrl) {
|
|
|
- var frame = document.getElementById('billFrame')
|
|
|
- billIds = $(frame)[0]
|
|
|
- .contentWindow.waf('#queryGrid')
|
|
|
- .dataGrid('getSelectedRows')
|
|
|
- } else {
|
|
|
- billIds = waf('#queryGrid').wafGrid('getSelectedRows')
|
|
|
- }
|
|
|
- if (billIds.length == 0) {
|
|
|
- billIds = allbillIds
|
|
|
- assignIds = allassignmentIds
|
|
|
- } else {
|
|
|
- for (var i = 0; i < allbillIds.split(';').length; i++) {
|
|
|
- var allbillId = allbillIds.split(';')[i]
|
|
|
- if (billIds.toString().indexOf(allbillId) > -1) {
|
|
|
- if (assignIds != '') {
|
|
|
- assignIds += ';'
|
|
|
- }
|
|
|
- assignIds += allassignmentIds.split(';')[i]
|
|
|
- }
|
|
|
- }
|
|
|
- billIds = billIds.join(';')
|
|
|
- }
|
|
|
- info.billIds = billIds
|
|
|
- info.assignIds = assignIds
|
|
|
- return info
|
|
|
- },
|
|
|
- _batchsubmit: function (info) {
|
|
|
- var approve = _private.getApprove()
|
|
|
- if (!approve) {
|
|
|
- return
|
|
|
- }
|
|
|
- var billIds = info.billIds
|
|
|
- var assignIds = info.assignIds
|
|
|
- approve.isSignatureApprove = caConfig.caConfigInfo.isSignatureApprove
|
|
|
- if (
|
|
|
- caConfig.caConfigInfo.isSignatureApprove === 'true' &&
|
|
|
- caConfig.caConfigInfo.caType != '5'
|
|
|
- ) {
|
|
|
- if (!_private.beforeBatchSubmitSigature(billIds)) {
|
|
|
- return
|
|
|
- }
|
|
|
- approve.plainTextMap = caConfig.plainTextMap
|
|
|
- approve.plainSignatureMap = caConfig.plainSignatureMap
|
|
|
- }
|
|
|
- var nextPersons = _private.getNextPersons()
|
|
|
- if (!nextPersons) {
|
|
|
- return
|
|
|
- }
|
|
|
- var ok = function () {
|
|
|
- var params = {}
|
|
|
- approve.nextActs = nextPersons
|
|
|
- params.approve = JSON.stringify(approve)
|
|
|
- params.assignIds = assignIds
|
|
|
- params.billIds = billIds
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/common/tree.do?method=batchSubmits',
|
|
|
- data: params,
|
|
|
- success: function (data) {
|
|
|
- if (data == 'OK') {
|
|
|
- _self.showSuccess(_self._localeStr.WEB_BATCHAPPROVESUCCESS)
|
|
|
- _private.backto()
|
|
|
- } else {
|
|
|
- _self.showInfo(_self._localeStr.WEB_PLEASEREFRESH)
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- var cancel = function () {
|
|
|
- return
|
|
|
- }
|
|
|
- if (showerror != '') {
|
|
|
- waf.msgBox.showConfirm({
|
|
|
- title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
- summaryMsg: showerror,
|
|
|
- buttonType: 'ok-cancel',
|
|
|
- buttonCallBack: [ok, cancel]
|
|
|
- })
|
|
|
- } else {
|
|
|
- ok()
|
|
|
- }
|
|
|
- },
|
|
|
- getApprove: function () {
|
|
|
- var opinion = waf('#approveOpinion').val()
|
|
|
- if (
|
|
|
- assign.needApproveOpinion &&
|
|
|
- (opinion == null || opinion.trim() == '')
|
|
|
- ) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_APPROVALCOMMENTSNOBLANK)
|
|
|
- return null
|
|
|
- }
|
|
|
- if (opinion != null && opinion.length > 1000) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_APPROVALCOMMENTSTOOLONG)
|
|
|
- return null
|
|
|
- }
|
|
|
- var ispass = null
|
|
|
- var approveResult = waf('#approveResult').wafRadioGroup('getValue')
|
|
|
- if (approveResult == 'false') {
|
|
|
- ispass = 'false'
|
|
|
- if (assign.mustFillOpinionWhenDisagree == 'true') {
|
|
|
- if (
|
|
|
- opinion == null ||
|
|
|
- opinion.trim() == '' ||
|
|
|
- opinion == _self._localeStr.WEB_DISAGREE
|
|
|
- ) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_DISAGREEOPINION)
|
|
|
- return null
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (approveResult == 'true') {
|
|
|
- ispass = 'true'
|
|
|
- }
|
|
|
- }
|
|
|
- var approve = {}
|
|
|
- approve.assignId = assign.assignId
|
|
|
- approve.id = assign.id
|
|
|
- approve.opinion = opinion
|
|
|
- var handlerOpinion = waf('#policy').wafSelect('getValue')
|
|
|
- if (handlerOpinion) {
|
|
|
- approve.handlerOpinion = handlerOpinion
|
|
|
- } else {
|
|
|
- approve.handlerOpinion = '0'
|
|
|
- }
|
|
|
- approve.handlerContent = waf('#policy').wafSelect('getSelectedAlias')
|
|
|
- approve.approveResult = ispass
|
|
|
- approve.transitionId = transId
|
|
|
- approve.isSendSMS = waf('#sendmsg').wafCheckbox('isChecked')
|
|
|
- ? 'true'
|
|
|
- : 'false'
|
|
|
- approve.isSendMail = waf('#sendmail').wafCheckbox('isChecked')
|
|
|
- ? 'true'
|
|
|
- : 'false'
|
|
|
- if (assign.multiapproveinfoId) {
|
|
|
- approve.id = assign.multiapproveinfoId
|
|
|
- }
|
|
|
- var isesignaturecheck = false
|
|
|
- if (approvetype == 'approve' || approvetype == 'batchapprove') {
|
|
|
- isesignaturecheck = waf('#esignature').wafCheckbox('isChecked')
|
|
|
- } else {
|
|
|
- if (approvetype == 'manualdecision') {
|
|
|
- isesignaturecheck = waf('#esignature1').wafCheckbox('isChecked')
|
|
|
- }
|
|
|
- }
|
|
|
- if (assign.isEsignature && isesignaturecheck) {
|
|
|
- approve.esignatureid = assign.esignatureId
|
|
|
- }
|
|
|
- return approve
|
|
|
- },
|
|
|
- beforeBatchSubmitSigature: function (selectBillIds) {
|
|
|
- var modelIDs = ''
|
|
|
- var tbillIDs
|
|
|
- if (Object.prototype.toString.call(selectBillIds) === '[object Array]') {
|
|
|
- tbillIDs = selectBillIds
|
|
|
- } else {
|
|
|
- tbillIDs = selectBillIds.split(';')
|
|
|
- }
|
|
|
- for (var i = 0; i < tbillIDs.length; i++) {
|
|
|
- if (modelIDs != '') {
|
|
|
- modelIDs += ','
|
|
|
- }
|
|
|
- modelIDs += tbillIDs[i]
|
|
|
- }
|
|
|
- if (modelIDs === undefined || modelIDs == null || modelIDs === '') {
|
|
|
- waf.msgBox.showError("bill id can't be null")
|
|
|
- return false
|
|
|
- }
|
|
|
- var actionUrl =
|
|
|
- waf.getContextPath() +
|
|
|
- '/component/ca.do?method=getPlainTextFromDB&billIDs=' +
|
|
|
- waf.encodeURIComponent(modelIDs) +
|
|
|
- '&isFromWF=true'
|
|
|
- waf.doPost({
|
|
|
- url: actionUrl,
|
|
|
- async: false,
|
|
|
- success: function (data) {
|
|
|
- if (data == null || data == '' || data == undefined) {
|
|
|
- return false
|
|
|
- } else {
|
|
|
- caConfig.plainTextMap = data.plainTextMap
|
|
|
- }
|
|
|
- },
|
|
|
- error: function (data) {
|
|
|
- waf.msgBox.showError('getPlainTextFromDB failed')
|
|
|
- return false
|
|
|
- }
|
|
|
- })
|
|
|
- var arraySignature = ''
|
|
|
- var billids = modelIDs.split(',')
|
|
|
- for (var i = 0; i < billids.length; i++) {
|
|
|
- var key = billids[i]
|
|
|
- var signResult = -1
|
|
|
- try {
|
|
|
- signResult = signMessage(
|
|
|
- caConfig.plainTextMap[key],
|
|
|
- caConfig.caConfigInfo.userName
|
|
|
- )
|
|
|
- } catch (errMsg) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_SIGANATUREFAILED + errMsg.message)
|
|
|
- return false
|
|
|
- }
|
|
|
- if (signResult == 1 || signResult == 2 || signResult == 3) {
|
|
|
- if (signResult == 1 || signResult == 2) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_SIGAFAILEDUSBKEY)
|
|
|
- }
|
|
|
- return false
|
|
|
- }
|
|
|
- if (arraySignature != '') {
|
|
|
- arraySignature += ','
|
|
|
- }
|
|
|
- arraySignature += signResult
|
|
|
- }
|
|
|
- caConfig.plainSignatureMap = arraySignature
|
|
|
- return true
|
|
|
- },
|
|
|
- getNextPersons: function (isSave) {
|
|
|
- var locale = waf.getContext().locale
|
|
|
- var symbol = '。'
|
|
|
- if (locale == 'l1') {
|
|
|
- symbol = '.'
|
|
|
- }
|
|
|
- showerror = ''
|
|
|
- var nextPersons = []
|
|
|
- var ispass = waf('#approveResult').wafRadioGroup('getValue')
|
|
|
- if (ispass == 'false') {
|
|
|
- return nextPersons
|
|
|
- }
|
|
|
- var isnextact = waf(nextActIndex).wafCheckbox('isChecked')
|
|
|
- var directActName = ''
|
|
|
- if (isnextact) {
|
|
|
- var num = 0
|
|
|
- var index = 0
|
|
|
- var directCount = 0
|
|
|
- var directIsSel = false
|
|
|
- for (var i = 0; i != assign.nextActs.length; i++) {
|
|
|
- if (_private.isPredict && !assign.nextActs[i].isPredict) {
|
|
|
- continue
|
|
|
- }
|
|
|
- var act = {}
|
|
|
- act.actKey = assign.nextActs[i].actKey
|
|
|
- act.persons = {}
|
|
|
- var flag = false
|
|
|
- directCount++
|
|
|
- for (var actId in selnextPersons) {
|
|
|
- if (actId == assign.nextActs[i].actId) {
|
|
|
- var persons = selnextPersons[actId]
|
|
|
- for (var id in persons) {
|
|
|
- act.persons[id] = 'true'
|
|
|
- flag = true
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (directCount == 1) {
|
|
|
- directIsSel = flag
|
|
|
- }
|
|
|
- if (!flag) {
|
|
|
- if (num < 3) {
|
|
|
- if (showerror != '') {
|
|
|
- showerror += '、'
|
|
|
- }
|
|
|
- showerror += assign.nextActs[i].actName
|
|
|
- }
|
|
|
- num++
|
|
|
- if (num == 1) {
|
|
|
- directActName = assign.nextActs[i].actName
|
|
|
- }
|
|
|
- } else {
|
|
|
- nextPersons[index] = act
|
|
|
- index++
|
|
|
- }
|
|
|
- }
|
|
|
- if (num > 0) {
|
|
|
- if (num > 2) {
|
|
|
- showerror +=
|
|
|
- _self._localeStr.WEB_ANDSOON + num + _self._localeStr.WEB_NODE
|
|
|
- }
|
|
|
- if (!isSave && assign.mustSetAllNextPerson) {
|
|
|
- _self.showInfo(
|
|
|
- _self._localeStr.WEB_NEXTACTIVITY + ':' + showerror + symbol
|
|
|
- )
|
|
|
- return null
|
|
|
- }
|
|
|
- if (
|
|
|
- !isSave &&
|
|
|
- assign.mustSetAllNextPersonDirectNull &&
|
|
|
- !directIsSel
|
|
|
- ) {
|
|
|
- _self.showInfo(
|
|
|
- _self._localeStr.WEB_NEXTACTIVITY + ':' + directActName + symbol
|
|
|
- )
|
|
|
- return null
|
|
|
- }
|
|
|
- showerror += _self._localeStr.WEB_NOPARTICIPANTSUBMIT
|
|
|
- }
|
|
|
- }
|
|
|
- return nextPersons
|
|
|
- },
|
|
|
- manualdecisionsubmit: function () {
|
|
|
- var selectValue = waf('#radioDecision').wafRadioGroup('getValue')
|
|
|
- if (selectValue) {
|
|
|
- var selItems = $(
|
|
|
- "#radioDecision input[value='" + selectValue + "']"
|
|
|
- ).next()[0].innerHTML
|
|
|
- var params = {}
|
|
|
- var nextPersons = _private.getNextPersons()
|
|
|
- if (!nextPersons) {
|
|
|
- return
|
|
|
- }
|
|
|
- var ok = function () {
|
|
|
- nextPersons = JSON.stringify(nextPersons)
|
|
|
- params.nextperson = nextPersons
|
|
|
- params.assignId = assign.assignId
|
|
|
- params.decisionTitle = assign.decisionName
|
|
|
- params.decisionItems = assign.decisionItems
|
|
|
- params.decisionDesc = assign.decisionDesc
|
|
|
- params.decisionOpinions = assign.decisionOpinions
|
|
|
- params.SelectedItems = selItems
|
|
|
- params.SelectedOpinions = selectValue.substr(
|
|
|
- 0,
|
|
|
- selectValue.indexOf('_')
|
|
|
- )
|
|
|
- waf.doPost({
|
|
|
- url:
|
|
|
- waf.getContextPath() + '/manualdecision/submit.do?method=submit',
|
|
|
- data: params,
|
|
|
- success: function (data) {
|
|
|
- _self.showSuccess(_self._localeStr.WEB_DECISIONSUBMITSUCCESS)
|
|
|
- _private.backto()
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- var cancel = function () {
|
|
|
- return
|
|
|
- }
|
|
|
- if (showerror != '') {
|
|
|
- waf.msgBox.showConfirm({
|
|
|
- title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
- summaryMsg: showerror,
|
|
|
- buttonType: 'ok-cancel',
|
|
|
- buttonCallBack: [ok, cancel]
|
|
|
- })
|
|
|
- } else {
|
|
|
- ok()
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- beforeInnerSubmit: function () {
|
|
|
- if (
|
|
|
- caConfig.caConfigInfo.checkPassword === 'true' &&
|
|
|
- caConfig.caConfigInfo.isSignatureApprove === 'true' &&
|
|
|
- caConfig.caConfigInfo.caType != '5'
|
|
|
- ) {
|
|
|
- _private.checkCAPassword(false)
|
|
|
- } else {
|
|
|
- _private.innerSubmit()
|
|
|
- }
|
|
|
- },
|
|
|
- innerSubmit: function () {
|
|
|
- if (
|
|
|
- assign.mustUploadAttachment &&
|
|
|
- waf('#approveResult').wafRadioGroup('getValue') == 'true'
|
|
|
- ) {
|
|
|
- var isCurAssignUploadAttach = false
|
|
|
- waf.doPost({
|
|
|
- url:
|
|
|
- waf.getContextPath() +
|
|
|
- '/iwebattachment.do?method=isCurAssignUploadAttach',
|
|
|
- data: { assignId: assign.assignId },
|
|
|
- async: false,
|
|
|
- success: function (data) {
|
|
|
- if (data == false) {
|
|
|
- _self.showWarning(_self._localeStr.WEB_MUSTUPLOAD)
|
|
|
- }
|
|
|
- isCurAssignUploadAttach = data
|
|
|
- }
|
|
|
- })
|
|
|
- if (!isCurAssignUploadAttach) {
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- assign.operation = 'approve'
|
|
|
- var callback = function (isSuccess) {
|
|
|
- if (isSuccess) {
|
|
|
- _private._submit(false)
|
|
|
- }
|
|
|
- }
|
|
|
- var issubmit = _private.checkIsSave(callback, 'submit')
|
|
|
- if (issubmit == null) {
|
|
|
- _self.jMessageAlert(_self._localeStr.WEB_CHECKERRORSUBMITEND)
|
|
|
- return false
|
|
|
- }
|
|
|
- _private._submit(issubmit)
|
|
|
- },
|
|
|
- _submit: function (isReadOnly) {
|
|
|
- var approve = _private.getApprove()
|
|
|
- if (!approve) {
|
|
|
- return
|
|
|
- }
|
|
|
- var nextPersons = _private.getNextPersons()
|
|
|
- if (!nextPersons) {
|
|
|
- return
|
|
|
- }
|
|
|
- var ok = function () {
|
|
|
- approve.operation = assign.operation
|
|
|
- var op = approve.operation
|
|
|
- if (
|
|
|
- caConfig.caConfigInfo.isSignatureApprove === 'true' &&
|
|
|
- caConfig.caConfigInfo.caType != '5'
|
|
|
- ) {
|
|
|
- if (!_private.beforeSubmitSigature()) {
|
|
|
- return
|
|
|
- }
|
|
|
- approve.plainText = caConfig.CA_plainText
|
|
|
- approve.signature = caConfig.CA_signature
|
|
|
- }
|
|
|
- if (
|
|
|
- isReadOnly === undefined ||
|
|
|
- isReadOnly === null ||
|
|
|
- isReadOnly === ''
|
|
|
- ) {
|
|
|
- isReadOnly = true
|
|
|
- }
|
|
|
- if (!isReadOnly) {
|
|
|
- var frame = document.getElementById('billFrame')
|
|
|
- if (
|
|
|
- frame.contentDocument.getElementById('frame_tab_0') != null &&
|
|
|
- frame.contentDocument.getElementById('frame_tab_0') != undefined
|
|
|
- ) {
|
|
|
- frame = frame.contentDocument.getElementById('frame_tab_0')
|
|
|
- }
|
|
|
- if (frame.contentWindow._self.getCurrentModel) {
|
|
|
- var modelInfo = frame.contentWindow._self.getCurrentModel()
|
|
|
- var editModel = JSON.stringify(modelInfo)
|
|
|
- approve.model = editModel
|
|
|
- }
|
|
|
- if (approve.model == null) {
|
|
|
- if (frame.contentWindow._self.fireEvent) {
|
|
|
- var s = frame.contentWindow._self.fireEvent('save')
|
|
|
- if (!s) {
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- approve.isReadOnly = isReadOnly.toString()
|
|
|
- approve.isSignatureApprove = caConfig.caConfigInfo.isSignatureApprove
|
|
|
- approve.nextActs = nextPersons
|
|
|
- if ($('#textCC').prop('personIds')) {
|
|
|
- approve.ccPersonIds = $('#textCC').prop('personIds')
|
|
|
- }
|
|
|
- var params = {}
|
|
|
- params.approve = JSON.stringify(approve)
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/common/tree.do?method=submits',
|
|
|
- data: params,
|
|
|
- success: function (data) {
|
|
|
- if (data) {
|
|
|
- assign.id = data
|
|
|
- _self.showSuccess(_self._localeStr.WEB_SUBMITSUCCESS)
|
|
|
- _private.backto()
|
|
|
- } else {
|
|
|
- _self.showInfo(_self._localeStr.WEB_PLEASEREFRESH)
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- var cancel = function () {
|
|
|
- return
|
|
|
- }
|
|
|
- if (showerror != '') {
|
|
|
- waf.msgBox.showConfirm({
|
|
|
- title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
- summaryMsg: showerror,
|
|
|
- buttonType: 'ok-cancel',
|
|
|
- buttonCallBack: [ok, cancel]
|
|
|
- })
|
|
|
- } else {
|
|
|
- ok()
|
|
|
- }
|
|
|
- },
|
|
|
- beforeSubmitSigature: function () {
|
|
|
- var plainText = ''
|
|
|
- var signatureField = caConfig.caConfigInfo.signatureFields
|
|
|
- if (signatureField === null || signatureField === '') {
|
|
|
- return true
|
|
|
- }
|
|
|
- var signatureFields = signatureField.split(';')
|
|
|
- for (var i = 0; i < signatureFields.length; i++) {
|
|
|
- var srcValue = 'CANOTSIGNATURE'
|
|
|
- try {
|
|
|
- srcValue = eval(
|
|
|
- "document.getElementById('billFrame').contentWindow.document.getElementsByName('" +
|
|
|
- signatureFields[i] +
|
|
|
- "')[0].value"
|
|
|
- )
|
|
|
- } catch (e) {
|
|
|
- srcValue = 'CANOTSIGNATURE'
|
|
|
- }
|
|
|
- if (typeof srcValue == 'undefined') {
|
|
|
- srcValue = 'CANOTSIGNATURE'
|
|
|
- }
|
|
|
- if (
|
|
|
- caConfig.caConfigInfo.precisionInfo &&
|
|
|
- caConfig.caConfigInfo.precisionInfo[signatureFields[i]]
|
|
|
- ) {
|
|
|
- var pos = parseInt(
|
|
|
- caConfig.caConfigInfo.precisionInfo[signatureFields[i]]
|
|
|
- )
|
|
|
- if (pos < 0) {
|
|
|
- pos = 2
|
|
|
- } else {
|
|
|
- if (pos > 4) {
|
|
|
- pos = 4
|
|
|
- }
|
|
|
- }
|
|
|
- srcValue = _private.toDecimal(srcValue, pos)
|
|
|
- }
|
|
|
- plainText = plainText + srcValue
|
|
|
- }
|
|
|
- var signResult = -1
|
|
|
- try {
|
|
|
- signResult = signMessage(plainText, caConfig.caConfigInfo.userName)
|
|
|
- } catch (errMsg) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_SIGANATUREFAILED + errMsg.message)
|
|
|
- return false
|
|
|
- }
|
|
|
- if (signResult == 1 || signResult == 2 || signResult == 3) {
|
|
|
- if (signResult == 1 || signResult == 2) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_SIGAFAILEDUSBKEY)
|
|
|
- return false
|
|
|
- }
|
|
|
- } else {
|
|
|
- caConfig.CA_plainText = plainText
|
|
|
- caConfig.CA_signature = signResult
|
|
|
- }
|
|
|
- return true
|
|
|
- },
|
|
|
- toDecimal: function (src, pos) {
|
|
|
- var f = parseFloat(src)
|
|
|
- if (isNaN(f)) {
|
|
|
- return false
|
|
|
- }
|
|
|
- var src_rs = src.indexOf('.')
|
|
|
- if (src_rs > 0) {
|
|
|
- var src_zero = src.lastIndexOf('0')
|
|
|
- while (src.length == src_zero + 1) {
|
|
|
- src = src.substring(0, src_zero)
|
|
|
- src_zero = src.lastIndexOf('0')
|
|
|
- }
|
|
|
- if (src.length == src_rs + 1) {
|
|
|
- var src_int = src.substring(0, src_rs)
|
|
|
- src = src_int
|
|
|
- }
|
|
|
- if (pos == 0) {
|
|
|
- return src
|
|
|
- }
|
|
|
- }
|
|
|
- var f = Math.round(src * Math.pow(10, pos)) / Math.pow(10, pos)
|
|
|
- var s = f.toString()
|
|
|
- var rs = s.indexOf('.')
|
|
|
- if (rs < 0 && pos > 0) {
|
|
|
- rs = s.length
|
|
|
- s += '.'
|
|
|
- }
|
|
|
- while (s.length <= rs + pos) {
|
|
|
- s += '0'
|
|
|
- }
|
|
|
- return s
|
|
|
- },
|
|
|
- save: function (event, value) {
|
|
|
- var callback = function (isSuccess) {
|
|
|
- if (isSuccess) {
|
|
|
- _private._save()
|
|
|
- }
|
|
|
- }
|
|
|
- var issubmit = _private.checkIsSave(callback, 'save')
|
|
|
- if (issubmit == 'callBack') {
|
|
|
- return
|
|
|
- }
|
|
|
- if (issubmit == null) {
|
|
|
- _self.jMessageAlert(_self._localeStr.WEB_CHECKERRORSUBMITEND)
|
|
|
- return false
|
|
|
- }
|
|
|
- _private._save(issubmit)
|
|
|
- if (!issubmit && riskInsight) {
|
|
|
- billInsightOption = _private.getWeakRisk()
|
|
|
- _private.updateBillInsightNum(billInsightOption)
|
|
|
- }
|
|
|
- },
|
|
|
- checkIsSave: function (callback, type) {
|
|
|
- var issubmit = null
|
|
|
- if (!assign.billIsReadOnly) {
|
|
|
- if (
|
|
|
- type == 'submit' &&
|
|
|
- assign.disagreenotsave &&
|
|
|
- waf('#approveResult').wafRadioGroup('getValue') == 'false'
|
|
|
- ) {
|
|
|
- return true
|
|
|
- }
|
|
|
- var frame = document.getElementById('billFrame')
|
|
|
- if (frame) {
|
|
|
- if (
|
|
|
- frame.contentWindow._self &&
|
|
|
- frame.contentWindow._self.saveAndCallBack
|
|
|
- ) {
|
|
|
- frame.contentWindow._self.saveAndCallBack(callback)
|
|
|
- return 'callBack'
|
|
|
- } else {
|
|
|
- var canSaveBill = false
|
|
|
- var haveChangeBill = null
|
|
|
- var contentWindowSelf = null
|
|
|
- if (frame.contentWindow._self) {
|
|
|
- contentWindowSelf = frame.contentWindow._self
|
|
|
- } else {
|
|
|
- if (
|
|
|
- frame.contentDocument.getElementById('frame_tab_0') &&
|
|
|
- frame.contentDocument.getElementById('frame_tab_0')
|
|
|
- .contentWindow._self
|
|
|
- ) {
|
|
|
- contentWindowSelf =
|
|
|
- frame.contentDocument.getElementById('frame_tab_0')
|
|
|
- .contentWindow._self
|
|
|
- }
|
|
|
- }
|
|
|
- if (contentWindowSelf) {
|
|
|
- var WFBizSubmitCheckPriority = false
|
|
|
- if (contentWindowSelf.isWFBizSubmitCheckPriority) {
|
|
|
- WFBizSubmitCheckPriority =
|
|
|
- contentWindowSelf.isWFBizSubmitCheckPriority()
|
|
|
- }
|
|
|
- if (WFBizSubmitCheckPriority) {
|
|
|
- if (contentWindowSelf.fireEvent) {
|
|
|
- haveChangeBill = contentWindowSelf.fireEvent(
|
|
|
- 'judgeDataModifyActionEvent',
|
|
|
- ['workflow']
|
|
|
- )
|
|
|
- } else {
|
|
|
- if (contentWindowSelf.checkBillDataChanges) {
|
|
|
- haveChangeBill = contentWindowSelf.checkBillDataChanges()
|
|
|
- }
|
|
|
- }
|
|
|
- if (contentWindowSelf.beforeSubmit) {
|
|
|
- canSaveBill = contentWindowSelf.beforeSubmit()
|
|
|
- } else {
|
|
|
- if (contentWindowSelf.fireEvent) {
|
|
|
- canSaveBill =
|
|
|
- contentWindowSelf.fireEvent('fieldOnStoreEvent') &&
|
|
|
- contentWindowSelf.fireEvent('submitBeforeActionEvent')
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (contentWindowSelf.beforeSubmit) {
|
|
|
- canSaveBill = contentWindowSelf.beforeSubmit()
|
|
|
- } else {
|
|
|
- if (contentWindowSelf.fireEvent) {
|
|
|
- canSaveBill =
|
|
|
- contentWindowSelf.fireEvent('fieldOnStoreEvent') &&
|
|
|
- contentWindowSelf.fireEvent('submitBeforeActionEvent')
|
|
|
- }
|
|
|
- }
|
|
|
- if (contentWindowSelf.fireEvent) {
|
|
|
- haveChangeBill = contentWindowSelf.fireEvent(
|
|
|
- 'judgeDataModifyActionEvent',
|
|
|
- ['workflow']
|
|
|
- )
|
|
|
- } else {
|
|
|
- if (contentWindowSelf.checkBillDataChanges) {
|
|
|
- haveChangeBill = contentWindowSelf.checkBillDataChanges()
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (canSaveBill) {
|
|
|
- if (typeof haveChangeBill == 'boolean') {
|
|
|
- issubmit = !haveChangeBill
|
|
|
- } else {
|
|
|
- issubmit = false
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- issubmit = true
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- issubmit = true
|
|
|
- }
|
|
|
- } else {
|
|
|
- issubmit = true
|
|
|
- }
|
|
|
- return issubmit
|
|
|
- },
|
|
|
- _save: function (isReadOnly) {
|
|
|
- assign.operation = 'approve'
|
|
|
- var approve = _private.getApprove()
|
|
|
- if (!approve) {
|
|
|
- return
|
|
|
- }
|
|
|
- if (
|
|
|
- isReadOnly === undefined ||
|
|
|
- isReadOnly === null ||
|
|
|
- isReadOnly === ''
|
|
|
- ) {
|
|
|
- isReadOnly = true
|
|
|
- }
|
|
|
- if (!isReadOnly) {
|
|
|
- var frame = document.getElementById('billFrame')
|
|
|
- if (
|
|
|
- frame.contentDocument.getElementById('frame_tab_0') != null &&
|
|
|
- frame.contentDocument.getElementById('frame_tab_0') != undefined
|
|
|
- ) {
|
|
|
- frame = frame.contentDocument.getElementById('frame_tab_0')
|
|
|
- }
|
|
|
- if (frame.contentWindow._self.getCurrentModel) {
|
|
|
- var modelInfo = frame.contentWindow._self.getCurrentModel()
|
|
|
- var editModel = JSON.stringify(modelInfo)
|
|
|
- approve.model = editModel
|
|
|
- }
|
|
|
- if (approve.model == null) {
|
|
|
- if (frame.contentWindow._self.fireEvent) {
|
|
|
- var s = frame.contentWindow._self.fireEvent('save')
|
|
|
- if (!s) {
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- approve.isReadOnly = isReadOnly.toString()
|
|
|
- if ($('#textCC').prop('personIds')) {
|
|
|
- approve.ccPersonIds = $('#textCC').prop('personIds')
|
|
|
- approve.personName = $('#textCC').prop('value')
|
|
|
- }
|
|
|
- var params = {}
|
|
|
- params.approve = JSON.stringify(approve)
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/common/tree.do?method=saves',
|
|
|
- data: params,
|
|
|
- success: function (data) {
|
|
|
- if (data) {
|
|
|
- assign.id = data
|
|
|
- _self.showSuccess(_self._localeStr.WEB_SAVESUCCESS)
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- backto: function () {
|
|
|
- try {
|
|
|
- if (
|
|
|
- $('#billFrame').length > 0 &&
|
|
|
- $('#billFrame')[0].contentWindow._self.fireEvent
|
|
|
- ) {
|
|
|
- $('#billFrame')[0].contentWindow._self.fireEvent('destroyEvent')
|
|
|
- }
|
|
|
- } catch (e) {
|
|
|
- console.log('流程中心手动释放单据锁失败')
|
|
|
- }
|
|
|
- if (waf.isInFramePage()) {
|
|
|
- waf.closeCurPageTab()
|
|
|
- } else {
|
|
|
- if (
|
|
|
- top &&
|
|
|
- top.jMessager &&
|
|
|
- top.jMsgcenter &&
|
|
|
- top.jMsgcenter.tab_post_add
|
|
|
- ) {
|
|
|
- setTimeout(function () {
|
|
|
- top.jMessager.sendMsg(top.jMsgcenter.tab_close)
|
|
|
- }, 800)
|
|
|
- } else {
|
|
|
- setTimeout(function () {
|
|
|
- try {
|
|
|
- if (window.opener) {
|
|
|
- if (window.opener.refreshCurrentPage) {
|
|
|
- window.opener.refreshCurrentPage()
|
|
|
- }
|
|
|
- if (opener.waf && opener.waf('#queryGrid')[0] != undefined) {
|
|
|
- opener.waf('#queryGrid').wafGrid('reloadGrid')
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (e) {}
|
|
|
- try {
|
|
|
- // 尝试关闭窗口
|
|
|
- //window.close();
|
|
|
- // 检查窗口是否仍然存在,如果存在则表示没有权限
|
|
|
- //if (!window.closed) {
|
|
|
- console.log("没有权限关闭窗口。");
|
|
|
- waf.doGet({
|
|
|
- url: '/shr/shr/msf/service.do?method=callService&serviceName=getSsoOAUrl&ssoPath=http%3a%2f%2foa.shichuangyi.cn%3a8080%2fwui%2findex.html%3fssoToken%3d%7b0%7d%23%2fmain%2fworkflow%2flistDoing%3fmenuIds%3d1%2c13%26menuPathIds%3d1%2c13%26_key%3dybt3pm',
|
|
|
+/**************************提示:只允许修改开发区域,其他区域会被覆盖!********************************/
|
|
|
+mod.definePage("workflow/metas/js/approve", function (waf, wfCommonUtil) {
|
|
|
+ var _public = {}, _private = {}, me = _self;
|
|
|
+ var okPolicy = new Array();
|
|
|
+ var noPolicy = new Array();
|
|
|
+ var assign = {};
|
|
|
+ var selnextPersons = {};
|
|
|
+ var transId = null;
|
|
|
+ var locationurl = waf.getUrlParams(document.location.href);
|
|
|
+ var approvetype = locationurl.type;
|
|
|
+ var passId = locationurl.passid;
|
|
|
+ var sourceIDs = locationurl.sourceIDs;
|
|
|
+ var msgId = locationurl.msgId;
|
|
|
+ var showerror = "";
|
|
|
+ var nextActIndex = "#nextAct";
|
|
|
+ var approveOpinions = {};
|
|
|
+ var isFirst = true;
|
|
|
+ var approvePolicy = {};
|
|
|
+ var riskInsight = false;
|
|
|
+ var billInsightOption = {};
|
|
|
+ /**
|
|
|
+ * 初始化CA认证配置
|
|
|
+ */
|
|
|
+ var caConfig = {
|
|
|
+ caConfigInfo: null,
|
|
|
+ rootDiv: null,
|
|
|
+ CA_plainText: null,
|
|
|
+ CA_signature: null,
|
|
|
+ plainTextMap: null,
|
|
|
+ plainSignatureMap: null
|
|
|
+ };
|
|
|
+ //@beginPublic
|
|
|
+ waf.extend(_public, {
|
|
|
+ //控件事件描述:
|
|
|
+ submit: function (event, value) {
|
|
|
+ return _private.submit(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ save: function (event, value) {
|
|
|
+ return _private.save(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ deliver: function (event, value) {
|
|
|
+ return _private.deliver(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ passAssignment: function (event, value) {
|
|
|
+ return _private.passAssignment(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ kickback: function (event, value) {
|
|
|
+ return _private.kickback(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ appendActivity: function (event, value) {
|
|
|
+ return _private.appendActivity(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ dynamicSign: function (event, value) {
|
|
|
+ return _private.dynamicSign(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ jumpto: function (event, value) {
|
|
|
+ return _private.jumpto(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ viewProcessDiagram: function (event, value) {
|
|
|
+ return _private.viewProcessDiagram(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ billImage: function (event, value) {
|
|
|
+ return _private.billImage(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ bill: function (event, value) {
|
|
|
+ return _private.bill(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ showoperate: function (event, value) {
|
|
|
+ return _private.showoperate(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ nextActs: function (event, ui) {
|
|
|
+ return _private.nextActs(event, ui);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ modifynextActs: function (event, value) {
|
|
|
+ return _private.modifynextActs(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ changePolicy: function (event, ui) {
|
|
|
+ return _private.changePolicy(event, ui);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ changeselPolicy: function (event, ui) {
|
|
|
+ return _private.changeselPolicy(event, ui);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ myPhrase: function (event, value) {
|
|
|
+ return _private.myPhrase(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ openPerson: function (event, value) {
|
|
|
+ return _private.openPerson(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ esignatureOnClick: function (event, ui) {
|
|
|
+ return _private.esignatureOnClick(event, ui);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ nextAct: function (event, ui) {
|
|
|
+ return _private.nextAct(event, ui);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ modifynextAct: function (event, value) {
|
|
|
+ return _private.modifynextAct(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面事件描述:
|
|
|
+ pageOnload: function (e) {
|
|
|
+ return _private.pageOnload(e);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面事件描述:
|
|
|
+ pageOnRenderBefore: function (e) {
|
|
|
+ return _private.pageOnRenderBefore(e);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面事件描述:
|
|
|
+ phrasedel: function (e) {
|
|
|
+ return _private.phrasedel(e);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面事件描述:
|
|
|
+ phrasesure: function (e) {
|
|
|
+ return _private.phrasesure(e);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ addphrase: function (e) {
|
|
|
+ return _private.addphrase(e);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面事件描述:
|
|
|
+ phraseback: function (e) {
|
|
|
+ return _private.phraseback(e);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面事件描述:
|
|
|
+ phraseadd: function (e) {
|
|
|
+ return _private.phraseadd(e);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ reloadTranId: function () {
|
|
|
+ return _private.reloadTranId();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ getnextacts: function () {
|
|
|
+ return _private.getnextacts();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ showtab: function () {
|
|
|
+ return _private.showtab();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ setmanualdecision: function () {
|
|
|
+ return _private.setmanualdecision();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ setmodifynextAct: function () {
|
|
|
+ return _private.setmodifynextAct();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:批量审批内嵌列表界面
|
|
|
+ getbatchlist: function () {
|
|
|
+ return _private.getbatchlist();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:显示内嵌单据
|
|
|
+ displayBillInfo: function (url) {
|
|
|
+ return _private.displayBillInfo(url);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ getPolicy: function (approveValueStr) {
|
|
|
+ return _private.getPolicy(approveValueStr);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ setPolicy: function (val) {
|
|
|
+ return _private.setPolicy(val);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ isNeedDefaultOption: function (vals) {
|
|
|
+ return _private.isNeedDefaultOption(vals);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ setsendmailormsg: function (isOpenMessageSendOnUI, notifyNextBySMS, notifyNextByMail) {
|
|
|
+ return _private.setsendmailormsg(isOpenMessageSendOnUI, notifyNextBySMS, notifyNextByMail);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ resizePage: function () {
|
|
|
+ return _private.resizePage();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ showapprovehis: function (procInstId) {
|
|
|
+ return _private.showapprovehis(procInstId);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ showbtn: function () {
|
|
|
+ return _private.showbtn();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ setselnextperson: function (actId, name, id) {
|
|
|
+ return _private.setselnextperson(actId, name, id);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ loadNextActs: function () {
|
|
|
+ return _private.loadNextActs();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ getOpinion: function (actInstId, assignId, billId) {
|
|
|
+ return _private.getOpinion(actInstId, assignId, billId);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ getphrase: function () {
|
|
|
+ return _private.getphrase();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ setselnextactperson: function (resultStr) {
|
|
|
+ return _private.setselnextactperson(resultStr);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:$event.get("desc")
|
|
|
+ shownextActs: function (nextactname, ui) {
|
|
|
+ return _private.shownextActs(nextactname, ui);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:传阅反馈提交
|
|
|
+ passComentsubmit: function () {
|
|
|
+ return _private.passComentsubmit();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:初始化加载CA
|
|
|
+ initCAConfig: function (tCAConfig) {
|
|
|
+ return _private.initCAConfig(tCAConfig);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:批量提交的处理CA
|
|
|
+ batchSubmitForCA: function () {
|
|
|
+ return _private.batchSubmitForCA();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:CA认证调用第三方js,弹出密码校验处理,isBatch 是否批量
|
|
|
+ checkCAPassword: function (isBatch) {
|
|
|
+ return _private.checkCAPassword(isBatch);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:批量审批提交
|
|
|
+ batchSubmit: function () {
|
|
|
+ return _private.batchSubmit();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:获取批量审批所选信息
|
|
|
+ getbatchid: function () {
|
|
|
+ return _private.getbatchid();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:批量审批提交
|
|
|
+ _batchsubmit: function (info) {
|
|
|
+ return _private._batchsubmit(info);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:获取提交审批信息
|
|
|
+ getApprove: function () {
|
|
|
+ return _private.getApprove();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:批量审批,CA获取业务单据签名的明码,与加密后的密文
|
|
|
+ beforeBatchSubmitSigature: function (selectBillIds) {
|
|
|
+ return _private.beforeBatchSubmitSigature(selectBillIds);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:提交时获取下一步参与人信息
|
|
|
+ getNextPersons: function (isSave) {
|
|
|
+ return _private.getNextPersons(isSave);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:决策提交
|
|
|
+ manualdecisionsubmit: function () {
|
|
|
+ return _private.manualdecisionsubmit();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:审批提交的处理CA
|
|
|
+ beforeInnerSubmit: function () {
|
|
|
+ return _private.beforeInnerSubmit();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:审批提交单据校验
|
|
|
+ innerSubmit: function () {
|
|
|
+ return _private.innerSubmit();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:审批提交
|
|
|
+ _submit: function (isReadOnly) {
|
|
|
+ return _private._submit(isReadOnly);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:审批提交前对加签数据进行处理,获取加签的数据
|
|
|
+ beforeSubmitSigature: function () {
|
|
|
+ return _private.beforeSubmitSigature();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:对数字类型进行处理
|
|
|
+ toDecimal: function (src, pos) {
|
|
|
+ return _private.toDecimal(src, pos);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:检查是否保存
|
|
|
+ checkIsSave: function (callback, type) {
|
|
|
+ return _private.checkIsSave(callback, type);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:审批保存
|
|
|
+ _save: function (isReadOnly) {
|
|
|
+ return _private._save(isReadOnly);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:关闭当前页面
|
|
|
+ backto: function () {
|
|
|
+ return _private.backto();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:流程附件html片段
|
|
|
+ addUploadHtml: function () {
|
|
|
+ return _private.addUploadHtml();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:获取附件数量及详情
|
|
|
+ getAttchmentcount: function () {
|
|
|
+ return _private.getAttchmentcount();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:选择附件事件
|
|
|
+ selattachment: function (item, attcreater, beizhu) {
|
|
|
+ return _private.selattachment(item, attcreater, beizhu);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:附件删除
|
|
|
+ attachmentDelete: function (item, id) {
|
|
|
+ return _private.attachmentDelete(item, id);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:附件预览
|
|
|
+ attachmentView: function (id, type) {
|
|
|
+ return _private.attachmentView(id, type);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:判断是否是waf1的单据
|
|
|
+ isWaf1Bill: function (url) {
|
|
|
+ return _private.isWaf1Bill(url);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:显示单据摘要
|
|
|
+ messageDigest: function () {
|
|
|
+ return _private.messageDigest();
|
|
|
+ },
|
|
|
+ jMessageAlert: function (message) {
|
|
|
+ return _private.jMessageAlert(message);
|
|
|
+ },
|
|
|
+ //控件事件描述:
|
|
|
+ onselect: function (event, ui) {
|
|
|
+ return _private.onselect(event, ui);
|
|
|
+ },
|
|
|
+ //页面函数描述:保存常用审批意见
|
|
|
+ addphrase: function () {
|
|
|
+ return _private.addphrase();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //控件事件描述:
|
|
|
+ openAttachmentPage: function (event, value) {
|
|
|
+ return _private.openAttachmentPage(event, value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ //页面函数描述:
|
|
|
+ getAssignInfo: function () {
|
|
|
+ return _private.getAssignInfo();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ _self.subscribeEvent("pageOnLoadEvent", _public.pageOnload, "after");
|
|
|
+
|
|
|
+ _self.subscribeEvent("pageOnRenderEvent", _public.pageOnRenderBefore, "before");
|
|
|
+
|
|
|
+ _self.subscribeEvent("phrasedelActionEvent", _public.phrasedel, "overwrite");
|
|
|
+
|
|
|
+ _self.subscribeEvent("phrasesureActionEvent", _public.phrasesure, "overwrite");
|
|
|
+
|
|
|
+ _self.subscribeEvent("phrasebackActionEvent", _public.phraseback, "overwrite");
|
|
|
+
|
|
|
+ _self.subscribeEvent("phraseaddActionEvent", _public.phraseadd, "overwrite");
|
|
|
+
|
|
|
+ //@endPublic
|
|
|
+ //@beginTemplateFunctions
|
|
|
+
|
|
|
+ //@endTemplateFunctions
|
|
|
+
|
|
|
+ /**************************开发区域开始**********************************************/
|
|
|
+ //@beginPrivate
|
|
|
+ waf.extend(_private, {
|
|
|
+ modifyNextAct: "#modifynextAct",
|
|
|
+ charFrameId: "predictionChartIframe",
|
|
|
+ curTab: "",
|
|
|
+ leftPanelWidth: "",
|
|
|
+ rightPanelWidth: "",
|
|
|
+ isPredict: true,
|
|
|
+ displayBillInfo: function (url) {
|
|
|
+ if (assign.attachmentMode) {
|
|
|
+ if (!url.endsWith("nobill.html")) {
|
|
|
+ url += "&hasAttachment=false";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ waf("#billFrame").wafIframe('option', 'src', url);
|
|
|
+ },
|
|
|
+ getPolicy: function (approveValueStr) {
|
|
|
+ if (approveValueStr == null || approveValueStr == "") {
|
|
|
+ approveValueStr = "0;" + _self._localeStr.WEB_AGREE + ";" + _self._localeStr.WEB_AGREE + ";:1;" + _self._localeStr.WEB_DISAGREE + ";" + _self._localeStr.WEB_DISAGREE + ";";
|
|
|
+ }
|
|
|
+ var strs = approveValueStr.split(":"); //字符分割
|
|
|
+ for (var i = 0; i < strs.length; i++) {
|
|
|
+ var strTemp = strs[i].split(";");
|
|
|
+ var key = strTemp[0];
|
|
|
+ var text = strTemp[1];
|
|
|
+ var type = strTemp.length == 2 ? _self._localeStr.WEB_ALL : strTemp[2];
|
|
|
+ var line = strTemp.length < 4 ? "" : strTemp[3];
|
|
|
+ var o = {};
|
|
|
+ o.alias = text;
|
|
|
+ o.value = key;
|
|
|
+ if ("agree" == type || type == _self._localeStr.WEB_AGREE || "同意" == type) {
|
|
|
+ okPolicy.push(o);
|
|
|
+ } else if ("disagree" == type || type == _self._localeStr.WEB_DISAGREE || "不同意" == type) {
|
|
|
+ noPolicy.push(o);
|
|
|
+ } else if ("all" == type || type == _self._localeStr.WEB_ALL || "全部" == type) {
|
|
|
+ okPolicy.push(o);
|
|
|
+ noPolicy.push(o);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ setPolicy: function (val) {
|
|
|
+ if (val == "true") {
|
|
|
+ if (isFirst) {
|
|
|
+ isFirst = false;
|
|
|
+ } else {
|
|
|
+ approveOpinions.disagree = $("#approveOpinion").val();
|
|
|
+ approvePolicy.disagree = waf("#policy").wafSelect("getValue");
|
|
|
+ }
|
|
|
+ if (approvePolicy.agree) {
|
|
|
+ waf("#policy").wafSelect("setValue", approvePolicy.agree);
|
|
|
+ }
|
|
|
+ $("#approveOpinion").val(approveOpinions.agree);
|
|
|
+ waf("#policy").wafSelect("option", "enumSource", okPolicy);
|
|
|
+ } else {
|
|
|
+ if (isFirst) {
|
|
|
+ isFirst = false;
|
|
|
+ } else {
|
|
|
+ approveOpinions.agree = $("#approveOpinion").val();
|
|
|
+ approvePolicy.agree = waf("#policy").wafSelect("getValue");
|
|
|
+ }
|
|
|
+ if (approvePolicy.disagree) {
|
|
|
+ waf("#policy").wafSelect("setValue", approvePolicy.disagree);
|
|
|
+ }
|
|
|
+ $("#approveOpinion").val(approveOpinions.disagree);
|
|
|
+ waf("#policy").wafSelect("option", "enumSource", noPolicy);
|
|
|
+ }
|
|
|
+ _private.reloadTranId();
|
|
|
+ if (waf(nextActIndex).wafCheckbox("isChecked")) {
|
|
|
+ _private.loadNextActs();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ isNeedDefaultOption: function (vals) {
|
|
|
+ if (assign.isNeedDefaultOption) {
|
|
|
+ waf("#approveOpinion").val(vals);
|
|
|
+ }
|
|
|
+ if (assign.defaultOpinion != null && assign.defaultOpinion != "") {
|
|
|
+ waf("#approveOpinion").val(assign.defaultOpinion);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getDefaultOption: function (vals) {
|
|
|
+ if (assign.isNeedDefaultOption) {
|
|
|
+ approveOpinions = { agree: _self._localeStr.WEB_AGREE, disagree: _self._localeStr.WEB_DISAGREE };
|
|
|
+ }
|
|
|
+ if (assign.defaultOpinion != null && assign.defaultOpinion != "") {
|
|
|
+ approveOpinions = { agree: assign.defaultOpinion, disagree: assign.defaultOpinion };
|
|
|
+ }
|
|
|
+ },
|
|
|
+ setsendmailormsg: function (isOpenMessageSendOnUI, notifyNextBySMS, notifyNextByMail) {
|
|
|
+ waf("#issendmsgormail").wafPanel("option", "hidden", !isOpenMessageSendOnUI);
|
|
|
+ waf("#sendmsg").wafCheckbox("option", "hidden", !isOpenMessageSendOnUI);
|
|
|
+ waf("#sendmail").wafCheckbox("option", "hidden", !isOpenMessageSendOnUI);
|
|
|
+ waf("#sendmsg").wafCheckbox("setChecked", notifyNextBySMS);
|
|
|
+ waf("#sendmail").wafCheckbox("setChecked", notifyNextByMail);
|
|
|
+ },
|
|
|
+ resizePage: function () {
|
|
|
+ var rightwidth = Math.ceil((300 / window.innerWidth) * 100);
|
|
|
+ if (window.screen.width <= 1366) {
|
|
|
+ rightwidth = 21;
|
|
|
+ }
|
|
|
+ var leftwidth = 100 - rightwidth;
|
|
|
+ waf("#splitPanel").wafSplitPanel("option", { split: false, leftWidth: leftwidth, rightWidth: rightwidth });
|
|
|
+ var billHeightOffset = 220;
|
|
|
+ var tabOffset = 100;
|
|
|
+ if (assign.newPage && approvetype == "approve") {
|
|
|
+ billHeightOffset = 160;
|
|
|
+ tabOffset = 155;
|
|
|
+ }
|
|
|
+ if (approvetype != "approve") {
|
|
|
+ billHeightOffset -= 120;
|
|
|
+ }
|
|
|
+ $("#tabs .ui-waftabs-panel").eq(0).height(window.innerHeight - tabOffset);
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ if (assign.batchApproveUrl) {
|
|
|
+ var times = 0;
|
|
|
+ waf("#billFrame").wafIframe("option", "height", window.innerHeight - 100);
|
|
|
+ var interval = setInterval(function () {
|
|
|
+ try {
|
|
|
+ window.frames['billFrame'].$("#gview_queryGrid .ui-jqgrid-bdiv").eq(0).css("height", window.innerHeight - 220);
|
|
|
+ if (times > 4) {
|
|
|
+ clearInterval(interval);
|
|
|
+ }
|
|
|
+ times++;
|
|
|
+ } catch (e) { }
|
|
|
+ }, 500);
|
|
|
+ waf("#billFrame").wafIframe("option", "scrolling", "auto");
|
|
|
+ } else {
|
|
|
+ $("#gview_queryGrid .ui-jqgrid-bdiv").height($("#tabs").height() - 100);
|
|
|
+ $("#gview_queryGrid .ui-jqgrid-bdiv").css("overflow-y", "auto");
|
|
|
+ $("#panel5 .ui-jqgrid").height($("#tabs").height());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (assign.messageDigest) {
|
|
|
+ $("#panel5").css({ "height": window.innerHeight - billHeightOffset, "overflow-y": "auto", "overflow-x": "hidden" });
|
|
|
+ $("#bill_content").css({ "height": window.innerHeight - billHeightOffset, "overflow": "auto" });
|
|
|
+ } else {
|
|
|
+ waf("#billFrame").wafIframe("option", "height", window.innerHeight - billHeightOffset);
|
|
|
+ waf("#billFrame").wafIframe("option", "scrolling", "auto");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (assign.absStr || assign.decisionDesc) {
|
|
|
+ _private.changeBillHeight(90, false);
|
|
|
+ }
|
|
|
+ if (approvetype == "batchapprove" || approvetype == "approve") {
|
|
|
+ $("#myPhraseList .scrollhid").height($("#approveTask").height() - 100);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ changeBillHeight: function (height, isClose) {
|
|
|
+ var billHeight = 0;
|
|
|
+ if (assign.messageDigest) {
|
|
|
+ billHeight = $("#panel5").height();
|
|
|
+ } else {
|
|
|
+ billHeight = waf("#billFrame").wafIframe("option", "height");
|
|
|
+ }
|
|
|
+ if (isClose) {
|
|
|
+ billHeight += height;
|
|
|
+ } else {
|
|
|
+ billHeight -= height;
|
|
|
+ }
|
|
|
+ if (assign.messageDigest) {
|
|
|
+ $("#panel5").css({ "height": billHeight, "overflow-y": "auto" });
|
|
|
+ } else {
|
|
|
+ waf("#billFrame").wafIframe("option", "height", billHeight);
|
|
|
+ waf("#billFrame").wafIframe("option", "scrolling", "auto");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ showapprovehis: function (procInstId) {
|
|
|
+ var params = {};
|
|
|
+ params.embed = "true";
|
|
|
+ params.proInstId = procInstId;
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/flowRelated.do?method=getFlowRealted',
|
|
|
+ data: params,
|
|
|
+ success: function (data) {
|
|
|
+ var _html = '';
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
+ var action = data[i].action;
|
|
|
+ var node = data[i].node;
|
|
|
+ if (node == null) {
|
|
|
+ node = "";
|
|
|
+ }
|
|
|
+ var operatorResult = data[i].operatorResult;
|
|
|
+ if (operatorResult == "" || operatorResult == null) {
|
|
|
+ operatorResult = action;
|
|
|
+ }
|
|
|
+ var op = '';
|
|
|
+ var operatorOpinion = data[i].operatorOpinion;
|
|
|
+ if (operatorOpinion == "" || operatorOpinion == null) {
|
|
|
+ operatorOpinion = "";
|
|
|
+ }
|
|
|
+ var classname = 'agree';
|
|
|
+ /*
|
|
|
+ * 0:打回;1:跳转 ;2:加签;3:转交; 4:终止;5:重新指定执行人;6:添加执行人;7:挂起;8:撤销挂起;9:审批;10;审批撤回
|
|
|
+ */
|
|
|
+ var type = data[i].type;
|
|
|
+ var titlename = "";
|
|
|
+ if (type == 9 || type == 10) {
|
|
|
+ var operatorResults = operatorResult.split(",");
|
|
|
+ if (operatorResults.length == 2) {
|
|
|
+ op += "<span title=" + _self._localeStr.WEB_APPROVALRESULTS + ">" + _self._localeStr.WEB_APPROVALRESULTS + ":</span><span title='" + operatorResults[0] + "'>" + operatorResults[0] + "</span><br/>";
|
|
|
+ op += "<span title=" + _self._localeStr.WEB_HANDLEROPINIONS + ">" + _self._localeStr.WEB_HANDLEROPINIONS + ":</span><span title='" + operatorResults[1] + "'>" + operatorResults[1] + "</span><br/>";
|
|
|
+ if (operatorResults[0] == _self._localeStr.WEB_DISAGREE || operatorResults[0] == "Disagree") {
|
|
|
+ classname = 'disagree';
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ op += "<span title='" + operatorResult + "'>" + operatorResult + "</span><br/>";
|
|
|
+ }
|
|
|
+ titlename = _self._localeStr.WEB_APPROVALCOMMENTS;
|
|
|
+ } else {
|
|
|
+ op += "<span title='" + operatorResult + "'>" + operatorResult + "</span><br/>";
|
|
|
+ if (type == 1) {
|
|
|
+ classname = 'jump';
|
|
|
+ titlename = _self._localeStr.WEB_JUMPCOMMENTS;
|
|
|
+ } else if (type == 2) {
|
|
|
+ classname = 'append';
|
|
|
+ titlename = _self._localeStr.WEB_COUNTERSIGNCOMMENTS;
|
|
|
+ } else if (type == 4) {
|
|
|
+ classname = 'stop';
|
|
|
+ titlename = _self._localeStr.WEB_ENDCOMMENTS;
|
|
|
+ } else if (type == 3) {
|
|
|
+ classname = 'deliver';
|
|
|
+ titlename = _self._localeStr.WEB_TRANSFERRCOMMENTS;
|
|
|
+ } else if (type == 0) {
|
|
|
+ classname = 'jump';
|
|
|
+ titlename = _self._localeStr.WEB_REJECTCOMMENTS;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (titlename != "") {
|
|
|
+ op += "<span title='" + titlename + "'>" + titlename + ":</span><span title='" + operatorOpinion + "'>" + operatorOpinion + "</span><br/>";
|
|
|
+ }
|
|
|
+ if (i > 0) {
|
|
|
+ if (data[i].node == data[i - 1].node) {
|
|
|
+ _html += '<div class="infos">' +
|
|
|
+ ' <div class="content">' +
|
|
|
+ ' <div class="title">' +
|
|
|
+ ' <i></i>' +
|
|
|
+ ' <span style="float:left;">' + data[i].operatorTime + '</span>' +
|
|
|
+ ' <span style="float:right;">' + data[i].operator + '</span>' +
|
|
|
+ ' </div>' +
|
|
|
+ ' <div class="op">' + op + '</div>' +
|
|
|
+ ' </div>' +
|
|
|
+ '</div>';
|
|
|
+ if (i != data.length - 1) {
|
|
|
+ if (data[i].node != data[i + 1].node) {
|
|
|
+ _html += '</div></li>';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ _html += '<li>' +
|
|
|
+ '<div class="node">' +
|
|
|
+ ' <i class="' + classname + '"></i>' +
|
|
|
+ ' <span>' + node + '</span>' +
|
|
|
+ '</div>';
|
|
|
+ if (i != data.length - 1) {
|
|
|
+ if (data[i].node == data[i + 1].node) {
|
|
|
+ _html += '<div class="info"><div class="infos">';
|
|
|
+ } else {
|
|
|
+ _html += '<div class="info">';
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ _html += '<div class="info">';
|
|
|
+ }
|
|
|
+ _html += ' <div class="content">' +
|
|
|
+ ' <div class="title">';
|
|
|
+ if (i != data.length - 1) {
|
|
|
+ if (data[i].node == data[i + 1].node) {
|
|
|
+ _html += '<i></i>';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ _html += ' <span style="float:left;">' + data[i].operatorTime + '</span>' +
|
|
|
+ ' <span style="float:right;">' + data[i].operator + '</span>' +
|
|
|
+ ' </div>' +
|
|
|
+ ' <div class="op">' + op + '</div>' +
|
|
|
+ ' </div>' +
|
|
|
+ '</div>';
|
|
|
+ if (i != data.length - 1) {
|
|
|
+ if (data[i].node != data[i + 1].node) {
|
|
|
+ _html += '</li>';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!_html) {
|
|
|
+ _html = _self._localeStr.WEB_NOAPPROVALRECORDS;
|
|
|
+ }
|
|
|
+ $("#approveHisInfo ul")[0].innerHTML = _html;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ showbtn: function () {
|
|
|
+ waf('#dynamicSign').wafLinkButton("option", "hidden", !assign.dynamicSign);
|
|
|
+ waf('#appendActivity').wafLinkButton("option", "hidden", !assign.allowAppendActivity || approvetype == "manualdecision");
|
|
|
+ waf('#jumpto').wafLinkButton("option", "hidden", !assign.allowJumpTo);
|
|
|
+ waf('#kickback').wafLinkButton("option", "hidden", !assign.allowKickBack);
|
|
|
+ waf('#deliver').wafLinkButton("option", "hidden", !assign.allowDeliver);
|
|
|
+ waf('#YZJShare').wafLinkButton("option", "hidden", true);
|
|
|
+ if (assign.allowJumpTo || assign.allowKickBack) {
|
|
|
+ var assignId = assign.assignId;
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/common/tree.do?method=getJumpAndKickBackModel',
|
|
|
+ async: false,
|
|
|
+ data: { "assignId": assignId },
|
|
|
+ success: function (data) {
|
|
|
+ if (assign.allowJumpTo) {
|
|
|
+ waf('#jumpto').wafLinkButton("option", "hidden", !data.jumpTo);
|
|
|
+ }
|
|
|
+ if (assign.allowKickBack) {
|
|
|
+ waf('#kickback').wafLinkButton("option", "hidden", !data.kickBack);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (assign.canSpecifyNextPerformer || assign.mustShowPostActivities || assign.showNextP) {
|
|
|
+ if (assign.mustShowPostActivities || assign.showNextP) {
|
|
|
+ waf(nextActIndex).wafCheckbox("option", "checked", true);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ waf(nextActIndex).wafCheckbox("option", "hidden", true);
|
|
|
+ }
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ waf('#btnImage').wafLinkButton("option", "hidden", false);
|
|
|
+ waf('#btnBill').wafLinkButton("option", "hidden", false);
|
|
|
+ }
|
|
|
+ if (approvetype == "approve") {
|
|
|
+ waf("#save").wafLinkButton("option", "hidden", false);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ setselnextperson: function (actId, name, id) {
|
|
|
+ var ps = {};
|
|
|
+ if (selnextPersons[actId]) {
|
|
|
+ ps = selnextPersons[actId];
|
|
|
+ if (ps[id]) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ps[id] = {
|
|
|
+ number: "",
|
|
|
+ name: name,
|
|
|
+ id: id
|
|
|
+ };
|
|
|
+ selnextPersons[actId] = ps;
|
|
|
+ },
|
|
|
+ loadNextActs: function () {
|
|
|
+ _private.getnextacts();
|
|
|
+ var nextActs = assign.nextActs;
|
|
|
+ _private.innerloadNextActs(nextActs);
|
|
|
+ },
|
|
|
+
|
|
|
+ innerloadNextActs: function (nextActs, selectAct) {
|
|
|
+ var table = $("#nextActList");
|
|
|
+ var _innerhtml = "";
|
|
|
+ if (nextActs) {//有后继活动
|
|
|
+ var actTitles = {};
|
|
|
+ if (nextActs.length == 0) {
|
|
|
+ _innerhtml += "<div>" + _self._localeStr.WEB_NOSETACTIVITYPERSON + "</div>";
|
|
|
+ $(_private.modifyNextAct).wafLinkButton("option", "hidden", true);
|
|
|
+ } else {
|
|
|
+ var hasAct = false;
|
|
|
+ var selectActobj = {};
|
|
|
+ if (selectAct) {
|
|
|
+ for (var actid in selectAct) {
|
|
|
+ selectActobj[actid] = actid;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (var i = 0; i != nextActs.length; i++) {
|
|
|
+ var act = nextActs[i];
|
|
|
+ var num = 0;
|
|
|
+ var actId = act.actId;
|
|
|
+ var candidateselected = act.candidateselected;
|
|
|
+ if (!selectActobj[actId]) {
|
|
|
+ for (var id in candidateselected) {
|
|
|
+ _private.setselnextperson(actId, candidateselected[id], id);
|
|
|
+ num++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (_private.isPredict && !act.isPredict) continue;
|
|
|
+ hasAct = true;
|
|
|
+ var actKey = act.actKey;
|
|
|
+ var actName = act.actName;
|
|
|
+ var isAllPersonAsPerformer = act.isAllPersonAsPerformer;
|
|
|
+ var persons = act.persons;
|
|
|
+ var count = act.count;
|
|
|
+ var issel = false;
|
|
|
+ var title = "";
|
|
|
+ if (num > 0) {
|
|
|
+ issel = true;
|
|
|
+ }
|
|
|
+ _innerhtml += "<div class='actInfo' actId='" + actId + "' actKey='" + actKey + "' title='" + actName + "'>" + actName + "</div>" +
|
|
|
+ "<div class='actInfoperson' id='" + actId + "'>";
|
|
|
+ if (issel) {
|
|
|
+ _innerhtml += _self._localeStr.WEB_SELECTED;
|
|
|
+ var j = 0;
|
|
|
+ for (var id in candidateselected) {
|
|
|
+ if (j > 0) {
|
|
|
+ title += "、";
|
|
|
+ }
|
|
|
+ title += candidateselected[id];
|
|
|
+ if (j > 2) {
|
|
|
+ j++;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (j > 0) {
|
|
|
+ _innerhtml += "、";
|
|
|
+ }
|
|
|
+ _innerhtml += "<span class='persons' personid='" + id + "'>" + candidateselected[id] + "</span>";
|
|
|
+ j++;
|
|
|
+ }
|
|
|
+ actTitles[actId] = title;
|
|
|
+ if (j > 2) {
|
|
|
+ _innerhtml += _self._localeStr.WEB_ANDSOON + j + _self._localeStr.WEB_PEOPLE;
|
|
|
+ }
|
|
|
+ } else if (count > 0) {
|
|
|
+ _innerhtml += "";
|
|
|
+ var j = 0;
|
|
|
+ for (var id in persons) {
|
|
|
+ if (j > 0) {
|
|
|
+ title += "、";
|
|
|
+ }
|
|
|
+ title += persons[id];
|
|
|
+ if (j > 2) {
|
|
|
+ _innerhtml += _self._localeStr.WEB_ANDSOON + count + _self._localeStr.WEB_PEOPLE;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (j > 0) {
|
|
|
+ _innerhtml += "、";
|
|
|
+ }
|
|
|
+ _innerhtml += "<span class='persons' personid='" + id + "'>" + persons[id] + "</span>";
|
|
|
+ j++;
|
|
|
+ }
|
|
|
+ actTitles[actId] = title;
|
|
|
+ } else {
|
|
|
+ _innerhtml += _self._localeStr.WEB_UNSELECTEDPERSON;
|
|
|
+ }
|
|
|
+ _innerhtml += "</div>";
|
|
|
+ }
|
|
|
+ if (!hasAct) {
|
|
|
+ _innerhtml += "<div>" + _self._localeStr.WEB_POINTNEXTTIP + "</div>";
|
|
|
+ }
|
|
|
+ $(_private.modifyNextAct).wafLinkButton("option", "hidden", false);
|
|
|
+ }
|
|
|
+ table.html(_innerhtml);
|
|
|
+ for (var actTitle in actTitles) {
|
|
|
+ $("#" + actTitle).attr("title", actTitles[actTitle]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getOpinion: function (actInstId, assignId, billId) {
|
|
|
+ var params = {};
|
|
|
+ params.actInstId = actInstId;
|
|
|
+ params.assignId = assignId;
|
|
|
+ params.billId = billId;
|
|
|
+ params.type = approvetype;
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/workflow/approve.do?method=getOpinion',
|
|
|
+ data: params,
|
|
|
+ success: function (data) {
|
|
|
+ if (data != null && data != "" && data.option != null && data.option != "") {
|
|
|
+ $("#approveOpinionInfo span").text(data.option);
|
|
|
+ } else {
|
|
|
+ $("#approveOpinionInfo").hide();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ supportMulti: function () {
|
|
|
+ $("#approveDeliverBtn span").text(_self._localeStr.WEB_DELIVER);
|
|
|
+ $("#approvePassBtn span").text(_self._localeStr.WEB_CIRCULATEBTN);
|
|
|
+ $("#approveAppendBtn span").text(_self._localeStr.WEB_ADDSIGN);
|
|
|
+ $("#approveDynamicSignBtn span").text(_self._localeStr.WEB_CONTERSIGNED);
|
|
|
+ $("#approveSaveBtn span").text(_self._localeStr.WEB_SAVE);
|
|
|
+ $("#approveSubmitBtn span").text(_self._localeStr.WEB_SUBMIT);
|
|
|
+ $("#btnUpload").prepend(_self._localeStr.WEB_UPLOADATTACH);
|
|
|
+ $("#attachmul1").prepend(_self._localeStr.WEB_ATTCHNUM);
|
|
|
+ $("#attchmul2").prepend(_self._localeStr.WEB_VIEWDETAIL);
|
|
|
+ $("#attachmul3").prepend(_self._localeStr.WEB_ATTCHGE);
|
|
|
+ $("#attchment").append($(".attchmentnuminfo"));
|
|
|
+ $("#attchment").append($("#upload"));
|
|
|
+ $("#myPhraseInfo .edit").text(_self._localeStr.WEB_SAVE);
|
|
|
+ $("#myPhraseInfo .backprevious").text(_self._localeStr.WEB_BACK);
|
|
|
+ $("#myPhraseInfo .commit").text(_self._localeStr.WEB_DETERMINE);
|
|
|
+ $("#myPhrasetext").prop("placeholder", _self._localeStr.WEB_ENTER_COMMENTS);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initApprove: function () {
|
|
|
+ if (assign.riskInsight) {
|
|
|
+ _private.initRiskInsight();
|
|
|
+ } else {
|
|
|
+ waf("#riskInsight").wafTab("remove");
|
|
|
+ }
|
|
|
+ _private.initEsignature();
|
|
|
+ _private.initCCPerson();
|
|
|
+ _private.showbtn();
|
|
|
+ _private.initBillPage();
|
|
|
+ _private.initAttachment();
|
|
|
+ _private.initOperateIframe();
|
|
|
+ _private.initAbstractAndPhrase();
|
|
|
+ _private.initApprovePolicy()
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initBatchapprove: function () {
|
|
|
+ _private.initEsignature();
|
|
|
+ _private.showbtn();
|
|
|
+ locationurl.billIds = decodeURIComponent(parent.window.billIDs);
|
|
|
+ locationurl.assignmentIds = parent.window.assignmentIDs;
|
|
|
+ _private.getbatchlist();
|
|
|
+ _private.initAbstractAndPhrase();
|
|
|
+ _private.initApprovePolicy()
|
|
|
+ waf("#attchment").wafSection("option", "hidden", true);
|
|
|
+ $("#upload").remove();
|
|
|
+ $("#operateInfo").remove();
|
|
|
+ $(".attchmentnuminfo").remove();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initManualdecision: function () {
|
|
|
+ _private.initManualdecisionNextAct();
|
|
|
+ _private.showbtn();
|
|
|
+ _private.initBillPage();
|
|
|
+ _private.initAttachment();
|
|
|
+ _private.initOperateIframe();
|
|
|
+ _private.initDecisionDescAndVal();
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initPassComent: function () {
|
|
|
+ if (assign.passcoment != null) {
|
|
|
+ waf('#passComentOpinion').val(assign.passcoment);
|
|
|
+ }
|
|
|
+ if (assign.isFeedBack) {
|
|
|
+ waf("#sendmsgs").wafCheckbox("disable");
|
|
|
+ waf("#sendmails").wafCheckbox("disable");
|
|
|
+ }
|
|
|
+ waf('#submit').wafLinkButton("option", "hidden", assign.isFeedBack);
|
|
|
+ waf("#passAssignment").wafLinkButton("option", "hidden", (assign.againPass === "false"));
|
|
|
+ _private.initBillPage();
|
|
|
+ _private.initAttachment();
|
|
|
+ _private.initOperateIframe();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initManualdecisionNextAct: function () {
|
|
|
+ nextActIndex = "#nextAct1";
|
|
|
+ _private.modifyNextAct = "#modifynextAct1";
|
|
|
+ if (waf(nextActIndex).wafCheckbox("isChecked")) {
|
|
|
+ _private.loadNextActs();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initRiskInsight: function () {
|
|
|
+ try {
|
|
|
+ //动态引入风险洞察模块 与web框架解耦
|
|
|
+ mod.use("billInsight", function () {
|
|
|
+ //如果进入说明有风险洞察模块
|
|
|
+ riskInsight = true;
|
|
|
+ $("#form").append('<div id="billInsight" class="" ctrlrole="waf.billInsight" data-domcreated="true"></div>');
|
|
|
+ $("#li_approveTask").css("width", "50%");
|
|
|
+ $("#li_riskInsight").show();
|
|
|
+ billInsightOption = _private.getWeakRisk();
|
|
|
+ _private.updateBillInsightNum(billInsightOption);
|
|
|
+ $(window).resize(function () {
|
|
|
+ _private.resizeBillInsight(true);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ } catch (e) {
|
|
|
+ console.log(_self._localeStr.WEB_CONSOLETEXT);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initCCPerson: function () {
|
|
|
+ if (assign.allowCC) {
|
|
|
+ $('#panelCC').show();
|
|
|
+ }
|
|
|
+ if (assign.ccPersonIds != null && assign.ccPersonName != null) {
|
|
|
+ waf("#textCC").prop("personIds", assign.ccPersonIds);
|
|
|
+ waf("#textCC").val(assign.ccPersonName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initEsignature: function () {
|
|
|
+ if (!assign.isEsignature || assign.esignatureAttachId == undefined || assign.esignatureAttachId == '') {
|
|
|
+ $("#panel6").remove();
|
|
|
+ } else {
|
|
|
+ var _html = "<img src='/easweb/webviews/webframework/webcom/attachment/view.jsp?bosID=" + assign.esignatureAttachId + "'/>";
|
|
|
+ $("#esigndiv")[0].innerHTML = _html;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initBillPage: function () {
|
|
|
+ if (assign.messageDigest) {
|
|
|
+ try {
|
|
|
+ _private.messageDigest();
|
|
|
+ } catch (e) {
|
|
|
+ console.log(_self._localeStr.WEB_BILLINITFAILED);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (!assign.billEditUrl || assign.billEditUrl == "nobill.html") {
|
|
|
+ assign.billEditUrl = '/easweb/webviews/workflow/nobill.html?';
|
|
|
+ }
|
|
|
+ if (approvetype == "passComent" && msgId) {
|
|
|
+ assign.billEditUrl = assign.billEditUrl + '&msgId=' + encodeURIComponent(msgId);
|
|
|
+ }
|
|
|
+ _private.displayBillInfo(assign.billEditUrl);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initAttachment: function () {
|
|
|
+ waf("#attachmentBtn").wafLinkButton("option", "hidden", assign.attachDisabled);
|
|
|
+ _private.refreshAttachCountInner(assign.attachmentCount);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initOperateIframe: function () {
|
|
|
+ var url = "/easweb/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.approveRelatedInfo&isshowapprove=true&assignmentId=" + assign.assignId;
|
|
|
+ waf("#operateiframe").wafIframe('option', 'src', url);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initApprovePolicy: function () {
|
|
|
+ _private.getPolicy(assign.approveValue);
|
|
|
+ _private.getDefaultOption();
|
|
|
+ if (assign.id) {
|
|
|
+ waf("#approveResult").wafRadioGroup("setValue", assign.approveResult);
|
|
|
+ waf("#policy").wafSelect("setValue", assign.handlerOpinion)
|
|
|
+ } else {
|
|
|
+ waf("#approveResult").wafRadioGroup("setValue", "true");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initAbstractAndPhrase: function () {
|
|
|
+ if (assign.absStr) {
|
|
|
+ waf("#optionalSection").wafSection("option", "title", _self._localeStr.WEB_PROCESSSUMMARY);
|
|
|
+ waf("#optionalSection").wafSection("option", "hidden", false);
|
|
|
+ $("#description").text(assign.absStr);
|
|
|
+ }
|
|
|
+ _private.getphrase();
|
|
|
+ $("#myPhraseList").on("click", "li", function (e) { _private.clickPhrase(e) });
|
|
|
+ $("#myPhraseList").on("dblclick", "li", function (e) { _private.dblclickPhrase(e) });
|
|
|
+ $("#myPhraseList").on("click", "li i", function (e) { _private.phrasedel(e) });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initDecisionDescAndVal: function () {
|
|
|
+ if (assign.decisionDesc) {
|
|
|
+ waf("#optionalSection").wafSection("option", "title", _self._localeStr.WEB_DECISONDESC);
|
|
|
+ waf("#optionalSection").wafSection("option", "hidden", false);
|
|
|
+ $("#description").text(assign.decisionDesc);
|
|
|
+ _private.changeBillHeight(85, false);
|
|
|
+ }
|
|
|
+ _private.setmanualdecision();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initCalProcDiagram: function () {
|
|
|
+ var url = "/easweb/webviews/workflow/calProcDiagramNew.jsp?procInstId=" + assign.procInstId + "&actinstId=" + assign.actInstId + "&newPage=" + assign.newPage;
|
|
|
+ waf("#" + _private.charFrameId).wafIframe('option', 'src', url);
|
|
|
+ var urlWin = "/easweb/webviews/workflow/calProcDiagram.jsp?procInstId=" + assign.procInstId + "&actinstId=" + assign.actInstId;
|
|
|
+ waf("#chartIframe").wafIframe('option', 'src', urlWin);
|
|
|
+ $("#chart").click(function () {
|
|
|
+ $("#chart").hide()
|
|
|
+ });
|
|
|
+ $("#chartClose").click(function () {
|
|
|
+ $("#chart").hide()
|
|
|
+ });
|
|
|
+ $("#openChartIframe").click(function () {
|
|
|
+ $("#chart").show()
|
|
|
+ });
|
|
|
+ var times = 0;
|
|
|
+ var interval = setInterval(function () {
|
|
|
+ if (window.frames[_private.charFrameId]) {
|
|
|
+ var num = window.frames[_private.charFrameId].num;
|
|
|
+ if (num > 0) {
|
|
|
+ var iWidth = window.innerWidth * (4 / 5);
|
|
|
+ var rowNum = parseInt(iWidth / 176);
|
|
|
+ var calcHeight = Math.ceil(num / rowNum) * 140;
|
|
|
+ var winHeight = "";
|
|
|
+ if (top == parent.parent) {
|
|
|
+ winHeight = window.innerHeight;
|
|
|
+ } else {
|
|
|
+ //门户打开
|
|
|
+ winHeight = window.screen.availHeight - 120;
|
|
|
+ }
|
|
|
+ var iHeight = winHeight * (4 / 5);
|
|
|
+ if (calcHeight < iHeight) {
|
|
|
+ iHeight = calcHeight;
|
|
|
+ }
|
|
|
+ var iTop = (winHeight - 70 - iHeight) / 2;
|
|
|
+ var iLeft = (window.innerWidth - 10 - iWidth) / 2;
|
|
|
+ $("#chartIframe").css({
|
|
|
+ "margin-left": iLeft,
|
|
|
+ "margin-top": iTop,
|
|
|
+ width: iWidth,
|
|
|
+ height: iHeight
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ times++
|
|
|
+ if (times > 100) {
|
|
|
+ clearInterval(interval)
|
|
|
+ }
|
|
|
+ }, 100);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initPageLayout: function () {
|
|
|
+ //按钮布局:按钮靠左,按钮靠右 不同布局简略图位置也显示不一样
|
|
|
+ if (assign.newPage) {
|
|
|
+ $("#predictionChart").remove();
|
|
|
+ _private.charFrameId = "predictionChartIframeNew";
|
|
|
+ _private.initBtnNew();
|
|
|
+ } else {
|
|
|
+ $("#predictionChartNew").remove();
|
|
|
+ }
|
|
|
+ if (locationurl.isOpenNewTab != undefined && locationurl.isOpenNewTab == "true") {
|
|
|
+ $("#nextActList").css("height", "20vh");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initCalProcDiagramPanel: function () {
|
|
|
+ //只有审批时才展示预估图
|
|
|
+ if (approvetype == "approve") {
|
|
|
+ _private.initCalProcDiagram();
|
|
|
+ } else {
|
|
|
+ $("#chart").remove();
|
|
|
+ $("#predictionChart").remove();
|
|
|
+ $("#predictionChartNew").remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initSection: function () {
|
|
|
+ if (approvetype != "batchapprove") {
|
|
|
+ waf("#predictionChart").wafSection("option", 'onopen', function (event) {
|
|
|
+ _private.changeBillHeight(50, false);
|
|
|
+ });
|
|
|
+ waf("#predictionChart").wafSection("option", 'onclose', function (event) {
|
|
|
+ _private.changeBillHeight(50, true);
|
|
|
+ });
|
|
|
+ waf("#operateInfo").wafSection("option", 'onopen', function (event) {
|
|
|
+ _private.changeBillHeight(220, false);
|
|
|
+ });
|
|
|
+ waf("#operateInfo").wafSection("option", 'onclose', function (event) {
|
|
|
+ _private.changeBillHeight(220, true);
|
|
|
+ });
|
|
|
+ waf("#optionalSection").wafSection("option", 'onopen', function (event) {
|
|
|
+ _private.changeBillHeight(60, false);
|
|
|
+ });
|
|
|
+ waf("#optionalSection").wafSection("option", 'onclose', function (event) {
|
|
|
+ _private.changeBillHeight(60, true);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initZoomTool: function () {
|
|
|
+ $("#onClose").show();
|
|
|
+ $("#tabs_ul li").eq($("#tabs_ul li").length - 1).append($("#onClose"));
|
|
|
+ $("#splitPanel_LeftSplitPanel").prepend($("#onOpen"));
|
|
|
+ $("#onClose").bind("click", function () {
|
|
|
+ $("#splitPanel").height($("#splitPanel_LeftSplitPanel").height());
|
|
|
+ rightPanelWidth = $("#splitPanel_RightSplitPanel").width();
|
|
|
+ leftPanelWidth = $("#splitPanel_LeftSplitPanel").width();
|
|
|
+ $("#splitPanel_RightSplitPanel").css("width", "0%");
|
|
|
+ $("#splitPanel_LeftSplitPanel").css("width", "100%");
|
|
|
+ $("#onOpen").show();
|
|
|
+ if (riskInsight && _private.curTab == "riskInsight") {
|
|
|
+ $(".billInsight_cardPanel").css("display", "none");
|
|
|
+ }
|
|
|
+ if (approvetype == "batchapprove" && !assign.batchApproveUrl) {
|
|
|
+ var newWidth = $("#queryGrid").wafGrid("getGridParentWidth");
|
|
|
+ $("#queryGrid").jqGrid("setGridWidth", newWidth);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $("#onOpen").bind("click", function () {
|
|
|
+ $("#onOpen").hide();
|
|
|
+ $("#splitPanel_RightSplitPanel").css("width", rightPanelWidth);
|
|
|
+ $("#splitPanel_LeftSplitPanel").css("width", leftPanelWidth);
|
|
|
+ if (riskInsight && _private.curTab == "riskInsight") {
|
|
|
+ $(".billInsight_cardPanel").show();
|
|
|
+ }
|
|
|
+ if (approvetype == "batchapprove" && !assign.batchApproveUrl) {
|
|
|
+ var newWidth = $("#queryGrid").wafGrid("getGridParentWidth");
|
|
|
+ $("#queryGrid").jqGrid("setGridWidth", newWidth);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $("#onOpen").bind("hover", function () {
|
|
|
+ $("#onOpen").css("opacity", 1);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ pageOnload: function (e) {
|
|
|
+ $("body").ready(function () {
|
|
|
+ _private.supportMulti();
|
|
|
+ _private.showtab();
|
|
|
+ var billId = assign.billId;
|
|
|
+ if (approvetype == "approve") {
|
|
|
+ _private.initApprove();
|
|
|
+ } else if (approvetype == "batchapprove") {
|
|
|
+ _private.initBatchapprove();
|
|
|
+ // 添加首次查看记录
|
|
|
+ if (locationurl && locationurl.assignmentIds) {
|
|
|
+ var actionUrl = waf.getContextPath() + "/activityProperty.do?method=addAssignReadTime";
|
|
|
+ var params = {};
|
|
|
+ params.assignIds = locationurl.assignmentIds;
|
|
|
+ waf.doPost({
|
|
|
+ url: actionUrl,
|
|
|
+ data: params,
|
|
|
+ async: true,
|
|
|
+ success: function (data) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else if (approvetype == "manualdecision") {
|
|
|
+ _private.initManualdecision();
|
|
|
+ } else if (approvetype == "passComent") {
|
|
|
+ _private.initPassComent();
|
|
|
+ billId = passId;
|
|
|
+ }
|
|
|
+ _private.initSection();
|
|
|
+ _private.initPageLayout();
|
|
|
+ _private.initCalProcDiagramPanel();
|
|
|
+ _private.getOpinion(assign.actInstId, assign.assignId, billId);
|
|
|
+ _private.setsendmailormsg(assign.isOpenMessageSendOnUI, assign.notifyNextBySMS, assign.notifyNextByMail);
|
|
|
+ if (assign.newPage) {
|
|
|
+ _private.initZoomTool();
|
|
|
+ }
|
|
|
+ _private.resizePage();
|
|
|
+ window.scrollTo(0, 0);
|
|
|
+ var newTab = waf.getUrlParams(document.URL).isOpenNewTab
|
|
|
+ if (newTab) {
|
|
|
+ $("#operateInfo").css("margin", "3px 5px 5px 0");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initBtnNew: function () {
|
|
|
+ var submitBtn = waf('#submit').wafLinkButton("option", "hidden");
|
|
|
+ $("#toolBar .ui-toolbar-ul").css("float", "right");
|
|
|
+ if (approvetype == "approve" || approvetype == "batchapprove") {
|
|
|
+ if (approvetype == "approve") {
|
|
|
+ var offset = $("#panelNew1").width() - ($("#approveSaveBtn").width() * 2 + 20);
|
|
|
+ if (offset > 0) {
|
|
|
+ $("#approveSaveBtn").css("margin-left", offset / 2);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $("#approveSubmitBtn").css("float", "right");
|
|
|
+ }
|
|
|
+
|
|
|
+ $("#toolBarNew1").show();
|
|
|
+ $("#panelNew1").show();
|
|
|
+ $("#labelapproveResult_label").hide();
|
|
|
+ waf('#approveSubmitBtn').wafLinkButton("option", "hidden", submitBtn);
|
|
|
+ waf('#approveSaveBtn').wafLinkButton("option", "hidden", waf('#save').wafLinkButton("option", "hidden"));
|
|
|
+ waf('#approveDeliverBtn').wafLinkButton("option", "hidden", waf('#deliver').wafLinkButton("option", "hidden"));
|
|
|
+ waf('#approvePassBtn').wafLinkButton("option", "hidden", waf('#passAssignment').wafLinkButton("option", "hidden"));
|
|
|
+ waf('#approveKickbackBtn').wafLinkButton("option", "hidden", waf('#kickback').wafLinkButton("option", "hidden"));
|
|
|
+ waf('#approveAppendBtn').wafLinkButton("option", "hidden", waf('#appendActivity').wafLinkButton("option", "hidden"));
|
|
|
+ waf('#approveDynamicSignBtn').wafLinkButton("option", "hidden", waf('#dynamicSign').wafLinkButton("option", "hidden"));
|
|
|
+ waf('#approveJumpBtn').wafLinkButton("option", "hidden", waf('#jumpto').wafLinkButton("option", "hidden"));
|
|
|
+ } else if (approvetype == "manualdecision") {
|
|
|
+ $("#panelNew3").show();
|
|
|
+ var b = waf('#deliver').wafLinkButton("option", "hidden");
|
|
|
+ if (!b) {
|
|
|
+ $("#toolBarNew3").show();
|
|
|
+ }
|
|
|
+ waf('#decisionDeliverBtn').wafLinkButton("option", "hidden", waf('#deliver').wafLinkButton("option", "hidden"));
|
|
|
+ waf('#decisionSubmitBtn').wafLinkButton("option", "hidden", submitBtn);
|
|
|
+ } else if (approvetype == "passComent") {
|
|
|
+ $("#panelNew2").show();
|
|
|
+ var b = waf('#passAssignment').wafLinkButton("option", "hidden");
|
|
|
+ if (!b) {
|
|
|
+ $("#toolBarNew2").show();
|
|
|
+ }
|
|
|
+ waf('#passPassBtn').wafLinkButton("option", "hidden", b);
|
|
|
+ waf('#passSubmitBtn').wafLinkButton("option", "hidden", submitBtn);
|
|
|
+ }
|
|
|
+ waf('#submit').wafLinkButton("option", "hidden", true);
|
|
|
+ waf('#save').wafLinkButton("option", "hidden", true);
|
|
|
+ waf('#deliver').wafLinkButton("option", "hidden", true);
|
|
|
+ waf('#passAssignment').wafLinkButton("option", "hidden", true);
|
|
|
+ waf('#kickback').wafLinkButton("option", "hidden", true);
|
|
|
+ waf('#appendActivity').wafLinkButton("option", "hidden", true);
|
|
|
+ waf('#dynamicSign').wafLinkButton("option", "hidden", true);
|
|
|
+ waf('#jumpto').wafLinkButton("option", "hidden", true);
|
|
|
+ if (approvetype != "batchapprove") {
|
|
|
+ $("#assignTitle").show();
|
|
|
+ $("#assignTitle").css("width", $("#toolBar").width() - $("#toolBar .ui-toolbar-ul").width());
|
|
|
+ $("#assignTitle").text(assign.title);
|
|
|
+ $("#assignTitle").prop("title", assign.title);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ changePolicy: function (event, ui) {
|
|
|
+ _private.setPolicy(ui.current);
|
|
|
+ if (ui.current == "false") {
|
|
|
+ $("#panel").hide();
|
|
|
+ } else {
|
|
|
+ $("#panel").show();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ ,
|
|
|
+ deliver: function (event, value) {
|
|
|
+ var para = {};
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ para.sourceID = _private.getbatchid().assignIds;
|
|
|
+ } else {
|
|
|
+ para.sourceID = assign.assignId;
|
|
|
+ }
|
|
|
+ wfCommonUtil.deliverAssignment(para);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ passAssignment: function (event, value) {
|
|
|
+ var para = {};
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ var info = _private.getbatchid();
|
|
|
+ para.sourceID = info.assignIds;
|
|
|
+ para.bizObjID = info.billIds;
|
|
|
+ } else {
|
|
|
+ para.sourceID = assign.assignId;
|
|
|
+ para.bizObjID = assign.billId;
|
|
|
+ }
|
|
|
+ wfCommonUtil.passComment(para);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ kickback: function (event, value) {
|
|
|
+ var assignid = "";
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ assignid = _private.getbatchid().assignIds;
|
|
|
+ } else {
|
|
|
+ assignid = assign.assignId;
|
|
|
+ }
|
|
|
+ var url = waf.getContextPath() + "/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.kickBackPage&assignmentId=" + encodeURIComponent(assignid);
|
|
|
+ wfCommonUtil.windowopen(url, _self._localeStr.WEB_REJECT, 450, 320);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ jumpto: function (event, value) {
|
|
|
+ var assignid = "";
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ assignid = _private.getbatchid().assignIds;
|
|
|
+ } else {
|
|
|
+ assignid = assign.assignId;
|
|
|
+ }
|
|
|
+ var url = waf.getContextPath() + "/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.jump&assignmentId=" + encodeURIComponent(assignid);
|
|
|
+ wfCommonUtil.windowopen(url, _self._localeStr.WEB_JUMP, 450, 281);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ dynamicSign: function (event, value) {
|
|
|
+ var assignid = "";
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ assignid = _private.getbatchid().assignIds;
|
|
|
+ } else {
|
|
|
+ assignid = assign.assignId;
|
|
|
+ }
|
|
|
+ var url = waf.getContextPath() + "/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.dynamicSignPage&assignmentId=" + encodeURIComponent(assignid);
|
|
|
+ wfCommonUtil.windowopen(url, _self._localeStr.WEB_COUNTERSIGNPART, 450, 281);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ appendActivity: function (event, value) {
|
|
|
+ var billId = "";
|
|
|
+ var assignId = "";
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ var info = _private.getbatchid();
|
|
|
+ assignId = info.assignIds;
|
|
|
+ billId = info.billIds;
|
|
|
+ } else {
|
|
|
+ assignId = assign.assignId;
|
|
|
+ billId = assign.billId;
|
|
|
+ }
|
|
|
+
|
|
|
+ var url = waf.getContextPath() + "/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.appendSignPage&assignmentId=" + encodeURIComponent(assignId) + "&billIds=" + encodeURIComponent(billId) + "&isAppended=" + assign.isAppended;
|
|
|
+ if (assign.appendMode) {
|
|
|
+ url += '&appendMode=' + assign.appendMode[0];
|
|
|
+ }
|
|
|
+ if (assign.routeMode) {
|
|
|
+ url += '&routeMode=' + assign.routeMode[0];
|
|
|
+ }
|
|
|
+ wfCommonUtil.windowopen(url, _self._localeStr.WEB_COUNTERSIGN, 520, 746);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ modifynextAct: function (event, value) {
|
|
|
+ _private.setmodifynextAct();
|
|
|
+ },
|
|
|
+ setselnextactperson: function (resultStr) {
|
|
|
+ _private.innerloadNextActs(assign.nextActs, resultStr);
|
|
|
+ for (var actid in resultStr) {
|
|
|
+ var ps = resultStr[actid];
|
|
|
+ var _innerhtml = _self._localeStr.WEB_SELECTED;
|
|
|
+ var j = 0;
|
|
|
+ if (_private.isEmptyObject(ps)) {
|
|
|
+ delete selnextPersons[actid];
|
|
|
+ } else {
|
|
|
+ var title = "";
|
|
|
+ for (var id in ps) {
|
|
|
+ var person = ps[id];
|
|
|
+ var name = person.name;
|
|
|
+ _private.setselnextperson(actid, name, id);
|
|
|
+ if (j > 0) {
|
|
|
+ title += "、";
|
|
|
+ }
|
|
|
+ title += name;
|
|
|
+ if (j > 2) {
|
|
|
+ j++;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (j > 0) {
|
|
|
+ _innerhtml += "、";
|
|
|
+ }
|
|
|
+ _innerhtml += "<span class='persons' personid='" + id + "'>" + name + "</span>";
|
|
|
+ j++;
|
|
|
+ }
|
|
|
+ if (j > 2) {
|
|
|
+ _innerhtml += _self._localeStr.WEB_ANDSOON + j + _self._localeStr.WEB_PEOPLE;
|
|
|
+ }
|
|
|
+ $("#" + actid).html(_innerhtml);
|
|
|
+ $("#" + actid).attr("title", title);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ isEmptyObject: function (obj) {
|
|
|
+ for (var key in obj) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ getphrase: function () {
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/workflow/approve.do?method=getAppMyPhraseList',
|
|
|
+ success: function (data) {
|
|
|
+ var myPhraseList = $("#myPhraseList .showdel");
|
|
|
+ myPhraseList.html("");
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
+ //<li data-id="p4AAAABOtHGGjkdQ" onclick="setPhraseColor(this)" ondblclick="myPhraseCommit()" title="h">h<i onclick="myPhraseDelete("p4AAAABOtHGGjkdQ")"></i></li>
|
|
|
+ var row = $("<li></li>");
|
|
|
+ row.attr({ "data-id": data[i].id, title: data[i].phraseText });
|
|
|
+ row.text(data[i].phraseText);
|
|
|
+ row.append("<i></i>");
|
|
|
+ myPhraseList.append(row);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ },
|
|
|
+ clickPhrase: function (e) {
|
|
|
+ $("#myPhraseInfo li").removeClass("cur");
|
|
|
+ var targetElem = $(e.target);
|
|
|
+ targetElem.addClass("cur");
|
|
|
+ $("#myPhrasetext").val(targetElem.attr("title"));
|
|
|
+ $("#myPhrasetext").attr("data-id", targetElem.attr("data-id"));
|
|
|
+
|
|
|
+ },
|
|
|
+ dblclickPhrase: function (e) {
|
|
|
+ var itemval = $(e.target).attr("title");
|
|
|
+ $("#approveOpinion").val(itemval);
|
|
|
+ $("#myPhraseInfo li").removeClass("cur");
|
|
|
+ $("#myPhrasetext").attr("data-id", "");
|
|
|
+ $("#myPhrasetext").val("");
|
|
|
+ $("#phrasePanel").hide();
|
|
|
+
|
|
|
+ },
|
|
|
+ phrasesure: function (e) {
|
|
|
+ var text = $("#myPhrasetext").val();
|
|
|
+ if (text != null && text.length > 1000) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_APPROVALCOMMENTS_TOOLONG);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ $("#approveOpinion").val(text);
|
|
|
+ $("#myPhraseInfo li").removeClass("cur");
|
|
|
+ $("#myPhrasetext").attr("data-id", "");
|
|
|
+ $("#myPhrasetext").val("");
|
|
|
+ $("#phrasePanel").hide();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ phraseback: function (e) {
|
|
|
+ $("#myPhraseInfo li").removeClass("cur");
|
|
|
+ $("#myPhrasetext").attr("data-id", "");
|
|
|
+ $("#myPhrasetext").val("");
|
|
|
+ $("#phrasePanel").hide();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ myPhrase: function (event, value) {
|
|
|
+ $("#phrasePanel").show();
|
|
|
+ $("#myPhrasesection .ui-jqgrid-bdiv").css("height", "auto");
|
|
|
+ }
|
|
|
+
|
|
|
+ ,
|
|
|
+ addphrase: function () {
|
|
|
+ // 对添加新的的超长审批意见做判断
|
|
|
+ var text = $("#myPhrasetext").val();
|
|
|
+ if (text != null && text.length > 1000) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_APPROVALCOMMENTS_TOOLONG);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ var param = {};
|
|
|
+ var rowid = $("#myPhrasetext").attr("data-id");
|
|
|
+ var value = $("#myPhrasetext").val();
|
|
|
+ if (!value) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (rowid) {
|
|
|
+ param.method = "updateOption";
|
|
|
+ param.opId = rowid;
|
|
|
+ param.opName = value;
|
|
|
+ } else {
|
|
|
+ param.phraseTxt = value;
|
|
|
+ param.method = "saveMyPhrase";
|
|
|
+ }
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/workflow/approve.do',
|
|
|
+ data: param,
|
|
|
+ success: function (data) {
|
|
|
+ _private.getphrase();
|
|
|
+ _self.showSuccess(_self._localeStr.WEB_ADDCOMMONCOMMENTS);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ phrasedel: function (e) {
|
|
|
+ var param = {};
|
|
|
+ param.phraseIds = $(e.target).parent().attr("data-id");
|
|
|
+ $("#myPhrasetext").attr("data-id", "");
|
|
|
+ $("#myPhrasetext").val("");
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/workflow/approve.do?method=delMyPhrase',
|
|
|
+ data: param,
|
|
|
+ success: function (data) {
|
|
|
+ _private.getphrase();
|
|
|
+ _self.showSuccess(_self._localeStr.WEB_DELETECOMMONCOMMENTS);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ pageOnRenderBefore: function (e) {
|
|
|
+ assign = _self.getPageInitData();
|
|
|
+ //获取CA初始化的值
|
|
|
+ if (approvetype != "passComent") {
|
|
|
+ _private.initCAConfig(assign.CAConfig);
|
|
|
+ }
|
|
|
+ var title = '';
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ title = _self._localeStr.WEB_BATCHAPPROVAL;
|
|
|
+ } else {
|
|
|
+ title = assign.title;
|
|
|
+ }
|
|
|
+ _self.changeTitle(title);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ phraseadd: function (e) {
|
|
|
+ var datarow = { phraseText: "" };
|
|
|
+ waf("#myPhrasegrid").wafGrid('addRow', { data: datarow });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ viewProcessDiagram: function (event, value) {
|
|
|
+ var para = {};
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ var assignIds = _private.getbatchid().assignIds;
|
|
|
+ if (assignIds.split(";").length != 1) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_SELECTARECORD);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ para.sourceID = assignIds.split(";")[0];
|
|
|
+ } else {
|
|
|
+ para.sourceID = assign.assignId;
|
|
|
+ }
|
|
|
+ wfCommonUtil.viewProcessDiagram(para);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ reloadTranId: function () {
|
|
|
+ var approveResult = waf("#approveResult").wafRadioGroup("getValue");
|
|
|
+ var policy = waf("#policy").wafSelect("getValue");
|
|
|
+ var ispass;
|
|
|
+ if (approveResult == "false") {
|
|
|
+ ispass = false;
|
|
|
+ } else if (approveResult == "true") {
|
|
|
+ ispass = true;
|
|
|
+ }
|
|
|
+ if (assign) {
|
|
|
+ var approveValueStr = assign.approveValue;
|
|
|
+ if (approveValueStr == null || approveValueStr == "") {
|
|
|
+ approveValueStr = "0;" + _self._localeStr.WEB_AGREE + ";" + _self._localeStr.WEB_AGREE + ";:1;" + _self._localeStr.WEB_DISAGREE + ";" + _self._localeStr.WEB_DISAGREE + ";";
|
|
|
+ }
|
|
|
+ var strs = approveValueStr.split(":"); //字符分割
|
|
|
+ for (var i = 0; i < strs.length; i++) {
|
|
|
+ var strTemp = strs[i].split(";");
|
|
|
+ //如果没有4位长度说明没有配置关联决策项
|
|
|
+ if (strTemp.length != 4)
|
|
|
+ continue;
|
|
|
+ if (ispass && policy == strTemp[0]) {
|
|
|
+ transId = strTemp[3];
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ changeselPolicy: function (event, ui) {
|
|
|
+ _private.reloadTranId();
|
|
|
+ if (waf(nextActIndex).wafCheckbox("isChecked")) {
|
|
|
+ _private.loadNextActs();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ getnextacts: function () {
|
|
|
+ var param = {};
|
|
|
+ param.assignId = assign.assignId;
|
|
|
+ param.associatedLine = transId;
|
|
|
+ param.isPredict = _private.isPredict;
|
|
|
+ param.isNewProcessCenter = true;
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/common/tree.do?method=findPostParticipants',
|
|
|
+ data: param,
|
|
|
+ async: false,
|
|
|
+ success: function (data) {
|
|
|
+ assign.nextActs = data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ showtab: function () {
|
|
|
+ if (approvetype == "approve" || approvetype == "batchapprove") {
|
|
|
+ $("#tabs").wafTabs("remove", "#manualdecision");
|
|
|
+ $("#tabs").wafTabs("remove", "#passComent");
|
|
|
+ } else if (approvetype == "manualdecision") {
|
|
|
+ $("#tabs").wafTabs("remove", "#approveTask");
|
|
|
+ $("#tabs").wafTabs("remove", "#passComent");
|
|
|
+ } else if (approvetype == "passComent") {
|
|
|
+ $("#tabs").wafTabs("remove", "#approveTask");
|
|
|
+ $("#tabs").wafTabs("remove", "#manualdecision");
|
|
|
+ }
|
|
|
+ if (approvetype != "approve") {
|
|
|
+ waf("#riskInsight").wafTab("remove");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ setmanualdecision: function () {
|
|
|
+ var items = assign.decisionItems;
|
|
|
+ var opinions = assign.decisionOpinions;
|
|
|
+ var _html = "";
|
|
|
+ var itemArr = items.split(";");
|
|
|
+ var opinionArr = new Array();
|
|
|
+ if (!opinions) {
|
|
|
+ var opinionItem = "";
|
|
|
+ for (var i = 0; i < itemArr.length; i++) {
|
|
|
+ opinionItem += (i + 1);
|
|
|
+ if (i < itemArr.length - 1) {
|
|
|
+ opinionItem += ";";
|
|
|
+ }
|
|
|
+ opinionArr.push(i + 1);
|
|
|
+ }
|
|
|
+ assign.decisionOpinions = opinionItem;
|
|
|
+ } else {
|
|
|
+ opinionArr = opinions.split(";");
|
|
|
+ }
|
|
|
+ var json = [];
|
|
|
+ for (var i = 0; i < itemArr.length; i++) {
|
|
|
+ var name = itemArr[i];
|
|
|
+ var val = opinionArr[i];
|
|
|
+ var para = {};
|
|
|
+ para.value = val + "_" + i;
|
|
|
+ para.alias = name;
|
|
|
+ json.push(para);
|
|
|
+ }
|
|
|
+ waf("#radioDecision").wafRadioGroup("setItems", null, json);
|
|
|
+ waf("#radioDecision").wafRadioGroup("setValue", json[0].value);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ nextActs: function (event, ui) {
|
|
|
+ _private.shownextActs("modifynextAct1", ui);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ nextAct: function (event, ui) {
|
|
|
+ _private.shownextActs("modifynextAct", ui);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ modifynextActs: function (event, value) {
|
|
|
+ _private.setmodifynextAct();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ setmodifynextAct: function () {
|
|
|
+ var jsonval = "";
|
|
|
+ if (selnextPersons == null || selnextPersons.length == 0) {
|
|
|
+ jsonval = "";
|
|
|
+ } else {
|
|
|
+ jsonval = JSON.stringify(selnextPersons);
|
|
|
+ }
|
|
|
+
|
|
|
+ waf.window.open({
|
|
|
+ url: waf.getContextPath() + "/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.setNextAct&debug=true&assignmentId=" + encodeURIComponent(assign.assignId) + "&selnextPersons=" + encodeURIComponent(jsonval) + "&asso=" + transId + "&isPredict=" + _private.isPredict,
|
|
|
+ openType: "iframe",
|
|
|
+ method: 'POST',
|
|
|
+ data: {},
|
|
|
+ modal: true,
|
|
|
+ title: _self._localeStr.WEB_NEXTACTIVITY,
|
|
|
+ position: 'center',
|
|
|
+ width: 1020,
|
|
|
+ height: 580,
|
|
|
+ minHeight: 560,
|
|
|
+ minWidth: 1020,
|
|
|
+ iconCls: "waf-ui-icon",
|
|
|
+ draggable: true,
|
|
|
+ resizable: true,
|
|
|
+ close: function (event, ui) {
|
|
|
+ },
|
|
|
+ retValCallBack: function (resultData) {
|
|
|
+ if (resultData && resultData.resultStr && resultData.resultStr.length > 0) {
|
|
|
+ var resultStr = JSON.parse(resultData.resultStr);
|
|
|
+ selnextPersons = {};
|
|
|
+ _private.isPredict = resultData.isPredict;
|
|
|
+ _private.setselnextactperson(resultStr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ getbatchlist: function () {
|
|
|
+ if (assign.batchApproveUrl) {
|
|
|
+ var url = waf.getContextPath() + assign.batchApproveUrl + '&hasToolbar=false&showCommonQuery=false';
|
|
|
+ var billIds = locationurl.billIds.split(";");
|
|
|
+ var temp = 'id%20in%20(';
|
|
|
+ for (var i = 0; i < billIds.length; i++) {
|
|
|
+ if (billIds[i]) {
|
|
|
+ if (i == 0) {
|
|
|
+ temp += "%27" + encodeURIComponent(billIds[i]) + "%27";
|
|
|
+ } else {
|
|
|
+ temp += "%2C%27" + encodeURIComponent(billIds[i]) + "%27";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ temp += ')';
|
|
|
+ //waf頁面片段加form表單還不行,只能出此下策
|
|
|
+ $("<form id='framesrcbillform' method='POST' type='hidden' target='billFrame' action='" + url + "'></form>")
|
|
|
+ .insertAfter($("#billFrame"))
|
|
|
+ .append($("<input type='hidden' name='filterInfo' value='" + temp + "'>"))
|
|
|
+ .append($("<input type='hidden' name='botpFilter' value='" + temp + "'>"))
|
|
|
+ setTimeout(function () { document.getElementById("framesrcbillform").submit(); }, 500);
|
|
|
+ var times = 0;
|
|
|
+ var interval = setInterval(function () {
|
|
|
+ var frame = document.getElementById("billFrame");
|
|
|
+ $($(frame)[0].contentDocument.body).find(".ui-jqgrid").css({ "margin": "0px", "width": "100%" });
|
|
|
+ if (times > 600) {
|
|
|
+ clearInterval(interval);
|
|
|
+ }
|
|
|
+ times++;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ waf("#billFrame").remove();
|
|
|
+ var listinfo = {};
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/workflow/approve.do?method=getBatchApproveBillGrid',
|
|
|
+ data: { billIds: locationurl.billIds },
|
|
|
+ async: false,
|
|
|
+ success: function (data) {
|
|
|
+ listinfo = data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ var headers = listinfo.headers;
|
|
|
+ var list = listinfo.list;
|
|
|
+ var fields = listinfo.fields;
|
|
|
+ if (headers.length > 0) {
|
|
|
+ var colmodel = [];
|
|
|
+ var paraid = {
|
|
|
+ name: "id",
|
|
|
+ label: "id",
|
|
|
+ hidden: true,
|
|
|
+ key: true
|
|
|
+ };
|
|
|
+ colmodel.push(paraid);
|
|
|
+ for (var m = 0; m < headers.length; m++) {
|
|
|
+ var para = {
|
|
|
+ name: fields[m],
|
|
|
+ label: headers[m]
|
|
|
+ };
|
|
|
+ colmodel.push(para);
|
|
|
+ }
|
|
|
+ var myGridoptions = {
|
|
|
+ id: "queryGrid",
|
|
|
+ colModel: colmodel,
|
|
|
+ multiselect: true,
|
|
|
+ loadInit: false,
|
|
|
+ shrinkToFit: true
|
|
|
+ };
|
|
|
+ //列数太多显示的表格有问题 web框架bug 暂时这样
|
|
|
+ if (headers.length > 15) {
|
|
|
+ myGridoptions.shrinkToFit = false;
|
|
|
+ }
|
|
|
+ var dom = waf.createDOM("grid", myGridoptions);
|
|
|
+ waf.appendDOM(waf("#panel5"), dom);
|
|
|
+ waf.initComponent("grid", myGridoptions, dom);
|
|
|
+ for (var i = 0; i < list.length; i++) {
|
|
|
+ for (var j in list[i]) {
|
|
|
+ if (list[i][j] != null && typeof list[i][j] == "object") {
|
|
|
+ list[i][j] = list[i][j].alias;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ waf("#queryGrid").wafGrid('addRow', { data: list[i] });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ shownextActs: function (nextactname, ui) {
|
|
|
+ if (ui.checked) {
|
|
|
+ $(".approve-next-persons").show();
|
|
|
+ _private.loadNextActs();
|
|
|
+ } else {
|
|
|
+ $(".approve-next-persons").hide();
|
|
|
+ waf("#" + nextactname).wafLinkButton("option", "hidden", true);
|
|
|
+ selnextPersons = {};
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ submit: function (event, value) {
|
|
|
+ if (approvetype == "approve") {
|
|
|
+ _private.confirmSumit("beforeInnerSubmit");
|
|
|
+ } else if (approvetype == "manualdecision") {
|
|
|
+ _private.manualdecisionsubmit();
|
|
|
+ } else if (approvetype == "batchapprove") {
|
|
|
+ _private.confirmSumit("batchSubmitForCA");
|
|
|
+ } else if (approvetype == "passComent") {
|
|
|
+ _private.passComentsubmit();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ confirmSumit: function (funcName) {
|
|
|
+ if (assign.enableMultiapproveConfirm == "true") {
|
|
|
+ var ok = function () {
|
|
|
+ _private[funcName]();
|
|
|
+ };
|
|
|
+ var cancel = function () {
|
|
|
+ return;
|
|
|
+ };
|
|
|
+ waf.msgBox.showConfirm({
|
|
|
+ title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
+ summaryMsg: _self._localeStr.WEB_CONFIRMSUBMITAPPROVAL,
|
|
|
+ buttonType: "ok-cancel",
|
|
|
+ buttonCallBack: [ok, cancel]
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ _private[funcName]();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ passComentsubmit: function () {
|
|
|
+ var params = {};
|
|
|
+ params.parameter = sourceIDs;
|
|
|
+ params.chksendMessage = "yes";
|
|
|
+ if (waf("#sendmsgs").wafCheckbox("isChecked")) {
|
|
|
+ params.chksendMobile = "yes";
|
|
|
+ }
|
|
|
+ if (waf("#sendmails").wafCheckbox("isChecked")) {
|
|
|
+ params.chksendMail = "yes";
|
|
|
+ }
|
|
|
+ params.opinion = $("#passComentOpinion").val();
|
|
|
+ var option = $("#passComentOpinion").val();
|
|
|
+ if (option != null && option.length > 1000) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_FEEDBACKCOMMENTS_TOOLONG);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/passComment/get.do?method=commit',
|
|
|
+ data: params,
|
|
|
+ success: function (data) {
|
|
|
+ _self.showSuccess(_self._localeStr.WEB_DEEDBACKCIRCULATESUCCESS);
|
|
|
+ _private.backto();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initCAConfig: function (tCAConfig) {
|
|
|
+ caConfig.caConfigInfo = tCAConfig;
|
|
|
+ if (caConfig.caConfigInfo.isSignatureApprove === "true" && caConfig.caConfigInfo.caType != "5") {//只有做CA认证时加载CA控件
|
|
|
+ var initflag = initTopesa();
|
|
|
+ if (initflag != 0) {
|
|
|
+ waf.msgBox.showError(_self._localeStr.WEB_CAINITFAILED);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ batchSubmitForCA: function () {
|
|
|
+ if (caConfig.caConfigInfo.checkPassword === "true" && caConfig.caConfigInfo.isSignatureApprove === "true" && caConfig.caConfigInfo.caType != "5") {//CA进行密码验证处理
|
|
|
+ _private.checkCAPassword(true);
|
|
|
+ } else {
|
|
|
+ _private.batchSubmit();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ checkCAPassword: function (isBatch) {
|
|
|
+ var setcss = function () {
|
|
|
+ var item = parent.$(".ui-msgbox .ui-prompt .prompt");
|
|
|
+ if ($(item)) {
|
|
|
+ $(item).css({ "height": "78px", "margin": "20px 0 20px 190px", "background": "url(/easweb/webviews/workflow/img/waitpic.png) no-repeat" });
|
|
|
+ }
|
|
|
+ };
|
|
|
+ setTimeout(setcss, 100);
|
|
|
+ var prmt = function (r, dialog) {
|
|
|
+ if (r) {//验证密码
|
|
|
+ var res = -1;
|
|
|
+ try {
|
|
|
+ res = checkPassword(r, caConfig.caConfigInfo.userName);
|
|
|
+ } catch (errMsg) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_USBKEYCHECKPASSDETAIL + errMsg.message);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (res != 0) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_USBKEYCHECKPASS);
|
|
|
+ } else {//调用提交方法
|
|
|
+ if (isBatch) {//判断是否是批量提交
|
|
|
+ _private.batchSubmit();
|
|
|
+ } else {
|
|
|
+ _private.innerSubmit();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ };
|
|
|
+ var cancel = function () {
|
|
|
+ return;
|
|
|
+ };
|
|
|
+ waf.msgBox.showPrompt({
|
|
|
+ title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
+ icon: "prompt",
|
|
|
+ summaryMsg: _self._localeStr.WEB_INPUTUSBKEYPASSWORD,
|
|
|
+ buttonCallBack: [prmt, cancel]
|
|
|
+ });
|
|
|
+ parent.$("#waf-messageBox-prompt-input").prop("type", "password");
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ batchSubmit: function () {
|
|
|
+ var info = _private.getbatchid();
|
|
|
+ if (info == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ _private._batchsubmit(info);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ getbatchid: function () {
|
|
|
+ var info = {};
|
|
|
+ var assignIds = "";
|
|
|
+ var billIds = "";
|
|
|
+ var allbillIds = locationurl.billIds;
|
|
|
+ var allassignmentIds = locationurl.assignmentIds;
|
|
|
+ if (assign.batchApproveUrl) {
|
|
|
+ var frame = document.getElementById("billFrame");
|
|
|
+ billIds = $(frame)[0].contentWindow.waf("#queryGrid").dataGrid("getSelectedRows");
|
|
|
+ } else {
|
|
|
+ billIds = waf("#queryGrid").wafGrid("getSelectedRows");
|
|
|
+ }
|
|
|
+ if (billIds.length == 0) {
|
|
|
+ billIds = allbillIds;
|
|
|
+ assignIds = allassignmentIds;
|
|
|
+ } else {
|
|
|
+ for (var i = 0; i < allbillIds.split(";").length; i++) {
|
|
|
+ var allbillId = allbillIds.split(";")[i];
|
|
|
+ if (billIds.toString().indexOf(allbillId) > -1) {
|
|
|
+ if (assignIds != "") {
|
|
|
+ assignIds += ";";
|
|
|
+ }
|
|
|
+ assignIds += allassignmentIds.split(";")[i];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ billIds = billIds.join(";");
|
|
|
+ }
|
|
|
+ info.billIds = billIds;
|
|
|
+ info.assignIds = assignIds;
|
|
|
+ return info;
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ _batchsubmit: function (info) {
|
|
|
+ var approve = _private.getApprove();
|
|
|
+ if (!approve) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var billIds = info.billIds;
|
|
|
+ var assignIds = info.assignIds;
|
|
|
+ //add by liujx 添加CA批量认证的判断
|
|
|
+ approve.isSignatureApprove = caConfig.caConfigInfo.isSignatureApprove;
|
|
|
+ if (caConfig.caConfigInfo.isSignatureApprove === "true" && caConfig.caConfigInfo.caType != "5") {//判断是否处理CA认证签名
|
|
|
+ //获取需要签名的明码,与签名后的密文
|
|
|
+ if (!_private.beforeBatchSubmitSigature(billIds)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ approve.plainTextMap = caConfig.plainTextMap;
|
|
|
+ approve.plainSignatureMap = caConfig.plainSignatureMap;
|
|
|
+ }
|
|
|
+ var nextPersons = _private.getNextPersons();
|
|
|
+ if (!nextPersons) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var ok = function () {
|
|
|
+ var params = {};
|
|
|
+ approve.nextActs = nextPersons;
|
|
|
+ params.approve = JSON.stringify(approve);
|
|
|
+ params.assignIds = assignIds;
|
|
|
+ params.billIds = billIds;
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/common/tree.do?method=batchSubmits',
|
|
|
+ data: params,
|
|
|
+ success: function (data) {
|
|
|
+ if (data == "OK") {
|
|
|
+ _self.showSuccess(_self._localeStr.WEB_BATCHAPPROVESUCCESS);
|
|
|
+ _private.backto();
|
|
|
+ } else {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_PLEASEREFRESH);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ };
|
|
|
+ var cancel = function () {
|
|
|
+ return;
|
|
|
+ };
|
|
|
+ if (showerror != "") {
|
|
|
+ waf.msgBox.showConfirm({
|
|
|
+ title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
+ summaryMsg: showerror,
|
|
|
+ buttonType: "ok-cancel",
|
|
|
+ buttonCallBack: [ok, cancel]
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ ok();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ getApprove: function () {
|
|
|
+ var opinion = waf("#approveOpinion").val();
|
|
|
+ if (assign.needApproveOpinion && (opinion == null || opinion.trim() == "")) {//必须填写审批意见的判断
|
|
|
+ _self.showInfo(_self._localeStr.WEB_APPROVALCOMMENTSNOBLANK);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ if (opinion != null && opinion.length > 1000) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_APPROVALCOMMENTSTOOLONG);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ var ispass = null;
|
|
|
+ var approveResult = waf("#approveResult").wafRadioGroup("getValue");
|
|
|
+ if (approveResult == "false") {
|
|
|
+ ispass = 'false';
|
|
|
+ if (assign.mustFillOpinionWhenDisagree == "true") {
|
|
|
+ if ((opinion == null || opinion.trim() == "") || opinion == _self._localeStr.WEB_DISAGREE) {//mustFillOpinionWhenDisagree 不同意时必须填写审批意见的判断
|
|
|
+ _self.showInfo(_self._localeStr.WEB_DISAGREEOPINION);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (approveResult == "true") {
|
|
|
+ ispass = 'true';
|
|
|
+ }
|
|
|
+ var approve = {};
|
|
|
+ approve.assignId = assign.assignId;
|
|
|
+ approve.id = assign.id;
|
|
|
+ approve.opinion = opinion;
|
|
|
+ var handlerOpinion = waf("#policy").wafSelect("getValue");
|
|
|
+ if (handlerOpinion) {
|
|
|
+ approve.handlerOpinion = handlerOpinion;
|
|
|
+ } else {
|
|
|
+ approve.handlerOpinion = "0";
|
|
|
+ }
|
|
|
+ approve.handlerContent = waf("#policy").wafSelect("getSelectedAlias");
|
|
|
+
|
|
|
+ //审批结果
|
|
|
+ approve.approveResult = ispass;
|
|
|
+ //关联路径
|
|
|
+ approve.transitionId = transId;
|
|
|
+
|
|
|
+ //是否发送邮件/短信
|
|
|
+ approve.isSendSMS = waf("#sendmsg").wafCheckbox("isChecked") ? "true" : "false";
|
|
|
+ approve.isSendMail = waf("#sendmail").wafCheckbox("isChecked") ? "true" : "false";
|
|
|
+ if (assign.multiapproveinfoId)
|
|
|
+ approve.id = assign.multiapproveinfoId;
|
|
|
+ var isesignaturecheck = false;
|
|
|
+ if (approvetype == "approve" || approvetype == "batchapprove") {
|
|
|
+ isesignaturecheck = waf("#esignature").wafCheckbox("isChecked");
|
|
|
+ } else if (approvetype == "manualdecision") {
|
|
|
+ isesignaturecheck = waf("#esignature1").wafCheckbox("isChecked");
|
|
|
+ }
|
|
|
+ if (assign.isEsignature && isesignaturecheck) {//电子签名
|
|
|
+ approve.esignatureid = assign.esignatureId;
|
|
|
+ }
|
|
|
+ return approve;
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ beforeBatchSubmitSigature: function (selectBillIds) {
|
|
|
+ //组织业务id
|
|
|
+ var modelIDs = "";
|
|
|
+ var tbillIDs;
|
|
|
+ if (Object.prototype.toString.call(selectBillIds) === '[object Array]') {
|
|
|
+ tbillIDs = selectBillIds;
|
|
|
+ } else {
|
|
|
+ tbillIDs = selectBillIds.split(";");
|
|
|
+ }
|
|
|
+ for (var i = 0; i < tbillIDs.length; i++) {
|
|
|
+ if (modelIDs != "") {
|
|
|
+ modelIDs += ",";
|
|
|
+ }
|
|
|
+ modelIDs += tbillIDs[i];
|
|
|
+ }
|
|
|
+ if (modelIDs === undefined || modelIDs == null || modelIDs === "") {
|
|
|
+ waf.msgBox.showError("bill id can't be null");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //列表界面在前端无法获取bosType,webServer层根据单据ID获得bosType进而获得相关的配置信息
|
|
|
+ var actionUrl = waf.getContextPath() + "/component/ca.do?method=getPlainTextFromDB&billIDs=" + waf.encodeURIComponent(modelIDs) + "&isFromWF=true";
|
|
|
+ waf.doPost({
|
|
|
+ url: actionUrl,
|
|
|
+ async: false,
|
|
|
+ success: function (data) {
|
|
|
+ if (data == null || data == "" || data == undefined) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ caConfig.plainTextMap = data.plainTextMap;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ error: function (data) {
|
|
|
+ waf.msgBox.showError("getPlainTextFromDB failed");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ //对明文字段进行签名,获取密文数据
|
|
|
+ var arraySignature = "";
|
|
|
+ var billids = modelIDs.split(",");
|
|
|
+ for (var i = 0; i < billids.length; i++) {
|
|
|
+ var key = billids[i];
|
|
|
+ //签名接口调用
|
|
|
+ var signResult = -1;
|
|
|
+ try {
|
|
|
+ signResult = signMessage(caConfig.plainTextMap[key], caConfig.caConfigInfo.userName);
|
|
|
+ } catch (errMsg) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_SIGANATUREFAILED + errMsg.message);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (signResult == 1 || signResult == 2 || signResult == 3) {
|
|
|
+ if (signResult == 1 || signResult == 2) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_SIGAFAILEDUSBKEY);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (arraySignature != "") {
|
|
|
+ arraySignature += ",";
|
|
|
+ }
|
|
|
+ arraySignature += signResult;
|
|
|
+
|
|
|
+ }
|
|
|
+ caConfig.plainSignatureMap = arraySignature;
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ getNextPersons: function (isSave) {
|
|
|
+ var locale = waf.getContext().locale;
|
|
|
+ var symbol = "。";
|
|
|
+ if (locale == "l1") {
|
|
|
+ symbol = ".";
|
|
|
+ }
|
|
|
+ //下一步参与人设置
|
|
|
+ showerror = "";
|
|
|
+ var nextPersons = [];
|
|
|
+ //判断是否是审批同意 add by liujx 审批不同意的不校验下一步参与人
|
|
|
+ var ispass = waf("#approveResult").wafRadioGroup("getValue");//1 不同意
|
|
|
+ if (ispass == "false") {
|
|
|
+ return nextPersons;
|
|
|
+ }
|
|
|
+ var isnextact = waf(nextActIndex).wafCheckbox("isChecked");
|
|
|
+ var directActName = "";
|
|
|
+ if (isnextact) {
|
|
|
+ var num = 0;
|
|
|
+ var index = 0;
|
|
|
+ var directCount = 0;
|
|
|
+ var directIsSel = false;
|
|
|
+ for (var i = 0; i != assign.nextActs.length; i++) {
|
|
|
+ if (_private.isPredict && !assign.nextActs[i].isPredict) continue;
|
|
|
+ var act = {};
|
|
|
+ act.actKey = assign.nextActs[i].actKey;
|
|
|
+ act.persons = {};
|
|
|
+ var flag = false;
|
|
|
+ directCount++;
|
|
|
+ for (var actId in selnextPersons) {
|
|
|
+ if (actId == assign.nextActs[i].actId) {
|
|
|
+ var persons = selnextPersons[actId];
|
|
|
+ for (var id in persons) {
|
|
|
+ act.persons[id] = 'true';
|
|
|
+ flag = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (directCount == 1) {
|
|
|
+ directIsSel = flag;
|
|
|
+ }
|
|
|
+ if (!flag) {
|
|
|
+ if (num < 3) {
|
|
|
+ if (showerror != "") {
|
|
|
+ showerror += "、";
|
|
|
+ }
|
|
|
+ showerror += assign.nextActs[i].actName;
|
|
|
+ }
|
|
|
+ num++;
|
|
|
+ if (num == 1) {
|
|
|
+ directActName = assign.nextActs[i].actName;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ nextPersons[index] = act;
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (num > 0) {
|
|
|
+ if (num > 2) {
|
|
|
+ showerror += _self._localeStr.WEB_ANDSOON + num + _self._localeStr.WEB_NODE;
|
|
|
+ }
|
|
|
+ if (!isSave && assign.mustSetAllNextPerson) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_NEXTACTIVITY + ":" + showerror + symbol);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ if (!isSave && assign.mustSetAllNextPersonDirectNull && !directIsSel) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_NEXTACTIVITY + ":" + directActName + symbol);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ showerror += _self._localeStr.WEB_NOPARTICIPANTSUBMIT;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return nextPersons;
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ manualdecisionsubmit: function () {
|
|
|
+ var selectValue = waf("#radioDecision").wafRadioGroup("getValue");
|
|
|
+ if (selectValue) {
|
|
|
+ var selItems = $("#radioDecision input[value='" + selectValue + "']").next()[0].innerHTML;
|
|
|
+ var params = {};
|
|
|
+ var nextPersons = _private.getNextPersons();
|
|
|
+ if (!nextPersons) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var ok = function () {
|
|
|
+ nextPersons = JSON.stringify(nextPersons);
|
|
|
+ params.nextperson = nextPersons;
|
|
|
+ params.assignId = assign.assignId;
|
|
|
+ params.decisionTitle = assign.decisionName;
|
|
|
+ params.decisionItems = assign.decisionItems;
|
|
|
+ params.decisionDesc = assign.decisionDesc;
|
|
|
+ params.decisionOpinions = assign.decisionOpinions;
|
|
|
+ params.SelectedItems = selItems;
|
|
|
+ params.SelectedOpinions = selectValue.substr(0, selectValue.indexOf("_"));
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/manualdecision/submit.do?method=submit',
|
|
|
+ data: params,
|
|
|
success: function (data) {
|
|
|
- location.href = data
|
|
|
+ _self.showSuccess(_self._localeStr.WEB_DECISIONSUBMITSUCCESS);
|
|
|
+ _private.backto();
|
|
|
}
|
|
|
});
|
|
|
- //location.href = "/shr/dynamic.do?uipk=shr.workflow.view&inFrame=true";
|
|
|
- //}
|
|
|
- } catch (error) {
|
|
|
- console.log("关闭窗口失败:", error.message);
|
|
|
- _self.showSuccess(_self._localeStr.WEB_TASKHASDONE)
|
|
|
- }
|
|
|
- }, 500)
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- addUploadHtml: function () {
|
|
|
- var attachmentUploadUrl =
|
|
|
- waf.getContextPath() +
|
|
|
- '/iwebattachment.do?method=upload&bosID=' +
|
|
|
- encodeURIComponent(assign.billId) +
|
|
|
- '&beizhu=' +
|
|
|
- assign.assignId
|
|
|
- var options = {
|
|
|
- autoUpload: true,
|
|
|
- url: attachmentUploadUrl,
|
|
|
- multiSelect: true,
|
|
|
- onComplete: function (e, data) {
|
|
|
- _private.getAttchmentcount()
|
|
|
- },
|
|
|
- onAdd: function (e, data) {},
|
|
|
- onFail: function (e, data) {
|
|
|
- if (data.result.length > 0) {
|
|
|
- if (data.result[0].error) {
|
|
|
- _self.showInfo(data.result[0].error)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- $('#upload').wafFileUploadUI(options)
|
|
|
- _private.getAttchmentcount()
|
|
|
- },
|
|
|
- getAttchmentcount: function () {
|
|
|
- var params = {}
|
|
|
- params.assignId = assign.assignId
|
|
|
- params.billId = assign.billId
|
|
|
- var pageType = _self.getUrlParam('type')
|
|
|
- if (pageType != null && 'passComent' === pageType) {
|
|
|
- params.isPassAround = true
|
|
|
- }
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/iwebattachment.do?method=getDataList',
|
|
|
- data: params,
|
|
|
- success: function (data) {
|
|
|
- if (data.disabled) {
|
|
|
- $('#attchment,.attchmentnuminfo,#upload').remove()
|
|
|
- return
|
|
|
- }
|
|
|
- if (!data.canAdd) {
|
|
|
- $('#upload').remove()
|
|
|
- }
|
|
|
- var len = data.list.length
|
|
|
- $('#attchmentnum').html(len)
|
|
|
- if (len > 0) {
|
|
|
- waf('#attchment').wafSection('open')
|
|
|
- } else {
|
|
|
- waf('#attchment').wafSection('close')
|
|
|
- }
|
|
|
- var _html = ''
|
|
|
- for (var i = 0; i < len; i++) {
|
|
|
- var row = data.list[i]
|
|
|
- var simpleName = row.simpleName
|
|
|
- var classname = 'file'
|
|
|
- var picFormat = ['jpg', 'gif', 'jpeg', 'png', 'bmp']
|
|
|
- if (picFormat.indexOf(simpleName) > -1) {
|
|
|
- classname = 'pic'
|
|
|
- }
|
|
|
- _html +=
|
|
|
- '<li><div><i class="' +
|
|
|
- classname +
|
|
|
- '"></i><span class="name" title="' +
|
|
|
- row.name +
|
|
|
- '.' +
|
|
|
- simpleName +
|
|
|
- '">' +
|
|
|
- row.name +
|
|
|
- '.' +
|
|
|
- simpleName +
|
|
|
- '</span><span class="size">(' +
|
|
|
- row.size +
|
|
|
- ')</span><a class="download" href="/easweb/webviews/workflow/download.jsp?bosID=' +
|
|
|
- row.id +
|
|
|
- '" download="' +
|
|
|
- row.name +
|
|
|
- '.' +
|
|
|
- simpleName +
|
|
|
- '" target="_blank"></a>'
|
|
|
- if (classname == 'pic') {
|
|
|
- _html +=
|
|
|
- '<i class="preview" onclick="javascript:_self.attachmentView(\'' +
|
|
|
- row.id +
|
|
|
- "','pic')\"></i>"
|
|
|
- } else {
|
|
|
- if (simpleName == 'pdf') {
|
|
|
- _html +=
|
|
|
- '<i class="preview" onclick="javascript:_self.attachmentView(\'' +
|
|
|
- row.id +
|
|
|
- "','pdf')\"></i>"
|
|
|
- }
|
|
|
- }
|
|
|
- if (row.canDelete) {
|
|
|
- _html +=
|
|
|
- '<i class="delete" onclick="javascript:_self.attachmentDelete(\'' +
|
|
|
- row['boAttchAsso.id'] +
|
|
|
- "','" +
|
|
|
- row.id +
|
|
|
- '\')"></i>'
|
|
|
- }
|
|
|
- _html += '</div></li>'
|
|
|
- }
|
|
|
- $('#attachmentContent ul')[0].innerHTML = _html
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- attachmentDelete: function (bosId, attachId) {
|
|
|
- var ok = function () {
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/iwebattachment.do?method=delete',
|
|
|
- data: { bosId: bosId, attachId: attachId },
|
|
|
- success: function (data) {
|
|
|
- _self.showSuccess(_self._localeStr.WEB_ATTACHMENTDELETESUCESS)
|
|
|
- _self.getAttchmentcount()
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- var cancel = function () {
|
|
|
- return
|
|
|
- }
|
|
|
- waf.msgBox.showConfirm({
|
|
|
- title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
- summaryMsg: _self._localeStr.WEB_DeleteFile,
|
|
|
- buttonType: 'ok-cancel',
|
|
|
- buttonCallBack: [ok, cancel]
|
|
|
- })
|
|
|
- },
|
|
|
- attachmentView: function (id, type) {
|
|
|
- var url = ''
|
|
|
- if (type == 'pic') {
|
|
|
- url = '/easweb/webviews/workflow/viewpic.jsp?bosID=' + id
|
|
|
- } else {
|
|
|
- if (type == 'pdf') {
|
|
|
- url =
|
|
|
- '/easweb/webviews/webframework/webcom/attachment/view.jsp?bosID=' +
|
|
|
- id
|
|
|
- }
|
|
|
- }
|
|
|
- window.open(url, '_blank')
|
|
|
- },
|
|
|
- billImage: function (event, value) {
|
|
|
- var params = {}
|
|
|
- params.billID = assign.billId
|
|
|
- params.method = 'getimageurl'
|
|
|
- waf.doPost({
|
|
|
- url: waf.getContextPath() + '/workflow/approve.do',
|
|
|
- data: params,
|
|
|
- success: function (data) {
|
|
|
- var url = data.imgurl
|
|
|
- if (url == '') {
|
|
|
- _self.showWarning(
|
|
|
- _self._localeStr.WEB_IMAGESTATE +
|
|
|
- data.state +
|
|
|
- _self._localeStr.WEB_SUPPORTSTATE
|
|
|
- )
|
|
|
- } else {
|
|
|
- if (url == 'noImg') {
|
|
|
- _self.showWarning(_self._localeStr.WEB_HASNOIMAGE)
|
|
|
- } else {
|
|
|
- window.open(url, '_blank')
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- bill: function (event, value) {
|
|
|
- var para = {}
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- var assignIds = _private.getbatchid().assignIds
|
|
|
- if (assignIds.split(';').length != 1) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_SELECTARECORD)
|
|
|
- return false
|
|
|
- }
|
|
|
- para.sourceID = assignIds
|
|
|
- } else {
|
|
|
- para.sourceID = assign.assignId
|
|
|
- }
|
|
|
- para.msgId = msgId
|
|
|
- wfCommonUtil.showBill(para)
|
|
|
- },
|
|
|
- messageDigest: function () {
|
|
|
- var messageDigest = assign.messageDigest
|
|
|
- if (messageDigest.toString().indexOf('table') > 0) {
|
|
|
- waf('#panel5').wafPanel('option', 'hidden', true)
|
|
|
- waf('#bill').wafSection('option', 'hidden', false)
|
|
|
- document.getElementById('bill_content').innerHTML = messageDigest
|
|
|
- } else {
|
|
|
- waf('#billFrame').remove()
|
|
|
- waf('#billAttachment').remove()
|
|
|
- var billDigest = eval('(' + messageDigest + ')')
|
|
|
- var options = {
|
|
|
- title: _self._localeStr.WEB_BASICINFO,
|
|
|
- id: 'billBaseInfo',
|
|
|
- name: 'billBaseInfo',
|
|
|
- openIconCls: 'ui-section-minus',
|
|
|
- closeIconCls: 'ui-section-plus',
|
|
|
- autoOpen: true,
|
|
|
- style: 'margin-right: 0px;'
|
|
|
- }
|
|
|
- var billBaseInfo = waf.createDOM('section', options)
|
|
|
- waf.appendDOM(waf('#panel5'), billBaseInfo)
|
|
|
- waf.initComponent('section', options, billBaseInfo)
|
|
|
- var items = billDigest.items
|
|
|
- for (var i = 0; i < items.length; i++) {
|
|
|
- var labeloptions = {
|
|
|
- id: 'labelContainer' + i,
|
|
|
- caption: items[i][0],
|
|
|
- style: 'width: 33%;float: left;'
|
|
|
- }
|
|
|
- var labeldom = waf.createDOM('labelContainer', labeloptions)
|
|
|
- waf('#billBaseInfo').wafSection('appendChildren', labeldom)
|
|
|
- waf.initComponent('labelContainer', labeloptions, labeldom)
|
|
|
- var txtoptions = { id: 'billbase' + i, caption: items[i][1] }
|
|
|
- var textDom = waf.createDOM('label', txtoptions)
|
|
|
- labeldom.wafLabelContainer('append', textDom)
|
|
|
- waf.initComponent('label', txtoptions, textDom)
|
|
|
- }
|
|
|
- var entries = billDigest.entrys
|
|
|
- for (var j = 0; j < entries.length; j++) {
|
|
|
- var obj = entries[j]
|
|
|
- var billEntriesoptions = {
|
|
|
- title: obj.alias.l2,
|
|
|
- id: 'billEntriesInfo' + j,
|
|
|
- name: 'billEntriesInfo' + j,
|
|
|
- openIconCls: 'ui-section-minus',
|
|
|
- closeIconCls: 'ui-section-plus',
|
|
|
- autoOpen: true,
|
|
|
- style: 'margin-right: 0px;'
|
|
|
- }
|
|
|
- var billEntriesInfo = waf.createDOM('section', billEntriesoptions)
|
|
|
- waf.appendDOM(waf('#panel5'), billEntriesInfo)
|
|
|
- waf.initComponent('section', billEntriesoptions, billEntriesInfo)
|
|
|
- if (obj.values.length > 0) {
|
|
|
- var colmodel = []
|
|
|
- var env = obj.values[0].items
|
|
|
- for (var m = 0; m < env.length; m++) {
|
|
|
- var para = { name: env[m][3], label: env[m][0] }
|
|
|
- colmodel.push(para)
|
|
|
- }
|
|
|
- var myGridoptions = { id: 'myGrid' + j, colModel: colmodel }
|
|
|
- var dom = waf.createDOM('grid', myGridoptions)
|
|
|
- waf('#billEntriesInfo' + j).wafSection('appendChildren', dom)
|
|
|
- waf.initComponent('grid', myGridoptions, dom)
|
|
|
- var rowData = obj.values
|
|
|
- var gridData = new Array()
|
|
|
- for (var n = 0; n < rowData.length; n++) {
|
|
|
- var rr = rowData[n].items
|
|
|
- var rowdata = {}
|
|
|
- for (var h = 0; h < rr.length; h++) {
|
|
|
- var colname = rr[h][3]
|
|
|
- rowdata[colname] = rr[h][1]
|
|
|
- }
|
|
|
- gridData.push(rowdata)
|
|
|
- }
|
|
|
- waf('#myGrid' + j).wafGrid('addRow', { data: gridData })
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- initMsgDigestBillAttach: function () {
|
|
|
- var billAttachmentList = assign.billAttachments
|
|
|
- var billAttachmentOptions = {
|
|
|
- title: _self._localeStr.WEB_ATTACHMENT,
|
|
|
- id: 'billAttachment',
|
|
|
- name: 'billAttachment',
|
|
|
- openIconCls: 'ui-section-minus',
|
|
|
- closeIconCls: 'ui-section-plus',
|
|
|
- autoOpen: true,
|
|
|
- style: 'margin-right: 0px;'
|
|
|
- }
|
|
|
- var billAttachment = waf.createDOM('section', billAttachmentOptions)
|
|
|
- waf.appendDOM(waf('#panel5'), billAttachment)
|
|
|
- waf.initComponent('section', billAttachmentOptions, billAttachment)
|
|
|
- $('#billAttachment .title').after(
|
|
|
- '<span id="billAttachTitle">' +
|
|
|
- _self._localeStr.WEB_TOTALATCHMNT +
|
|
|
- '<i></i><span>' +
|
|
|
- billAttachmentList.length +
|
|
|
- '</span>个</span>'
|
|
|
- )
|
|
|
- var _html = "<div class='attachmentContent'><ul>"
|
|
|
- for (var i = 0; i < billAttachmentList.length; i++) {
|
|
|
- var row = billAttachmentList[i]
|
|
|
- var simpleName = row.simpleName
|
|
|
- var classname = 'file'
|
|
|
- var picFormat = ['jpg', 'gif', 'jpeg', 'png', 'bmp']
|
|
|
- if (picFormat.indexOf(simpleName) > -1) {
|
|
|
- classname = 'pic'
|
|
|
- }
|
|
|
- var judgeAttachType = ''
|
|
|
- if (row.attachTypeEnum == 1) {
|
|
|
- judgeAttachType =
|
|
|
- "<span class='procAttach'>" +
|
|
|
- _self._localeStr.WEB_PROCESSATTACHMENTS +
|
|
|
- '</span>'
|
|
|
- }
|
|
|
- _html +=
|
|
|
- '<li><div><i class="' +
|
|
|
- classname +
|
|
|
- '"></i><span class="name" title="' +
|
|
|
- row.name +
|
|
|
- '.' +
|
|
|
- simpleName +
|
|
|
- '">' +
|
|
|
- judgeAttachType +
|
|
|
- row.name +
|
|
|
- '.' +
|
|
|
- simpleName +
|
|
|
- '</span><span class="size">(' +
|
|
|
- row.size +
|
|
|
- ')</span><a class="download" href="/easweb/webviews/workflow/download.jsp?bosID=' +
|
|
|
- row.id +
|
|
|
- '" download="' +
|
|
|
- row.name +
|
|
|
- '.' +
|
|
|
- simpleName +
|
|
|
- '" target="_blank"></a>'
|
|
|
- if (classname == 'pic') {
|
|
|
- _html +=
|
|
|
- '<i class="preview" onclick="javascript:_self.attachmentView(\'' +
|
|
|
- row.id +
|
|
|
- "','pic')\"></i>"
|
|
|
- } else {
|
|
|
- if (simpleName == 'pdf') {
|
|
|
- _html +=
|
|
|
- '<i class="preview" onclick="javascript:_self.attachmentView(\'' +
|
|
|
- row.id +
|
|
|
- "','pdf')\"></i>"
|
|
|
- }
|
|
|
- }
|
|
|
- _html += '</div></li>'
|
|
|
- }
|
|
|
- _html += '</ul></div>'
|
|
|
- return _html
|
|
|
- },
|
|
|
- selattachment: function (item, attcreater, beizhu) {},
|
|
|
- showoperate: function (event, value) {
|
|
|
- var para = {}
|
|
|
- if (approvetype == 'batchapprove') {
|
|
|
- var assignIds = _private.getbatchid().assignIds
|
|
|
- if (assignIds.split(';').length != 1) {
|
|
|
- _self.showInfo(_self._localeStr.WEB_SELECTARECORD)
|
|
|
- return false
|
|
|
- }
|
|
|
- para.assignmentId = assignIds.split(';')[0]
|
|
|
- } else {
|
|
|
- para.assignmentId = assign.assignId
|
|
|
- }
|
|
|
- if (wfCommonUtil.getOperationRecordsPerm(para.assignmentId)) {
|
|
|
- wfCommonUtil.showApproveDetail(para)
|
|
|
- } else {
|
|
|
- waf.msgBox.showInfo({
|
|
|
- title: _self._localeStr.WEB_MESSAGEALERT,
|
|
|
- summaryMsg: _self._localeStr.WEB_FORBIDVIEW
|
|
|
- })
|
|
|
- $('.ui-msgbox .content').width('330px')
|
|
|
- }
|
|
|
- },
|
|
|
- esignatureOnClick: function (event, ui) {
|
|
|
- if (ui.checked) {
|
|
|
- $('#esigndiv').show()
|
|
|
- } else {
|
|
|
- $('#esigndiv').hide()
|
|
|
- }
|
|
|
- },
|
|
|
- isWaf1Bill: function (url) {},
|
|
|
- jMessageAlert: function (message) {
|
|
|
- _self.showInfo(message)
|
|
|
- },
|
|
|
- onselect: function (event, ui) {
|
|
|
- if (riskInsight) {
|
|
|
- if (ui.panel.id == 'riskInsight') {
|
|
|
- waf('#billInsight').billInsight(
|
|
|
- 'intelligentInspection',
|
|
|
- billInsightOption.list
|
|
|
- )
|
|
|
- waf('body').unbind('click')
|
|
|
- $('.billInsight_cardPanel').draggable('disable')
|
|
|
- _private.updateBillInsightNum(billInsightOption)
|
|
|
- _private.resizeBillInsight(false)
|
|
|
- _private.curTab = 'riskInsight'
|
|
|
- } else {
|
|
|
- $('.billInsight_cardPanel').css('display', 'none')
|
|
|
- _private.curTab = ''
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- resizeBillInsight: function (windowResize) {
|
|
|
- var top = $('#li_approveTask').offset().top + 44
|
|
|
- var left = $('#li_approveTask').offset().left
|
|
|
- if (!windowResize) {
|
|
|
- left += 10
|
|
|
- }
|
|
|
- var width = $('#tabs_ul').width()
|
|
|
- var t =
|
|
|
- $('.ui-cardPanel').attr('style') + 'width:' + width + 'px !important'
|
|
|
- $('.billInsight_cardPanel').css('cssText', t)
|
|
|
- $('.billInsight_cardPanel').css({ top: top, left: left })
|
|
|
- $(
|
|
|
- '.ui-cardPanel .noRecords,.ui-cardPanel .noRecordsImage,.ui-cardPanel .noRecordsText'
|
|
|
- ).css({ width: '100%', margin: '0px', 'min-width': '160px' })
|
|
|
- },
|
|
|
- getWeakRisk: function () {
|
|
|
- var urlParams = waf.getUrlParam(assign.billEditUrl)
|
|
|
- var billId = urlParams.billId
|
|
|
- var uipk = urlParams.uipk
|
|
|
- var billInsightOption = {}
|
|
|
- waf.doPost({
|
|
|
- async: false,
|
|
|
- url:
|
|
|
- waf.getContextPath() + '/risk/ForWebController.do?method=getWeakRisk',
|
|
|
- data: { uipk: uipk, id: billId, riskIds: assign.riskInsight },
|
|
|
- success: function (data) {
|
|
|
- if (data != null) {
|
|
|
- billInsightOption = data
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- return billInsightOption
|
|
|
- },
|
|
|
- updateBillInsightNum: function (billInsightOption) {
|
|
|
- if (!billInsightOption.allExecSuccess) {
|
|
|
- $('#li_riskInsight span')
|
|
|
- .eq(0)
|
|
|
- .text(
|
|
|
- _self._localeStr.WEB_RISKINSIGHT +
|
|
|
- '(' +
|
|
|
- billInsightOption.failSize +
|
|
|
- ')'
|
|
|
- )
|
|
|
- } else {
|
|
|
- $('#li_riskInsight span').eq(0).text(_self._localeStr.WEB_RISKINSIGHT)
|
|
|
- }
|
|
|
- },
|
|
|
- openPerson: function (event, value) {
|
|
|
- var selectedIds = waf('#textCC').prop('personIds')
|
|
|
- var height = 552
|
|
|
- if (window.screen.height < 800) {
|
|
|
- height = 500
|
|
|
- }
|
|
|
- var tempWin
|
|
|
- if (parent.waf) {
|
|
|
- tempWin = parent.waf.window
|
|
|
- } else {
|
|
|
- tempWin = waf.window
|
|
|
- }
|
|
|
- var params = {}
|
|
|
- params.f7Type = encodeURIComponent('person')
|
|
|
- params.singleSelect = false
|
|
|
- tempWin.open({
|
|
|
- url:
|
|
|
- waf.getContextPath() +
|
|
|
- '/webviews/workflow/commonSelectF7.jsp?selectedIds=' +
|
|
|
- encodeURIComponent(selectedIds),
|
|
|
- openType: 'iframe',
|
|
|
- method: 'POST',
|
|
|
- data: params,
|
|
|
- style: { padding: '0px' },
|
|
|
- modal: true,
|
|
|
- title: _self._localeStr.WEB_CC,
|
|
|
- position: 'center',
|
|
|
- width: 1000,
|
|
|
- height: height,
|
|
|
- minHeight: height,
|
|
|
- minWidth: 1000,
|
|
|
- iconCls: 'waf-ui-icon',
|
|
|
- draggable: true,
|
|
|
- resizable: true,
|
|
|
- close: function (event, ui) {},
|
|
|
- retValCallBack: function (resultData) {
|
|
|
- if (
|
|
|
- resultData &&
|
|
|
- resultData.resultStr &&
|
|
|
- resultData.resultStr.length > 0
|
|
|
- ) {
|
|
|
- var val = resultData.resultStr.split('||')
|
|
|
- waf('#textCC').prop('personIds', val[1])
|
|
|
- waf('#textCC').val(val[2])
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- _pageLoadCompletedEventHandler: function () {},
|
|
|
- openAttachmentPage: function (event, value) {
|
|
|
- var url =
|
|
|
- '/easweb/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.AttachmentList&assignId=' +
|
|
|
- assign.assignId +
|
|
|
- '&billId=' +
|
|
|
- encodeURIComponent(assign.billId)
|
|
|
- var pageType = _self.getUrlParam('type')
|
|
|
- if (pageType != null && 'passComent' === pageType) {
|
|
|
- url += '&isPassAround=true'
|
|
|
- }
|
|
|
- waf.window.open({
|
|
|
- url: url,
|
|
|
- openType: 'iframe',
|
|
|
- modal: true,
|
|
|
- title: _self._localeStr.WEB_ATCHMNTMANAGE,
|
|
|
- position: 'center',
|
|
|
- width: 900,
|
|
|
- height: 600,
|
|
|
- iconCls: 'waf-ui-icon',
|
|
|
- draggable: true,
|
|
|
- resizable: true,
|
|
|
- close: function (event, ui) {
|
|
|
- waf.window.close()
|
|
|
- _private.refreshAttachCount()
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- refreshAttachCount: function () {
|
|
|
- waf.doPost({
|
|
|
- url:
|
|
|
- waf.getContextPath() +
|
|
|
- '/iwebattachment.do?method=getAttachCountByBill',
|
|
|
- data: { billId: assign.billId },
|
|
|
- async: false,
|
|
|
- success: function (data) {
|
|
|
- _private.refreshAttachCountInner(data)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- refreshAttachCountInner: function (count) {
|
|
|
- var attachmentBtnTitle = _self._localeStr.WEB_ATCHMNTMANAGE
|
|
|
- if (count > 0) {
|
|
|
- attachmentBtnTitle =
|
|
|
- _self._localeStr.WEB_ATCHMNTMANAGE + '(' + count + ')'
|
|
|
- }
|
|
|
- $('#attachmentBtn span').text(attachmentBtnTitle)
|
|
|
- },
|
|
|
- getAssignInfo: function () {
|
|
|
- return assign
|
|
|
- }
|
|
|
- })
|
|
|
- _self.subscribeEvent(
|
|
|
- 'pageLoadCompletedEvent',
|
|
|
- _private._pageLoadCompletedEventHandler,
|
|
|
- 'after'
|
|
|
- )
|
|
|
- return _public
|
|
|
-})
|
|
|
+ };
|
|
|
+ var cancel = function () {
|
|
|
+ return;
|
|
|
+ };
|
|
|
+ if (showerror != "") {
|
|
|
+ waf.msgBox.showConfirm({
|
|
|
+ title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
+ summaryMsg: showerror,
|
|
|
+ buttonType: "ok-cancel",
|
|
|
+ buttonCallBack: [ok, cancel]
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ ok();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ beforeInnerSubmit: function () {
|
|
|
+ if (caConfig.caConfigInfo.checkPassword === "true" && caConfig.caConfigInfo.isSignatureApprove === "true" && caConfig.caConfigInfo.caType != "5") {
|
|
|
+ _private.checkCAPassword(false);
|
|
|
+ } else {
|
|
|
+ _private.innerSubmit();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ innerSubmit: function () {
|
|
|
+ if (assign.mustUploadAttachment && waf("#approveResult").wafRadioGroup("getValue") == "true") {
|
|
|
+ var isCurAssignUploadAttach = false;
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/iwebattachment.do?method=isCurAssignUploadAttach',
|
|
|
+ data: { assignId: assign.assignId },
|
|
|
+ async: false,
|
|
|
+ success: function (data) {
|
|
|
+ if (data == false) {
|
|
|
+ _self.showWarning(_self._localeStr.WEB_MUSTUPLOAD);
|
|
|
+ }
|
|
|
+ isCurAssignUploadAttach = data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (!isCurAssignUploadAttach) return;
|
|
|
+ }
|
|
|
+ assign.operation = 'approve';
|
|
|
+ var callback = function (isSuccess) {
|
|
|
+ if (isSuccess) {
|
|
|
+ _private._submit(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var issubmit = _private.checkIsSave(callback, "submit");
|
|
|
+ if (issubmit == null) {
|
|
|
+ //_self.showInfo(_self._localeStr.WEB_CHECKERRORSUBMITEND);
|
|
|
+ _self.jMessageAlert(_self._localeStr.WEB_CHECKERRORSUBMITEND)
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ _private._submit(issubmit);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ _submit: function (isReadOnly) {
|
|
|
+ var approve = _private.getApprove();
|
|
|
+ if (!approve) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var nextPersons = _private.getNextPersons();
|
|
|
+ if (!nextPersons) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var ok = function () {
|
|
|
+ approve.operation = assign.operation;
|
|
|
+ var op = approve.operation;
|
|
|
+ if (caConfig.caConfigInfo.isSignatureApprove === "true" && caConfig.caConfigInfo.caType != "5") {//判断是否处理CA认证
|
|
|
+ if (!_private.beforeSubmitSigature()) {//工作流审批CA认证,
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ approve.plainText = caConfig.CA_plainText;
|
|
|
+ approve.signature = caConfig.CA_signature;
|
|
|
+ }
|
|
|
+ if (isReadOnly === undefined || isReadOnly === null || isReadOnly === "") {//没有参数默认为只做提交
|
|
|
+ isReadOnly = true;
|
|
|
+ }
|
|
|
+ if (!isReadOnly) {//传入保存的参数
|
|
|
+ var frame = document.getElementById("billFrame");
|
|
|
+ if (frame.contentDocument.getElementById("frame_tab_0") != null
|
|
|
+ && frame.contentDocument.getElementById("frame_tab_0") != undefined) {
|
|
|
+ frame = frame.contentDocument.getElementById("frame_tab_0");
|
|
|
+ }
|
|
|
+ if (frame.contentWindow._self.getCurrentModel) {
|
|
|
+ var modelInfo = frame.contentWindow._self.getCurrentModel();
|
|
|
+ var editModel = JSON.stringify(modelInfo);
|
|
|
+ approve.model = editModel;
|
|
|
+ }
|
|
|
+ if (approve.model == null) {
|
|
|
+ if (frame.contentWindow._self.fireEvent) {
|
|
|
+ var s = frame.contentWindow._self.fireEvent("save");
|
|
|
+ if (!s) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ approve.isReadOnly = isReadOnly.toString();
|
|
|
+ approve.isSignatureApprove = caConfig.caConfigInfo.isSignatureApprove;
|
|
|
+ approve.nextActs = nextPersons;
|
|
|
+ if ($("#textCC").prop('personIds')) {
|
|
|
+ approve.ccPersonIds = $("#textCC").prop('personIds');
|
|
|
+ }
|
|
|
+ var params = {};
|
|
|
+ params.approve = JSON.stringify(approve);
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/common/tree.do?method=submits',
|
|
|
+ data: params,
|
|
|
+ success: function (data) {
|
|
|
+ if (data) {
|
|
|
+ assign.id = data;
|
|
|
+ _self.showSuccess(_self._localeStr.WEB_SUBMITSUCCESS);
|
|
|
+ _private.backto();
|
|
|
+ } else {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_PLEASEREFRESH);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ };
|
|
|
+ var cancel = function () {
|
|
|
+ return;
|
|
|
+ };
|
|
|
+ if (showerror != "") {
|
|
|
+ waf.msgBox.showConfirm({
|
|
|
+ title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
+ summaryMsg: showerror,
|
|
|
+ buttonType: "ok-cancel",
|
|
|
+ buttonCallBack: [ok, cancel]
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ ok();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ beforeSubmitSigature: function () {
|
|
|
+ //获取表单数据
|
|
|
+ var plainText = "";
|
|
|
+ var signatureField = caConfig.caConfigInfo.signatureFields;
|
|
|
+ if (signatureField === null || signatureField === "") {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ var signatureFields = signatureField.split(';');
|
|
|
+ for (var i = 0; i < signatureFields.length; i++) {
|
|
|
+ var srcValue = "CANOTSIGNATURE";//默认不处理
|
|
|
+ try {
|
|
|
+ srcValue = eval("document.getElementById('billFrame').contentWindow.document.getElementsByName('" + signatureFields[i] + "')[0].value");
|
|
|
+ } catch (e) {
|
|
|
+ srcValue = "CANOTSIGNATURE";
|
|
|
+ }
|
|
|
+ if (typeof (srcValue) == "undefined") {
|
|
|
+ srcValue = "CANOTSIGNATURE";
|
|
|
+ }
|
|
|
+ if (caConfig.caConfigInfo.precisionInfo && caConfig.caConfigInfo.precisionInfo[signatureFields[i]]) {
|
|
|
+ var pos = parseInt(caConfig.caConfigInfo.precisionInfo[signatureFields[i]]);
|
|
|
+ if (pos < 0) {
|
|
|
+ pos = 2;
|
|
|
+ } else if (pos > 4) {
|
|
|
+ pos = 4;
|
|
|
+ }
|
|
|
+ srcValue = _private.toDecimal(srcValue, pos);
|
|
|
+ }
|
|
|
+ plainText = plainText + srcValue;
|
|
|
+ }
|
|
|
+ //签名接口调用
|
|
|
+ var signResult = -1;
|
|
|
+ try {
|
|
|
+ signResult = signMessage(plainText, caConfig.caConfigInfo.userName);
|
|
|
+ } catch (errMsg) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_SIGANATUREFAILED + errMsg.message);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (signResult == 1 || signResult == 2 || signResult == 3) {
|
|
|
+ if (signResult == 1 || signResult == 2) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_SIGAFAILEDUSBKEY);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //设置签名结果到数据中
|
|
|
+ caConfig.CA_plainText = plainText;
|
|
|
+ caConfig.CA_signature = signResult;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ toDecimal: function (src, pos) {
|
|
|
+ var f = parseFloat(src);
|
|
|
+ if (isNaN(f)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //判断是否有小数点
|
|
|
+ var src_rs = src.indexOf('.');
|
|
|
+ if (src_rs > 0) {
|
|
|
+ //判断小数点末尾是否为0,是则消去
|
|
|
+ var src_zero = src.lastIndexOf('0');
|
|
|
+ while (src.length == src_zero + 1) {
|
|
|
+ src = src.substring(0, src_zero);
|
|
|
+ src_zero = src.lastIndexOf('0');
|
|
|
+ }
|
|
|
+ //判断小数点末尾是否为".",是则消去
|
|
|
+ if (src.length == src_rs + 1) {
|
|
|
+ var src_int = src.substring(0, src_rs);
|
|
|
+ src = src_int;
|
|
|
+ }
|
|
|
+ //判断是否有配置签名要求的浮点数,0为没有配置
|
|
|
+ if (pos == 0) {
|
|
|
+ return src;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果配置了浮点数则进行这里的逻辑
|
|
|
+ var f = Math.round(src * Math.pow(10, pos)) / Math.pow(10, pos);
|
|
|
+ var s = f.toString();
|
|
|
+ var rs = s.indexOf('.');
|
|
|
+ if (rs < 0 && pos > 0) {
|
|
|
+ rs = s.length;
|
|
|
+ s += '.';
|
|
|
+ }
|
|
|
+ while (s.length <= rs + pos) {
|
|
|
+ s += '0';
|
|
|
+ }
|
|
|
+ return s;
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ save: function (event, value) {
|
|
|
+ var callback = function (isSuccess) {
|
|
|
+ if (isSuccess) {
|
|
|
+ _private._save();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var issubmit = _private.checkIsSave(callback, "save");
|
|
|
+ if (issubmit == "callBack") {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (issubmit == null) {
|
|
|
+ //_self.showInfo(_self._localeStr.WEB_CHECKERRORSUBMITEND);
|
|
|
+ _self.jMessageAlert(_self._localeStr.WEB_CHECKERRORSUBMITEND);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ _private._save(issubmit);
|
|
|
+ //单据如果有修改,更新风险洞察
|
|
|
+ if (!issubmit && riskInsight) {
|
|
|
+ billInsightOption = _private.getWeakRisk();
|
|
|
+ _private.updateBillInsightNum(billInsightOption);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ checkIsSave: function (callback, type) {
|
|
|
+ var issubmit = null;
|
|
|
+ if (!assign.billIsReadOnly) {//非只读
|
|
|
+ //流程参数(不同意不校验单据必录项)
|
|
|
+ if (type == "submit" && assign.disagreenotsave && waf("#approveResult").wafRadioGroup("getValue") == "false") {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ var frame = document.getElementById("billFrame");
|
|
|
+ if (frame) {
|
|
|
+ if (frame.contentWindow._self && frame.contentWindow._self.saveAndCallBack) {//回调
|
|
|
+ frame.contentWindow._self.saveAndCallBack(callback);
|
|
|
+ return "callBack";
|
|
|
+ } else {//waf2
|
|
|
+ var canSaveBill = false;
|
|
|
+ var haveChangeBill = null;//单据是否修改过,不是所有的单据会有这个校验
|
|
|
+ var contentWindowSelf = null;
|
|
|
+ if (frame.contentWindow._self) {
|
|
|
+ contentWindowSelf = frame.contentWindow._self;
|
|
|
+ } else if (frame.contentDocument.getElementById("frame_tab_0") && frame.contentDocument.getElementById("frame_tab_0").contentWindow._self) {
|
|
|
+ contentWindowSelf = frame.contentDocument.getElementById("frame_tab_0").contentWindow._self;
|
|
|
+ }
|
|
|
+ if (contentWindowSelf) {
|
|
|
+ var WFBizSubmitCheckPriority = false;
|
|
|
+ if (contentWindowSelf.isWFBizSubmitCheckPriority) {
|
|
|
+ WFBizSubmitCheckPriority = contentWindowSelf.isWFBizSubmitCheckPriority();
|
|
|
+ }
|
|
|
+ if (WFBizSubmitCheckPriority) {
|
|
|
+ if (contentWindowSelf.fireEvent) {
|
|
|
+ haveChangeBill = contentWindowSelf.fireEvent("judgeDataModifyActionEvent", ["workflow"]);
|
|
|
+ } else {
|
|
|
+ if (contentWindowSelf.checkBillDataChanges) {//检查s-HR 单据数据是否发生变化
|
|
|
+ haveChangeBill = contentWindowSelf.checkBillDataChanges();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (contentWindowSelf.beforeSubmit) {
|
|
|
+ canSaveBill = contentWindowSelf.beforeSubmit();
|
|
|
+ } else {
|
|
|
+ if (contentWindowSelf.fireEvent) {
|
|
|
+ canSaveBill = contentWindowSelf.fireEvent("fieldOnStoreEvent") && contentWindowSelf.fireEvent("submitBeforeActionEvent");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (contentWindowSelf.beforeSubmit) {
|
|
|
+ canSaveBill = contentWindowSelf.beforeSubmit();
|
|
|
+ } else {
|
|
|
+ if (contentWindowSelf.fireEvent) {
|
|
|
+ canSaveBill = contentWindowSelf.fireEvent("fieldOnStoreEvent") && contentWindowSelf.fireEvent("submitBeforeActionEvent");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (contentWindowSelf.fireEvent) {
|
|
|
+ haveChangeBill = contentWindowSelf.fireEvent("judgeDataModifyActionEvent", ["workflow"]);
|
|
|
+ } else {
|
|
|
+ if (contentWindowSelf.checkBillDataChanges) {//检查s-HR 单据数据是否发生变化
|
|
|
+ haveChangeBill = contentWindowSelf.checkBillDataChanges();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (canSaveBill) {//如果校验通过
|
|
|
+ if (typeof haveChangeBill == "boolean") {
|
|
|
+ issubmit = !haveChangeBill;
|
|
|
+ } else {
|
|
|
+ issubmit = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ issubmit = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ issubmit = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ issubmit = true;
|
|
|
+ }
|
|
|
+ return issubmit;
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ _save: function (isReadOnly) {
|
|
|
+ assign.operation = 'approve';
|
|
|
+ var approve = _private.getApprove();
|
|
|
+ if (!approve) return;
|
|
|
+ //var nextPersons=_private.getNextPersons(true);
|
|
|
+ //if(!nextPersons)nextPersons=[];
|
|
|
+ if (isReadOnly === undefined || isReadOnly === null || isReadOnly === "") {//没有参数默认为只做提交
|
|
|
+ isReadOnly = true;
|
|
|
+ }
|
|
|
+ if (!isReadOnly) {//传入保存的参数
|
|
|
+ var frame = document.getElementById("billFrame");
|
|
|
+ if (frame.contentDocument.getElementById("frame_tab_0") != null
|
|
|
+ && frame.contentDocument.getElementById("frame_tab_0") != undefined) {
|
|
|
+ frame = frame.contentDocument.getElementById("frame_tab_0");
|
|
|
+ }
|
|
|
+ if (frame.contentWindow._self.getCurrentModel) {
|
|
|
+ var modelInfo = frame.contentWindow._self.getCurrentModel();
|
|
|
+ var editModel = JSON.stringify(modelInfo);
|
|
|
+ approve.model = editModel;
|
|
|
+ }
|
|
|
+ if (approve.model == null) {
|
|
|
+ if (frame.contentWindow._self.fireEvent) {
|
|
|
+ var s = frame.contentWindow._self.fireEvent("save");
|
|
|
+ if (!s) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ approve.isReadOnly = isReadOnly.toString();
|
|
|
+ //approve.nextActs = nextPersons;
|
|
|
+ if ($("#textCC").prop('personIds')) {
|
|
|
+ approve.ccPersonIds = $("#textCC").prop('personIds');
|
|
|
+ approve.personName = $("#textCC").prop('value');
|
|
|
+ }
|
|
|
+ var params = {};
|
|
|
+ params.approve = JSON.stringify(approve);
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/common/tree.do?method=saves',
|
|
|
+ data: params,
|
|
|
+ success: function (data) {
|
|
|
+ if (data) {
|
|
|
+ assign.id = data;
|
|
|
+ _self.showSuccess(_self._localeStr.WEB_SAVESUCCESS);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ backto: function () {
|
|
|
+ //谷歌部分低版本不能释放互斥锁,只能手动释放
|
|
|
+ try {
|
|
|
+ if ($("#billFrame").length > 0 && $("#billFrame")[0].contentWindow._self.fireEvent) {
|
|
|
+ $("#billFrame")[0].contentWindow._self.fireEvent('destroyEvent');
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ console.log("流程中心手动释放单据锁失败");
|
|
|
+ }
|
|
|
+ if (waf.isInFramePage()) {
|
|
|
+ waf.closeCurPageTab();
|
|
|
+ } else if (top && top.jMessager && top.jMsgcenter && top.jMsgcenter.tab_post_add) {
|
|
|
+ //不加时间提示会被冲掉
|
|
|
+ setTimeout(function () {
|
|
|
+ top.jMessager.sendMsg(top.jMsgcenter.tab_close);
|
|
|
+ }, 800);
|
|
|
+ } else {
|
|
|
+ setTimeout(function () {
|
|
|
+ try {
|
|
|
+ if (window.opener) {
|
|
|
+ if (window.opener.refreshCurrentPage) {
|
|
|
+ window.opener.refreshCurrentPage()
|
|
|
+ }
|
|
|
+ if (opener.waf && opener.waf('#queryGrid')[0] != undefined) {
|
|
|
+ opener.waf('#queryGrid').wafGrid('reloadGrid')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (e) { }
|
|
|
+ try {
|
|
|
+ // 尝试关闭窗口
|
|
|
+ window.close();
|
|
|
+ // 检查窗口是否仍然存在,如果存在则表示没有权限
|
|
|
+ //if (!window.closed) {
|
|
|
+ console.log("没有权限关闭窗口。");
|
|
|
+ // waf.doGet({
|
|
|
+ // url: '/shr/shr/msf/service.do?method=callService&serviceName=getSsoOAUrl&ssoPath=http%3a%2f%2foa.shichuangyi.cn%3a8080%2fwui%2findex.html%3fssoToken%3d%7b0%7d%23%2fmain%2fworkflow%2flistDoing%3fmenuIds%3d1%2c13%26menuPathIds%3d1%2c13%26_key%3dybt3pm',
|
|
|
+ // success: function (data) {
|
|
|
+ // location.href = data
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ location.href = 'https://m.shichuangyi.cn/m-approval/static/oaDoneTransfer.html';
|
|
|
+ //location.href = "/shr/dynamic.do?uipk=shr.workflow.view&inFrame=true";
|
|
|
+ //}
|
|
|
+ } catch (error) {
|
|
|
+ console.log("关闭窗口失败:", error.message);
|
|
|
+ _self.showSuccess(_self._localeStr.WEB_TASKHASDONE)
|
|
|
+ }
|
|
|
+ }, 500);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ addUploadHtml: function () {
|
|
|
+ var attachmentUploadUrl = waf.getContextPath() + '/iwebattachment.do?method=upload&bosID=' + encodeURIComponent(assign.billId) + '&beizhu=' + assign.assignId;
|
|
|
+ var options = {
|
|
|
+ autoUpload: true,
|
|
|
+ url: attachmentUploadUrl,
|
|
|
+ multiSelect: true,
|
|
|
+ onComplete: function (e, data) {
|
|
|
+ _private.getAttchmentcount();
|
|
|
+ },
|
|
|
+ onAdd: function (e, data) {
|
|
|
+ },
|
|
|
+ onFail: function (e, data) {
|
|
|
+ if (data.result.length > 0) {
|
|
|
+ if (data.result[0].error) {
|
|
|
+ _self.showInfo(data.result[0].error);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ $("#upload").wafFileUploadUI(options);
|
|
|
+ _private.getAttchmentcount();
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ getAttchmentcount: function () {
|
|
|
+ var params = {};
|
|
|
+ params.assignId = assign.assignId;
|
|
|
+ params.billId = assign.billId;
|
|
|
+ var pageType = _self.getUrlParam('type');
|
|
|
+ if (pageType != null && 'passComent' === pageType) {
|
|
|
+ params.isPassAround = true;
|
|
|
+ }
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/iwebattachment.do?method=getDataList',
|
|
|
+ data: params,
|
|
|
+ success: function (data) {
|
|
|
+ if (data.disabled) {
|
|
|
+ $("#attchment,.attchmentnuminfo,#upload").remove();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!data.canAdd) {
|
|
|
+ $("#upload").remove();
|
|
|
+ }
|
|
|
+ var len = data.list.length;
|
|
|
+ $("#attchmentnum").html(len);
|
|
|
+ if (len > 0) {
|
|
|
+ waf("#attchment").wafSection("open");
|
|
|
+ } else {
|
|
|
+ waf("#attchment").wafSection("close");
|
|
|
+ }
|
|
|
+
|
|
|
+ var _html = '';
|
|
|
+ for (var i = 0; i < len; i++) {
|
|
|
+ var row = data.list[i];
|
|
|
+ var simpleName = row.simpleName;
|
|
|
+ var classname = "file";
|
|
|
+ var picFormat = ['jpg', 'gif', 'jpeg', 'png', 'bmp'];
|
|
|
+ if (picFormat.indexOf(simpleName) > -1) {
|
|
|
+ classname = "pic";
|
|
|
+ }
|
|
|
+ _html += '<li><div><i class="' + classname + '"></i>' +
|
|
|
+ '<span class="name" title="' + row.name + '.' + simpleName + '">' + row.name + '.' + simpleName + '</span>' +
|
|
|
+ '<span class="size">(' + row.size + ')</span>' +
|
|
|
+ '<a class="download" href="/easweb/webviews/workflow/download.jsp?bosID=' + row.id + '" download="' + row.name + '.' + simpleName + '" target="_blank"></a>';
|
|
|
+ //图片和pdf支持预览
|
|
|
+ if (classname == 'pic') {
|
|
|
+ _html += '<i class="preview" onclick="javascript:_self.attachmentView(\'' + row.id + '\',\'pic\')"></i>';
|
|
|
+ } else if (simpleName == 'pdf') {
|
|
|
+ _html += '<i class="preview" onclick="javascript:_self.attachmentView(\'' + row.id + '\',\'pdf\')"></i>';
|
|
|
+ }
|
|
|
+ if (row.canDelete) {
|
|
|
+ _html += '<i class="delete" onclick="javascript:_self.attachmentDelete(\'' + row['boAttchAsso.id'] + '\',\'' + row.id + '\')"></i>';
|
|
|
+ }
|
|
|
+ _html += '</div></li>';
|
|
|
+ }
|
|
|
+ $("#attachmentContent ul")[0].innerHTML = _html;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ attachmentDelete: function (bosId, attachId) {
|
|
|
+ var ok = function () {
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/iwebattachment.do?method=delete',
|
|
|
+ data: { "bosId": bosId, "attachId": attachId },
|
|
|
+ success: function (data) {
|
|
|
+ _self.showSuccess(_self._localeStr.WEB_ATTACHMENTDELETESUCESS);
|
|
|
+ _self.getAttchmentcount();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ };
|
|
|
+ var cancel = function () {
|
|
|
+ return;
|
|
|
+ };
|
|
|
+ waf.msgBox.showConfirm({
|
|
|
+ title: _self._localeStr.WEB_MESSPROMPT,
|
|
|
+ summaryMsg: _self._localeStr.WEB_DeleteFile,
|
|
|
+ buttonType: "ok-cancel",
|
|
|
+ buttonCallBack: [ok, cancel]
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ attachmentView: function (id, type) {
|
|
|
+ var url = "";
|
|
|
+ if (type == "pic") {
|
|
|
+ url = "/easweb/webviews/workflow/viewpic.jsp?bosID=" + id;
|
|
|
+ } else if (type == "pdf") {
|
|
|
+ url = "/easweb/webviews/webframework/webcom/attachment/view.jsp?bosID=" + id;
|
|
|
+ }
|
|
|
+ window.open(url, "_blank");
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ billImage: function (event, value) {
|
|
|
+ var params = {};
|
|
|
+ params.billID = assign.billId;
|
|
|
+ params.method = 'getimageurl';
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/workflow/approve.do',
|
|
|
+ data: params,
|
|
|
+ success: function (data) {
|
|
|
+ var url = data.imgurl;
|
|
|
+ if (url == "") {
|
|
|
+ _self.showWarning(_self._localeStr.WEB_IMAGESTATE + data.state + _self._localeStr.WEB_SUPPORTSTATE);
|
|
|
+ } else if (url == "noImg") {
|
|
|
+ _self.showWarning(_self._localeStr.WEB_HASNOIMAGE);
|
|
|
+ } else {
|
|
|
+ window.open(url, "_blank");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ bill: function (event, value) {
|
|
|
+ var para = {};
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ var assignIds = _private.getbatchid().assignIds;
|
|
|
+ if (assignIds.split(";").length != 1) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_SELECTARECORD);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ para.sourceID = assignIds;
|
|
|
+ } else {
|
|
|
+ para.sourceID = assign.assignId;
|
|
|
+ }
|
|
|
+ para.msgId = msgId;
|
|
|
+ wfCommonUtil.showBill(para);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ messageDigest: function () {
|
|
|
+ var messageDigest = assign.messageDigest;
|
|
|
+ if (messageDigest.toString().indexOf('table') > 0) {
|
|
|
+ waf("#panel5").wafPanel("option", "hidden", true);
|
|
|
+ waf("#bill").wafSection("option", "hidden", false);
|
|
|
+ document.getElementById("bill_content").innerHTML = messageDigest;
|
|
|
+ } else {
|
|
|
+ waf("#billFrame").remove();
|
|
|
+ waf("#billAttachment").remove();
|
|
|
+ //单据头
|
|
|
+ var billDigest = eval('(' + messageDigest + ')');
|
|
|
+ var options = {
|
|
|
+ title: _self._localeStr.WEB_BASICINFO,
|
|
|
+ id: 'billBaseInfo',
|
|
|
+ name: "billBaseInfo",
|
|
|
+ openIconCls: 'ui-section-minus',
|
|
|
+ closeIconCls: 'ui-section-plus',
|
|
|
+ autoOpen: true,
|
|
|
+ style: "margin-right: 0px;"
|
|
|
+ };
|
|
|
+ var billBaseInfo = waf.createDOM("section", options);
|
|
|
+ waf.appendDOM(waf("#panel5"), billBaseInfo);
|
|
|
+ waf.initComponent("section", options, billBaseInfo);
|
|
|
+ var items = billDigest.items;
|
|
|
+ for (var i = 0; i < items.length; i++) {
|
|
|
+ var labeloptions = { id: "labelContainer" + i, caption: items[i][0], style: "width: 33%;float: left;" };
|
|
|
+ var labeldom = waf.createDOM("labelContainer", labeloptions);
|
|
|
+ waf("#billBaseInfo").wafSection("appendChildren", labeldom);
|
|
|
+ waf.initComponent("labelContainer", labeloptions, labeldom);
|
|
|
+ var txtoptions = {
|
|
|
+ id: "billbase" + i,
|
|
|
+ caption: items[i][1]
|
|
|
+ };
|
|
|
+ var textDom = waf.createDOM("label", txtoptions);
|
|
|
+ labeldom.wafLabelContainer('append', textDom);
|
|
|
+ waf.initComponent("label", txtoptions, textDom);
|
|
|
+ }
|
|
|
+ //分录
|
|
|
+ var entries = billDigest.entrys;
|
|
|
+ for (var j = 0; j < entries.length; j++) {
|
|
|
+ var obj = entries[j];
|
|
|
+ var billEntriesoptions = {
|
|
|
+ title: obj.alias.l2,
|
|
|
+ id: 'billEntriesInfo' + j,
|
|
|
+ name: "billEntriesInfo" + j,
|
|
|
+ openIconCls: 'ui-section-minus',
|
|
|
+ closeIconCls: 'ui-section-plus',
|
|
|
+ autoOpen: true,
|
|
|
+ style: "margin-right: 0px;"
|
|
|
+ };
|
|
|
+ var billEntriesInfo = waf.createDOM("section", billEntriesoptions);
|
|
|
+ waf.appendDOM(waf("#panel5"), billEntriesInfo);
|
|
|
+ waf.initComponent("section", billEntriesoptions, billEntriesInfo);
|
|
|
+ if (obj.values.length > 0) {
|
|
|
+ var colmodel = [];
|
|
|
+ var env = obj.values[0].items;
|
|
|
+ for (var m = 0; m < env.length; m++) {
|
|
|
+ var para = {
|
|
|
+ name: env[m][3],
|
|
|
+ label: env[m][0]
|
|
|
+ };
|
|
|
+ colmodel.push(para);
|
|
|
+ }
|
|
|
+ var myGridoptions = {
|
|
|
+ id: "myGrid" + j,
|
|
|
+ colModel: colmodel
|
|
|
+ };
|
|
|
+ var dom = waf.createDOM("grid", myGridoptions);
|
|
|
+ waf("#billEntriesInfo" + j).wafSection("appendChildren", dom);
|
|
|
+ waf.initComponent("grid", myGridoptions, dom);
|
|
|
+ var rowData = obj.values;
|
|
|
+ var gridData = new Array();
|
|
|
+ for (var n = 0; n < rowData.length; n++) {
|
|
|
+ var rr = rowData[n].items;
|
|
|
+ var rowdata = {};
|
|
|
+ for (var h = 0; h < rr.length; h++) {
|
|
|
+ var colname = rr[h][3];
|
|
|
+ rowdata[colname] = rr[h][1];
|
|
|
+ }
|
|
|
+ gridData.push(rowdata);
|
|
|
+ }
|
|
|
+
|
|
|
+ waf("#myGrid" + j).wafGrid('addRow', { data: gridData });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ initMsgDigestBillAttach: function () {
|
|
|
+ var billAttachmentList = assign.billAttachments;
|
|
|
+ var billAttachmentOptions = {
|
|
|
+ title: _self._localeStr.WEB_ATTACHMENT,
|
|
|
+ id: 'billAttachment',
|
|
|
+ name: "billAttachment",
|
|
|
+ openIconCls: 'ui-section-minus',
|
|
|
+ closeIconCls: 'ui-section-plus',
|
|
|
+ autoOpen: true,
|
|
|
+ style: "margin-right: 0px;"
|
|
|
+ };
|
|
|
+ var billAttachment = waf.createDOM("section", billAttachmentOptions);
|
|
|
+ waf.appendDOM(waf("#panel5"), billAttachment);
|
|
|
+ waf.initComponent("section", billAttachmentOptions, billAttachment);
|
|
|
+ $("#billAttachment .title").after('<span id="billAttachTitle">' + _self._localeStr.WEB_TOTALATCHMNT + '<i></i><span>' + billAttachmentList.length + '</span>个</span>');
|
|
|
+ var _html = "<div class='attachmentContent'><ul>";
|
|
|
+ for (var i = 0; i < billAttachmentList.length; i++) {
|
|
|
+ var row = billAttachmentList[i];
|
|
|
+ var simpleName = row.simpleName;
|
|
|
+ var classname = "file";
|
|
|
+ var picFormat = ['jpg', 'gif', 'jpeg', 'png', 'bmp'];
|
|
|
+ if (picFormat.indexOf(simpleName) > -1) {
|
|
|
+ classname = "pic";
|
|
|
+ }
|
|
|
+ var judgeAttachType = "";
|
|
|
+ if (row.attachTypeEnum == 1) {
|
|
|
+ judgeAttachType = "<span class='procAttach'>" + _self._localeStr.WEB_PROCESSATTACHMENTS + "</span>";
|
|
|
+ }
|
|
|
+ _html += '<li><div><i class="' + classname + '"></i>' +
|
|
|
+ '<span class="name" title="' + row.name + '.' + simpleName + '">' + judgeAttachType + row.name + '.' + simpleName + '</span>' +
|
|
|
+ '<span class="size">(' + row.size + ')</span>' +
|
|
|
+ '<a class="download" href="/easweb/webviews/workflow/download.jsp?bosID=' + row.id + '" download="' + row.name + '.' + simpleName + '" target="_blank"></a>';
|
|
|
+ //图片和pdf支持预览
|
|
|
+ if (classname == 'pic') {
|
|
|
+ _html += '<i class="preview" onclick="javascript:_self.attachmentView(\'' + row.id + '\',\'pic\')"></i>';
|
|
|
+ } else if (simpleName == 'pdf') {
|
|
|
+ _html += '<i class="preview" onclick="javascript:_self.attachmentView(\'' + row.id + '\',\'pdf\')"></i>';
|
|
|
+ }
|
|
|
+ _html += '</div></li>';
|
|
|
+ }
|
|
|
+ _html += "</ul></div>";
|
|
|
+ return _html;
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ selattachment: function (item, attcreater, beizhu) {
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ showoperate: function (event, value) {
|
|
|
+ var para = {};
|
|
|
+ if (approvetype == "batchapprove") {
|
|
|
+ var assignIds = _private.getbatchid().assignIds;
|
|
|
+ if (assignIds.split(";").length != 1) {
|
|
|
+ _self.showInfo(_self._localeStr.WEB_SELECTARECORD);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ para.assignmentId = assignIds.split(";")[0];
|
|
|
+ } else {
|
|
|
+ para.assignmentId = assign.assignId;
|
|
|
+ }
|
|
|
+ if (wfCommonUtil.getOperationRecordsPerm(para.assignmentId)) {
|
|
|
+ wfCommonUtil.showApproveDetail(para);
|
|
|
+ } else {
|
|
|
+ waf.msgBox.showInfo({ title: _self._localeStr.WEB_MESSAGEALERT, summaryMsg: _self._localeStr.WEB_FORBIDVIEW });
|
|
|
+ $(".ui-msgbox .content").width("330px");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ esignatureOnClick: function (event, ui) {
|
|
|
+ if (ui.checked) {
|
|
|
+ $("#esigndiv").show();
|
|
|
+ } else {
|
|
|
+ $("#esigndiv").hide();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ isWaf1Bill: function (url) {
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ jMessageAlert: function (message) {
|
|
|
+ _self.showInfo(message);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ onselect: function (event, ui) {
|
|
|
+ //风险洞察
|
|
|
+ if (riskInsight) {
|
|
|
+ if (ui.panel.id == "riskInsight") {
|
|
|
+ waf("#billInsight").billInsight("intelligentInspection", billInsightOption.list);
|
|
|
+ //解绑框架的click事件,否则当点击其他地方风险洞察内容会消失
|
|
|
+ waf("body").unbind("click");
|
|
|
+ $(".billInsight_cardPanel").draggable("disable");
|
|
|
+ _private.updateBillInsightNum(billInsightOption);
|
|
|
+ _private.resizeBillInsight(false);
|
|
|
+ _private.curTab = "riskInsight";
|
|
|
+ } else {
|
|
|
+ $(".billInsight_cardPanel").css("display", "none");
|
|
|
+ _private.curTab = "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ resizeBillInsight: function (windowResize) {
|
|
|
+ var top = $("#li_approveTask").offset().top + 44;
|
|
|
+ var left = $("#li_approveTask").offset().left;
|
|
|
+ if (!windowResize) left += 10;
|
|
|
+ var width = $("#tabs_ul").width();
|
|
|
+ var t = $(".ui-cardPanel").attr("style") + "width:" + width + "px !important";
|
|
|
+ $(".billInsight_cardPanel").css("cssText", t);
|
|
|
+ $(".billInsight_cardPanel").css({ "top": top, "left": left });
|
|
|
+ $(".ui-cardPanel .noRecords,.ui-cardPanel .noRecordsImage,.ui-cardPanel .noRecordsText").css({ width: "100%", margin: "0px", "min-width": "160px" });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ getWeakRisk: function () {
|
|
|
+ var urlParams = waf.getUrlParam(assign.billEditUrl);
|
|
|
+ var billId = urlParams.billId;
|
|
|
+ var uipk = urlParams.uipk;
|
|
|
+ var billInsightOption = {};
|
|
|
+ waf.doPost({
|
|
|
+ async: false,
|
|
|
+ url: waf.getContextPath() + "/risk/ForWebController.do?method=getWeakRisk",
|
|
|
+ data: {
|
|
|
+ uipk: uipk,
|
|
|
+ id: billId,
|
|
|
+ riskIds: assign.riskInsight
|
|
|
+ },
|
|
|
+ success: function (data) {
|
|
|
+ if (data != null) {
|
|
|
+ billInsightOption = data;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return billInsightOption;
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ updateBillInsightNum: function (billInsightOption) {
|
|
|
+ if (!billInsightOption.allExecSuccess) {
|
|
|
+ $("#li_riskInsight span").eq(0).text(_self._localeStr.WEB_RISKINSIGHT + "(" + billInsightOption.failSize + ")");
|
|
|
+ } else {
|
|
|
+ $("#li_riskInsight span").eq(0).text(_self._localeStr.WEB_RISKINSIGHT);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ openPerson: function (event, value) {
|
|
|
+ var selectedIds = waf("#textCC").prop("personIds");
|
|
|
+ var height = 552;
|
|
|
+ if (window.screen.height < 800) {
|
|
|
+ height = 500;
|
|
|
+ }
|
|
|
+ var tempWin;
|
|
|
+ if (parent.waf) {
|
|
|
+ tempWin = parent.waf.window;
|
|
|
+ } else {
|
|
|
+ tempWin = waf.window;
|
|
|
+ }
|
|
|
+ var params = {};
|
|
|
+ params.f7Type = encodeURIComponent("person");
|
|
|
+ params.singleSelect = false;
|
|
|
+ tempWin.open({
|
|
|
+ url: waf.getContextPath() + "/webviews/workflow/commonSelectF7.jsp?selectedIds=" + encodeURIComponent(selectedIds),
|
|
|
+ openType: "iframe",
|
|
|
+ method: 'POST',
|
|
|
+ data: params,
|
|
|
+ style: { 'padding': '0px' },
|
|
|
+ modal: true,
|
|
|
+ title: _self._localeStr.WEB_CC,
|
|
|
+ position: 'center',
|
|
|
+ width: 1000,
|
|
|
+ height: height,
|
|
|
+ minHeight: height,
|
|
|
+ minWidth: 1000,
|
|
|
+ iconCls: "waf-ui-icon",
|
|
|
+ draggable: true,
|
|
|
+ resizable: true,
|
|
|
+ close: function (event, ui) {
|
|
|
+ },
|
|
|
+ retValCallBack: function (resultData) {
|
|
|
+ if (resultData && resultData.resultStr && resultData.resultStr.length > 0) {
|
|
|
+ var val = resultData.resultStr.split("||");
|
|
|
+ waf("#textCC").prop("personIds", val[1]);
|
|
|
+ waf("#textCC").val(val[2]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ _pageLoadCompletedEventHandler: function () {
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ openAttachmentPage: function (event, value) {
|
|
|
+ var url = "/easweb/dynamicPage.do?event=initialize&method=doEvent&uipk=com.kingdee.bos.workflow.metas.AttachmentList&assignId=" + assign.assignId + "&billId=" + encodeURIComponent(assign.billId);
|
|
|
+ var pageType = _self.getUrlParam('type');
|
|
|
+ if (pageType != null && 'passComent' === pageType) {
|
|
|
+ url += "&isPassAround=true";
|
|
|
+ }
|
|
|
+ waf.window.open({
|
|
|
+ url: url,
|
|
|
+ openType: "iframe",
|
|
|
+ modal: true,
|
|
|
+ title: _self._localeStr.WEB_ATCHMNTMANAGE,
|
|
|
+ position: 'center',
|
|
|
+ width: 900,
|
|
|
+ height: 600,
|
|
|
+ iconCls: "waf-ui-icon",
|
|
|
+ draggable: true,
|
|
|
+ resizable: true,
|
|
|
+ close: function (event, ui) {
|
|
|
+ waf.window.close();
|
|
|
+ _private.refreshAttachCount();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ refreshAttachCount: function () {
|
|
|
+ waf.doPost({
|
|
|
+ url: waf.getContextPath() + '/iwebattachment.do?method=getAttachCountByBill',
|
|
|
+ data: { billId: assign.billId },
|
|
|
+ async: false,
|
|
|
+ success: function (data) {
|
|
|
+ _private.refreshAttachCountInner(data);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ refreshAttachCountInner: function (count) {
|
|
|
+ var attachmentBtnTitle = _self._localeStr.WEB_ATCHMNTMANAGE;
|
|
|
+ if (count > 0) {
|
|
|
+ attachmentBtnTitle = _self._localeStr.WEB_ATCHMNTMANAGE + "(" + count + ")";
|
|
|
+ }
|
|
|
+ $("#attachmentBtn span").text(attachmentBtnTitle);
|
|
|
+ }
|
|
|
+ ,
|
|
|
+ getAssignInfo: function () {
|
|
|
+ return assign;
|
|
|
+ }
|
|
|
+ });//@endPrivate
|
|
|
+ _self.subscribeEvent("pageLoadCompletedEvent", _private._pageLoadCompletedEventHandler, "after");
|
|
|
+ /**************************开发区域结束**********************************************/
|
|
|
+ return _public;
|
|
|
+});
|