c86881ca by zhaoqian

按钮权限控制

1 parent 7c5daf18
import request from '@/plugin/axios'
/**
* 综合查询
* 待办箱综合查询
*/
export function getDbxList(data) {
return request({
......@@ -8,4 +8,25 @@ export function getDbxList(data) {
method: 'post',
data : data,
})
}
/**
* 已办箱综合查询
*/
export function getYbxList(data) {
return request({
url: '/workflow/queryWorkflowProcess',
method: 'post',
data : data,
})
}
/**
* 通过名称获取字典
*/
export function queryByBusinessId(businessId) {
return request({
url: '/system/basiccommon/query/'+businessId,
method: 'get',
})
}
\ No newline at end of file
......
<template>
<el-row class="box">
<el-col :span="24">
<el-row>
<el-col :span="18">
<el-form :inline="true" class="demo-form-inline" label-width="106px">
<el-form-item label="">
<el-date-picker
v-model="chooseDate"
type="datetimerange"
:picker-options="pickerOptions"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
align="right">
</el-date-picker>
</el-form-item>
<el-form-item label="登记类型">
<el-select v-model="djlx" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form>
</el-col>
<el-col :span="6" aria-rowspan="3">
<el-button type="primary" @click="query" icon="el-icon-search">查询</el-button>
<el-button type="warning" @click="reset" icon="el-icon-refresh">重置</el-button>
</el-col>
</el-row>
</el-col>
</el-row>
</template>
<script>
export default {
name: "",
components: {},
props: {
type:{
type:String,
default:'all',
required:true
}
},
data() {
return {
offset: 22,
ismore: false,
chooseDate:[],
djlx:'',
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
queryData: {
page:0,
size:20,
current:false,
currentUser:true,
createDateStart:"",
createDateEnd:"",
title:"",
templateName:""
},
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近一个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
}, {
text: '最近三个月',
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}]
},
};
},
created() {
},
mounted() {
let self = this;
document.onkeydown = function(e) {
//按下回车提交
let key = window.event.keyCode;
//事件中keycode=13为回车事件
if (key == 13) {
// self.onSubmit();
}
};
},
methods: {
//重置
reset() {
this.queryData = {
page:0,
size:20,
current:false,
currentUser:true,
createDateStart:"",
createDateEnd:"",
title:"",
templateName:""
};
this.query();
},
//查询
query() {
console.log(this.chooseDate,"chooseDate")
console.log(this.djlx,"djlx")
if(this.chooseDate.length>0){
this.queryData.createDateStart = this.chooseDate[0];
this.queryData.createDateEnd = this.chooseDate[1];
}
this.queryData.templateName = this.djlx;
//子组件点击查询时将表单数据发送给父组件
this.$emit("getSearchCondition", this.queryData);
},
// 高级查询
moreSearch(){
if(this.ismore === true){
this.ismore = false;
this.$parent.tableHeight+=55;
}else {
this.ismore = true;
this.$parent.tableHeight-=55;
}
// this.$message('待开发');
}
},
computed: {},
watch: {},
};
</script>
<style scoped lang="less">
.box{
background-color: #FFFFFF;
box-sizing: border-box;
padding: 18px 0 0 25px;
border: 1px solid #E6E6E6;
.el-col{
.el-row{
margin-left: -10px;
}
}
margin-bottom: 10px;
}
.el-button {
width: 100px;
}
.row3 {
height: 55px;
}
.moreSearchBtn{
background-color: #1AD6E1;
border-color: #1AD6E1;
}
</style>
......@@ -101,9 +101,15 @@ const constantRoutes = [
},
{
path: "/dbx",
name: "办箱",
name: "办箱",
code: "2-1",
component: () => import("@/views/dbx/index"),
},
{
path: "/ybx",
name: "已办箱",
code: "2-1",
component: () => import("@/views/ybx/index"),
}
],
},
......
......@@ -193,11 +193,11 @@
</tbody>
</table>
</el-form>
<div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow">
<div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
<el-button type="primary" class="saveBtn" @click="onSave" :disabled="disabled">保存</el-button>
<el-button type="primary" @click="registerCall">登记调用</el-button>
</div>
<div class="sh-btn" v-if="$store.state.isWorkFlow">
<div class="sh-btn" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
<el-button type="primary" @click="lczz" v-show="workFlowphase == 'modify'">终止</el-button>
<el-button type="primary" @click="thzd" v-show="rollbackDetails.length>0">退回</el-button>
<el-button type="primary" @click="onSubmit" :disabled="disabled" v-if="!workFlowState">提交</el-button>
......@@ -297,7 +297,8 @@
workFlowState:false,
workFlowData:{},
workFlowphase:'',
rollbackDetails:[]
rollbackDetails:[],
workitemInstanceFlag:false
}
},
created() {
......@@ -315,7 +316,10 @@
this.getActivityDetail();
this.$nextTick(() => {
this.mainBoxWidth = this.$refs.mainBox.clientWidth;
})
});
if(typeof this.$route.query.workitemInstanceId !== 'undefined'){
this.workitemInstanceFlag = true;
}
},
methods: {
......
......@@ -122,7 +122,7 @@ export default {
return {
workList: [
{ name: "待办箱", img: require("@assets/images/dbx.png"),count:0,path:'/dbx' },
{ name: "退件箱", img: require("@assets/images/tjx.png"),count:0 },
{ name: "退件箱", img: require("@assets/images/tjx.png"),count:0,path:'ybx' },
],
list: [
{ name: "宗地分割", img: require("@assets/images/zdfg.png"),path:'change',oLevel:'fg',tLevel:'zd'},
......
<template>
<el-tabs v-model="activeName" @tab-remove="removeTab">
<el-tab-pane label="已办箱" name="ybx"><ybxInfo></ybxInfo></el-tab-pane>
<!-- <el-tab-pane-->
<!-- v-for="(item, index) in editableTabs"-->
<!-- :key="item.name"-->
<!-- :label="item.title"-->
<!-- :name="item.name"-->
<!-- >-->
<!-- {{item.content}}-->
<!-- </el-tab-pane>-->
</el-tabs>
</template>
<script>
import ybxInfo from "@/views/ybx/ybinfo/index"
export default {
name: "",
inject:['getRightTree','getTreeByBsm'],
components: {ybxInfo},
props: {},
data() {
return {
activeName:'ybx',
type:'all',
total: 0,
pageNo: 1,
pageSize: 15,
tableData: [],
tableHeight: 0,
queryData: {},
editableTabs: [
// {
// title: 'Tab 1',
// name: '1',
// content: 'Tab 1 content'
// }
],
};
},
created() {
},
mounted() {
this.queryData.pageSize=this.pageSize;
this.queryData.pageNo=this.pageNo;
},
methods: {
changeActiveName(data){
this.activeName = data;
},
removeTab(targetName) {
let tabs = this.editableTabs;
let activeName = this.activeName;
if (activeName === targetName) {
tabs.forEach((tab, index) => {
if (tab.name === targetName) {
let nextTab = tabs[index + 1] || tabs[index - 1];
if (nextTab) {
activeName = nextTab.name;
}
}
});
}
this.activeName = activeName;
this.editableTabs = tabs.filter(tab => tab.name !== targetName);
},
},
computed: {},
watch: {},
};
</script>
<style scoped lang="less">
.main {
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 0 18px 0 0;
display: flex;
flex-direction: column;
background-color: #F4F9FF;
.tips{
color: #9B9B9B;
margin-left: 2px;
margin-bottom: 10px;
}
.demo-form-inline {
margin-top: 18px;
.moreSearchBtn {
background-color: #1ad6e1;
border-color: #1ad6e1;
}
.moreSearchBtn:focus,
.moreSearchBtn:hover {
background-color: rgba(28, 200, 229, 0.6);
}
}
.dataGrid {
flex: 1;
.pagination {
padding: 18px 0;
}
}
.hbjDialog{
/deep/ .el-dialog{
margin-top: 10vh!important;
}
}
.btnGroup{
margin: 20px auto 0;
width: 230px;
}
}
</style>
<template>
<div class="main">
<!-- <p class="tips">查询条件</p> -->
<SearchHeadYbx @getSearchCondition="geQuerytData" :type="type"></SearchHeadYbx>
<!-- <p class="tips">查询列表</p> -->
<div class="dataGrid" ref="dataGrid">
<el-table
:data="tableData"
:height="tableHeight"
:row-class-name="tableRowClassName"
@row-dblclick="doubleClick"
>
<el-table-column type="index" width="80" align="center" label="序号">
</el-table-column>
<el-table-column prop="businessId" align="left" label="业务号">
</el-table-column>
<el-table-column prop="creatorName" align="left" label="创建人">
</el-table-column>
<el-table-column prop="templetName" align="left" label="业务类型">
</el-table-column>
<el-table-column prop="createDate" align="left" label="创建时间">
</el-table-column>
<el-table-column prop="finishDate" align="left" label="完成时间">
</el-table-column>
<!-- <el-table-column prop="cjr" align="left" width="120" label="创建人">
</el-table-column> -->
<el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-tooltip class="item" effect="light" content="查看" placement="top">
<i class="iconfont iconbanli iconfontEdit" @click="handleClick(scope.row)" style="padding:0 10px"></i>
</el-tooltip>
<!-- <el-tooltip class="item" effect="light" content="定位" placement="top">
<i class="iconfont icondingwei iconfontEdit" @click="postionToMap(scope.row)"></i>
</el-tooltip> -->
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="prev, pager, next,total" :total="total"
:current-page="page" :page-size="pageSize" @current-change="handleCurrentChange">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import SearchHeadYbx from "@components/searchHead/searchHeadYbx";
import {getYbxList,queryByBusinessId} from "@api/dbx";
export default {
name: "",
inject:['getRightTree','getTreeByBsm'],
components: {SearchHeadYbx},
props: {},
data() {
return {
activeName:'dbx',
type:'add',
total: 0,
page: 0,
pageSize: 15,
tableData: [],
tableHeight: 0,
queryData: {
page:0,
size:20,
current:false,
currentUser:true,
createDateStart:"",
createDateEnd:""
},
};
},
created() {
},
mounted() {
this.queryData.pageSize=this.pageSize;
this.queryData.page=this.page;
this.getData(this.queryData);
this.$nextTick(()=>{
this.tableHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 332;
})
},
methods: {
onSubmit() {
},
getBusinessDetail(businessId){
queryByBusinessId(businessId).then((res)=>{
if(res.code === 200){
console.log(res.result)
}
})
},
doubleClick(row, column, event){
this.handleClick(row);
},
tableRowClassName({row, rowIndex}) {
if (rowIndex % 2 !== 0) {
return "even-row";
} else {
return "";
}
},
handleCurrentChange(val) {
this.page = val;
this.queryData.page = val;
this.getData(this.queryData);
},
getData(data) {
data['type'] = this.type
getYbxList(data).then(res => {
this.tableData = res.content
this.total = res.totalElements
});
},
//获取子组件点击查询触发的事件
geQuerytData(obj) {
this.queryData = obj
//将obj作为参数调用接口查询表格数据
this.queryData['pageSize'] = this.pageSize
this.page = 1
this.queryData['page'] = 1
this.getData(this.queryData)
},
//点击办理
handleClick(row) {
let data = {};
queryByBusinessId(row.businessId).then((res)=>{
if(res.code === 200){
data = res.result;
console.log(data);
let path = "";
this.$store.state.oldZdbsm = '';
switch (data.dylx) {
case "zrz":
this.$store.state.zrzbsm = data.glbsm;
this.getTreeByBsm(data.glbsm,data.dylx,'0,1,2');
path = "/zrz";
break;
case "zd":
this.$store.state.zdbsm = data.glbsm;
this.getRightTree(data.glbsm,'0,1,2');
path = "/zd";
break;
case "dz":
this.$store.state.dzbsm = data.glbsm;
this.getTreeByBsm(data.glbsm,data.dylx,'0,1,2');
path = "/dz";
break;
case "h":
case "h0":
case "h1":
path="/h";
this.$store.state.hbsm=data.glbsm
this.getTreeByBsm(data.glbsm,'h','0,1,2');
break;
case "gzw":
this.$store.state.gzwbsm = data.glbsm;
this.getTreeByBsm(data.glbsm,"gzw",'0,1,2');
path = "/gzw";
break;
default:
break;
}
this.$router.push({
path: path,
query: {
bsm: data.glbsm,
ywbsm: data.businessId,
source: 2,
auth: '0,1,2',
workitemInstanceId:data.id
}
});
}
})
},
//定位
//图形定位
postionToMap(rowData){
if(rowData.dylx == "zrz" || rowData.dylx == "zd"){
var curretRouterInfo = {
path:this.$route.path,
query:this.$route.query
}
sessionStorage.setItem("curretRouterInfo",JSON.stringify(curretRouterInfo));
this.$router.push({
path: "/viewMap",
query: {
bsm: rowData.glbsm,
type: rowData.dylx
}
});
}
}
},
computed: {},
watch: {},
};
</script>
<style scoped lang="less">
.main {
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 0 18px 0 0;
display: flex;
flex-direction: column;
//background-color: #F4F9FF;
background-color: #F4F9FF;
.tips{
color: #9B9B9B;
margin-left: 2px;
margin-bottom: 10px;
}
.demo-form-inline {
margin-top: 18px;
.moreSearchBtn {
background-color: #1ad6e1;
border-color: #1ad6e1;
}
.moreSearchBtn:focus,
.moreSearchBtn:hover {
background-color: rgba(28, 200, 229, 0.6);
}
}
.dataGrid {
flex: 1;
.pagination {
padding: 18px 0;
}
}
.hbjDialog{
/deep/ .el-dialog{
margin-top: 10vh!important;
}
}
.btnGroup{
margin: 20px auto 0;
width: 230px;
}
}
</style>
......@@ -363,12 +363,12 @@
</td>
</tr>
</table>
<div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow">
<div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
<el-button type="primary" class="saveBtn" @click="updateZDxx" :disabled="disabled" icon="iconfont iconbaocun">保存</el-button>
<el-button type="primary" @click="registerCall">登记调用</el-button>
</div>
</div>
<div class="sh-btn" v-if="$store.state.isWorkFlow">
<div class="sh-btn" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
<el-button type="primary" @click="lczz" v-show="workFlowphase == 'modify'">终止</el-button>
<el-button type="primary" @click="thzd" v-show="rollbackDetails.length>0">退回</el-button>
<el-button type="primary" @click="submitZDxx" :disabled="disabled" v-if="!workFlowState">提交</el-button>
......@@ -486,7 +486,8 @@
workFlowState:false,
workFlowData:{},
workFlowphase:'',
rollbackDetails:[]
rollbackDetails:[],
workitemInstanceFlag:false
};
},
mixins: [geoUtils],
......@@ -499,6 +500,9 @@
this.$nextTick(() => {
this.mainBoxWidth = this.$refs.mainBox.clientWidth;
})
if(typeof this.$route.query.workitemInstanceId !== 'undefined'){
this.workitemInstanceFlag = true;
}
},
methods: {
getActivityDetail(){
......
......@@ -272,15 +272,15 @@
</tr>
</table>
<div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow">
<div class="header-button" :style="{width:mainBoxWidth+'px'}" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
<el-button type="primary" class="saveBtn" @click="onSave" :disabled="disabled" icon="iconfont iconbaocun">保存</el-button>
<el-button type="primary" @click="registerCall">登记调用</el-button>
<!-- <el-button type="primary" class="saveBtn" @click="save">保存</el-button> -->
</div>
</div>
<div class="sh-btn" v-if="$store.state.isWorkFlow">
<div class="sh-btn" v-if="$store.state.isWorkFlow && workitemInstanceFlag">
<el-button type="primary" @click="lczz" v-show="workFlowphase == 'modify'">终止</el-button>
<el-button type="primary" @click="thzd" v-show="rollbackDetails.length>0">退回</el-button>
<el-button type="primary" @click="thzrz" v-show="rollbackDetails.length>0">退回</el-button>
<el-button type="primary" @click="onSubmit" :disabled="disabled" v-if="!workFlowState">提交</el-button>
<el-button type="primary" @click="shzrz" v-if="workFlowState">审核</el-button>
</div>
......@@ -305,6 +305,7 @@
data () {
return {
//树型结构
show:true,
clearable: true,
......@@ -419,7 +420,8 @@
workFlowState:false,
workFlowData:{},
workFlowphase:'',
rollbackDetails:[]
rollbackDetails:[],
workitemInstanceFlag:false
}
},
mixins:[geoUtils],
......@@ -872,7 +874,10 @@
this.getActivityDetail();
this.$nextTick(() => {
this.mainBoxWidth = this.$refs.mainBox.clientWidth;
})
});
if(typeof this.$route.query.workitemInstanceId !== 'undefined'){
this.workitemInstanceFlag = true;
}
},
computed: {
zrzbsm() {
......