<!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 BasicsVue({
|
el: "#vbody",
|
data: {
|
//dataname: "agm_record",
|
form_dataname: "agm_template",
|
table_dataname: "agm_template_field_mapping",
|
dataRequest: [
|
{
|
isClientMode: false,
|
name: "agm_category",
|
//url: "root/front/getOneDictionary",
|
//paramsobj: { code: "OrgType", },
|
// filter: " 1=1",
|
isnotoption: false, //true:不是选项
|
code:"id",//是下拉选项时设置
|
label:"name",//是下拉选项时设置
|
},
|
|
{
|
isClientMode: false,
|
name: "agm_record_template",
|
dataname: "agm_template",
|
//url: "root/front/getOneDictionary",
|
//paramsobj: { code: "OrgType", },
|
filter: " type='record' and state_code = 'Open'",
|
isnotoption: false, //true:不是选项
|
code:"id",//是下拉选项时设置
|
label:"name",//是下拉选项时设置
|
},
|
|
|
{
|
isClientMode: false,
|
name: "agm_agreement_field",
|
dataname: "agm_field",
|
filter: " table_name='agm_agreement'",
|
orderby: "orderno",
|
isnotoption: false, //true:不是选项
|
code:"id",//是下拉选项时设置
|
label:"name",//是下拉选项时设置
|
},
|
{
|
isClientMode: false,
|
name: "agm_agreement_detail_field",
|
dataname: "agm_field",
|
filter: " table_name='agm_agreement_detail'",
|
orderby: "orderno",
|
isnotoption: false, //true:不是选项
|
code:"id",//是下拉选项时设置
|
label:"name",//是下拉选项时设置
|
},
|
],
|
dataRequestObj: {},
|
tree_agm_category: [],
|
|
title: "授权书模板编辑",
|
formAttr: {
|
istitle: false,
|
title: "模板编辑",
|
columnnumber: 3,
|
labelwidth: "90px",
|
labelposition: "left",// right
|
size: "medium",
|
border: "0px solid #c6c6c600",
|
borderleft: "0px solid #c6c6c600",
|
bordertop: "8px solid #c6c6c600",
|
},
|
formFields: [
|
{isshow: "T", field: "creator_name", name: "创建人", type: "span", notvalunit: true},
|
{isshow: "T", field: "create_time", name: "创建时间", type: "span", notvalunit: true},
|
//{isshow: "T", field: "state_code", name: "Input/Open/Close", width: "100"},
|
//{isshow: "T", field: "state_name", name: "状态", width: "100"},
|
//{isshow: "T", field: "category_id", name: "agm_category.id", width: "100"},
|
// {isshow: "T", field: "category_name", name: "协议类型", type: "selectbyadd", isrefresh: true, options: [{label: "主渠道",value: "ZQD"}, {label: "佣金",value: "YJ"}, {label: "二次议价",value: "ECYJ"}], notvalunit: true},
|
// {isshow: "T", field: "category_id", name: "协议类型", type:"cascader", notshowalllevels: true, isrefresh:true, options: [], props:{value: "id", label: "name"}, notvalunit: true},//, checkStrictly: true
|
{isshow: "T", field: "name", name: "模板名称", notvalunit: true},
|
{isshow: "T", field: "date_from", name: "生效日期", type: "date", notvalunit: true},
|
{isshow: "T", field: "date_to", name: "失效日期", type: "date", notvalunit: true},
|
// {isshow: "T", field: "record_to", name: "适用备案", disabled: true, type: "checkboxobj", options: [], notvalunit: true, colspan: 2},
|
// {isshow: "T", field: "apply_to", name: "适用描述", type: "textarea", notvalunit: true},
|
//{isshow: "T", field: "creator_id", name: "创建人-ID", width: "100"},
|
// {isshow: "T", field: "update_time", name: "修改时间", width: "100"},
|
{isshow: "T", field: "remark", name: "备注", type: "textarea", notvalunit: true, colspan: 2},
|
],
|
|
activeName: "",
|
formAttr2: {
|
istitle: false,
|
title: "模板编辑",
|
columnnumber: 1,
|
labelwidth: "110px",
|
labelposition: "top", //"left",// right
|
size: "medium",
|
border: "10px solid #00000000",
|
|
},
|
formFields2: [
|
{isshow: "T", field: "fieldlist", name: "", type: "checkboxobjgroup", valuewidth: "130px", disabled: true, options: [], notvalunit: true},
|
],
|
formFields3: [
|
{isshow: "T", field: "fieldlist", name: "", type: "checkboxobjgroup", valuewidth: "130px", options: [], notvalunit: true},
|
],
|
formFields4: [
|
{isshow: "T", field: "fieldlist", name: "", type: "checkboxobjgroup", valuewidth: "130px", options: [], notvalunit: true},
|
],
|
|
//协议头字段
|
argeement_fields_base: [],
|
//协议明细字段
|
argeement_fields_detail: [],
|
//备案Type
|
record_types: [],
|
recordTypesObj: {},
|
//备案字段ByType
|
record_fieldsbytype: {},
|
recordFieldMap: {},
|
//明细组
|
argeement_group: [],
|
argeement_group_obj: {},
|
//明细字段
|
argeement_group_fields: {},
|
|
tableFieldsBase_edit: [
|
{isshow: "T", field: "field_id", name: "协议基础字段", type: "select", isrefresh:true, options: [], props:{value: "code", label: "name", checkStrictly: true}},
|
],
|
|
tableFields_edit: [
|
{isshow: "T", field: "field_id", name: "协议字段", type: "select", isrefresh:true, options: [], props:{value: "code", label: "name", checkStrictly: true}},
|
{isshow: "T", field: "record_field_id", name: "备案字段", type: "select", isrefresh:true, options: [], props:{value: "code", label: "name", checkStrictly: true}},
|
],
|
|
tableFieldsBase_browse: [
|
{isshow: "T", field: "field_id", name: "协议基础字段", type: "select", disabled:true, options: [], props:{value: "code", label: "name", checkStrictly: true}},
|
],
|
|
tableFields_browse: [
|
{isshow: "T", field: "field_id", name: "协议字段", type: "select", disabled:true, options: [], props:{value: "code", label: "name", checkStrictly: true}},
|
{isshow: "T", field: "record_field_id", name: "备案字段", type: "select", disabled:true, options: [], props:{value: "code", label: "name", checkStrictly: true}},
|
],
|
tableFieldsBase: [],
|
tableFields: [],
|
selectTabObj: {},
|
isrowgroup: false,
|
formgroup: {},
|
formFields_group: [
|
{isshow: "T", field: "relationname", name: "备案类型", type: "span", notvalunit: true},
|
],
|
|
|
isRefresh: true,
|
newRowDefault: {
|
//id: uuid_short(),
|
//code: createCode("BA"),
|
versionno: "1",
|
create_time: createDatetime(),
|
state_code: "Draft",
|
state_name: "草稿",
|
creator_name: window.top.vue.userinfo.name,
|
// record_to: [],
|
date_from: "2022-01-01",
|
date_to: "2022-12-31",
|
},
|
formData: {},
|
|
isWithinEditTableData: false,
|
isedit: false,
|
isrefuseedit: false,
|
Approval: false,
|
|
tableHeight: 200,
|
tableData1: [],
|
tableData2: [],
|
tableData3: [],
|
agmFieldsObj: {},
|
isCommit: false,
|
|
selectionList: [],
|
selectionList_detail: [],
|
isapproval: false,
|
formfieldClick: {},
|
tablefieldBaseClick: {},
|
tablefieldClick: {},
|
|
reasonvisible:false,//审批通过或拒绝填写原因
|
textarea2: '',
|
passOrRefuse:false,
|
|
editTableButton: {
|
edit: {
|
isshow: false,
|
txt:"编辑"
|
},
|
del: {
|
isshow: true,
|
txt:"删除"
|
},
|
save: {
|
isshow: false,
|
txt:"保存"
|
}
|
},
|
},
|
created() {
|
this.popupParames = clone(Root.popupParames);
|
|
this.tableFieldsBase = clone(this.tableFieldsBase_edit);
|
this.tableFields = clone(this.tableFields_edit);
|
if (this.popupParames.sceneCode) {
|
if (this.popupParames.sceneCode == "browse" || this.popupParames.sceneCode == "approval") {
|
this.tableFieldsBase = clone(this.tableFieldsBase_browse);
|
this.tableFields = clone(this.tableFields_browse);
|
}
|
}
|
|
|
},
|
|
mounted() {
|
var me = this;
|
// this.activeName = "agreement";
|
//预加载数据
|
if (this.dataRequest.length) {
|
var result = {};
|
this.loadRequestData(this.dataRequest, result, function(data) {
|
me.dataRequestObj = data;
|
//预加载数据后给哪些字段设置options或formatterjson
|
|
var field_options = {
|
recordtemplate_options: [],//备案模板数据
|
agreement_options: [],//协议头字段
|
agreementdetail_options: [],//协议明细字段
|
}
|
|
me.dataRequestObj.agm_record_template.map(r=>{
|
var option_ = {
|
code: r.id,
|
name: r.name
|
}
|
field_options.recordtemplate_options.push(option_);
|
|
me.recordTypesObj[r.id] = r;
|
})
|
|
me.record_types = clone(field_options.recordtemplate_options);
|
|
|
me.dataRequestObj.agm_agreement_field.map(r=>{
|
var option_ = {
|
field_id: r.id,
|
code: r.id,
|
name: r.field_name,
|
field: r.field,
|
groupname: r.group_name
|
}
|
field_options.agreement_options.push(option_);
|
|
me.agmFieldsObj[r.id] = r;
|
})
|
me.argeement_fields_base = clone(field_options.agreement_options);
|
me.tableFieldsBase.map(fb=>{
|
if (fb.field == "field_id") {
|
fb.options = clone(me.argeement_fields_base);
|
}
|
})
|
|
|
me.dataRequestObj.agm_agreement_detail_field.map(r=>{
|
var option_ = {
|
field_id: r.id,
|
code: r.id,
|
name: r.field_name,
|
field: r.field,
|
groupname: r.group_name
|
}
|
field_options.agreementdetail_options.push(option_);
|
|
me.agmFieldsObj[r.id] = r;
|
})
|
me.argeement_fields_detail = clone(field_options.agreementdetail_options);
|
|
me.tree_agm_category = clone(data.agm_category);
|
let agm_category_ = ArrayToTree(clone(data.agm_category), "name", "parent_id");
|
|
if (me.formFields.length) {
|
var formFields_part_ = clone(me.formFields);
|
formFields_part_.map(e=>{
|
if(e.field == "category_id") {
|
e.options = agm_category_;
|
}
|
});
|
|
me.formFields = formFields_part_;
|
}
|
|
me.initData();
|
});
|
}
|
else {
|
this.initData();
|
}
|
|
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
|
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;
|
this.tableFieldClick();
|
this.initpopupParames();
|
},
|
|
initpopupParames() {
|
if (this.popupParames.data) {
|
var formData_ = clone(this.popupParames.data);
|
if (formData_.category_id) {
|
var category_id_ = parentTree(this.tree_agm_category, formData_.category_id);
|
|
formData_.category_id = category_id_;
|
}
|
this.formData = clone(formData_);
|
}
|
|
if (this.popupParames.sceneCode) {
|
if (this.popupParames.sceneCode == "browse") {
|
this.formAttr.disabled = true;
|
this.formAttr2.disabled = true;
|
this.isWithinEditTableData = false;
|
this.Approval = false;
|
if (this.formData.id) {
|
this.getAgreementFieldDataByTemplate();
|
}
|
|
}
|
else if (this.popupParames.sceneCode == "approval") {
|
this.formAttr.disabled = true;
|
this.isapproval = true;
|
if (this.formData.id) {
|
this.getAgreementFieldDataByTemplate();
|
}
|
|
}
|
else if (this.popupParames.sceneCode == "add") {
|
if (this.newRowDefault) {
|
let formData_ = clone(this.formData);
|
|
for (var k in this.newRowDefault) {
|
formData_[k] = this.newRowDefault[k];
|
}
|
this.formData = formData_;
|
}
|
this.isedit = true;
|
|
this.newTemplate();
|
|
}
|
else if (this.popupParames.sceneCode == "edit") {
|
if (this.newRowDefault) {
|
let formData_ = clone(this.formData);
|
|
for (var k in this.newRowDefault) {
|
if (!formData_[k]) {
|
formData_[k] = this.newRowDefault[k];
|
}
|
|
}
|
this.formData = formData_;
|
}
|
this.isedit = true;
|
if (this.formData.id) {
|
this.getAgreementFieldDataByTemplate();
|
}
|
/* this.formAttr.disabled = true;
|
this.isWithinEditTableData = false;
|
this.isedit = false;
|
this.Approval = false; */
|
}
|
|
|
}
|
},
|
|
newTemplate() {
|
var me = this;
|
let param = {
|
dataname: "agm_template"
|
}
|
|
Server.call("root/data/newEntity", param, function(result) {
|
me.formData.id = result.data.agm_template.id;
|
if (result.portrait) {
|
var argeement_group_ = clone(result.portrait);
|
|
argeement_group_[0].tableFields = clone(me.tableFieldsBase);
|
// argeement_group_[0].tableData = clone(result.data[result.portrait.name]);
|
|
|
|
argeement_group_[0].tableData = clone(result.data[argeement_group_[0].name]);
|
// argeement_group_[0].selectTableData = clone(result.data[argeement_group_[0].name]);
|
argeement_group_[0].tablefieldClick = me.tablefieldBaseClick;
|
|
//明细组
|
me.argeement_group = argeement_group_;
|
me.argeement_group_obj[argeement_group_[0].name] = argeement_group_[0];
|
|
me.activeName = argeement_group_[0].name;
|
me.selectTabObj = me.argeement_group_obj[me.activeName];
|
}
|
|
})
|
},
|
|
tableFieldClick() {
|
var me = this;
|
//表单字段事件设置
|
this.formfieldClick = {
|
/* record_to: {//字段事件设置
|
val: {//有值时的点击事件
|
onchange: function(obj) {//数据修改事件
|
me.getFieldDataByTemplate();
|
}
|
},
|
}, */
|
category_id: {//字段事件设置
|
val: {//有值时的点击事件
|
onchange: function(obj) {//数据修改事件
|
me.formData.category_name = me.dataRequestObj.map.agm_category[me.formData[obj.fieldobj.field][me.formData[obj.fieldobj.field].length - 1]];
|
}
|
},
|
},
|
|
};
|
|
this.tablefieldBaseClick = {
|
field_id: {
|
select: {
|
onchange: function(obj) {//下拉更改事件
|
obj.data.field_title = clone(obj.selectoption.name);
|
obj.data.field_name = clone(obj.selectoption.field);
|
}
|
},
|
}
|
|
};
|
|
this.tablefieldClick = {
|
field_id: {
|
select: {
|
onchange: function(obj) {//下拉更改事件
|
obj.data.field_title = clone(obj.selectoption.name);
|
obj.data.field_name = clone(obj.selectoption.field);
|
}
|
},
|
},
|
record_field_id: {
|
select: {
|
onchange: function(obj) {//下拉更改事件
|
obj.data.record_field_title = clone(obj.selectoption.name);
|
obj.data.record_field_name = clone(obj.selectoption.field);
|
}
|
},
|
}
|
|
}
|
},
|
|
getAgreementFieldDataByTemplate() {
|
var me = this;
|
let param_table = {
|
dataname: "agm_template",
|
id: this.formData.id,
|
}
|
|
Server.call("root/data/getEntity", param_table, function(result) {
|
if (result.data && result.data.agm_template) {
|
me.formData = result.data.agm_template;
|
}
|
|
if (result.portrait) {
|
var argeement_group_ = clone(result.portrait);
|
|
//获取所有相关的备案类型字段
|
var recordids = [];
|
argeement_group_.map(ag=>{
|
if (ag.relationid) {
|
recordids.push(ag.relationid);
|
}
|
});
|
|
if (recordids.length) {
|
me.getFieldDataByTemplate(recordids, function() {
|
me.loadArgeementTemplate(result.data, argeement_group_);
|
});
|
}
|
else {
|
me.loadArgeementTemplate(result.data, argeement_group_);
|
}
|
|
}
|
});
|
},
|
|
loadArgeementTemplate(data, argeement_group) {
|
var me = this;
|
argeement_group.map(ag=>{
|
if (ag.name == "agm_template_field_base" || ag.isdefault) {
|
ag.tableFields = clone(me.tableFieldsBase);
|
ag.tableData = clone(data[ag.name]);
|
ag.tablefieldClick = me.tablefieldBaseClick;
|
}
|
else {
|
var tableFields_ = clone(me.tableFields);
|
|
tableFields_.map(f=>{
|
if (f.field == "field_id") {
|
f.options = clone(me.argeement_fields_detail);
|
}
|
else if (f.field == "record_field_id") {
|
f.options = clone(me.recordFieldMap[ag.relationid]);
|
}
|
})
|
|
ag.tableFields = clone(tableFields_);
|
ag.tableData = clone(data[ag.name]);
|
ag.tablefieldClick = me.tablefieldClick;
|
}
|
|
me.argeement_group_obj[ag.name] = ag;
|
})
|
|
//明细组
|
me.argeement_group = argeement_group;
|
|
me.activeName = argeement_group[0].name;
|
me.selectTabObj = me.argeement_group_obj[me.activeName];
|
},
|
|
getFieldDataByTemplate(relationids, callback) {
|
var me = this;
|
let filter_table = "";
|
let record_to_ = "";
|
relationids.map(id=>{
|
if (record_to_ == "") {
|
record_to_ = id;
|
}
|
else {
|
record_to_ += "','" + id;
|
}
|
})
|
|
if (record_to_) {
|
filter_table = "parent_id in ('" + record_to_ + "')";
|
}
|
|
let param_table = {
|
dataname: "agm_template_field_mapping",
|
filter: filter_table,
|
}
|
me.recordFieldMap = {};
|
Server.call("root/data/getEntitySet", param_table, function(result) {
|
result.data.entityset.map(entity=>{
|
if (entity.table_name == "agm_record") {
|
if (!me.recordFieldMap[entity.parent_id]) {
|
me.recordFieldMap[entity.parent_id] = []
|
}
|
|
var option_ = {
|
code: entity.id,
|
name: entity.field_name,
|
field: entity.field,
|
groupname: entity.group_name
|
}
|
|
me.recordFieldMap[entity.parent_id].push(option_);
|
}
|
})
|
|
callback();
|
});
|
},
|
|
onPassApproval(){
|
this.textarea2 = "";
|
this.reasonvisible = true;
|
this.passOrRefuse = true;
|
},
|
|
onRefuseApproval(){
|
this.textarea2 = "";
|
this.reasonvisible = true;
|
this.passOrRefuse = false;
|
},
|
|
saveReason(){
|
if(this.passOrRefuse){
|
this.doApproval();
|
}else{
|
if(this.textarea2 != ""){
|
this.doReject();
|
}
|
else{
|
Root.message({
|
type: 'warning',
|
message: '请填写原因'
|
});
|
}
|
}
|
},
|
|
doApproval() {
|
var me = this;
|
|
let param = {
|
// flowName:"sales",
|
dataName: "agm_template",
|
id: me.formData.id,
|
}
|
Server.call("root/data/Approve", param, function(result) {
|
if (result.success) {
|
Root.message({
|
type: 'success',
|
message: '提交成功'
|
});
|
me.saveAfter();
|
}
|
});
|
},
|
|
doReject() {
|
var me = this;
|
|
let param = {
|
dataName: "agm_template",
|
id: me.formData.id,
|
reverse: true,
|
}
|
Server.call("root/data/Reject", param, function(result) {
|
if (result.success) {
|
Root.message({
|
type: 'success',
|
message: '已拒绝'
|
});
|
me.saveAfter();
|
}
|
});
|
},
|
|
submitRowTable() {
|
this.isCommit = true;
|
this.saveRowTable();
|
},
|
|
saveRowTable() {
|
var me = this;
|
// ////////////
|
/* let param = {
|
dataname: this.form_dataname,
|
operator: "",
|
data: {},
|
}
|
var portrait_ = [];
|
this.argeement_group.map(g=>{
|
var portrait_r = {
|
"id": g.id,
|
"packageid": "pkg_agm_template",
|
"packageitemid": "agm_template_field",
|
"dataobjectid": "agm_template_field",
|
"name": g.name,
|
"title":g.title,
|
"relationid": g.relationid || null,
|
"isdefault": g.isdefault || false
|
}
|
portrait_.push(portrait_r);
|
param.data[g.name] = g.tableData;
|
})
|
|
param.portrait = clone(portrait_);
|
// ///////////////
|
return*/
|
if (this.formData.id) {
|
//先删除再添加
|
let param = {
|
dataname: this.form_dataname,
|
id: this.formData.id
|
}
|
|
Server.call("root/data/deleteEntity", param, function(result) {
|
me.doSaveRowTable();
|
})
|
}
|
else {
|
this.doSaveRowTable()
|
}
|
},
|
|
doSaveRowTable() {
|
var me = this;
|
var operator_ = "save";//保存
|
if(me.isCommit) {
|
operator_ = "commit";//提交
|
}
|
var entity_ = clone(this.formData);
|
var entity = {
|
type: "agreement"
|
};
|
for (var r in entity_) {
|
if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) {
|
if (r == "category_id") {
|
entity[r] = entity_[r][entity_[r].length - 1];
|
}
|
|
else {
|
entity[r] = entity_[r];
|
}
|
|
}
|
}
|
|
var table_entityset = [];
|
|
let param = {
|
dataname: this.form_dataname,
|
// operator: operator_,
|
data: {},
|
}
|
|
param.data[this.form_dataname] = entity;
|
var portrait_ = [];
|
this.argeement_group.map(g=>{
|
if (g.tableData && g.tableData.length) {
|
var portrait_r = {
|
"id": g.id,
|
"packageid": "pkg_agm_template",
|
"packageitemid": "agm_template_field",
|
"dataobjectid": "agm_template_field",
|
"name": g.name,
|
"title":g.title,
|
"relationid": g.relationid || null,
|
"relationname": g.relationname || null,
|
"isdefault": g.isdefault || false
|
}
|
portrait_.push(portrait_r);
|
param.data[g.name] = g.tableData;
|
}
|
})
|
|
param.portrait = clone(portrait_);
|
|
Server.call("root/data/saveEntity", param, function(result) {
|
console.log(result);
|
if (result.success) {
|
if(me.isCommit){
|
me.isCommit = false;
|
Root.message({
|
type: 'success',
|
message: '提交成功'
|
});
|
me.saveAfter();
|
}
|
else {
|
Root.message({
|
type: 'success',
|
message: '保存成功'
|
});
|
me.saveAfter();
|
}
|
}
|
});
|
},
|
|
selectOptionOperate(obj) {
|
let me = this;
|
if (obj.type == "add") {
|
if (obj.fieldobj.field == "type_code") {
|
/* Root.showPopup({
|
url: "../md/customer/popup/customer_list.html",
|
width: 800,
|
height: 550,
|
data: this.oldObj,
|
dataname: "customer",
|
callback: function(obj, callback) {
|
let formData_ = clone(me.formData);
|
formData_.customer_name = obj.row.md_description;
|
formData_.customer_code = obj.row.md_code;
|
formData_.customer_id = obj.row.id;
|
formData_.province_name = obj.row.province;
|
|
me.formData = formData_;
|
if (callback) {
|
callback();
|
}
|
}
|
}); */
|
}
|
}
|
},
|
|
handleSelectionChange(selection) {
|
this.selectionList = selection;
|
},
|
|
handleSelectionChange_detail(selection) {
|
this.selectionList_detail = selection;
|
},
|
|
selectionChange(selection) {
|
var me = this;
|
this.argeement_group_obj[this.activeName].selectTableData = selection
|
this.selectTabObj.selectTableData = selection
|
},
|
|
handleClick(tab) {
|
// this.argeement_group.map(g=>{
|
// if (g.name == tab.name) {
|
// this.selectTabObj = g;
|
// }
|
// })
|
this.selectTabObj = this.argeement_group_obj[tab.name];
|
},
|
|
onaddgroupfield() {
|
var me = this;
|
var row_ = {};
|
|
this.selectTabObj.tableData.push(row_);
|
},
|
ondelgroupfield(data, node) {
|
var me = this;
|
let name_ = "该数据";
|
var row = data.row;
|
|
this.$confirm('确定删除' + row.field_name + '吗?', '删除提示', {
|
confirmButtonText: '删除',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
if (row.id) {
|
let param = {
|
dataname: "agm_template_field",
|
id: row.id
|
}
|
|
Server.call("root/data/deleteEntity", param, function(result) {
|
console.log(result);
|
if (result && result.data) {
|
me.selectTabObj.tableData.remove(row);
|
|
Root.message({
|
type: 'success',
|
message: '删除成功!'
|
});
|
}
|
});
|
}
|
else {
|
this.selectTabObj.tableData.remove(row);
|
Root.message({
|
type: 'success',
|
message: '删除成功!'
|
});
|
}
|
}).catch(() => {
|
me.$message({
|
type: 'info',
|
message: '已取消删除'
|
});
|
});
|
},
|
|
onaddgroup() {
|
var id_ = uuid_short().toLowerCase();
|
|
this.formgroup = {
|
id: id_,
|
packageid: "pkg_agm_template",
|
packageitemid: "agm_template_field",
|
name: "agm_template_field" + id_,
|
title: "",
|
relationid: "",
|
tableFields: clone(this.tableFields),
|
tableData: [],
|
// selectTableData: [],
|
tablefieldClick: this.tablefieldClick,
|
}
|
|
this.isrowgroup = true;
|
},
|
oneditgroup() {
|
this.selectTabObj = this.argeement_group_obj[this.activeName];
|
this.formgroup = clone(this.selectTabObj);
|
|
this.isrowgroup = true;
|
},
|
ondelgroup() {
|
this.selectTabObj = this.argeement_group_obj[this.activeName];
|
if (this.selectTabObj.isdefault) {
|
|
}
|
},
|
|
saverowgroup() {
|
var me = this;
|
var formgroup_ = clone(this.formgroup);
|
|
if (formgroup_.relationid) {
|
formgroup_.relationname = me.recordTypesObj[formgroup_.relationid].name;
|
|
this.getRecordFieldByTemplateId(formgroup_.relationid, function(field_options) {
|
var record_options = []
|
field_options.map(f=>{
|
var option_ = {
|
code: f.id,
|
name: f.field_name,
|
field: f.field,
|
groupname: f.group_name
|
}
|
record_options.push(option_);
|
})
|
|
formgroup_.tableFields.map(t=>{
|
if (t.field == "record_field_id") {
|
t.options = record_options;
|
}
|
else if (t.field == "field_id") {
|
t.options = clone(me.argeement_fields_detail);
|
}
|
|
})
|
|
if (me.argeement_group_obj[formgroup_.name]) {
|
//如果有则是修改
|
me.argeement_group.map(g=>{
|
if (g.name == formgroup_.name) {
|
for (var k in formgroup_) {
|
g[k] = formgroup_[k];
|
}
|
}
|
})
|
|
me.argeement_group_obj[formgroup_.name] = formgroup_;
|
}
|
else {
|
//没有则是新增
|
me.argeement_group.push(formgroup_);
|
me.argeement_group_obj[formgroup_.name] = formgroup_;
|
}
|
|
me.isrowgroup = false;
|
me.activeName = formgroup_.name;
|
|
me.selectTabObj = me.argeement_group_obj[me.activeName];
|
|
});
|
}
|
else {
|
formgroup_.tableFields.map(t=>{
|
if (t.field == "record_field_id") {
|
t.options = [];
|
}
|
else if (t.field == "field_id") {
|
t.options = clone(me.argeement_fields_detail);
|
}
|
})
|
|
if (me.argeement_group_obj[formgroup_.name]) {
|
//如果有则是修改
|
me.argeement_group.map(g=>{
|
if (g.name == formgroup_.name) {
|
for (var k in formgroup_) {
|
g[k] = formgroup_[k];
|
}
|
}
|
})
|
|
me.argeement_group_obj[formgroup_.name] = formgroup_;
|
}
|
else {
|
//没有则是新增
|
me.argeement_group.push(formgroup_);
|
me.argeement_group_obj[formgroup_.name] = formgroup_;
|
}
|
|
me.isrowgroup = false;
|
me.activeName = formgroup_.name;
|
|
me.selectTabObj = me.argeement_group_obj[me.activeName];
|
}
|
|
},
|
|
getRecordFieldByTemplateId(id, callback) {
|
var me = this;
|
let param_table = {
|
dataname: "agm_template_field_mapping",
|
filter: "parent_id ='" + id + "'",
|
}
|
|
Server.call("root/data/getEntitySet", param_table, function(result) {
|
var selectionList_ = [];
|
|
result.data.entityset.map(entity=>{
|
if (entity.table_name == "agm_record") {
|
selectionList_.push(entity)
|
}
|
})
|
|
callback(selectionList_);
|
|
});
|
},
|
|
}
|
});
|
};
|
|
loadJsCss(function () {
|
initVue();
|
});
|
</script>
|
<style>
|
/* 在vue.js中 v-cloak 这个指令是防止页面加载时出现 vuejs 的变量名而设计的 */
|
[v-cloak] {
|
display: none !important;
|
}
|
|
.z_form tr > td:nth-child(1) {
|
border-left: 0px !important;
|
}
|
|
.z_form .h_form_item__label_right .el-form-item__label, .z_form .h_form_item__label_left .el-form-item__content {
|
padding-right: 0px !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 class="el-dialog__header">
|
<div class="dialog-title">
|
<i class="iconfont icon-customermanagement"></i>
|
<span> {{title}} </span>
|
</div>
|
</div>
|
<div style="height: 550px; overflow-y: auto;">
|
<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 class="" style="margin-top: 10px;">
|
<div style="width: 100%;text-align: end;">
|
<el-button-group v-if="isedit" style="margin: 0px;">
|
<el-button size="small" type="primary" @click="onaddgroup">添加明细</el-button>
|
<el-button :disabled="selectTabObj.isdefault" size="small" type="primary" @click="oneditgroup">重命名</el-button>
|
<el-button :disabled="selectTabObj.isdefault" size="small" type="danger" @click="ondelgroup">删除明细</el-button>
|
</el-button-group>
|
</div>
|
|
<el-tabs v-if="argeement_group.length" v-model="activeName" @tab-click="handleClick">
|
<el-tab-pane v-for="(argeementdetail, k) in argeement_group" :key="'ad' + k"
|
:label="argeementdetail.title" :name="argeementdetail.name"
|
></el-tab-pane>
|
</el-tabs>
|
<div style="height: 200px; position: relative;">
|
<div style=" width: 50%; position: absolute;">
|
<h-table
|
v-if="isRefresh && argeement_group.length"
|
ref="table1"
|
:table-fields="selectTabObj.tableFields"
|
:table-data="selectTabObj.tableData"
|
:is-edit-table-data="isedit || isrefuseedit"
|
:is-within-edit-table-data="true"
|
:table-height="tableHeight"
|
:table-field-click="selectTabObj.tablefieldClick"
|
:is-pagination="false"
|
:edit-table-button="editTableButton"
|
|
v-on:del-data="ondelgroupfield"
|
>
|
</h-table>
|
|
</div>
|
|
<div style="width: 49%; position: absolute; left: 50%;">
|
<el-button-group v-if="isedit" style="margin-top: 10px;">
|
<el-button style="width: 40px; height: 40px; padding: 0px;font-size: 20px;" icon="el-icon-plus" @click="onaddgroupfield"></el-button>
|
</el-button-group>
|
<div style="padding: 10px;">
|
<h-form v-if="selectTabObj.relationname"
|
ref="form2"
|
:form-attr="formAttr2"
|
:table-fields="formFields_group"
|
:form-data="selectTabObj"
|
>
|
</h-form>
|
</div>
|
|
</div>
|
</div>
|
</div> -->
|
|
</div>
|
</div>
|
<el-dialog title="协议模板明细组" :visible.sync="isrowgroup" height="50%" :close-on-click-modal="false">
|
<el-form :model="formgroup">
|
<el-form-item label="明细名称">
|
<el-input v-model="formgroup.title" placeholder="明细名称" style="width: 100%;"></el-input>
|
</el-form-item>
|
<el-form-item label="对应备案模板">
|
<el-select v-model="formgroup.relationid" placeholder="对应备案模板" style="width: 100%;">
|
<el-option
|
v-for="item in record_types"
|
:key="item.code"
|
:label="item.name"
|
:value="item.code">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-form>
|
|
<div slot="footer" class="dialog-footer" >
|
<el-button type="default" @click="isrowgroup = false">取 消</el-button>
|
<el-button type="primary" @click="saverowgroup">确 定</el-button>
|
</div>
|
</el-dialog>
|
|
|
<el-dialog title="填写原因" :visible.sync="reasonvisible" height="50%">
|
<el-input
|
type="textarea"
|
:autosize="{ minRows: 2, maxRows: 10}"
|
placeholder="请输入原因"
|
v-model="textarea2">
|
</el-input>
|
|
<div slot="footer" class="dialog-footer" >
|
<el-button type="default" @click="reasonvisible = false">取 消</el-button>
|
<el-button type="primary" @click="saveReason">确 定</el-button>
|
</div>
|
</el-dialog>
|
|
<div class="el-dialog__footer">
|
<el-button-group v-if="isapproval" style="margin: 0px 20px;">
|
<el-button size="small" type="success" @click="onPassApproval">通 过</el-button>
|
<el-button size="small" type="danger" @click="onRefuseApproval">拒 绝</el-button>
|
</el-button-group>
|
<el-button size="small" type="default" @click="closeDialog">取 消</el-button>
|
<el-button size="small" v-if="isedit" type="primary" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button>
|
<el-button size="small" v-if="isedit" type="success" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button>
|
</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>
|
</div>
|
|
</body>
|
</html>
|