<!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>