<!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>产å“SKU选择弹窗</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: "md_prod_sku", //"md_hospital", title: "产å“选择弹窗", pageAttr: { heightType: "popuppage" }, filterAttr: { columnnumber: 3, labelwidth: "100px", labelposition: "right",//"left",//"right", size: "medium", border: "0px solid #c6c6c600" }, filterfieldClick: {}, tablefieldClick: {}, formfieldClick: {}, selectedrows: [], orderby: "spec", isinputqty: false,// 是å¦éœ€è¦æ·»åŠ ä¸€ä¸ªæ•°é‡è¾“入嗿®µ isinputedit: false, // 是å¦å¯ç¼–è¾‘è¡Œæ•°æ® shoppingcartRewriteFields: ["input_qty", "h_notrowclick"], // 在è´ç‰©è½¦ä¸çš„æ•°æ®è¦å›žå†™åˆ°é‡æ–°æŸ¥è¯¢æ•°æ®ä¸çš„å—æ®µ }, created() { this.popupParames = clone(Root.popupParames); this.title = this.popupParames.title || this.popupParames.text if (this.popupParames.filter) { this.filterTxt = this.popupParames.filter } if (this.popupParames.dataname) { this.dataname = this.popupParames.dataname; } if (this.popupParames.delta && this.popupParames.delta.isinputqty) { // 是å¦éœ€è¦æ·»åŠ ä¸€ä¸ªæ•°é‡è¾“入嗿®µ this.isinputqty = this.popupParames.delta.isinputqty; this.isinputedit = true } if (this.popupParames.sceneCode) { if (this.popupParames.sceneCode == "add") {//新增 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() { //èŽ·å–æ•°æ® this.initData(); this.$nextTick(() => { // 以æœåŠ¡çš„æ–¹å¼è°ƒç”¨çš„ Loading 需è¦å¼‚æ¥å…³é— hideLoading(); }); }, methods:{ //å…³é—弹窗 closeDialog() { this.docloseDialog(true); }, //å…³é—å‰è°ƒå›žè°ƒ saveAfter() { var me = this; var selectedrows = this.$refs.table1.getShoppingcart(); if(this.popupParames.callback) { let obj = { list: clone(selectedrows) // row: clone(this.selectedrow) } this.popupParames.callback(obj, function() { me.docloseDialog(); }); } else { me.docloseDialog(); } }, 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 (f.field == "spec" && me.isinputqty) { var f_input_qty = {isshow: "T", field: "input_qty", name: "输入数é‡", inputtype: "input", inputkeys: "number", align: "right", width: "100", isfixed: "right", istablesum: true} tableFields_.push(clone(f_input_qty)); } }) if (!me.filterFields || (me.filterFields && me.filterFields.length == 0)) { me.filterFields = clone(filterFields_); me.tableFields = clone(tableFields_); //å—æ®µæ•°ç»„è½¬å—æ®µobj,目的为了ç›é€‰æ—¶èŽ·å–å—æ®µå±žæ€§ me.fieldsToFieldsObj(); //è®¾ç½®å—æ®µäº‹ä»¶ me.tableFieldClick(); } } if (callback) { callback(); } }); }, tableFieldClick() { var me = this; //ç›é€‰å—段事件设置 this.filterfieldClick = { }; //è¡¨æ ¼å—æ®µäº‹ä»¶è®¾ç½® this.tablefieldClick = { input_qty: {//å—æ®µäº‹ä»¶è®¾ç½® cell: {// å•å…ƒæ ¼ç‚¹å‡»äº‹ä»¶ onclick: function(obj) { // 有å•å…ƒæ ¼ç‚¹å‡»äº‹ä»¶çš„ï¼Œæ¤å•å…ƒæ ¼ç‚¹å‡»æ—¶ä¸è§¦å‘行点击事件 } }, input: { onchange: function(obj) {//输入更改事件 if (obj.row.input_qty && obj.row.input_qty != "0") {// 如果有数é‡åˆ™é€‰ä¸è¯¥è¡Œ obj.row.h_notrowclick = true // 设置行选ä¸é”定 me.$refs.table1.selectedRow(obj.row, true); } else { obj.row.h_notrowclick = false // å–æ¶ˆè¡Œé€‰ä¸é”定 } } }, }, }; //表å•å—æ®µäº‹ä»¶è®¾ç½® this.formfieldClick = { }; }, selectionChange(obj){ var me = this; me.selectedrows = obj; }, saveShoppingcart(list) { var me = this; me.selectedrows = list; }, onRowDblClick() { if (this.isedit) { this.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 class="h_dialog__body"> <h-table v-if="isRefresh && tableFields.length" ref="table1" :table-fields="tableFields" :table-data="tableData" :pagesize="pagesize" :pagenum="pagenum" :total="total" :table-height="tableHeight" :table-field-click="tablefieldClick" :is-highlight-row="isedit" :is-show-index="false" :filtersobj="filterObj" :is-within-edit-table-data="isinputedit" :shoppingcart-rewrite-fields="shoppingcartRewriteFields" v-on:get-data="getData" v-on:row-click="rowClick" :select-table-data="selectedrows" :is-selection="true" :isshow-shoppingcart="true" v-on:selection-change="selectionChange" v-on:save-shoppingcart="saveShoppingcart" > </h-table> </div> <!-- 底部工具æ --> <div class="el-dialog__footer"> <el-button size="small" type="default" @click="closeDialog">å– æ¶ˆ</el-button> <el-button size="small" v-if="isedit" type="primary" @click="saveAfter">ç¡® 定</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>