<!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 src="../../../jsnew/elementDefault.js?v=20220425"></script> <script src="../../../jsnew/vue/vue.js"></script> <script src="../../../jsnew/vue/element-ui/element-ui_15/index.js"></script> <script src="../../../jsnew/myelement.js?v=20220425"></script> <script src="../../../jsnew/page.js?v=20220425"></script> <!-- <script src="../../../setting.js"></script> --> <link href="../../../jsnew/vue/element-ui/element-ui_15/theme-chalk/index.css" rel="stylesheet"> <link href="../../../jsnew/myelement.css?v=20220426" rel="stylesheet"> <link href="../../../jsnew/theme.css?v=20220426" rel="stylesheet"> <link href="../../../css/iconfont.css" rel="stylesheet"> <link href="../../../jsnew/page.css?v=20220425" rel="stylesheet"> <link href="//at.alicdn.com/t/font_2374495_13ltsxm2eor.css" rel="stylesheet"> </head> <body style="margin: 0px;"> <div v-cloak id="vbody"> <div id="page_root"> <div class="topbar" style="display: flex; justify-content: space-between;"> <div> <span>{{title}}</span> </div> </div> <div class="topbar-line"> <div class="query-bar"> <h-form-filter ref="form1" :form-attr="filterAttr" :table-fields="filterFields" :form-data="filterObj" :table-field-click="filterfieldClick" :isdraggableorder="false" v-on:on-query="onQuery" v-on:on-init-query="onInitFilter" v-on:order-fields="orderFilterFields" > </h-form-filter> </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" :is-show-index="true" :tableloading="tableloading" :isdraggableorder="false" 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> <script type="text/javascript"> function initVue() { new ListVue({ el: "#vbody", data: { dataname: "iv_book_balance", title: "开票申请", default_filterFields: [ {isshow: "T", field: "process_no", name: "æµç¨‹å·", filteroperator: "like", type: "",}, ], default_tableFields: [ {isshow: "T", field: "process_no", name: "æµç¨‹å·", filteroperator: "like", width: "150", type: "span", required: true,}, {isshow: "T", field: "apply_date", name: "申请日期",width: "150", type: "span", formatter: "formatter_date", required: true,}, {isshow: "T", field: "applicant_code", name: "申请人编ç ",width: "150", type: "span", required: true,}, {isshow: "T", field: "applicant_name",name: "申请人åç§°",width: "150", type: "span", required: true,}, {isshow: "T", field: "department",name: "所在部门",width: "150", type: "span", required: true,}, {isshow: "T", field: "province",name: "所在çœä»½",width: "150", type: "span", required: true,}, {isshow: "T", field: "invoice_type", name: "å‘票类型", width: "100", type:"span", required: true,}, {isshow: "T", field: "management_body", name: "管ç†ä¸»ä½“", width: "100", type:"span", required: true,}, {isshow: "T", field: "delivery_body", name: "å‘货主体", width: "150", type:"span", required: true,}, {isshow: "T", field: "client_code", name: "客户编ç ", width: "150", type: "span", required: true,}, {isshow: "T", field: "client_name", name: "客户åç§°", width: "200", type:"span", required: true, align: "left"}, {isshow: "T", field: "credit_code", name: "统一信用代ç ", width: "200", type:"span", required: true,}, {isshow: "T", field: "bank", name: "开户银行", width: "200", type: "span", required: true, align: "left"}, {isshow: "T", field: "bank_account", name: "银行账å·", width: "200", type:"span", required: true,}, {isshow: "T", field: "tel_number", name: "è”系电è¯", width: "150", type:"span", required: true,}, {isshow: "T", field: "location", name: "地å€", width: "200", type: "span", required: true, align: "left",}, {isshow: "T", field: "no", name: "åºå·", width: "100", type: "span", required: true,}, {isshow: "T", field: "delivery_no", name: "å‘è´§å•å·", width: "150", type: "span",}, {isshow: "T", field: "delivery_date", name: "å‘货日期", width: "150", type: "span", formatter: "formatter_date",}, {isshow: "T", field: "product_name", name: "å“å", width: "150", type: "span",}, {isshow: "T", field: "spec", name: "è§„æ ¼", width: "200", type:"span", align: "left",}, {isshow: "T", field: "invoice_num", name: "å¯å¼€ç¥¨æ•°é‡", width: "100", type: "span",}, {isshow: "T", field: "apply_num", name: "申请开票数é‡", width: "150", type: "span",}, {isshow: "T", field: "unit", name: "å•ä»·", width: "100", type: "span", formatter: "formatter_money", align: "right"}, {isshow: "T", field: "amount", name: "金é¢", width: "100", type: "span", formatter: "formatter_money", align: "right"}, {isshow: "T", field: "allowance_amount", name: "折让金é¢", width: "100", type: "span", formatter: "formatter_money", align: "right"}, {isshow: "T", field: "invoice_amount", name: "实际开票金é¢", width: "150", type: "span", formatter: "formatter_money", align: "right"}, {isshow: "T", field: "remark_no", name: "备注批å·", width: "150", type: "span",}, {isshow: "T", field: "remark_validity", name: "备注有效期", width: "100", type: "span"}, {isshow: "T", field: "produce_date", name: "备注生产日期",width: "150", type: "span", formatter: "formatter_date",}, {isshow: "T", field: "remark_delivery_no", name: "备注å‘è´§å•å·", width: "150", type: "span",}, {isshow: "T", field: "remark_delivery_date", name: "备注å‘货日期",width: "150", type: "span", formatter: "formatter_date",}, {isshow: "T", field: "issingle", name: "是å¦å•å¼€", width: "100", type:"span",}, {isshow: "T", field: "reviewer", name: "å¸¦æ”¶æ¬¾å¤æ ¸äºº", width: "100", type: "span",}, {isshow: "T", field: "recipient", name: "收货人", type: "span", width: "150"}, {isshow: "T", field: "phone_number", name: "手机å·", width: "150", type: "span",}, {isshow: "T", field: "address", name: "地å€", width: "300", type: "span", align: "left",}, {isshow: "T", field: "invoice_no", name: "å‘票å·", width: "150", type: "span",}, {isshow: "T", field: "on_account_no", name: "挂账å·", width: "150", type: "span",}, {isshow: "T", field: "express_date", name: "快递时间", width: "150", type: "span", formatter: "formatter_date",}, {isshow: "T", field: "express_no", name: "快递å·", width: "150", type: "span",}, {isshow: "T", field: "remark", name: "备注", width: "200", type: "span",}, ], tableData: [ { process_no: "KPSQ202303002931", apply_date: "2023-02-23", applicant_code: "011050", applicant_name: "胡上民", department: "江西(一)分公å¸", province: "江西", invoice_type: "普通å‘票", management_body: "处方è¯", delivery_body: "æ±Ÿè¥¿æµŽé‘«åŒ»è¯æœ‰é™å…¬å¸", client_code: "10002285", client_name: "æˆéƒ½è“‰é£Žè¯æ¢°æœ‰é™å…¬å¸", credit_code: "91510100201957132T", bank: "ä¸å›½é“¶è¡Œå—昌市é’云谱支行", bank_account: "sdrlyy", tel_number: "0791-87339719", location: "江西çœå—æ˜Œå¸‚å—æ˜Œé«˜æ–°æŠ€æœ¯äº§ä¸šå¼€å‘区瑶湖北大é“3333å·æµŽæ°‘å¯ä¿¡", no: "1", delivery_no: "DY202301003580", delivery_date: "2023-01-13", product_name: "间苯三酚注射液", spec: "4ml:40mg*6支*150ç›’/ç®±", invoice_num: "900", apply_num: "120", unit: "14.51", amount: "1741", allowance_amount: "0", invoice_amount: "1741", remark_no: "30221025", remark_validity: "30", produce_date: "2022-03-22", remark_delivery_no: "8000009157", remark_delivery_date: "2023-01-13 09:40:02", issingle: "å¦", reviewer: "任欢", recipient: "刘西å·", phone_number: "15008463473", address: "æˆéƒ½å¸‚æ¦ä¾¯åŒºæ¦ä¾¯æ–°åŸŽç®¡å§”会æ¦ç§‘西四路99å·3æ ‹1楼1å·2层201", invoice_no: "09387333", on_account_no: "23gzh", express_date: "2023-01-14", express_no: "761173748367", remark: "", }, ], filterfieldClick: {}, tablefieldClick: {}, formfieldClick: {}, }, created() { }, mounted() { //èŽ·å–æ•°æ® this.initData(); this.$nextTick(() => { // 以æœåŠ¡çš„æ–¹å¼è°ƒç”¨çš„ Loading 需è¦å¼‚æ¥å…³é— hideLoading(); }); }, methods:{ onInitFilter() { //清空 this.filterObj = {}; this.selectedrow = {}; this.initData(); }, onQuery() { this.initData(); }, initData() { var me = this; if (!me.filterFields || (me.filterFields && me.filterFields.length == 0)) { me.filterFields = clone(me.default_filterFields); me.tableFields = clone(me.default_tableFields); //å—æ®µæ•°ç»„è½¬å—æ®µobj me.fieldsToFieldsObj(); //è®¾ç½®å—æ®µäº‹ä»¶ me.tableFieldClick(); } this.tableDataAfter(); // 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_); // //å—æ®µæ•°ç»„è½¬å—æ®µ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); }, } }); }; initVue(); </script> <style> /* 在vue.jsä¸ v-cloak 这个指令是防æ¢é¡µé¢åŠ è½½æ—¶å‡ºçŽ° vuejs çš„å˜é‡å而设计的 */ [v-cloak] { display: none !important; } </style> </body> </html>