Files
2026-02-06 18:34:35 +08:00

249 lines
10 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div>
<!-- 添加按钮 -->
<div class="btn-add">
<el-button v-for="czcol in plbtns" @click="plmangcol(czcol)" size="medium" :type="czcol.bttype">{{czcol.czname}}</el-button>
<!--<button v-for="czcol in CZData" class="btn btn-info ft12 mr5" @click="plmangcol(czcol)">{{czcol.czname}}</button>
<button type="button" class="btn btn-info ft12 mr5" v-if="syscz[0].isshow" @click="Add()">新增</button>
<button type="button" class="btn btn-danger" @click="DelMItemData()" v-if="syscz[1].isshow"><i class="iconfont icon-shanchu ft12 mr5"></i>批量删除</button>-->
</div>
<!-- 按条件选择 -->
<div class="tab-filter-type pt20">
<div class="oh " v-for="item in mrcxdata" v-show="item.lbdata.length>1">
<h5 class="pull-left tr">{{item.cxname}}</h5>
<ul class="tab-type ft14">
<li v-for="lb in item.lbdata"><span v-bind:class="{ 'active': lb.issel }" @click="sellb(lb,item)" v-text="lb.itemtext"></span></li>
</ul>
</div>
</div>
<!-- 表格 -->
<div class="default-tab ft14 padding20 hover-btn" style="padding-top: 10px;">
<base-table :pzoption="tableop" @selection-change="handleSelectionChange">
</base-table>
</div>
</div>
</template>
<script>
module.exports = {
props: ['pdata'],
components: {
'base-table': httpVueLoader('/BiManage/Base/Vue/Table.vue')
},
data: function () {
return {
plbtns: [],
MXCZData: [],
syscz: [{ czname: "新增", isshow: false }, { czname: "批量删除", isshow: false }, { czname: "编辑", isshow: false }, { czname: "删除", isshow: false }],
ActionData: [],
mrcxdata: [],
tableop: {
title: "自定义应用",
tablename: "",
issel: true,
iscz: true,
isadd: true,
isedit: true,
ispldel: true,
isdel: true,
dataset: [],
pdid: "0",
multipleSelection: [],
czltabledata: [
],
collist: [
]
}
}
},
methods: {
Add: function () {
var pdid = this.tableop.pdid;
ComFunJS.winviewform("/BiManage/AppPage/FORMBI/FormAdd.html?pdid=" + pdid + "&vtype=2", "添加表单", "1000", "", function () {
model.refpage();
});
},
ishasqx: function () {
},
plmangcol: function (coldata) {
if (coldata.czname == "新增") {
var pdid = this.tableop.pdid;
ComFunJS.winviewform("/BiManage/AppPage/FORMBI/FormAdd.html?pdid=" + pdid + "&vtype=2", "添加表单", "1000", "", function () {
model.refpage();
});
} else if (coldata.czname == "批量删除") {
this.DelMItemData();
} else {
try {
var ids = [];
for (var i = 0; i < this.tableop.multipleSelection.length; i++) {
ids.push(this.tableop.multipleSelection[i].ID);
}
let jscode = coldata.jscode;
let func = new Function('ids', jscode);
func(ids)
} catch (e) {
this.$notify({
title: '成功',
message: '解析JS代码有误',
type: 'error'
});
}
}
},
handleSelectionChange(val) {
this.tableop.multipleSelection = val;
},
DelItemData: function (item) {
var pdid = this.tableop.pdid;
this.DelData(item.intProcessStanceid)
},
DelMItemData: function () {
var ids = [];
for (var i = 0; i < this.tableop.multipleSelection.length; i++) {
ids.push(this.tableop.multipleSelection[i].intProcessStanceid);
}
if (ids.length == 0) {
this.$notify.error({
title: '错误',
message: '至少需要选择一条数据才能操作'
});
return;
}
this.DelData(ids.join());
},
DelData: function (ids) {
var pro = this;
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
$.getJSON('/api/Bll/ExeAction?Action=FORMBI_DELWFDATA', { "P2": ids }, function (result) {
if (result.ErrorMsg == "") {
ComFunJS.winsuccess("删除成功");
pro.InitWigetData();
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
sellb: function (lb, lbs) {
_.forEach(lbs.lbdata, function (obj) {
obj.issel = false;
})
lb.issel = true;
this.Query();
},
Query: function () {
var pro = this;
var tablepar = JSON.parse(pro.$root.pagedata.ExtData);
var querydata = [];
_.forEach(pro.mrcxdata, function (obj) {
var va = _.find(obj.lbdata, function (cx) {
return cx.issel == true;
})
querydata.push({ colid: obj.cxzd, cal: obj.cal, val: va.itemtext });
})
$.getJSON('/api/Bll/ExeAction?Action=DATABI_GETVUELISTDATA', { P1: tablepar.value.join(), P2: tablepar.dataqx ? "Y" : "N", WD: JSON.stringify(tablepar.WDData), qdata: JSON.stringify(querydata) }, function (resultData) {
if (resultData.ErrorMsg == "") {
pro.tableop.dataset = resultData.Result2;
pro.tableop.pdid = resultData.Result3;
}
})
},
InitWigetData: function () {
var pro = this;
var tablepar = JSON.parse(pro.$root.pagedata.ExtData);
var allcz = tablepar.ActionData;// 操作列表
var sqdata = pro.$root.pagedata.ActionData.split(',');//授权列表
pro.tableop.title = tablepar.name;
if (pro.tableop.collist.length == 0) {
pro.tableop.collist = [];
for (var i = 0; i < tablepar.WDData.length; i++) {
if (tablepar.WDData[i].colname) {
pro.tableop.collist.push({ colid: tablepar.WDData[i].colid, colname: tablepar.WDData[i].colname, isshow: tablepar.WDData[i].isshow, istip: true });
}
}
}
pro.plbtns = _.filter(allcz, function (item) { return item.isrowcz == '0' && _.findIndex(sqdata, function (ac) { return ac == item.czname }) > -1 });
var rczbtns = _.filter(allcz, function (item) { return item.isrowcz == '1' });
pro.tableop.czltabledata = [];
_.forEach(rczbtns, function (mxcz) {
if (_.findIndex(sqdata, function (ac) { return ac == mxcz.czname }) > -1) {
if (mxcz.czname == "编辑") {
pro.tableop.czltabledata.push({
colname: "编辑", bttype: "text", isshow: true, mangefun: function (rowdata) {
ComFunJS.winviewform("/BiManage/AppPage/FORMBI/FormManage.html?piid=" + rowdata.intProcessStanceid + "&vtype=2", "管理表单", "1000", "", function () {
model.refpage();
});
},
});
} else if (mxcz.czname == "删除") {
pro.tableop.czltabledata.push({
colname: "删除", bttype: "text", isshow: true, mangefun: function (rowdata) {
this.$parent.DelItemData(rowdata);
}
});
} else {
pro.tableop.czltabledata.push({
colname: mxcz.czname, bttype: mxcz.bttype, isshow: true, mangefun: function (rowdata) {
if (mxcz.jscode) {
let jscode = mxcz.jscode;
let func = new Function('rowdata', jscode);
func(rowdata)
}
},
});
}
}
});
_.forEach(tablepar.mrcxdata, function (obj) {
var temp = [];
_.forEach(obj.cxdata.split(','), function (cx) {
temp.push({ issel: false, itemtext: cx })
})
if (temp.length > 0) {
temp[0].issel = true;
}
obj.lbdata = temp;
})
pro.mrcxdata = tablepar.mrcxdata;//分类操作
pro.Query();
},
},
mounted: function () {
var pro = this;
pro.$nextTick(function () {
pro.InitWigetData();
})
}
};
</script>