<!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 BasicsVue({ el: "#vbody", data: { //dataname: "agm_record", form_dataname: "agm_category", table_dataname: "", dataRequest: [ { name: "agm_category", //url: "root/front/getOneDictionary", //paramsobj: { code: "OrgType", }, isnotoption: false, //true:䏿˜¯é€‰é¡¹ code:"id",//是下拉选项时设置 label:"name",//是下拉选项时设置 filter: " parent_id is null" }, { name: "agmrecord_field", dataname: "agm_field", //url: "root/front/getOneDictionary", //paramsobj: { code: "OrgType", }, filter: " table_name='agm_record'", isnotoption: false, //true:䏿˜¯é€‰é¡¹ code:"id",//是下拉选项时设置 label:"field_name",//是下拉选项时设置 }, ], title: "å议类型新增", formAttr: { istitle: false, title: "å议类型新增", columnnumber: 2, labelwidth: "110px", labelposition: "left",// right size: "medium", border: "0px solid #c6c6c600" }, formFields: [ {isshow: "T", field: "creator_name", name: "创建人", type: "span", notvalunit: true}, {isshow: "T", field: "create_time", name: "创建时间", type: "span", notvalunit: true}, {isshow: "T", field: "parent_id", name: "所属类型", type: "select", isrefresh: true, options: [], props:{value: "id", label: "name"}, notvalunit: true, }, {isshow: "T", field: "name", name: "类型åç§°", notvalunit: true}, //{isshow: "T", field: "fieldlist", name: "å¤‡æ¡ˆå—æ®µé…ç½®", type: "checkboxobj", options: [], colspan: 3}, ], newRowDefault: { //id: uuid_short(), code: createCode("BA"), versionno: "1", create_time: createDatetime(), creator_name: window.top.vue.userinfo.name, //fieldlist: [] }, formData: {}, isWithinEditTableData: false, notdisabled: true, Approval: false, isCommit: false, treeoptions: [], tableFields1: [ {isshow: "T", field: "field_name", name: "å¤‡æ¡ˆåŸºç¡€å—æ®µ"}, ], tableFields2: [ {isshow: "T", field: "field_name", name: "备案明细产å“åŠé‡‘é¢å—段"}, ], tableFields3: [ {isshow: "T", field: "field_name", name: "å¤‡æ¡ˆæ˜Žç»†ç»ˆç«¯å—æ®µ"}, ], tableHeight: 300, tableData1: [], tableData2: [], tableData3: [], agmFieldsObj: {}, isCommit: false, selectionList: [], selectionList_detail: [], //å—æ®µè®¾ç½® 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 == "browse") { this.formAttr.disabled = true; this.isWithinEditTableData = false; this.notdisabled = false; this.Approval = false; } else if (this.popupParames.sceneCode == "add") { if (this.newRowDefault) { let formData_ = clone(this.formData); for (var k in this.newRowDefault) { formData_[k] = this.newRowDefault[k]; } this.formData = formData_; } } else if (this.popupParames.sceneCode == "edit") { let formData_ = clone(this.formData); } } }, mounted() { var me = this; //é¢„åŠ è½½æ•°æ® if (this.dataRequest.length) { var result = {}; this.loadRequestData(this.dataRequest, result, function(data) { me.dataRequestObj = data; //é¢„åŠ è½½æ•°æ®åŽç»™å“ªäº›å—段设置options或formatterjson me.tableData1 = clone(data.agmrecord_field); // me.tableData2 = clone(data.agmrecorddetail_field); // me.tableData3 = clone(data.agmrecorddetail_terminal_field); var fieldlist_options = []; me.tableData1.map(r=>{ var option_ = { code: r.id, name: r.field_name } fieldlist_options.push(option_); me.agmFieldsObj[r.id] = r; }) // me.tableData2.map(r=>{ // me.agmFieldsObj[r.id] = r; // }) // me.tableData3.map(r=>{ // me.agmFieldsObj[r.id] = r; // }) var formFields_ = clone(me.formFields); formFields_.map(f=>{ if (f.field == "parent_id") { //me.$set(f.options, me.dataRequestObj.agm_category) f.options = me.dataRequestObj.agm_category } else if (f.field == "fieldlist") { f.options = fieldlist_options } }) me.formFields = clone(formFields_); me.initData(); }); } else { this.initData(); } this.$nextTick(() => { // 以æœåŠ¡çš„æ–¹å¼è°ƒç”¨çš„ Loading 需è¦å¼‚æ¥å…³é— 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 = { options: this.treeoptions } this.popupParames.callback(obj, function() { me.closeDialog(); }); } else { me.closeDialog(); } }, initData() { let me = this let filter_table = ""; //è®¾ç½®å—æ®µäº‹ä»¶ me.tableFieldClick(); }, tableFieldClick() { var me = this; //表å•å—æ®µäº‹ä»¶è®¾ç½® this.formfieldClick = { parent_id: {//æ¤å…¥æ—¥æœŸ select: { onchange: function(obj) {//æ¤å…¥æ—¥æœŸè¦æ—©äºŽä¸ŠæŠ¥æ—¥æœŸ console.log("testest", obj); if (obj.selectoption) { if (obj.selectoption.code_rule) { me.$set(me.formData, "code_rule", obj.selectoption.code_rule); } if (obj.selectoption.code_rule) { me.$set(me.formData, "method_name", obj.selectoption.method_name); } if (obj.selectoption.code_rule) { me.$set(me.formData, "sql_content", obj.selectoption.sql_content); } } } } }, }; }, submitRowTable() { this.isCommit = true; this.saveRowTable(); }, saveRowTable() { var me = this; 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]; } } var table_entityset = []; if (this.formData.fieldlist) { this.formData.fieldlist.map(id=>{ var entity_d = { category_name: this.formData.name, field_id: id, field: this.agmFieldsObj[id].field, field_name: this.agmFieldsObj[id].field_name, table_name: this.agmFieldsObj[id].table_name } this.formData.id table_entityset.push(entity_d); }) } // this.selectionList_detail.map(id=>{ // var entity_ = { // category_name: this.formData.name, // field_id: id, // field: this.agmFieldsObj[id].field, // field_name: this.agmFieldsObj[id].field_name, // table_name: this.agmFieldsObj[id].table_name // } // table_entityset.push(entity_); // }) // this.selectionList_terminal_detail.map(id=>{ // var entity_ = { // category_name: this.formData.name, // field_id: id, // field: this.agmFieldsObj[id].field, // field_name: this.agmFieldsObj[id].field_name, // table_name: this.agmFieldsObj[id].table_name // } // table_entityset.push(entity_); // }) let param = { dataname: this.form_dataname, // operator: operator_, data: {}, } param.data[this.form_dataname] = entity; //param.data[this.table_dataname] = table_entityset; Server.call("root/data/saveEntity", param, function(result) { console.log(result); if (result.success) { if(me.isCommit){ me.isCommit = false; let param_ = { dataname: "agm_category", filter: "1=1", } Server.call("root/data/getEntitySet", param_, function(result2){ let agm_category_ = ArrayToTree(clone(result2.data.entityset), "name", "parent_id"); // agm_category_.unshift({ // id:"cascaderbyadd", // label: "cascaderbyadd", // name: "cascaderbyadd", // parent_id: null // }) me.treeoptions = agm_category_; Root.message({ type: 'success', message: 'æäº¤æˆåŠŸ' }); me.saveAfter(); }); } else { let param_ = { dataname: "agm_category", filter: "1=1", } Server.call("root/data/getEntitySet", param_, function(result2){ let agm_category_ = ArrayToTree(clone(result2.data.entityset), "name", "parent_id"); // agm_category_.unshift({ // id:"cascaderbyadd", // label: "cascaderbyadd", // name: "cascaderbyadd", // parent_id: null // }) me.treeoptions = agm_category_; Root.message({ type: 'success', message: 'ä¿å˜æˆåŠŸ' }); me.saveAfter(); }); } } }); }, // visibleChange(obj, rowdata, callback) { // let me = this; // let row = obj; // let field = obj.field; // let options_ = []; // if(field == "parent_id") { // var filter_ = " parent_id is null "; // let val = row[field]; // let param_ = { // // dataname: "agm_category", // filter: filter_, // } // Server.call("root/data/getEntitySet", param_, function(result){ // options_ = result.data.entityset; // options_.map(o=>{ // o.label = o.name; // }) // console.log(options_); // //obj.options = options_; // callback({options: clone(options_)}); // }); // } // }, selectOptionOperate(obj) { let me = this; if (obj.type == "add") { if (obj.fieldobj.field == "type_code") { /* Root.showPopup({ url: "../md/customer/popup/customer_list.html", width: 800, height: 550, data: this.oldObj, dataname: "customer", callback: function(obj, callback) { let formData_ = clone(me.formData); formData_.customer_name = obj.row.md_description; formData_.customer_code = obj.row.md_code; formData_.customer_id = obj.row.id; formData_.province_name = obj.row.province; me.formData = formData_; if (callback) { callback(); } } }); */ } } }, formChange(obj) { let me = this; if (obj.fieldobj.field == "type_code") { obj.data.type_name = clone(obj.selectoption.label); } }, selectChange(obj) { let me = this; if (obj.fieldobj.field == "parent_id" && obj.selectoption) { //obj.data.type_name = clone(obj.selectoption.label); } }, showPopup(obj) { let me = this; this.selectFormField = obj.obj; if (this.selectFormField.field == "customer_name") { Root.showPopup({ url: "../md/customer/popup/customer_list.html", width: 800, height: 550, data: this.oldObj, dataname: "customer", callback: function(obj, callback) { let formData_ = clone(me.formData); formData_.customer_name = obj.row.md_description; formData_.customer_code = obj.row.md_code; formData_.customer_id = obj.row.id; // formData_.province_name = obj.row.province; me.formData = formData_; if (callback) { callback(); } } }); } if (this.selectFormField.field == "delivery_part_name") { Root.showPopup({ url: "../org/company/popup/managesubject_list.html", width: 800, height: 550, dataname:"getDelivery_part_name", type :"managesubjectname", callback: function(obj, callback) { let formData_ = clone(me.formData); formData_.delivery_part_name = obj.row.delivery_part_name; formData_.delivery_part_code = obj.row.delivery_part_code; me.formData = formData_; if (callback) { callback(); } } }); } if (this.selectFormField.field == "product_name") { Root.showPopup({ url: "../md/product/popup/sku_list.html", width: 800, height: 550, callback: function(obj, callback) { let formData_ = clone(me.formData); formData_.product_id = obj.row.id; formData_.product_code = obj.row.md_code; formData_.product_name = obj.row.md_description; //formData_.spec = obj.row.pack_specification; me.formData = formData_; if (callback) { callback(); } } }); } }, handleSelectionChange(selection) { this.selectionList = []; if (selection.length > 0) { selection.map(sr=>{ this.selectionList.push(sr.id); }) } }, handleSelectionChange_detail(selection) { this.selectionList_detail = []; if (selection.length > 0) { selection.map(sr=>{ this.selectionList_detail.push(sr.id); }) } }, handleSelectionChange_terminaldetail(selection) { this.selectionList_terminal_detail = []; if (selection.length > 0) { selection.map(sr=>{ this.selectionList_terminal_detail.push(sr.id); }) } }, } }); }; loadJsCss(function () { initVue(); }); </script> <style> /* 在vue.jsä¸ v-cloak 这个指令是防æ¢é¡µé¢åŠ è½½æ—¶å‡ºçŽ° vuejs çš„å˜é‡å而设计的 */ [v-cloak] { display: none !important; } /* .h_form_checkboxgroup .el-checkbox { width: 120px; } */ </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="popup_el-dialog__header"> <div class="dialog-title"> <i class="iconfont icon-customermanagement"></i> <!-- <span> {{formAttr.title}} </span> --> </div> </div> <div style="height: 350px; 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> <!-- v-on:form-change="formChange" v-on:select-change="selectChange" v-on:show-popup="showPopup" v-on:select-option-operate="selectOptionOperate" v-on:visible-change="visibleChange" --> </div> <!-- <div class="" style="padding-left: 20px;"> <div style="width: 30%;float: left;"> <h-table ref="table1" :table-fields="tableFields1" :table-data="tableData1" :table-height="tableHeight" :is-selection="true" :is-pagination="false" v-on:selection-change="handleSelectionChange" > </h-table> </div> <div style="width: 30%;float: left;margin-left: 5%;"> <h-table ref="table2" :table-fields="tableFields2" :table-data="tableData2" :table-height="tableHeight" :is-selection="true" :is-pagination="false" v-on:selection-change="handleSelectionChange_detail" > </h-table> </div> <div style="width: 30%;float: right;"> <h-table ref="table3" :table-fields="tableFields3" :table-data="tableData3" :table-height="tableHeight" :is-selection="true" :is-pagination="false" v-on:selection-change="handleSelectionChange_terminaldetail" > </h-table> </div> </div> --> </div> <div class="el-dialog__footer"> <el-button size="small" type="default" size="small" @click="closeDialog">å– æ¶ˆ</el-button> <el-button size="small" v-if="notdisabled" type="primary" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button> <!-- <el-button v-if="notdisabled" type="success" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button> --> </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> </div> </body> </html>