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