<!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 = []; window.top.initJsCss(document, jscss_urls, callback); }; function initVue() { new FormVue({ el: "#vbody", data: { dataname: "md_department_oa_nc", title: "部门对应关系编辑", formAttr: { istitle: false, title: "表å•åç§°", columnnumber: 3, labelwidth: "100px", labelposition: "left",//"left",// right//top size: "mini", border: "10px solid #c6c6c600" }, formFields: [], newformData: { state_code: "Input", state_name: "è‰ç¨¿", }, formData: {}, //按键æƒé™è®¾ç½® isedit: false,//æäº¤å‰ç¼–辑,ä¿å˜/æäº¤ isrefuseedit: false,//æ‹’ç»åŽç¼–辑,ä¿å˜/冿¬¡æäº¤ isapproval: false,//å®¡æ‰¹ï¼ŒåŒæ„/æ‹’ç»/转办/退回 iscommit: false,//æäº¤æ ‡è®° //å¼¹çª—å‚æ•° popupParames: {}, //å—æ®µè®¾ç½® tablefieldClick: {}, formfieldClick: {}, pageHeight:0 }, created() { this.popupParames = clone(Root.popupParames); this.title = this.popupParames.title || this.popupParames.text this.pageHeight = document.documentElement.clientHeight*1 - 92; 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_ = "900px"; 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; } this.getRowDataById(id_, function(result) {//查询åŽçš„回调,用于获å–å—æ®µçš„ if (result.meta && result.meta[me.dataname] && result.meta[me.dataname].fields) { var metas = clone(result.meta[me.dataname].fields); var formFields_ = []; metas.map(f=>{ f.isshow = "T"; formFields_.push(clone(f)); }) if (!me.formFields || (me.formFields && me.formFields.length == 0)) { me.formFields = clone(formFields_); //å—æ®µæ•°ç»„è½¬å—æ®µobj,目的为了ç›é€‰æ—¶èŽ·å–å—æ®µå±žæ€§ me.fieldsToFieldsObj(); //è®¾ç½®å—æ®µäº‹ä»¶ me.tableFieldClick(); } } }) }, tableFieldClick() { var me = this; //è¡¨æ ¼å—æ®µäº‹ä»¶è®¾ç½® this.tablefieldClick = {} //表å•å—æ®µäº‹ä»¶è®¾ç½® this.formfieldClick = { company_id: { select: { onchange: function(obj) { // obj.data.actor_code = obj.selectoption.code || ""; // obj.data.actor_name = obj.selectoption.value || ""; // æ¸…ç©ºå…¶ä»–ä¿¡æ¯ let formData_ = clone(me.formData); formData_.oa_department_id = "" formData_.oa_department_code = "" formData_.oa_department_name = "" formData_.company_code = "" formData_.nc_region_id = "" formData_.nc_region_code = "" formData_.nc_region_name = "" formData_.nc_area_id = "" formData_.nc_area_code = "" formData_.nc_area_name = "" formData_.nc_department_id = "" formData_.nc_department_code = "" formData_.nc_department_name = "" me.formData = clone(formData_); } } }, oa_department_name: { popup: { onclick: function(obj) {//弹窗点击事件 if (!me.formData.company_id) { Root.message({ type: 'warning', message: '请先选择公å¸' }); return } me.openOA(function(popupobj){ let formData_ = clone(me.formData); formData_.oa_department_id = popupobj.row.id formData_.oa_department_code = popupobj.row.code; formData_.oa_department_name = popupobj.row.name; me.formData = clone(formData_); }) } } }, nc_region_name: { popup: { onclick: function(obj) {//弹窗点击事件 if (!me.formData.company_id) { Root.message({ type: 'warning', message: '请先选择公å¸' }); return } me.openNC(function(popupobj){ let formData_ = clone(me.formData); formData_.company_code = popupobj.row.nc_company_id formData_.nc_company_id = popupobj.row.nc_company_id formData_.nc_company_code = popupobj.row.nc_company_code formData_.nc_region_id = popupobj.row.nc_id formData_.nc_region_code = popupobj.row.code; formData_.nc_region_name = popupobj.row.name; me.formData = clone(formData_); }) } } }, nc_area_name: { popup: { onclick: function(obj) {//弹窗点击事件 if (!me.formData.company_id) { Root.message({ type: 'warning', message: '请先选择公å¸' }); return } me.openNC(function(popupobj){ let formData_ = clone(me.formData); formData_.nc_area_id = popupobj.row.nc_id formData_.nc_area_code = popupobj.row.code; formData_.nc_area_name = popupobj.row.name; me.formData = clone(formData_); }) } } }, nc_department_name: { popup: { onclick: function(obj) {//弹窗点击事件 if (!me.formData.company_id) { Root.message({ type: 'warning', message: '请先选择公å¸' }); return } me.openNC(function(popupobj){ let formData_ = clone(me.formData); formData_.nc_department_id = popupobj.row.nc_id formData_.nc_department_code = popupobj.row.code; formData_.nc_department_name = popupobj.row.name; me.formData = clone(formData_); }) } } } }; }, openOA(callback) { var me = this; var config = { totab: false, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "900px", height: "500px", icon: "icon-product", text: "OA部门列表", id: "popup_department_oa",//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ url: "module/md/page/popup/page/popup_department_oa.html", data: {}, delta: {}, filter: "company_id='" + me.formData.company_id + "'", sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse", callback: function(obj, popupcallback) { callback(obj); if (popupcallback) { popupcallback(); } } }; me.doPopupByPublic(config); }, openNC(callback) { var me = this; var config = { totab: false, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "900px", height: "500px", icon: "icon-product", text: "NC部门列表", id: "popup_department_nc",//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ url: "module/md/page/popup/page/popup_department_nc.html", data: {}, delta: {}, filter: "company_id='" + me.formData.company_id + "'", sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse", callback: function(obj, popupcallback) { callback(obj); if (popupcallback) { popupcallback(); } } }; me.doPopupByPublic(config); }, //æäº¤ submitRowTable() { this.iscommit = true; this.saveRowTable(); }, //ä¿å˜ saveRowTable() { var me = this; var bo_ = this.$refs.form1.checkForm(); if (!bo_) { Root.message({ type: 'error', message: '请填写必填项' }); return } var operator_ = "save";//ä¿å˜ if(me.iscommit) { operator_ = "commit";//æäº¤ } var entity_ = clone(this.formData); var entity = {}; for (var r in entity_) { if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) { entity[r] = entity_[r]; } } let param = { dataname: this.dataname, // operator: operator_, data: {}, } param.data[this.dataname] = entity; Server.call("root/data/saveEntity", param, function(result) { console.log(result); if (result.success) { if(me.iscommit){ me.iscommit = false; Root.message({ type: 'success', message: 'æäº¤æˆåŠŸ' }); me.saveAfter(); } else { Root.message({ type: 'success', message: 'ä¿å˜æˆåŠŸ' }); me.saveAfter(); } } }); }, } }); }; 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 v-if="popupParames.totab" class="el-dialog__header"> <div class="dialog-title"> <span> {{title}}</span> </div> </div> <div style="height: 300px; 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> </div> </div> <div class="el-dialog__footer"> <el-button size="small" type="default" @click="closeDialog">å– æ¶ˆ</el-button> <el-button size="small" v-if="isedit || isrefuseedit" type="primary" :loading="loading_save" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button> <!-- <el-button size="small" v-if="isedit" type="success" :loading="loading_submit" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button> <el-button size="small" v-if="isrefuseedit" type="success" @click="">冿¬¡æäº¤</el-button> <el-button size="small" v-if="isapproval" type="success" @click="">通 过</el-button> <el-button size="small" v-if="isapproval" type="danger" @click="">æ‹’ ç»</el-button> <el-button size="small" v-if="isapproval" type="primary" @click="">转 办</el-button> <el-button size="small" v-if="isapproval" type="success" @click="">退 回</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>