<!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 FormVue({
					el: "#vbody",
					data: {
						dataname: "so_order_detail",
						title: "订单现实买赠信息",
						formAttr: {
							istitle: false,
							title: "现实买赠信息",
							columnnumber: 1,
							labelwidth: "100px",
							labelposition: "top", //"left",
							size: "medium",
							border: "10px solid #c6c6c600"
						},
						
						formFields: [],
						options_md_geo_province: [],
						newformData: {},
						formData: {},
						//预加载设置
						dataRequest: [
							
						],
						dataRequestObj: {},
						
						//按键权限设置
						isedit: false,//提交前编辑,保存/提交
						isrefuseedit: false,//拒绝后编辑,保存/再次提交
						isapproval: false,//审批,同意/拒绝/转办/退回
						
						iscommit: false,//提交标记
						
						//弹窗参数
						popupParames: {},
						//字段设置
						tablefieldClick: {},
						formfieldClick: {},
						pageHeight: 0,
						
						company_id: "",
						bu_id: "",
						customer_id: "",
					},
					created() {
						this.popupParames = clone(Root.popupParames);
						this.title = this.popupParames.title || this.popupParames.text;
						// this.pageHeight = this.popupParames.height.replace("px", "") * 1 - 92
						this.pageHeight = document.documentElement.clientHeight * 1 - 52 ;
						if (this.popupParames.data) {
							this.formData = clone(this.popupParames.data);
						}
						if (this.popupParames.delta) {
							this.company_id = clone(this.popupParames.delta.company_id);
							this.bu_id = clone(this.popupParames.delta.bu_id);
							this.customer_id = clone(this.popupParames.delta.customer_id);
						}
						
						if (this.popupParames.sceneCode) {
							if (this.popupParames.sceneCode == "add") {//新增
								//动态获取默认数据
								var newEntity_ = {
									name: "newEntity",
									url: "root/data/newEntity",
									paramsobj: {dataname: this.dataname},
									isnotoption: true, //true:不是选项
								}
								this.dataRequest.push(newEntity_);
								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() {
						var me = this;
						//预加载数据
						if (this.dataRequest && this.dataRequest.length) {
							var result = {};
							this.loadRequestData(this.dataRequest, result, function(data) {
								me.dataRequestObj = data;
								// 预加载数据后给哪些字段设置options或formatterjson
								if (me.dataRequestObj.newEntity) {
									var formData = clone(me.dataRequestObj.newEntity.data[me.dataname]);
									// formData.product_category_name = [];
									if (me.newformData) {
										let formData_ = clone(formData);
										
										for (var k in me.newformData) {
											if (!formData_[k]) {
												formData_[k] = me.newformData[k];
											}
										}
								
										me.formData = formData_;
									}
								}
								
								me.initData();
							});
						}
						else {
							this.initData();
						}
						
						// 以服务的方式调用的 Loading 需要异步关闭
						this.$nextTick(() => { 
							hideLoading();
							
							//重新设置弹窗宽高
							this.$nextTick(function(){
								//let w_ = this.$refs.popup_body.offsetWidth + "px";
								// let w_ = "900px";
								// let h_ = this.$refs.popup_body.offsetHeight + "px";
								// Root.setPopupWH(w_, h_);
							})
						});
					},
					
					methods:{
						//关闭弹窗
						closeDialog() {
							var me = this;
							if (me.popupParames.totab){
								Root.tab.removeItem(Root.tab.selected);
								Root.tab.open(me.popupParames.parentOption, false); 
							}
							else {
								Root.hidePopup();
							}
						},
						//关闭前调回调
						saveAfter() {
							var me = this;
							if(this.popupParames.callback) {
								let obj = {
									row: this.formData
								}
								this.popupParames.callback(obj, function() {
									me.closeDialog();
								});
							}
							else {
								me.closeDialog();
							}
						},
						
						initData() {
							let me = this;
							var id_ = null;
							if (this.formData.id) {
								id_ = this.formData.id;
							}
							this.getRowDataById(id_, function(result) {//查询后的回调,用于获取字段的
								console.log(result)
								if (result.meta) {
									var metas = clone(result.meta[me.dataname].fields);
									var formFields_ = [];
									metas.map(f=>{
										f.isshow = "F";
										if (f.field == "record_no" || f.field == "product_name") {
											f.inputtype = "popup"
										}
										if (f.field == "record_id" || f.field == "record_no"
											|| f.field == "product_id" || f.field == "product_code" || f.field == "product_name"
											|| f.field == "spec"
										) {
											f.isshow = "T";
										}
										
										formFields_.push(clone(f));
									})
									
									if (!me.formFields || (me.formFields && me.formFields.length == 0)) {
										me.formFields = clone(formFields_);
									}
								}
								me.tableFieldClick();
							})
						},
						
						tableFieldClick() {
							var me = this;
							//表格字段事件设置
							this.tablefieldClick = {
								
							};
						
							//表单字段事件设置
							this.formfieldClick = {
								record_no: {
									popup: {
										onclick: function(obj) {
											// 获取现实买赠备案
											me.openRealityGiftRecordByOrgBU("add", function(popupobj){
												var formData_ = clone(me.formData);
												formData_ = {
													product_name: "",
													product_code: "",
													product_id: "",
													sku_id: "",
													spec: "",
													unit: "",
													type_code: "realitygift",
													type_name: "现实买赠",
													
													record_id: popupobj.row.id,
													record_no: popupobj.row.record_no,
													qty: 1,
													price_before_tax: 0,
												}
												me.formData = clone(formData_)
											});
										}
									}
								},
								
								product_name: {
									popup: {
										onclick: function(obj) {
											// 获取满足选择备案的SKU
											me.openProductList("add", function(popupobj){ // qty买赠, amt折扣
												var formData_ = clone(me.formData);
												formData_.product_name = popupobj.row.product_name
												formData_.product_code = popupobj.row.product_code
												formData_.product_id = popupobj.row.product_id
												formData_.sku_id = popupobj.row.id
												formData_.spec = popupobj.row.spec
												formData_.unit = popupobj.row.unit
												me.formData = clone(formData_)
											});
										}
									}
								},
								
							};
						},
						openRealityGiftRecordByOrgBU(sceneCode, callback) {
							var me = this;
							var config = {
								totab: false, //true: 以Tab导航的方式打开
								width: "800px",
								height: "520px",
								icon: "icon-product",
								text: "选择现实买赠备案",
								id: "popup_record",//totab: true时需设置,用于判断是否已打开此页面
								url: "module/order/page/popup/popup_record.html",
								data: {},
								delta: "",
								filter: "company_id='"+ me.company_id + "' and bu_id='" + me.bu_id + "'",
								sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
								callback: function(popupobj, popupcallback) {
									callback(popupobj)
									
									if (popupcallback) {
										popupcallback();
									}
								}
							};
							me.doPopupByPublic(config);
						},
						
						openProductList(sceneCode, callback) {
							var me = this;
							var data_ = {};
							var text_ = "产品";
							
							var config = {
								totab: false, //true: 以Tab导航的方式打开
								width: "1100px",
								height: "520px",
								icon: "icon-product",
								text: text_ + "选择",
								id: "popup_rebatedetail",//totab: true时需设置,用于判断是否已打开此页面
								// url: "module/performance/page/popup/page/popup_rebatedetail.html",
								url: "module/md/page/popup/page/popup_product_sku.html",
								dataname: "",
								data: data_,
								delta: {},
								filter: "EXISTS ( SELECT * FROM md_bu_product where md_prod_sku.product_id = product_id and bu_id='" + me.bu_id + "')",
								sceneCode: sceneCode,//"refuseedit",//"approval", //"add"//"browse",
								callback: function(popupobj, popupcallback) {
									callback(popupobj)
									
									if (popupcallback) {
										popupcallback();
									}
								}
							};
							me.doPopupByPublic(config);
						},
						
						saveRowTable() {
							//必填项校验
							var bo1 = this.$refs.form1.checkForm();
							if(!bo1){
								Root.message({
									type: 'error',
									message: '请填写必填项'
								}); 
								return;
							}
							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 v-if="popupParames.totab" class="el-dialog__header">
						<div class="dialog-title">
						  <i class="iconfont icon-customermanagement"></i>
						  <span> {{title}}</span>
						</div>
					</div>	
					<div :style="{'overflow-y': 'auto', height: pageHeight + 'px'}">
						<div class="el-dialog__body">
							<h-form
								ref="form1"
								:form-attr="formAttr"
								:table-fields="formFields"
								:form-data="formData"
								:table-field-click="formfieldClick"
							>
							</h-form>
						</div>
					</div>
					<div class="el-dialog__footer">
						<el-button size="small" type="default" @click="closeDialog">取 消</el-button>
						<el-button size="small" v-if="isedit || isrefuseedit" type="primary" @click="saveRowTable":icon="buttonsconfig.save.icon">确 定</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>