8ce59662 by 焦泽平
2 parents 3269ef39 b8ef51ba
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
......
......@@ -115,3 +115,18 @@ export function booleanWorkflow(data) {
})
}
/**
* 获取工作流大纲
*/
export function getProcessOutlineByYbx(data) {
return request({
url: '/workflow/getProcessOutline',
method: 'get',
params: {
processInstanceId:data,
isCurrent:false
}
})
}
......
<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"),
}
],
},
......
......@@ -54,6 +54,7 @@ const store = new Vuex.Store({
oldZdbsm:'',
newZdbsm:'',
isWorkFlow:false, // 判断是否工作流数据
lcgzShow:false,//是否待办箱的数据,显示流程追踪
},
modules: {
user,
......
......@@ -181,7 +181,10 @@ export default {
}else if(newPath == '/zrz' || newPath == '/zd' || newPath == '/dz'){
booleanWorkflow(this.$route.query.ywbsm).then(res=>{
this.$store.state.isWorkFlow = res.result;
})
});
if(typeof this.$route.query.processInstanceId !== 'undefined'){
this.$store.state.lcgzShow = true;
}
}
},
"$store.state.treeData":function (val) {
......
......@@ -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: {
......@@ -653,7 +657,6 @@
watch:{
dzbsm:function (val) {
debugger
console.log(val,'多幢BSM')
this.getDzDetailByBsm(val)
},
......
......@@ -5,7 +5,9 @@
<el-tab-pane label="附件材料" name="fjcl"><fjcl v-if="fjclVisible" ref="fjcl" :is-disabled="isDisabled"></fjcl></el-tab-pane>
<el-tab-pane label="历史回溯" name="lshs"><lshs v-if="lshsVisible" :type="type" :bsm="$route.query.bsm"></lshs></el-tab-pane>
<el-tab-pane label="登记簿" name="djb"><djb></djb></el-tab-pane>
<el-tab-pane label="流程跟踪" name="lcgz" v-if="$store.state.isWorkFlow || $store.state.lcgzShow" lazy>
<lcgz ref="lcgz" ></lcgz>
</el-tab-pane>
</el-tabs>
</div>
</template>
......@@ -15,11 +17,12 @@
import fjcl from "./../zd/fjcl/fjcl"
import {queryStatus} from "@api/search"
import Lshs from '@components/lshs/index';
import Lcgz from "../zd/lcgz"
import djb from "./djb";
export default {
name: "",
components: {
dzxx,fjcl,Lshs,djb
dzxx,fjcl,Lshs,djb,Lcgz
},
props: {},
data() {
......
......@@ -115,14 +115,14 @@
<script>
import { Chart, registerShape } from '@antv/g2';
import {getDbxList} from "@api/dbx";
import {getDbxList,getYbxList} from "@api/dbx";
export default {
components:{},
data() {
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'},
......@@ -182,6 +182,7 @@ export default {
this.imgHeight = this.$refs.enterBox.offsetHeight - 10
});
this.getDbxCount();
this.getYbxCount();
this.initG2qllx();
this.initG2tdfwtj();
this.initG2xntjid();
......@@ -248,6 +249,23 @@ export default {
}
})
},
getYbxCount(){
let data = {
page:0,
size:20,
current:false,
currentUser:true,
createDateStart:"",
createDateEnd:""
}
getYbxList(data).then((res)=>{
this.workList.forEach((item,index)=>{
if(item.name === '已办箱'){
item.count = res.totalElements;
}
})
})
},
initG2qllx(){
const data = [
{ item: '国有建设用地使用权', count: 40, percent: 0.4 },
......
<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.glbsm,
source: 2,
auth: '0,1,2',
processInstanceId:row.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>
......@@ -69,6 +69,10 @@
isDisabled:{
type:Boolean,
default:false
},
lpbParent:{
type:Boolean,
default:false
}
},
methods: {
......@@ -128,7 +132,7 @@
default:
break
}
getFileLis(this.fileData.glbsm).then(res => {
getFileLis(this.lpbParent ? this.$store.state.hbsm : this.fileData.glbsm).then(res => {
if (res.success) {
this.list = res.result;
} else {
......
......@@ -15,7 +15,7 @@
<el-tab-pane label="附件材料" name="fjcl">
<fjcl v-if="fjclVisible" ref="fjcl" :is-disabled="isDisabled"></fjcl>
</el-tab-pane>
<el-tab-pane label="流程跟踪" name="lcgz" v-if="$store.state.isWorkFlow" lazy>
<el-tab-pane label="流程跟踪" name="lcgz" v-if="$store.state.isWorkFlow || $store.state.lcgzShow" lazy>
<lcgz ref="lcgz" ></lcgz>
</el-tab-pane>
</el-tabs>
......
......@@ -26,7 +26,7 @@
<span>创建人</span>
<span>{{lcInfo.processInstance.creatorName}}</span>
</li>
<li>
<li v-if="lcInfo.workitemInstance">
<span>流程阶段</span>
<span>{{lcInfo.workitemInstance.nodeName}}</span>
</li>
......@@ -34,7 +34,7 @@
<span>流程状态</span>
<span>{{lcInfo.processInstance.state}}</span>
</li>
<li>
<li v-if="lcInfo.workitemInstance">
<span>当前责任人</span>
<span>{{lcInfo.workitemInstance.actorName}}</span>
</li>
......@@ -64,7 +64,7 @@
</template>
<script>
import { getActivityDetail,templateLoad,getProcessOutline } from "@api/user";
import { getActivityDetail,templateLoad,getProcessOutline,getProcessOutlineByYbx } from "@api/user";
import flowNode from "./flownode"
export default {
name: "",
......@@ -81,7 +81,12 @@ export default {
},
created() {},
mounted() {
this.getTemplate();
if(typeof this.$route.query.workitemInstanceId !== 'undefined'){
this.getTemplate();
}else if(typeof this.$route.query.processInstanceId !== 'undefined'){
this.getTemplateByProcessInstanceId();
}
},
methods: {
getTemplate(){
......@@ -122,6 +127,35 @@ export default {
vm.loadingHide();
});
},
getTemplateByProcessInstanceId(){
vm.loadingShow('数据获取中');
getProcessOutlineByYbx(this.$route.query.processInstanceId).then((res) => {
console.log(res.processInstance.templetId);
this.lcInfo = res;
templateLoad(res.processInstance.templetId).then((res1) => {
vm.loadingHide();
console.log(this.$x2js.xml2js(res1).Process,'Process');
this.flowData = this.$x2js.xml2js(res1).Process;
console.log(res1.activityOutlines,'res.activityOutlines');
this.flowState = res.activityOutlines;
this.$nextTick(()=>{
this.flowData.Nodes.ManualNode.push(this.flowData.Nodes.EndNode);
this.flowData.Nodes.ManualNode.unshift(this.flowData.Nodes.StartNode);
this.flowData.Nodes.ManualNode.forEach(item => {
item.activityState = this.flowState.filter( i => i.activityTemplateId == item.id)[0].activityState;
});
this.flowShow = true;
})
})
.catch((error) => {
vm.loadingHide();
});
})
.catch((error) => {
vm.loadingHide();
});
},
//获取当前点击节点名称
getCurNode(name){
console.log(name);
......
......@@ -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(){
......
......@@ -6,6 +6,9 @@
<el-tab-pane label="楼盘表" name="lpb"><lpb v-if="lpbLoad"></lpb></el-tab-pane>
<el-tab-pane label="历史回溯" name="lshs"><lshs v-if="lshsVisible" :type="type" :bsm="$route.query.bsm"></lshs></el-tab-pane>
<el-tab-pane label="附件材料" name="fjcl"><fjcl ref="fjcl" :is-disabled="isDisabled"></fjcl></el-tab-pane>
<el-tab-pane label="流程跟踪" name="lcgz" v-if="$store.state.isWorkFlow || $store.state.lcgzShow" lazy>
<lcgz ref="lcgz" ></lcgz>
</el-tab-pane>
</el-tabs>
</template>
......@@ -16,11 +19,12 @@ import djb from "./djb";
import lpb from "./lpb";
import lshs from "./lshs";
import fjcl from "./../zd/fjcl/fjcl";
import Lcgz from "../zd/lcgz"
import {queryStatus} from "@api/search"
export default {
name: "",
components: {
zrzxx,yzgy,djb,lpb,lshs,fjcl
zrzxx,yzgy,djb,lpb,lshs,fjcl,Lcgz
},
props: {},
data() {
......
......@@ -7,7 +7,7 @@
<djb v-if="djbVisible" :style="{'height' : formHeight+'px'}"></djb>
</el-tab-pane>
<el-tab-pane label="附件材料" name="fjcl">
<fjcl v-if="fjclVisible" ref="fjcl" :style="{'height' : formHeight+'px'}" :is-disabled="isDisabled"></fjcl>
<fjcl v-if="fjclVisible" ref="fjcl" :lpbParent="true" :style="{'height' : formHeight+'px'}" :is-disabled="isDisabled"></fjcl>
</el-tab-pane>
</el-tabs>
</template>
......@@ -22,6 +22,9 @@
components: {
hbj, djb, fjcl
},
props:{
bsm:String, //户标识码
},
data() {
return {
isDisabled:false,
......@@ -37,7 +40,6 @@
},
methods: {
loadingStatus() {
debugger
let bsm=this.$store.state.hbsm;
queryStatus(bsm).then(res => {
if (res.success) {
......
......@@ -83,14 +83,14 @@
label="7"
border
@click="batchDelete"
><i class="iconfont iconhuzhongxinlazong"></i>批量删除</el-button
><i class="iconfont iconshanchu"></i>批量删除</el-button
>
<el-button
class="radioBtn"
label="7"
border
@click="batchUpload"
><i class="iconfont iconhuzhongxinlazong"></i>批量上传</el-button
><i class="iconfont iconshangchuan"></i>批量上传</el-button
>
</div>
</el-col>
......@@ -309,6 +309,33 @@
<pl-zl :pl-zl-visible="plzlVisible" :bsms="bsms" @close="plZlClose" @lodding="lodding"></pl-zl>
<pl-c :plc-visible="plcVisible" :bsms="cbsmList" @close="plcClose" @lodding="lodding"></pl-c>
<pl-sh :plShVisible="plShVisible" :bsms="bsms" @close="plshClose" @lodding="lodding"></pl-sh>
<el-dialog v-dialogDrag :close-on-click-modal="false" title="批量上传" :visible.sync="uploadVisible" width="30%" >
<div class="wrap">
<div class="main-button">
<el-upload
class="upload-demo"
action="/api/file/uploadListByGlbsm"
:data="fileData"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:on-success="uploadSuccess"
:on-error="uploadError"
:show-file-list="false"
multiple
:limit="1"
:on-exceed="handleExceed"
>
<el-button type="primary" icon="iconfont iconshangchuan">上传附件</el-button>
</el-upload>
</div>
<el-button type="primary" class="download" @click="uploadVisible = false"
>取消</el-button>
</div>
<span slot="footer" class="dialog-footer">
</span>
</el-dialog>
</div>
</template>
......@@ -432,6 +459,11 @@ export default {
taskTitle:'添加',
curBsm:'',
qsztList:[],
uploadVisible:false, //批量上传弹框
fileData:{
glbsmList:[],
dylx:'h'
}
};
},
created() {
......@@ -473,7 +505,8 @@ export default {
}
},
//批量删除
batchDelete(){ if (this.bsms.length <= 0) {
batchDelete(){
if (this.bsms.length <= 0) {
Message.warning("请选择操作户")
return
}else{
......@@ -491,6 +524,39 @@ export default {
}
}
},
//批量上传 start
batchUpload(){
if (this.bsms.length < 1 ) {
Message.warning("请选择操作户")
return
}else{
this.uploadVisible = true
}
},
uploadError(err, file, fileList) {
Message.error("上传文件失败")
console.log("上传文件失败", err)
},
uploadSuccess(res, file, fileList) {
Message.success("上传成功")
this.uploadVisible = false;
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
handleExceed(files, fileList) {
console.log(fileList)
// this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
this.$message.warning("上传失败")
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${ file.name }?`);
},
//批量上传 end
loading(){
this.getLpbMenuTree(this.$store.state.zrzbsm);
},
......@@ -922,6 +988,10 @@ export default {
selectedZt(n){
this.legendToggleFlag = true;
},
bsms(n){
this.fileData.glbsmList = n;
console.log(this.fileData,'filedata');
}
},
};
</script>
......@@ -1098,5 +1168,25 @@ export default {
.fa{
padding-right: 4px;
}
.wrap{
width: 100%;
height: 30px;
position: relative;
.main-button {
display: -webkit-flex;
display: flex;
flex-direction: column-reverse;
flex-wrap: nowrap;
position: absolute;
left: 165px;
top: 18px;
}
.download{
position: absolute;
left: 312px;
top: 19px;
}
}
}
</style>
......
......@@ -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],
......@@ -880,7 +882,10 @@
this.getActivityDetail();
this.$nextTick(() => {
this.mainBoxWidth = this.$refs.mainBox.clientWidth;
})
});
if(typeof this.$route.query.workitemInstanceId !== 'undefined'){
this.workitemInstanceFlag = true;
}
},
computed: {
zrzbsm() {
......