<!doctype html> <html> <head> <meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache"> <title>任务计算器</title> <script type="text/javascript"> var pageVue = null; function loadJsCss(callback) { var jscss_urls = [ {id: "js51211", type: "js", url: "root/js/config.js"}, ]; window.top.initJsCss(document, jscss_urls, callback); }; function initVue() { new FormVue({ el: "#vbody", data: { dataname: "", title: "任务计算器", formAttr: { istitle: false, title: "表å•åç§°", columnnumber: 1, labelwidth: "260px", labelposition: "left",//"left",// right//top size: "mini", border: "10px solid #c6c6c600" }, default_formFields: [ {isshow: "T", field: "field1", name: "1. 获å–å‘˜å·¥ã€æž¶æž„ã€å®¢æˆ·ã€æŒ‡æ ‡ä¸»æ•°æ®", type: "span", align: "right"}, {isshow: "T", field: "field2", name: "2. 获å–业务数æ®", type: "span", align: "right"}, {isshow: "T", field: "field3", name: "3. 获å–å¥–é‡‘æ–¹æ¡ˆå‚æ•°", type: "span", align: "right"}, {isshow: "T", field: "field4", name: "4. 匹é…员工ã€è€ƒå‹¤ã€ä¸šåŠ¡æ•°æ®", type: "span", align: "right"}, {isshow: "T", field: "field5", name: "5. 计算完æˆï¼Œç”ŸæˆæŠ˜æ‰£åˆ—表", type: "span", align: "right"}, ], formFields: [], newformData: { //id: uuid_short(), // code: createCode("BA"), create_time: createDatetime(), status: "input", state_name: "è‰ç¨¿", creator_name: window.top.vue.userinfo.name, type_code: "", type_name: "", }, formData: {}, tableFields: [{isshow: "T", field: "value", name: "试算进度", align: "left"}], tableData: [], //按键æƒé™è®¾ç½® isedit: false,//æäº¤å‰ç¼–辑,ä¿å˜/æäº¤ isrefuseedit: false,//æ‹’ç»åŽç¼–辑,ä¿å˜/冿¬¡æäº¤ isapproval: false,//å®¡æ‰¹ï¼ŒåŒæ„/æ‹’ç»/转办/退回 iscommit: false,//æäº¤æ ‡è®° //å¼¹çª—å‚æ•° popupParames: {}, //å—æ®µè®¾ç½® tablefieldClick: {}, formfieldClick: {}, }, created() { this.popupParames = clone(Root.popupParames); this.title = this.popupParames.title || this.popupParames.text if (this.popupParames.data) { this.formData = clone(this.popupParames.data); } if (this.popupParames.sceneCode) { if (this.popupParames.sceneCode == "add") {//新增 if (this.newformData) { let formData_ = clone(this.formData); for (var k in this.newformData) { formData_[k] = this.newformData[k]; } this.formData = formData_; } this.isedit = true; } else if (this.popupParames.sceneCode == "browse") {//åªè¯» this.formAttr.disabled = true; } else if (this.popupParames.sceneCode == "edit") {//编辑 this.isedit = true; } else if (this.popupParames.sceneCode == "approval") {//审批 this.formAttr.disabled = true; this.isapproval = true; } else if (this.popupParames.sceneCode == "refuseedit") {//æ‹’ç»åŽçš„编辑 this.isrefuseedit = true; } } }, mounted() { var me = this; //é¢„åŠ è½½æ•°æ® if (this.dataRequest && this.dataRequest.length) { var result = {}; this.loadRequestData(this.dataRequest, result, function(data) { me.dataRequestObj = data; //é¢„åŠ è½½æ•°æ®åŽç»™å“ªäº›å—段设置options或formatterjson data.agm_template.map(c=>{ me.options_templateobj[c[me.props_template.value]] = c; }) let agm_template_ = ArrayToTree(clone(data.agm_template), "name", "parent_id"); me.options_category = agm_template_; me.initData(); }); } else { this.initData(); } // 以æœåŠ¡çš„æ–¹å¼è°ƒç”¨çš„ Loading 需è¦å¼‚æ¥å…³é— this.$nextTick(() => { hideLoading(); //釿–°è®¾ç½®å¼¹çª—宽高 this.$nextTick(function(){ //let w_ = this.$refs.popup_body.offsetWidth + "px"; let w_ = "440px"; let h_ = this.$refs.popup_body.offsetHeight + "px"; Root.setPopupWH(w_, h_); }) }); }, methods:{ //å…³é—弹窗 closeDialog() { var me = this; if (me.popupParames.totab){ Root.tab.removeItem(Root.tab.selected); Root.tab.open(me.popupParames.parentOption, false); } else { Root.hidePopup(); } }, //å…³é—å‰è°ƒå›žè°ƒ saveAfter() { var me = this; if(this.popupParames.callback) { let obj = { //row: this.formData } this.popupParames.callback(obj, function() { me.closeDialog(); }); } else { me.closeDialog(); } }, initData() { let me = this; var id_ = null; if (this.formData.id) { id_ = this.formData.id; } me.formFields = clone(me.default_formFields) me.formData.field1 = "0%" me.formData.field2 = "0%" me.formData.field3 = "0%" me.formData.field4 = "0%" me.formData.field5 = "0%" //å—æ®µæ•°ç»„è½¬å—æ®µobj,目的为了ç›é€‰æ—¶èŽ·å–å—æ®µå±žæ€§ me.fieldsToFieldsObj(); //è®¾ç½®å—æ®µäº‹ä»¶ me.tableFieldClick(); }, tableFieldClick() { var me = this; }, run() { let me = this let param = { id: this.popupParames.data.id } Server.call("root/fee/runTask", param, function(result) { console.log(result); }); let remark = false for (let i = 0; i <= 2; i++) { setTimeout(() => { let param = { taskId: me.popupParames.data.id } Server.call("root/fee/getEngineLog", param, function(result) { console.log(result); if (result && result.data && result.data.info) { me.tableData = result.data.info } else { if (!remark) { Root.message({ type: 'warning', message: 'æš‚æ— è¿è¡Œæ—¥å¿—', showClose: true }) } remark = true return; } }, function(error) { if (!remark) { Root.message({ type: 'warning', message: 'æš‚æ— è¿è¡Œæ—¥å¿—', showClose: true }) } remark = true return; }); }, 1000 * i) } } } }); }; loadJsCss(function () { initVue(); }); </script> <style> /* 在vue.jsä¸ v-cloak 这个指令是防æ¢é¡µé¢åŠ è½½æ—¶å‡ºçŽ° vuejs çš„å˜é‡å而设计的 */ [v-cloak] { display: none !important; } </style> </head> <body style="margin: 0px;"> <div v-cloak id="vbody"> <div id="page_root"> <div ref="popup_body" style="padding: 0 20px;"> <div class="el-dialog__header"> <div class="dialog-title"> <i class="iconfont icon-customermanagement"></i> <span> {{title}}</span> </div> </div> <div style="height: 500px; width: 400px; overflow-y: auto;"> <div class="el-dialog__body"> <!-- <h-form ref="form1" :form-attr="formAttr" :table-fields="formFields" :form-data="formData" :table-field-click="formfieldClick" > </h-form> --> <h-table ref="table1" :table-fields="tableFields" :table-data="tableData" :table-height="400" :is-pagination="false" emptytext="请点击è¿è¡Œè¯•ç®—" > </h-table> </div> </div> <div class="el-dialog__footer"> <el-button size="small" type="default" @click="saveAfter">å…³ é—</el-button> <el-button size="small" @click="run">è¿ è¡Œ</el-button> </div> </div> </div> </div> <div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;"> <div class="spinner"> <div class="cube1"></div> <div class="cube2"></div> </div> </div> </body> </html>