Commit 8dc66ffd by 蒋勇

d

parent 4eff8998
......@@ -171,12 +171,18 @@ export default {
// }
},
savebefore: {
type: Function,
default(){
return (key,row,cbk)=>{
return cbk(row)
}
}
type: Function
// default(){
// return (key,row,cbk)=>{
// return cbk(row)
// }
// }
},
editbefore: {
type: Function
},
addbefore: {
type: Function
}
},
data() {
......@@ -312,19 +318,42 @@ export default {
}
}
if (key == "edit") {
this.fm_status = "edit";
this.showedform = true;
this.$emit("onedit");
this.$nextTick(() => {
this.$refs.edform.formModel = this.deepclone(row);
this.$refs.edform.activeChildTables(false);
});
//实现编辑前回调
if (this.editbefore) {
this.editbefore(row, data => {
if (data.value) {
this.fm_status = "edit";
this.showedform = true;
this.$emit("onedit");
this.$nextTick(() => {
this.$refs.edform.formModel = this.deepclone(row);
this.$refs.edform.activeChildTables(false);
});
} else {
this.$Modal.error({
title: "提示",
content: data.message
});
}
});
}
}
if (key == "create") {
this.fm_status = "create";
this.showedform = true;
this.$refs.edform.activeChildTables(true);
this.$emit("onnew");
if (this.addbefore) {
this.addbefore(row, data => {
if (data.value) {
this.fm_status = "create";
this.showedform = true;
this.$refs.edform.activeChildTables(true);
this.$emit("onnew");
} else {
this.$Modal.error({
title: "提示",
content: data.message
});
}
});
}
}
if (key == "save") {
console.log(
......@@ -375,6 +404,8 @@ export default {
}
});
});
} else {
throw new Error("请绑定组件的savebore属性方法");
}
});
} else {
......
......@@ -3,10 +3,9 @@
<Card style="height:100%">
<Alert type="error">
<template slot="desc">
<Icon type="ios-alert-outline" />
双击编辑,单击选择
<br/>
&nbsp;&nbsp; &nbsp;&nbsp;当前节点:
<Icon type="ios-alert-outline"/>双击编辑,单击选择
<br>
&nbsp;&nbsp; &nbsp;&nbsp;当前节点:
{{currentData?currentData.title:"请选择操作节点"}}
</template>
</Alert>
......@@ -56,7 +55,9 @@ export default {
data() {
return {
isupdate: false,
rootNode: null,
currentData: null,
currentNode: null,
code: "root",
treedata: [],
originalMetaInfo: [
......@@ -137,8 +138,13 @@ export default {
"span",
{
on: {
"dblclick": () => {
dblclick: () => {
this.onselnode(node, data);
},
click: () => {
this.currentData = data;
this.currentNode = node;
this.rootNode = root;
}
}
},
......@@ -166,14 +172,14 @@ export default {
[
h("Button", {
props: Object.assign({}, this.buttonProps, {
icon: "ios-add",
type: "primary"
icon: "md-add",
type: "text"
}),
style: {
width: "64px"
},
on: {
"click": () => {
click: () => {
this.append(data);
}
}
......@@ -206,19 +212,17 @@ export default {
treedata.forEach(item => {
if (item.nodeKey == newobj.nodeKey) {
item = Object.assign(item, newobj);
}
if (item.children) {
if (parentitem) {
item.orgpath = parentitem.orgpath + "/" + item.code;
} else {
item.orgpath = item.code;
}
item.children.sort((item1, item2) => {
return item1.seq < item2.seq;
});
modiTreeNodeByCode(item.children, newobj,item);
modiTreeNodeByCode(item.children, newobj, item);
} else {
if (parentitem) {
item.orgpath = parentitem.orgpath + "/" + item.code;
......@@ -275,6 +279,7 @@ export default {
onselnode(node, data) {
this.showedform = true;
this.currentData = data;
this.currentNode = node;
let nd = this.deepclone(data);
this.$refs.nodeform.resetForm();
this.$refs.nodeform.formModel = nd;
......@@ -328,13 +333,19 @@ export default {
"span",
{
on: {
"dblclick": $event => {
dblclick: $event => {
$("span", ".ptree").removeClass("spansel");
$($event.target)
.parent()
.parent()
.addClass("spansel");
this.onselnode(node, data);
},
click: () => {
this.currentData = data;
this.currentNode = node;
this.rootNode = root;
}
}
},
......@@ -404,6 +415,11 @@ export default {
const parent = root.find(el => el.nodeKey === parentKey).node;
const index = parent.children.indexOf(data);
parent.children.splice(index, 1);
},
findParentByNode(node) {
const parentKey = this.rootNode.find(el => el === node).parent;
const parent = this.rootNode.find(el => el.nodeKey === parentKey).node;
return parent
}
}
};
......
......@@ -7,6 +7,7 @@
packageName="auth"
isMulti
@onexec="onexec"
:savebefore="savebefore"
></BizTable>
</div>
</template>
......@@ -21,6 +22,9 @@ export default {
BizTable
},
methods: {
savebefore(key,row,cbk){
return cbk(row)
},
onexec(k, row) {
if(k=="auth"){
this.$router.push({ name: "role_auth",query:{roleid:row.id,rolecode:row.code}})
......
......@@ -9,7 +9,13 @@
@controlctl="controlctl"
@drawaction="drawaction"
></OrgEditor>
<UserInfo ref="userinfo" slot="right" :beforesave="beforesave"></UserInfo>
<UserInfo
ref="userinfo"
slot="right"
:beforesave="beforesave"
:beforedit="beforedit"
:beforeadd="beforeadd"
></UserInfo>
</SplitPanel>
</div>
</template>
......@@ -99,13 +105,35 @@ export default {
});
},
methods: {
beforeadd(row, cbk) {
if (!this.$refs.orgtree.currentData) {
return cbk({ value: false, message: "请选择岗位节点" });
} else {
if (!this.$refs.orgtree.currentData.isPosition) {
return cbk({ value: false, message: "请选择岗位节点" });
} else {
return cbk({ value: true, message: null });
}
}
},
beforedit(row, cbk) {
return cbk({ value: true, message: null });
// if(!this.$refs.orgtree.currentData){
// return cbk({value:false,message:"请选择组织结构"})
// }else{
// return cbk({value:true,message:null})
// }
},
beforesave(key, row, cbk) {
//对row添加组织结构需要的字段
if(this.$refs.orgtree.currentData && this.$refs.orgtree.currentData.isPosition){
row.opath=this.$refs.orgtree.currentData.orgpath
if (
this.$refs.orgtree.currentData &&
this.$refs.orgtree.currentData.isPosition
) {
row.opath = this.$refs.orgtree.currentData.orgpath;
}
console.log("before.save",key,row)
return cbk(row)
console.log("before.save", key, row);
return cbk(row);
},
setHeight() {
let $orgdiv = $("#orgdiv");
......@@ -126,6 +154,18 @@ export default {
}
},
controlctl(v, prop, fm) {
if(prop=="isMain"){
let cnode=this.$refs.orgtree.currentNode
let pnode=this.$refs.orgtree.findParentByNode(cnode)
let fmodel=fm.formModel
if(fmodel.orgtag && fmodel.orgtag.indexOf(pnode.code)<0){
let ttmp=fmodel.orgtag.split(",").push(pnode.code).join(",")
fmodel.orgtag=ttmp
}else{
fmodel.orgtag=pnode.code
}
}
if (prop == "isPosition") {
if (v) {
fm.setCtlVisable("isMain", true);
......
......@@ -9,6 +9,8 @@
@onnew="onnew"
@onedit="onedit"
:savebefore="beforesave"
:editbefore="beforedit"
:addbefore="beforeadd"
></BizTable>
</div>
</template>
......@@ -22,19 +24,35 @@ export default {
components: {
BizTable
},
props:{
beforesave:{
type:Function,
default(){
return (key,row,cbk)=>{
return cbk(row)
}
}
}
props: {
beforesave: {
type: Function,
default() {
return (key, row, cbk) => {
return cbk(row);
};
}
},
beforedit: {
type: Function,
default() {
return (row, cbk) => {
return cbk({ value: true, message: null });
};
}
},
beforeadd: {
type: Function,
default() {
return (row, cbk) => {
return cbk({ value: true, message: null });
};
}
}
},
methods: {
setHeight(h){
this.$refs.bt.setHeight(h)
setHeight(h) {
this.$refs.bt.setHeight(h);
},
onnew() {
this.$refs.bt.setFormCtlVisable("userName", true);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment