<!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>OA信息</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: "",
						title: "OA信息",
						formAttr: {
							istitle: false,
							title: "公司信息编辑",
							columnnumber: 3,
							labelwidth: "100px",
							labelposition: "left",
							size: "medium",
							border: "10px solid #c6c6c600"
						},
						
						formFields: [
							// @{nc_company_id}
							// @{nc_company_code}
							// @{nc_region_id}
							// @{nc_region_code}
							// @{nc_region_name}
							// @{nc_area_id}
							// @{nc_area_code}
							// @{nc_area_name}
							// @{nc_customer_id}
							// @{nc_customer_code}
							// @{oa_department_id}
							// @{oa_employee_id}
							// @{oa_employee_code}
							// @{oa_employee_name}
							{isshow: "T", field: "oa_employee_code", name: "OA员工编码", type: "span", notvalunit: true},
							{isshow: "T", field: "oa_employee_name", name: "OA员工名称", type: "popup", required: true, notvalunit: true},
							{isshow: "T", field: "oa_department_name", name: "OA部门", type: "popup", required: true, notvalunit: true},
							// {isshow: "T", field: "oa_department_id", name: "OA部门", type: "popup", required: true, notvalunit: true},
							
							{isshow: "T", field: "nc_company_id", name: "NCC公司ID", type: "span", notvalunit: true},
							{isshow: "T", field: "nc_company_code", name: "NCC公司编码", type: "span", notvalunit: true},
							{isshow: "T", field: "nc_customer_code", name: "NCC客户编码", type: "span", notvalunit: true},
							
							{isshow: "T", field: "nc_region_id", name: "NCC大区ID", type: "span", notvalunit: true},
							{isshow: "T", field: "nc_region_code", name: "NCC大区编码", type: "span", notvalunit: true},
							{isshow: "T", field: "nc_region_name", name: "NCC大区名称", type: "span", notvalunit: true},
							
							{isshow: "T", field: "nc_area_id", name: "NCC区域ID", type: "span", notvalunit: true},
							{isshow: "T", field: "nc_area_code", name: "NCC区域编码", type: "span", notvalunit: true},
							{isshow: "T", field: "nc_area_name", name: "NCC区域名称", type: "span", notvalunit: true},
						],
						formData: {
							
						},
						//预加载设置
						dataRequest: [],
						md_org_obj: {},
						//弹窗参数
						popupParames: {},
						//字段设置
						tablefieldClick: {},
						formfieldClick: {},
						pageHeight: 0
					},
					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.formData.org_id) {
							var md_org = {
								name: "md_org", // 业务负责人字段
								dataname: "md_org",
								url: "root/data/getEntity",
								paramsobj: {dataname: "md_org", id: this.formData.org_id, attachMeta: true},
								isnotoption: true, //true:不是选项
								filter: "",
							}
							this.dataRequest.push(md_org);
						}
						
					},
					
					mounted() {
						var me = this;
						
						//预加载数据
						if (this.dataRequest && this.dataRequest.length) {
							var result = {};
							this.loadRequestData(this.dataRequest, result, function(data) {
								// // console.log("预加载数据:", data);
								me.dataRequestObj = data;
								if (me.dataRequestObj.md_org) {
									var md_org_obj = me.dataRequestObj.md_org.data.md_org
									if (!me.formData.nc_customer_id) {
										me.formData.nc_customer_id = md_org_obj.nc_id
										me.formData.nc_customer_code = md_org_obj.ncc_code
									}
								}
								
								me.initData();
								// 以服务的方式调用的 Loading 需要异步关闭
								me.$nextTick(() => { 
									hideLoading();
								});
							});
						}
						else {
							this.initData(); // 以服务的方式调用的 Loading 需要异步关闭
							this.$nextTick(() => { 
								hideLoading();
							});
						}
						
						// this.initData();
						
						// // 以服务的方式调用的 Loading 需要异步关闭
						// this.$nextTick(() => { 
						// 	hideLoading();
						// });
					},
					
					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: clone(this.formData)
								}
								this.popupParames.callback(obj, function() {
									me.closeDialog();
								});
							}
							else {
								me.closeDialog();
							}
						},
						
						initData() {
							let me = this;
							
							this.tableFieldClick();
						},
						tableFieldClick() {
							var me = this;
							//表格字段事件设置
							this.tablefieldClick = {}			
							//表单字段事件设置
							this.formfieldClick = {
								oa_employee_name: {
						            popup: {
						                onclick: function(obj) {//弹窗点击事件
											if (!me.formData.company_id) {
												Root.message({
													type: 'warning',
													message: '请先选择公司'
												});
												return
											}
						                    me.openEmployee(function(popupobj){
												let formData_ = clone(me.formData);
												formData_.oa_employee_id = popupobj.row.id
												formData_.oa_employee_code = popupobj.row.code;
												formData_.oa_employee_name = popupobj.row.name;
												
												me.formData = clone(formData_);
											})
						                }
						            }
						        },
						        oa_department_name: {
						            popup: {
						                onclick: function(obj) {//弹窗点击事件
											if (!me.formData.company_id) {
												Root.message({
													type: 'warning',
													message: '请先选择OA部门'
												});
												return
											}
						                    me.openDepartmentOANC(function(popupobj){
						                    	let formData_ = clone(me.formData);
						                    	formData_.oa_department_id = popupobj.row.oa_department_id
						                    	formData_.oa_department_name = popupobj.row.oa_department_name
												
						                    	formData_.nc_company_id = popupobj.row.nc_company_id
						                    	formData_.nc_company_code = popupobj.row.nc_company_code
						                    	// formData_.nc_customer_code = popupobj.row.nc_customer_code
												
						                    	formData_.nc_region_id = popupobj.row.nc_region_id
						                    	formData_.nc_region_code = popupobj.row.nc_region_code
						                    	formData_.nc_region_name = popupobj.row.nc_region_name
												
						                    	formData_.nc_area_id = popupobj.row.nc_area_id
						                    	formData_.nc_area_code = popupobj.row.nc_area_code
						                    	formData_.nc_area_name = popupobj.row.nc_area_name
												
						                    	me.formData = clone(formData_);
						                    })
						                }
						            }
						        },
							};
						},
						
						openEmployee(callback) {
							var me = this;
							var config = {
								totab: false, //true: 以Tab导航的方式打开
								width: "800px",
								height: "520px",
								icon: "icon-product",
								text: "选择员工",
								id: "popup_employee",//totab: true时需设置,用于判断是否已打开此页面
								url: "module/md/page/popup/page/popup_employee.html",
								data: {},
								delta: "",
								// filter: "",
								filter: "org_id='" + me.formData.company_id + "'",
								sceneCode: "add", //"refuseedit",//"approval", //"add"//"browse",
								callback: function(popupobj, popupcallback) {
									callback(popupobj);
									if (popupcallback) {
										popupcallback();
									}
								}
							};
							me.doPopupByPublic(config);
						},
						openDepartmentOANC(callback) {
						    var me = this;
						    var config = {
								totab: false, //true: 以Tab导航的方式打开
								width: "900px",
								height: "500px",
								icon: "icon-product",
								text: "部门关系列表",
								id: "popup_department_oa",//totab: true时需设置,用于判断是否已打开此页面
								url: "module/md/page/popup/page/popup_department_oanc.html",
								data: {},
								delta: {},
								filter: "company_id='" + me.formData.company_id + "'",
								sceneCode: "add",//"refuseedit",//"approval", //"add"//"browse",
								callback: function(obj, popupcallback) {
									callback(obj);
									if (popupcallback) {
										popupcallback();
									}
								}
							};
							me.doPopupByPublic(config);
						},
						
						
						saveData() {
							var me = this;
							var bo_ = this.$refs.form1.checkForm();
							if (!bo_) {
								Root.message({
									type: 'error',
									message: '请填写必填项'
								});
								return
							}
							var param = {
								dataname: "so_order",
								data: {},
							}
							param.data["so_order"] = {
								id: this.formData.id,
								nc_company_id: this.formData.nc_company_id,
								
								nc_company_code: this.formData.nc_company_code,
								// nc_customer_code: this.formData.nc_customer_code,
								nc_region_id: this.formData.nc_region_id,
								nc_region_code: this.formData.nc_region_code,
								nc_region_name: this.formData.nc_region_name,
								nc_area_id: this.formData.nc_area_id,
								nc_area_code: this.formData.nc_area_code,
								nc_area_name: this.formData.nc_area_name,
								
								oa_employee_id: this.formData.oa_employee_id,
								oa_employee_code: this.formData.oa_employee_code,
								oa_employee_name: this.formData.oa_employee_name,
								oa_department_id: this.formData.oa_department_id,
								oa_department_name: this.formData.oa_department_name,
							};
							Server.call("root/data/saveEntity", param, function(result) {
								console.log(result);
								if (result.success) {
									Root.message({
										type: 'success',
										message: '保存成功'
									}); 
									me.saveAfter()
								}
							});
						}
						
					}
				});
			};
			
			loadJsCss(function () {
				initVue();
			});
		</script>
		<style>
			/*  在vue.js中 v-cloak 这个指令是防止页面加载时出现 vuejs 的变量名而设计的 */
			[v-cloak] {
				display: none !important;
			}
			.el-dialog__body {
			    padding: 0px !important;
			    overflow-y: auto;
			}
		</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" @click="saveData">保 存</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>