<!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 ListVue({ el: "#vbody", data: { dataname: "sys_state_machine", title: "çŠ¶æ€æœºç®¡ç†", orderby: "id", // filterFields: [ // {isshow: "T", field: "name", name: "name", filterfield:"", filteroperator: "like", type: ""}, // ], // tableFields: [ // {field: "id", name: "id", isshow: "T", align: "left"}, // {field: "code", name: "code", isshow: "T", align: "left"}, // {field: "name", name: "name", isshow: "T", align: "left", width: "200"}, // {field: "workflow_name", name: "workflow_name", isshow: "T", align: "left", width: "200"}, // {field: "is_active", name: "is_active", isshow: "T", align: "center", width: "100"}, // ], filterfieldClick: {}, tablefieldClick: {}, formfieldClick: {}, }, created() { }, mounted() { //èŽ·å–æ•°æ® this.initData(); this.$nextTick(() => { // 以æœåŠ¡çš„æ–¹å¼è°ƒç”¨çš„ Loading 需è¦å¼‚æ¥å…³é— hideLoading(); }); }, methods:{ initData() { var me = this; this.onQuery(function(result, callback) {//查询åŽçš„回调,用于获å–å—æ®µçš„ if (result.meta && result.meta[me.dataname] && result.meta[me.dataname].fields) { var metas = clone(result.meta[me.dataname].fields); var filterFields_ = []; var tableFields_ = []; metas.map(f=>{ f.isshow = "T"; if (f.isfilter) { filterFields_.push(clone(f)); } else { var filter_f = clone(f); filter_f.isshow = "F"; filterFields_.push(filter_f); } tableFields_.push(clone(f)); }) if (!me.filterFields || (me.filterFields && me.filterFields.length == 0)) { me.filterFields = clone(filterFields_); me.tableFields = clone(tableFields_); // me.filterFields = clone(me.filterFields); // me.tableFields = clone(me.tableFields); //å—æ®µæ•°ç»„è½¬å—æ®µobj,目的为了ç›é€‰æ—¶èŽ·å–å—æ®µå±žæ€§ me.fieldsToFieldsObj(); //è®¾ç½®å—æ®µäº‹ä»¶ me.tableFieldClick(); } } if (callback) { callback(); } }); }, tableFieldClick() { var me = this; //ç›é€‰å—段事件设置 this.filterfieldClick = { product_code: {//å—æ®µäº‹ä»¶è®¾ç½® popup: { onclick: function(obj) {//弹窗点击事件 Root.message({ type: 'success', message: '弹窗点击事件' }); } }, visible: { onchange: function(obj) {//下拉展开事件 Root.message({ type: 'success', message: '下拉展开事件' }); } }, select: { onchange: function(obj) {//下拉展开事件 Root.message({ type: 'success', message: '下拉更改事件' }); } }, input: { onchange: function(obj) {//下拉展开事件 Root.message({ type: 'success', message: '下拉更改事件' }); } }, }, }; //è¡¨æ ¼å—æ®µäº‹ä»¶è®¾ç½® this.tablefieldClick = { product_code: {//å—æ®µäº‹ä»¶è®¾ç½® val: {//有值时的点击事件 notclick_val: "",//ä¸å¯ç‚¹å‡»çš„值,1ã€æ˜¯æ•°ç»„["11","22"]ï¼›2ã€ä»¥â€œ;â€åˆ†éš”çš„å—符串"111;222" notclick_bindfield: [],//å½“è¯¥å—æ®µå€¼ç‰äºŽæŒ‡å®šå—段值时ä¸å¯ç‚¹å‡»["filterfield": "111"] onclick: function(obj) {//æ•°æ®å€¼ç‚¹å‡»äº‹ä»¶ Root.message({ type: 'success', message: obj.val + '点击事件' }); }, }, defaultval: { val: "查看",//空值时的显示值 onclick: function(obj) {//默认值点击事件,æ¤äº‹ä»¶éœ€è¦è®¾ç½®valæ‰æœ‰æ•ˆ Root.message({ type: 'success', message: '默认值点击事件' }); } }, suffixval: { // val: "详情",//有值时的åŽç¼€ï¼Œæ¤åŽç¼€å’Œå•ä½åŽç¼€ä¸åŒï¼Œå¦‚ï¼šè¯¦æƒ…ï¼Œæ›´å¤šï¼ŒæŸ¥çœ‹ç‰ // onclick: function(obj) {//有值时的åŽç¼€ç‚¹å‡»äº‹ä»¶,æ¤äº‹ä»¶éœ€è¦è®¾ç½®valæ‰æœ‰æ•ˆ // //打开 // me.opentest() // } }, popup: { onclick: function(obj) {//弹窗点击事件 Root.message({ type: 'success', message: '弹窗点击事件' }); } }, visible: { onchange: function(obj) {//下拉展开事件 Root.message({ type: 'success', message: '下拉展开事件' }); } }, select: { onchange: function(obj) {//下拉更改事件 Root.message({ type: 'success', message: '下拉更改事件' }); } }, input: { onchange: function(obj) {//输入更改事件 Root.message({ type: 'success', message: '输入更改事件' }); } }, }, }; //表å•å—æ®µäº‹ä»¶è®¾ç½® this.formfieldClick = { product_code: {//å—æ®µäº‹ä»¶è®¾ç½® val: {//有值时的点击事件 onclick: function(obj) {//æ•°æ®å€¼ç‚¹å‡»äº‹ä»¶ Root.message({ type: 'success', message: obj.val + '点击事件' }); }, onchange: function(obj) {//æ•°æ®ä¿®æ”¹äº‹ä»¶ Root.message({ type: 'success', message: 'æ•°æ®ä¿®æ”¹äº‹ä»¶' }); } }, popup: { onclick: function(obj) {//弹窗点击事件 Root.message({ type: 'success', message: '弹窗点击事件' }); } }, visible: { onchange: function(fieldObj, row, callback) {//下拉展开事件 Root.message({ type: 'success', message: '下拉展开事件' }); //釿–°è®¾ç½®é€‰æ‹©é¡¹ if (callback) { var obj_ = { options: [] }; callback(obj_); } } }, select: { onchange: function(obj) {//下拉更改事件 Root.message({ type: 'success', message: '下拉更改事件' }); } }, input: { onchange: function(obj) {//输入更改事件 Root.message({ type: 'success', message: '输入更改事件' }); } }, button: { onclick: function(obj) {//按键点击事件 Root.message({ type: 'success', message: '按键点击事件' }); } }, buttonarray: { onclick: function(obj) {//æŒ‰é”®ç»„ç‚¹å‡»äº‹ä»¶ï¼Œéœ€è¦æ ¹æ®æŒ‰é”®çš„codeæ¥åˆ¤æ–具体事件 Root.message({ type: 'success', message: '按键组点击事件' }); } }, }, }; }, opentest() { var me = this; Root.message({ type: 'success', message: 'åŽç¼€ç‚¹å‡»äº‹ä»¶' }); var config = { totab: false, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "900px", height: "900px", icon: "icon-product", text: "è¡¨å•æ ·ä¾‹é¡µé¢", id: "test_page",//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ //url: "module/system/page/coming.html", url: "module/system/page/sample/sample_form.html", data: {}, delta: {}, sceneCode: "edit", //"add"//"browse", callback: function(obj, callback) { me.onQuery(); if (callback) { callback(); } } }; me.doPopupByPublic(config); }, addData() { let me = this; var config = { totab: false, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "500px", height: "300px", icon: "icon-product", text: "产å“ä¿¡æ¯", id: "product_edit",//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ url: "module/md/page/product/page/product_edit.html", data: {}, delta: {}, sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse", callback: function(obj, callback) { me.onQuery(); if (callback) { callback(); } } }; me.doPopupByPublic(config); }, onEditData(config, scope) { var me = this; var row = scope.row; //1. empty row if (!row || !row.id) { Root.message({ type: 'warning', message: '请选择è¦ç¼–辑的数æ®' }); return false; } //3. popup var config = { totab: false, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "500px", height: "300px", icon: "icon-product", text: "产å“线信æ¯", id: "product_edit" + row.id,//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ url: "module/md/page/product/page/product_edit.html", data: row, delta: null, sceneCode: "edit",//"refuseedit",//"approval", //"add"//"browse", callback: function(obj, callback) { me.onQuery(); if (callback) { callback(); } } }; me.doPopupByPublic(config); }, } }); }; 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 class="topbar"> <span>{{title}}</span> <!-- <div style="margin-right: 18px;float: right;"> <el-button-group style="margin-left: 3px"> <el-button @click="addData">æ·» åŠ </el-button> <el-button @click="isEditTableData = !isEditTableData">{{isEditTableData ? 'å–æ¶ˆç¼–辑' : 'ç¼– 辑'}} </el-button> </el-button-group> </div> --> </div> <div class="topbar-line"> <div class="query-bar"> </div> </div> <div class="h_dialog__body"> <h-table v-if="isRefresh" ref="table1" :table-fields="tableFields" :table-data="tableData" :is-edit-table-data="isEditTableData" :pagesize="pagesize" :pagenum="pagenum" :total="total" :table-height="tableHeight" :table-field-click="tablefieldClick" :tableloading="tableloading" :isdraggableorder="true" v-on:get-data="getData" v-on:edit-data="editData" v-on:del-data="delData" v-on:order-fields="orderTableFields" > </h-table> </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>