This commit is contained in:
JyuHsin
2026-03-10 10:20:42 +08:00
parent 1b6d2c787e
commit 30a17cb884
67 changed files with 4765 additions and 277 deletions
+2 -2
View File
@@ -94,12 +94,12 @@ layout("/mobile/platform.html"){
isOpen: true,
backGroundColor: '#58ae62'
},
{
/* {
src: '/assets/platform/img/quickentry/proposal.png',
text: '提案管理',
isOpen: true,
backGroundColor: '#a762c3'
},
},*/
{
src: '/assets/platform/img/quickentry/activity.png',
text: '活动管理',
@@ -201,15 +201,15 @@ layout("/mobile/platform.html"){
<span class="train-title">联&ensp;系&ensp;人:</span>
<span>{{o.courseInstructor}}</span>
</div>
<div v-if="activity.addressName!='上车'">
<span class="train-title">时&emsp;&emsp;间:</span>
<span v-if="o.courseTimeList && o.courseTimeList.length > 1" @click="trainClick(o)"
style="color: #1867b0">点我查看</span>
<span @click="trainClick(o)" v-if="o.courseTimeList && o.courseTimeList.length === 1"
style="color: #1867b0">
{{o.courseTimeList[0].courseStartTime.substring(11, 19) + ' ~ ' + o.courseTimeList[0].courseEndTime.substring(11, 19)}}
</span>
</div>
<!-- <div v-if="activity.addressName!='上车'">-->
<!-- <span class="train-title">时&emsp;&emsp;间:</span>-->
<!-- <span v-if="o.courseTimeList && o.courseTimeList.length > 1" @click="trainClick(o)"-->
<!-- style="color: #1867b0">点我查看</span>-->
<!-- <span @click="trainClick(o)" v-if="o.courseTimeList && o.courseTimeList.length === 1"-->
<!-- style="color: #1867b0">-->
<!-- {{o.courseTimeList[0].courseStartTime.substring(11, 19) + ' ~ ' + o.courseTimeList[0].courseEndTime.substring(11, 19)}}-->
<!-- </span>-->
<!-- </div>-->
<div>
<span @click.stop="showPic(FILE_DOMAIN + '/fileStreamPreview?id=' + tableData.wechat.id)"
v-if="o.isSign === true && tableData.wechat"
@@ -351,7 +351,7 @@ layout("/mobile/platform.html"){
}
},
components: {
'train-dynamic-form': httpVueLoader('/components/mobile/common/TrainDynamicForm.vue')
'train-dynamic-form': httpVueLoader('/components/mobile/common/TrainDynamicForm.vue?v=' + new Date().getTime())
},
methods: {
getCourseTypeName(o) {
@@ -45,6 +45,9 @@ layout("/layouts/platform.html"){
:disabled="multipleSelection && multipleSelection.length >=2 ? false : true"
type="primary" v-if="!pageForm.isAudit" size="mini">并案审核
</el-button>
<el-button icon="el-icon-s-promotion" type="primary" size="small"
@click="sendToDoTaskInfo">发送待办
</el-button>
</template>
</table-tool>
<el-table :data="tableData" align="center" header-align="center" :row-key="(row)=>{row.id}"
@@ -578,6 +581,23 @@ layout("/layouts/platform.html"){
}
}
},
// 发送待办
async sendToDoTaskInfo () {
const confirm = await this.$confirm('确定发送待办到执委会吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
if (confirm !== 'confirm') return
const resp = await $.post(loc() + '/sendToDoTaskInfo')
if(resp.code != 0) {
this.$message.error(resp.msg)
} else {
this.$message.success(resp.msg)
}
},
vChange(value) {
if (value.newValue === 'index' && this.multipleSelection.length > 0 && this.mergeIndex === 1) {
this.dialogVisible = true
@@ -643,6 +663,19 @@ layout("/layouts/platform.html"){
this.$refs.audit.openView(id)
},
async autoOpenAuditPage() {
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const proposalId = urlParams.get('proposalId')
if(proposalId && proposalId != '') {
const res = await $.post('/platform/proposal/transact/case/case/detail?id=' + proposalId)
if(!res.data) return;
setTimeout(async ()=> {
await this.openAudit(proposalId, res.data)
}, 500)
}
},
async doAudit(flag) {
let formValid = true
this.$refs["auditForm"].validate(async valid => formValid = valid)
@@ -735,6 +768,14 @@ layout("/layouts/platform.html"){
this.$notify.success({title: '成功', message: resp.msg});
this.pageData()
this.$refs.guava.index()
// 弹出发送待办提示
const sendTask = resp.data.sendTask
console.log('sendTask', sendTask)
if(sendTask) {
await this.sendToDoTaskInfo()
}
} else {
this.$notify.error({title: '失败', message: resp.msg});
}
@@ -758,6 +799,8 @@ layout("/layouts/platform.html"){
this.noFilingReason = this.config.noFilingReason
await proposal.initData(this)
// 打开审核界面
await this.autoOpenAuditPage()
},
watch: {}
})
@@ -215,6 +215,20 @@ layout("/layouts/platform.html"){
this.$refs.guava.edit()
this.$refs.audit.openView(id)
},
// 自动打开审核页面
async autoOpenAuditPage() {
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const proposalId = urlParams.get('proposalId')
if(proposalId != null && proposalId != '') {
const res = await $.post('/platform/proposal/transact/caseCheck/detail?proposalId=' + proposalId)
console.log(res)
setTimeout(async ()=> {
await this.openAudit(res.data)
}, 500)
}
},
async doAudit() {
let formValid = true
this.$refs["auditForm"].validate(async valid => formValid = valid)
@@ -255,6 +269,8 @@ layout("/layouts/platform.html"){
},
async created() {
await proposal.initData(this)
await this.autoOpenAuditPage()
}
})
</script>
@@ -231,6 +231,17 @@ layout("/layouts/platform.html"){
this.$refs['auditForm'].resetFields()
}
},
async openAuditView() {
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const proposalId = urlParams.get('proposalId')
if(proposalId && proposalId !== '') {
setTimeout(()=> {
this.openAudit(proposalId)
}, 500)
}
},
async doAudit(flag) {
this.submitDisabled = true
let formValid = true
@@ -290,6 +301,9 @@ layout("/layouts/platform.html"){
},
async created() {
await proposal.initData(this)
// 打开审批页面
await this.openAuditView()
}
})
</script>
@@ -16,15 +16,19 @@ layout("/layouts/platform.html"){
<el-button icon="el-icon-s-promotion" type="primary" size="small"
@click="batchAudit">批量审核
</el-button>
<el-button icon="el-icon-s-promotion" type="primary" size="small"
@click="sendToDoTaskInfo">发送待办
</el-button>
</template>
</table-tool>
<el-table :data="tableData" align="center" header-align="center" :row-key="(row)=>{row.id}"
:size="tableSize"
@sort-change="pageOrder" @selection-change="(val)=>{this.batchSelection = val}">
<el-table-column
:selectable="(row)=>{return row.executorOpinion==null && row.resultCode!='notGive'}"
type="selection"
width="55"></el-table-column>
<!-- 注释掉 暂时不允许批量选择审核 -->
<!-- <el-table-column-->
<!-- :selectable="(row)=>{return row.executorOpinion==null && row.resultCode!='notGive'}"-->
<!-- type="selection"-->
<!-- width="55"></el-table-column>-->
<el-table-column align="center" header-align="center" label="序号" type="index" width="80">
<template scope="scope">
<span>{{ scope.$index + (pageForm.pageNumber - 1) * pageForm.pageSize + 1 }} </span>
@@ -59,7 +63,7 @@ layout("/layouts/platform.html"){
查看
</el-button>
<el-button type="primary" size="mini"
v-if="row.executorOpinion==null && row.resultCode!='notGive'"
v-if="row.executorOpinion==null && row.resultCode!='notGive' && false"
@click="openAudit(row.id,row)">
审核
</el-button>
@@ -317,6 +321,7 @@ layout("/layouts/platform.html"){
this.proTableData.unshift(row)
},
async batchAudit() {
this.batchSelection = this.tableData
if (this.batchSelection.length === 0) {
this.$notify.warning('请选择需要批量审核的记录')
return
@@ -345,13 +350,18 @@ layout("/layouts/platform.html"){
proposalIds: this.formData.proposalId,
sign: this.formData.sign,
determineTypeCode: this.formData.determineTypeCode
})
requestLaterFun(resp, () => {
this.$notify.success({title: '成功', message: resp.msg});
this.pageData()
this.$refs.guava.index()
const sendTask = resp.data.sendTask
console.log('sendTask', sendTask)
if(sendTask) {
this.sendToDoTaskInfo()
}
}, () => {
this.$notify.error({title: '失败', message: resp.msg});
}, () => {
@@ -380,18 +390,26 @@ layout("/layouts/platform.html"){
if (this.batchSelection && this.batchSelection.length > 0) {
proposalIds = this.batchSelection.map(v => v.id)
}
const resp = await $.post(loc() + "/audit", {
audit: JSON.stringify(this.formData),
proposalIds: JSON.stringify(proposalIds),
sign: this.formData.sign,
determineTypeCode: this.formData.determineTypeCode
})
requestLaterFun(resp, () => {
this.$notify.success({title: '成功', message: resp.msg});
this.pageData()
this.batchDialog = false
this.batchSelection = []
this.$refs.guava.index()
const sendTask = resp.data.sendTask
console.log('sendTask', sendTask)
if(sendTask) {
this.sendToDoTaskInfo()
}
}, () => {
this.$notify.error({title: '失败', message: resp.msg});
}, () => {
@@ -401,6 +419,23 @@ layout("/layouts/platform.html"){
}
},
// 发送待办
async sendToDoTaskInfo () {
const confirm = await this.$confirm('确定发送待办到校长、书记吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
if (confirm !== 'confirm') return
const resp = await $.post(loc() + '/sendToDoTaskInfo')
if(resp.code != 0) {
this.$message.error(resp.msg)
} else {
this.$message.success(resp.msg)
}
},
async rollback(id) {
const confirm = await this.$confirm('您确定要撤回吗?', '提示', {
confirmButtonText: '确定',
@@ -16,15 +16,18 @@ layout("/layouts/platform.html"){
<el-button icon="el-icon-s-promotion" type="primary" size="small"
@click="batchAudit">批量审核
</el-button>
<el-button icon="el-icon-s-promotion" type="primary" size="small"
@click="sendToDoTaskInfo">发送待办
</el-button>
</template>
</table-tool>
<el-table :data="tableData" align="center" header-align="center" :row-key="(row)=>{row.id}"
:size="tableSize"
@sort-change="pageOrder" @selection-change="(val)=>{this.batchSelection = val}">
<el-table-column
:selectable="(row)=>{return row.executorOpinionConfirm==null && row.resultCode!='notGive'}"
type="selection"
width="55"></el-table-column>
<!-- <el-table-column-->
<!-- :selectable="(row)=>{return row.executorOpinionConfirm==null && row.resultCode!='notGive'}"-->
<!-- type="selection"-->
<!-- width="55"></el-table-column>-->
<el-table-column align="center" header-align="center" label="序号" type="index" width="80">
<template scope="scope">
<span>{{ scope.$index + (pageForm.pageNumber - 1) * pageForm.pageSize + 1 }} </span>
@@ -59,7 +62,7 @@ layout("/layouts/platform.html"){
查看
</el-button>
<el-button type="primary" size="mini"
v-if="row.executorOpinionConfirm==null && row.resultCode!='notGive'"
v-if="row.executorOpinionConfirm==null && row.resultCode!='notGive' && false"
@click="openAudit(row.id,row)">
审核
</el-button>
@@ -316,6 +319,7 @@ layout("/layouts/platform.html"){
this.proTableData.unshift(row)
},
async batchAudit() {
this.batchSelection = this.tableData
if (this.batchSelection.length === 0) {
this.$notify.warning('请选择需要批量审核的记录')
return
@@ -350,6 +354,12 @@ layout("/layouts/platform.html"){
this.$notify.success({title: '成功', message: resp.msg});
this.pageData()
this.$refs.guava.index()
const sendTask = resp.data.sendTask
console.log('sendTask', sendTask)
if(sendTask) {
this.sendToDoTaskInfo()
}
}, () => {
this.$notify.error({title: '失败', message: resp.msg});
}, () => {
@@ -390,6 +400,12 @@ layout("/layouts/platform.html"){
this.batchDialog = false
this.batchSelection = []
this.$refs.guava.index()
const sendTask = resp.data.sendTask
console.log('sendTask', sendTask)
if(sendTask) {
this.sendToDoTaskInfo()
}
}, () => {
this.$notify.error({title: '失败', message: resp.msg});
}, () => {
@@ -399,6 +415,23 @@ layout("/layouts/platform.html"){
}
},
// 发送待办
async sendToDoTaskInfo (isConfirm) {
const confirm = await this.$confirm('确定发送待办到提案委确认承办单位吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
if (confirm !== 'confirm') return
const resp = await $.post(loc() + '/sendToDoTaskInfo')
if(resp.code != 0) {
this.$message.error(resp.msg)
} else {
this.$message.success(resp.msg)
}
},
async rollback(id) {
const confirm = await this.$confirm('您确定要撤回吗?', '提示', {
confirmButtonText: '确定',
@@ -316,6 +316,19 @@ layout("/layouts/platform.html"){
this.$refs['auditForm'].resetFields()
}
},
async autoOpenAuditPage() {
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const proposalId = urlParams.get('proposalId')
if(proposalId && proposalId !== '') {
const res = await $.post('/platform/proposal/transact/feedback/detail?proposalId=' + proposalId)
console.log(res)
setTimeout(async ()=> {
await this.openFeedback(res.data)
}, 500)
}
},
async doFeedback() {
this.$refs["auditForm"].validate(async (valid) => {
if (valid) {
@@ -357,6 +370,8 @@ layout("/layouts/platform.html"){
await proposal.initData(this)
this.feedbackOptions = await getDictByCode("proposal_feedback")
this.feedbackOptionsByUnderTakeOptions = await getDictByCode('proposal_feedback_underTake')
await this.autoOpenAuditPage()
}
})
</script>
@@ -402,6 +402,19 @@ layout("/layouts/platform.html"){
this.$refs['auditForm'].resetFields()
}
},
async autoOpenAuditPage() {
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const proposalId = urlParams.get('proposalId')
if(proposalId && proposalId !== '') {
const res = await $.post('/platform/proposal/transact/leader/leaderAudit/detail?proposalId=' + proposalId)
console.log(res)
setTimeout(async ()=> {
await this.openAudit(res.data)
}, 500)
}
},
async doAudit(flag) {
let formValid = true
this.$refs["auditForm"].validate(valid => {
@@ -443,6 +456,8 @@ layout("/layouts/platform.html"){
async created() {
this.isNode = await proposal.getProposalIsNodeState(600)
await proposal.initData(this)
await this.autoOpenAuditPage()
}
})
</script>
@@ -16,15 +16,18 @@ layout("/layouts/platform.html"){
<el-button icon="el-icon-s-promotion" type="primary" size="small"
@click="batchAudit">批量审核
</el-button>
<el-button icon="el-icon-s-promotion" type="primary" size="small"
@click="sendToDoTaskInfo(true)">发送待办
</el-button>
</template>
</table-tool>
<el-table :data="tableData" align="center" header-align="center" :row-key="(row)=>{row.id}"
:size="tableSize"
@sort-change="pageOrder" @selection-change="(val)=>{this.batchSelection = val}">
<el-table-column
:selectable="(row)=>{return row.secretaryOpinions==null && row.resultCode!='notGive'}"
type="selection"
width="55"></el-table-column>
<!-- <el-table-column-->
<!-- :selectable="(row)=>{return row.secretaryOpinions==null && row.resultCode!='notGive'}"-->
<!-- type="selection"-->
<!-- width="55"></el-table-column>-->
<el-table-column align="center" header-align="center" label="序号" type="index" width="80">
<template scope="scope">
<span>{{ scope.$index + (pageForm.pageNumber - 1) * pageForm.pageSize + 1 }} </span>
@@ -65,12 +68,12 @@ layout("/layouts/platform.html"){
查看
</el-button>
<el-button type="primary" size="mini"
v-if="${@shiro.hasRole('principal')} && row.secretaryOpinions==null && row.resultCode!='notGive'"
v-if="${@shiro.hasRole('principal')} && row.secretaryOpinions==null && row.resultCode!='notGive'&& false"
@click="openAudit(row)">
审阅
</el-button>
<el-button type="primary" size="mini"
v-if="${@shiro.hasRole('secretary')} && row.secretaryOpinionsAgain==null && row.resultCode!='notGive'"
v-if="${@shiro.hasRole('secretary')} && row.secretaryOpinionsAgain==null && row.resultCode!='notGive' && false"
@click="openAudit(row)">
审阅
</el-button>
@@ -273,6 +276,7 @@ layout("/layouts/platform.html"){
},
async batchAudit() {
this.batchSelection = this.tableData
if (this.batchSelection.length === 0) {
this.$notify.warning('请选择需要批量审核的记录')
return
@@ -302,6 +306,9 @@ layout("/layouts/platform.html"){
this.notifySuccess(resp.msg)
this.pageData()
this.$refs.guava.index()
// 发送待办
await this.sendToDoTaskInfo(false);
} else {
this.notifyWarning(resp.msg)
}
@@ -331,6 +338,9 @@ layout("/layouts/platform.html"){
this.batchDialog = false
this.batchSelection = []
this.$refs.guava.index()
// 发送待办
this.sendToDoTaskInfo(false);
}, () => {
this.$notify.error({title: '失败', message: resp.msg});
}, () => {
@@ -339,6 +349,25 @@ layout("/layouts/platform.html"){
})
}
},
// 发送待办
async sendToDoTaskInfo (isConfirm) {
if(isConfirm) {
const confirm = await this.$confirm('确定发送待办到执委会主任吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
if (confirm !== 'confirm') return
}
const resp = await $.post(loc() + '/sendToDoTaskInfo')
if(resp.code != 0) {
this.$message.error(resp.msg)
} else {
this.$message.success(resp.msg)
}
},
async rollback(id) {
const confirm = await this.$confirm('您确定要撤回吗?', '提示', {
confirmButtonText: '确定',
@@ -578,6 +578,22 @@ layout("/layouts/platform.html"){
this.$refs['auditForm'].resetFields()
}
},
async autoOpenAuditPage() {
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const proposalId = urlParams.get('proposalId')
const underTakeType = urlParams.get('underTakeType');
if(proposalId && proposalId !== '' && underTakeType && underTakeType !== '') {
const res = await $.post('/platform/proposal/transact/reply/detail?underTakeType=' + underTakeType + '&proposalId=' + proposalId)
console.log(res)
setTimeout(async ()=> {
await this.openAudit(res.data)
}, 500)
}
},
async doReply(isSave) {
try {
const valid = await this.$refs["auditForm"].validate()
@@ -630,6 +646,8 @@ layout("/layouts/platform.html"){
await proposal.initData(this)
this.implementStateOptions = await getDictByCode('proposal_reply_result')
this.getLeaders()
await this.autoOpenAuditPage()
}
})
</script>
@@ -230,6 +230,17 @@ layout("/layouts/platform.html"){
this.formData.createUser = row.createUser
this.$refs.guava.edit()
this.$refs.audit.openView(row.id)
console.log(this.formData)
},
async outToOpenAudit(rowId) {
const res = await $.post('/platform/proposal/transact/seconded/detail?proposalId=' + rowId);
console.log('详情-->', res)
if(!res.data) {
return
}
setTimeout(async ()=> {
await this.openAudit(res.data)
}, 500)
},
async doAudit(flag) {
const flagText = flag ? '同意' : '拒绝'
@@ -269,6 +280,17 @@ layout("/layouts/platform.html"){
},
async created() {
await proposal.initData(this)
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const proposalId = urlParams.get('proposalId')
const isAudit = urlParams.get('isAudit')
console.log('urlParams-->', proposalId, isAudit)
console.log((!isAudit || isAudit === false || isAudit === 'false'))
console.log(proposalId && proposalId !== '')
if((!isAudit || isAudit === false || isAudit === 'false') && proposalId && proposalId !== '') {
await this.outToOpenAudit(proposalId)
}
}
})
</script>
@@ -136,11 +136,13 @@ layout("/layouts/platform.html"){
</el-row>
<el-form-item class="is-required" label="提案内容" prop="brief">
<div id="briefEditor"></div>
<text-editor v-model="formData.brief"></text-editor>
<!-- <div id="briefEditor"></div>-->
</el-form-item>
<el-form-item class="is-required" label="可行性分析" prop="measures">
<div id="measuresEditor"></div>
<!-- <div id="measuresEditor"></div>-->
<text-editor v-model="formData.measures"></text-editor>
</el-form-item>
<el-form-item label="附件上传" prop="files">
@@ -573,17 +575,22 @@ layout("/layouts/platform.html"){
data: JSON.stringify(data),
sign: data.sign
})
await this.editProposal()
this.pageForm2.proposalId = this.formData.id ? this.formData.id : resp.data
if (resp.data) {
this.formData.id = resp.data
if (resp.code===0){
await this.editProposal()
this.pageForm2.proposalId = this.formData.id ? this.formData.id : resp.data
if (resp.data) {
this.formData.id = resp.data
}
this.pageForm2.proposalName = this.formData.proposalName
await this.queryDb()
await this.getProposalSecondedNum()
this.$refs.guava.public()
}else{
this.$message.warning(resp.msg)
}
this.pageForm2.proposalName = this.formData.proposalName
await this.queryDb()
await this.getProposalSecondedNum()
this.$refs.guava.public()
// sublime.jumpPagePjax('/platform/proposal/transact/compose?operation=invite&id=' + resp.data)
}
@@ -763,7 +770,7 @@ layout("/layouts/platform.html"){
mannerCode: 'W01'
}
this.$nextTick(() => {
/* this.$nextTick(() => {
$("#briefEditor").html("")
$("#measuresEditor").html("")
@@ -777,7 +784,7 @@ layout("/layouts/platform.html"){
}
briefEditor.create()
measuresEditor.create()
})
})*/
if (this.$refs["addForm"])
this.$refs["addForm"].resetFields();
@@ -800,10 +807,10 @@ layout("/layouts/platform.html"){
resp.data.files = JSON.parse(resp.data.files)
}
this.formData = resp.data
this.$nextTick(() => {
/*this.$nextTick(() => {
briefEditor.txt.html(resp.data.brief)
measuresEditor.txt.html(resp.data.measures)
})
})*/
}
},
@@ -3,20 +3,31 @@ const todo = {
<div class="home-todo">
<el-tabs v-model="todoActive " @tab-click="handleClick">
<el-tab-pane label="待处理" name="1">
<template slot="label">
<span>待处理</span>
<el-badge v-if="waitHandleCount > 0" :value="waitHandleCount" :max="99" class="item" style="margin-top:10px;">
</el-badge>
</template>
<el-table :data="todoList" v-loading="todoLoading">
<el-table-column label="序号" type="index" width="70"></el-table-column>
<el-table-column label="标题" prop="processName" show-overflow-tooltip
width="200"></el-table-column>
<el-table-column label="发起人" prop="createdByUserName"
width="140"></el-table-column>
<el-table-column label="发起时间" prop="createdOn" v-if="todoActive==='3'"
<el-table-column label="标题" prop="title" show-overflow-tooltip
width="150"></el-table-column>
<el-table-column label="我的处理环节" prop="taskNodeName"
v-if="todoActive!=='3'"></el-table-column>
<el-table-column label="流程流转环节" prop="nodeName"></el-table-column>
<el-table-column label="发起人" prop="create_name"
width="140"></el-table-column>
<el-table-column label="发起时间" prop="create_time"
width="200"></el-table-column>
<el-table-column label="状态" prop="status" width="100">
<template scope="{row}">
{{ status[row.status] }}
</template>
</el-table-column>
<!-- <el-table-column label="我的处理环节" prop="taskNodeName"-->
<!-- v-if="todoActive!=='3'"></el-table-column>-->
<!-- <el-table-column label="流程流转环节" prop="nodeName"></el-table-column>-->
<el-table-column label="操作" width="100">
<template scope="{row}">
<el-button @click="sublime.jumpPagePjax(row.formUrl)" size="mini" type="primary">查看</el-button>
<!-- <el-button @click="sublime.jumpPagePjax(row.formUrl)" size="mini" type="primary">查看</el-button>-->
<el-button @click="handleTask(row)" size="mini" type="primary">查看</el-button>
</template>
</el-table-column>
</el-table>
@@ -24,40 +35,70 @@ const todo = {
<el-tab-pane label="已处理" name="2">
<el-table :data="todoList" v-loading="todoLoading">
<el-table-column label="序号" type="index" width="70"></el-table-column>
<el-table-column label="标题" prop="processName" show-overflow-tooltip
<el-table-column label="标题" prop="title" show-overflow-tooltip
width="100"></el-table-column>
<el-table-column label="发起人" prop="create_name"
width="100"></el-table-column>
<el-table-column label="发起时间" prop="create_time"
width="200"></el-table-column>
<el-table-column label="发起人" prop="createdByUserName"
width="140"></el-table-column>
<el-table-column label="发起时间" prop="createdOn" v-if="todoActive==='3'"
width="150"></el-table-column>
<el-table-column label="我的处理环节" prop="taskNodeName"
v-if="todoActive!=='3'"></el-table-column>
<el-table-column label="流程流转环节" prop="nodeName"></el-table-column>
<el-table-column label="状态" prop="status" width="100">
<template scope="{row}">
{{ status[row.status] }}
</template>
</el-table-column>
<!-- <el-table-column label="我的处理环节" prop="taskNodeName"-->
<!-- v-if="todoActive!=='3'"></el-table-column>-->
<!-- <el-table-column label="流程流转环节" prop="nodeName"></el-table-column>-->
<el-table-column label="操作" width="100">
<template scope="{row}">
<el-button @click="sublime.jumpPagePjax(row.formUrl)" size="mini" type="primary">查看</el-button>
<!-- <el-button @click="sublime.jumpPagePjax(row.formUrl)" size="mini" type="primary">查看</el-button>-->
<el-button @click="handleTask(row)" size="mini" type="primary">查看</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="loadCompleteHandle"
@current-change="loadCompleteHandle"
:current-page="pageForm.pageNumber"
:page-sizes="[10, 20, 30, 50]"
:page-size="pageForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="pageForm.totalCount">
</el-pagination>
</el-tab-pane>
<el-tab-pane label="我的发起" name="3">
<el-table :data="todoList" v-loading="todoLoading">
<el-table-column label="序号" type="index" width="70"></el-table-column>
<el-table-column label="标题" prop="processName" show-overflow-tooltip
<el-table-column label="标题" prop="title" show-overflow-tooltip
width="100"></el-table-column>
<el-table-column label="发起人" prop="create_name"
width="100"></el-table-column>
<el-table-column label="发起时间" prop="create_time" v-if="todoActive==='3'"
width="200"></el-table-column>
<el-table-column label="发起人" prop="createdByUserName"
width="140"></el-table-column>
<el-table-column label="发起时间" prop="createdOn" v-if="todoActive==='3'"
width="150"></el-table-column>
<el-table-column label="我的处理环节" prop="taskNodeName"
v-if="todoActive!=='3'"></el-table-column>
<el-table-column label="流程流转环节" prop="nodeName"></el-table-column>
<el-table-column label="状态" prop="status" width="100">
<template scope="{row}">
{{ status[row.status] }}
</template>
</el-table-column>
<!-- <el-table-column label="我的处理环节" prop="taskNodeName"-->
<!-- v-if="todoActive!=='3'"></el-table-column>-->
<!-- <el-table-column label="流程流转环节" prop="nodeName"></el-table-column>-->
<el-table-column label="操作" width="100">
<template scope="{row}">
<el-button @click="sublime.jumpPagePjax(row.formUrl)" size="mini" type="primary">查看</el-button>
<!-- <el-button @click="sublime.jumpPagePjax(row.formUrl)" size="mini" type="primary">查看</el-button>-->
<el-button @click="handleTask(row)" size="mini" type="primary">查看</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="loadMineSendTask"
@current-change="loadMineSendTask"
:current-page="pageForm.pageNumber"
:page-sizes="[10, 20, 30, 50]"
:page-size="pageForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="pageForm.totalCount">
</el-pagination>
</el-tab-pane>
</el-tabs>
<!-- <el-table :data="todoList" style="min-height: 250px" v-loading="todoLoading">-->
@@ -83,7 +124,43 @@ const todo = {
data() {
return {
todoActive: "1",
todoList:[]
todoList:[],
todoLoading: false,
pageForm: {
pageNumber: 1,
pageSize: 10,
totalCount: 0
},
status:['草稿', '待处理', '已处理', '已驳回', '已撤回'],
waitHandleCount: 0
}
},
watch: {
todoActive: {
async handler(val) {
console.log("val--->", val)
this.pageForm = {
pageNumber: 1,
pageSize: 10,
totalCount: 0
}
this.todoList = []
try{
this.todoLoading = true
if(Number(val) === 1) {
await this.loadWaitHandle()
} else if(Number(val) === 2) {
await this.loadCompleteHandle()
} else if(Number(val) === 3) {
await this.loadMineSendTask()
}
this.todoLoading = false
} catch (e) {
this.todoLoading = false
}
}
}
},
methods: {
@@ -92,9 +169,55 @@ const todo = {
/* const {data, code} = await $.get("/platform/sys/localProcess/todoList", { mode: this.todoActive })
this.todoList = data*/
this.todoLoading = false
},
// 加载待处理数据
async loadWaitHandle() {
const res = await $.post('/oa/audit/instance/wait/handle')
console.log("待处理数据->", res)
if(res.code === 0) {
this.todoList = res.data
this.waitHandleCount = this.todoList.length
}
},
// 加载已办数据
async loadCompleteHandle() {
const res = await $.post('/oa/audit/instance/complete/handle', { ...this.pageForm })
console.log("已处理数据->", res)
this.todoList = res.list
this.pageForm.pageNumber = res.pageNo
this.pageForm.pageSize = res.pageSize
this.pageForm.totalCount = res.totalCount
},
// 加载我发起的
async loadMineSendTask() {
const res = await $.post('/oa/audit/instance/mine/send', { ...this.pageForm })
console.log("我发起数据->", res)
this.todoList = res.list
this.pageForm.pageNumber = res.pageNo
this.pageForm.pageSize = res.pageSize
this.pageForm.totalCount = res.totalCount
},
// 待处理任务处理
async handleTask(row) {
if(this.todoActive === '1') {
const urlObj = new URL(row.url)
console.log(urlObj)
window.location.href = urlObj.pathname + urlObj.search
} else {
const urlObj = new URL(row.done_url)
console.log(urlObj)
window.location.href = urlObj.pathname + urlObj.search
}
}
},
created() {
this.handleClick()
// 待处理
this.loadWaitHandle()
}
}
@@ -1100,7 +1100,7 @@ layout("/layouts/platform.html"){
}
},
async getLimitUnionData() {
const resp = await $.get('/platform/trainSingUp/manage/activity/getUnionLimit')
const resp = await $.get('/platform/trainSingUp/manage/activity/add/getUnionLimit')
this.unionUserNumberLimit = resp.data
}
},