<!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 initlized = false; var pageVue = null; function loadJsCss(callback) { var jscss_urls = [ ]; window.top.initJsCss(document, jscss_urls, callback); } function initVue() { new ListVue({ el: "#vbody", data: { dataname: "so_sales_report", title: "销é‡ä¸ŠæŠ¥", orderby: "", filterFields:[ // {isshow: "T", field: "year", name: "年份", filterfield:"", filteroperator: "like", type: ""}, ], tableFields:[ // {field: "commit", name: "æäº¤äºº", isshow: "T", align: "center",width: "100"}, // {field: "year", name: "年份", isshow: "T", align: "center"}, // {field: "monthno", name: "月份", isshow: "T", align: "center"}, // {field: "product_line", name: "产å“线", isshow: "T", align: "left",width: "150"}, // {field: "customer_code", name: "ç»é”€å•†ç¼–ç ", isshow: "T", align: "center", width: "150"}, // {field: "customer_name", name: "ç»é”€å•†åç§°", isshow: "T", align: "left",width: "250"}, // {field: "hospital_code", name: "医院编ç ", isshow: "T", align: "center", width: "150"}, // {field: "hospital_name", name: "医院åç§°", isshow: "T", align: "left",width: "250"}, // {field: "product_code", name: "产å“ç¼–ç ", isshow: "T", align: "center", width: "150"}, // {field: "product_name", name: "产å“åç§°", isshow: "T", align: "left",width: "250"}, // {field: "qty_begin", name: "实际æ¤å…¥æ•°é‡", isshow: "T", align: "right", width: "100"}, // {field: "qty_end", name: "ç«žå“æ¤å…¥æ•°é‡", isshow: "T", align: "right", width: "100"}, // {field: "date", name: "æäº¤æ—¥æœŸ", isshow: "T", align: "center",width: "100"}, // {field: "remark", name: "备注", isshow: "T", align: "center",width: "100"}, ], filterfieldClick: {}, tablefieldClick: {}, formfieldClick: {}, dataRequest: [], dataRequestObj: {}, cbuttons_r: {}, ctabs_r: {}, tabs_d: [], isc: false, button_open: true, saveUser: "", }, created() { if (window.top.vue.userinfo && window.top.vue.userinfo.org && window.top.vue.userinfo.org.is_account) { this.filterTxt = "org_id='" + window.top.vue.userinfo.org.id + "'"; this.isc = true; var org_product_ = { name: "org_product", dataname: "md_org_data.md_org_product",//授æƒäº§å“分类 //url: "root/front/getOneDictionary", //paramsobj: { code: "OrgType", }, filter: "parent_id='" + window.top.vue.userinfo.org.id + "'", isnotoption: false, //true:䏿˜¯é€‰é¡¹ code:"product_category_name",//是下拉选项时设置 label:"product_category_name",//是下拉选项时设置 } this.dataRequest.push(org_product_); } else { var org_product_ = { name: "org_product", dataname: "md_product_authorize",//授æƒäº§å“分类 //url: "root/front/getOneDictionary", //paramsobj: { code: "OrgType", }, isnotoption: false, //true:䏿˜¯é€‰é¡¹ code:"name",//是下拉选项时设置 label:"name",//是下拉选项时设置 orderby: "order_no" } this.dataRequest.push(org_product_); if (window.top.vue.userinfo && window.top.vue.userinfo.employee) { this.saveUser = window.top.vue.userinfo.employee.id; } } var statusQuery = { name: "status", // dataname: "md_product_authorize",//授æƒäº§å“分类 url: "root/getEnvironmentVariant/statusQuery", //paramsobj: { code: "OrgType", }, isnotoption: true, //true:䏿˜¯é€‰é¡¹ // code:"name",//是下拉选项时设置 // label:"name",//是下拉选项时设置 } this.dataRequest.push(statusQuery); }, mounted() { var me = this; if (window.top.tab.selected.option.page_id) { getPageByPageId(window.top.tab.selected.option.page_id, function(result){ me.cbuttons_r = result.buttons_r; me.ctabs_r = result.tabs_r; var tabsarr = []; me.tabs_d.map(e=>{ if(me.ctabs_r[e.code]){ tabsarr.push(e) } }) me.tabs = tabsarr; if(me.tabs.length>0){ me.activeTabName = me.tabs[0].code; } //é¢„åŠ è½½æ•°æ® if (me.dataRequest && me.dataRequest.length) { var result = {}; me.loadRequestData(me.dataRequest, result, function(data) { me.dataRequestObj = data; if(me.dataRequestObj.status && me.dataRequestObj.status.data && me.dataRequestObj.status.data.is_salesreport_open) { if(me.dataRequestObj.status.data.is_salesreport_open =="F") { me.button_open = false; } } //èŽ·å–æ•°æ® me.initData(); me.$nextTick(() => { // 以æœåŠ¡çš„æ–¹å¼è°ƒç”¨çš„ Loading 需è¦å¼‚æ¥å…³é— hideLoading(); }); }); } else { //èŽ·å–æ•°æ® me.initData(); me.$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) { if(f.field == "product_category_name") {//产å“分类åç§° f.options = me.dataRequestObj.org_product; } 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_); } } //å—æ®µæ•°ç»„è½¬å—æ®µobj,目的为了ç›é€‰æ—¶èŽ·å–å—æ®µå±žæ€§ me.fieldsToFieldsObj(); //è®¾ç½®å—æ®µäº‹ä»¶ me.tableFieldClick(); if (callback) { callback(); } }); }, tableFieldClick() { var me = this; //ç›é€‰å—段事件设置 this.filterfieldClick = { code: { //å—æ®µäº‹ä»¶è®¾ç½® popup: { onclick: function(obj) { //弹窗点击事件 me.opentest(obj); } }, 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 = { // code: { //å—æ®µäº‹ä»¶è®¾ç½® // val: { //有值时的点击事件 // notclick_val: "", //ä¸å¯ç‚¹å‡»çš„值,1ã€æ˜¯æ•°ç»„["11","22"]ï¼›2ã€ä»¥â€œ;â€åˆ†éš”çš„å—符串"111;222" // notclick_bindfield: [], //å½“è¯¥å—æ®µå€¼ç‰äºŽæŒ‡å®šå—段值时ä¸å¯ç‚¹å‡»["filterfield": "111"] // onclick: function(obj) { //æ•°æ®å€¼ç‚¹å‡»äº‹ä»¶ // //查看详情 // me.showInfo(obj); // }, // }, // }, field9: { defaultval: { val: "附件", //空值时的显示值 onclick: function(obj) { //默认值点击事件,æ¤äº‹ä»¶éœ€è¦è®¾ç½®valæ‰æœ‰æ•ˆ me.showInfo(obj); } }, }, }; }, DownloadTemplate() { var elemIF = document.createElement('iframe') // category=file_index&token=admin&id=sales_report var url = config.url_root + "root/file/getFile?category=file_index&token=" + Root.getToken() + "&id=sales_report"; elemIF.src = url; elemIF.style.display = 'none' document.body.appendChild(elemIF) }, onPopupByUploadFile() { var me = this; var delta_ = { filetypelist: [], isToDB: true, dataname: this.dataname, tableFields: this.tableFields } var config = { totab: false, width: "500px", icon: "icon-product", text: "æ•°æ®æ–‡ä»¶ä¸Šä¼ ", id: "popup_uploadFileToDB", url: "module/tool/page/popup_uploadFileToDB.html", data: { uploadType: "so_sales_report", tempTable: "temp_sales_report", operate_type: "salesReport", }, delta: delta_, callback: function(obj, callback) { me.$message({ showClose: true, message: 'ä¸Šä¼ æˆåŠŸï¼', type: 'success' }); me.onQuery(); if (callback) { callback(); } } }; this.doPopupByPublic(config); }, // showInfo(obj) { // var me = this; // var config = { // totab: false, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ // width: "1200px", // height: "900px", // icon: "icon-product", // text: "退货å•ä¿¡æ¯", // id: "return_list_info",//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ // url: "module/order/page/return_list_info.html", // data: obj.row, // delta: {}, // sceneCode: "browse",//"refuseedit",//"approval", //"add"//"browse", // callback: function(obj, callback) { // me.onQuery(); // if (callback) { // callback(); // } // } // }; // me.doPopupByPublic(config); // }, //新增订å•button onAddData() { var me = this; var config = { totab: true, //true: 以Tabå¯¼èˆªçš„æ–¹å¼æ‰“å¼€ width: "900px", height: "900px", icon: "icon-product", text: "销é‡ä¸ŠæŠ¥", id: "batch_report_info" + "add",//totab: trueæ—¶éœ€è®¾ç½®ï¼Œç”¨äºŽåˆ¤æ–æ˜¯å¦å·²æ‰“å¼€æ¤é¡µé¢ url: "module/order/page/batch_report_info.html", data: {}, delta: {}, sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse", callback: function(obj, callback) { me.onQuery(); if (callback) { callback(); } } }; me.doPopupByPublic(config); }, onDelData() { var me = this; var row = me.selectedrow; // 1. not input // if (row.state_code != "Input") { // Root.message({ // type: "warning", // message: "当剿•°æ®ä¸æ˜¯è¾“入状æ€", // }); // return false; // } Root.confirm('ç¡®å®šåˆ é™¤å—?', 'åˆ é™¤æç¤º', { confirmButtonText: 'åˆ é™¤', cancelButtonText: 'å–æ¶ˆ', type: 'warning' }).then(() => { let param = { id: row.id, dataname: me.dataname, } Server.call("root/data/deleteEntity", param, function(result) { console.log(result); Root.message({ type: 'success', message: 'åˆ é™¤æˆåŠŸ!' }); me.onQuery(); }); }).catch(() => { Root.message({ type: 'info', message: '已喿¶ˆåˆ 除' }); }); }, //ç¼– 辑——编辑 onEditData(config) { var me = this; var row = me.selectedrow; //1. not input // if ("Input" != row.state_code && "refuse" != row.state_code) { // Root.message({ // type: "warning", // message: "当剿•°æ®ä¸æ˜¯è¾“入状æ€", // }); // return false; // } //3. popup config = { totab: true, icon: "icon-product", text: "销é‡ä¸ŠæŠ¥", width: "900px", height: "900px", id: "batch_report_info" + row.id + "edit", url: "module/order/page/batch_report_info.html", sceneCode: "edit", data: row, delta: {}, callback: function(obj, callback) { me.onQuery(); if (callback) { callback(); } }, }; me.doPopupByPublic(config); }, onDownload() { let me = this; var filter_ = "1 = 1"; filter_ = this.getFilterData(filter_); let param = { dataname: 'so_sales_report', filename: '销é‡ä¸ŠæŠ¥å¯¼å‡º' + String(new Date().getTime()), filter: filter_, orderby: "update_time desc", token: Root.getToken() } if(me.saveUser != "") { param.user_id = me.saveUser; } textdownloadForm(param); }, }, }); } 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="float: right; margin-right: 18px"> <el-button-group style="margin-left: 3px"> <el-button v-show="cbuttons_r.Import" @click="DownloadTemplate">模æ¿ä¸‹è½½</el-button> <el-button v-show="cbuttons_r.Import" :disabled="!button_open" @click="onPopupByUploadFile":icon="buttonsconfig.import.icon">{{buttonsconfig.import.name}}</el-button> </el-button-group> <el-button-group style="margin-left: 3px"> <el-button v-show="cbuttons_r.Import" :disabled="!button_open" @click="addData" :icon="buttonsconfig.add.icon">{{buttonsconfig.add.name}}</el-button> <el-button v-show="cbuttons_r.Import" :disabled="!(selectedrow && selectedrow.id && button_open)" @click="onEditData" :icon="buttonsconfig.edit.icon">{{buttonsconfig.edit.name}} </el-button> <el-button v-show="cbuttons_r.Import" :disabled="!(selectedrow && selectedrow.id && button_open)" type = "danger" @click="onDelData" :icon="buttonsconfig.delete.icon">{{buttonsconfig.delete.name}} </el-button> </el-button-group> <el-button-group style="margin-left: 3px"> <el-button v-show="cbuttons_r.Import" @click="onDownload" :icon="buttonsconfig.export.icon">{{buttonsconfig.export.name}}</el-button> </el-button-group> </div> </div> <div class="topbar-line"> <div class="query-bar" style="width: 100%"> </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" :is-highlight-row="true" :table-field-click="tablefieldClick" v-on:get-data="getData" v-on:edit-data="editData" v-on:del-data="delData" v-on:row-click="rowClick"> </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>