1.项目管理-季度审核-季度指标页面及详情页面路由增加代办/已办标记

2.季度审核页面(带审核/驳回的页面)新增按钮返回和路由跳转新参数,查询时参数增加代办/已办标记,且对审核/驳回按钮增加判断条件
3.项目季度审核列表增加搜索条件代办/已办
4.季度审核指标详情/编辑页面,指标完成情况/自评定级增加条件判断,仅项目专员/项目管理员可修改
This commit is contained in:
zty 2024-07-31 16:21:25 +08:00
parent 7a5f545a58
commit 064e7762d0
4 changed files with 79 additions and 81 deletions

View File

@ -32,9 +32,11 @@
</el-dialog> </el-dialog>
</div> </div>
<div class="page-content"> <div class="page-content">
<div style="text-align: right" > <div style="text-align: right" >
<el-button type="primary" @click="addExpApply(0)">审核</el-button> <el-button type="primary" @click="cancel()">返回</el-button>
<el-button type="warning" @click="addExpApply(1)">驳回</el-button> <el-button type="primary" @click="addExpApply(0)" v-if="verifyStatus===1">审核</el-button>
<el-button type="warning" @click="addExpApply(1)" v-if="verifyStatus===1">驳回</el-button>
</div> </div>
<data-table <data-table
:totalColumnsData="tableColumnsData" :totalColumnsData="tableColumnsData"
@ -113,16 +115,25 @@ export default {
isSuper: false, isSuper: false,
pageLoading: true, pageLoading: true,
projectId: '', projectId: '',
quarter: '' quarter: '',
verifyStatus: ''
} }
}, },
created () { created () {
this.projectId = this.$route.params.id this.projectId = this.$route.params.id
this.quarter = this.$route.params.quarter this.quarter = this.$route.params.quarter
this.verifyStatus = this.$route.params.verifyStatus
this.getOffice() this.getOffice()
// this.initTableColumns() // this.initTableColumns()
}, },
methods: { methods: {
cancel () {
this.$router.push(
{
name: 'quarterlyEvaluation',
params: {id: this.projectId}
})
},
getBusiness () { getBusiness () {
let id = getItem('userInfoId') let id = getItem('userInfoId')
Api.ProjectManagements.getBusiness(id).then(result => { Api.ProjectManagements.getBusiness(id).then(result => {
@ -217,7 +228,8 @@ export default {
pageSize: this.pageSize, pageSize: this.pageSize,
t: { t: {
projectId: this.reimburseId, projectId: this.reimburseId,
quarter: this.quarter quarter: this.quarter,
verifyStatus: this.verifyStatus
} }
} }
} }
@ -378,7 +390,8 @@ export default {
name: 'quarterlyEvaluationDetail', name: 'quarterlyEvaluationDetail',
params: { params: {
id: this.tableRowsData[index].id, id: this.tableRowsData[index].id,
pid: this.reimburseId pid: this.reimburseId,
verifyStatus: this.verifyStatus
} }
}) })
}, },

View File

@ -18,7 +18,16 @@
<!--Page content--> <!--Page content-->
<div class="page-content"> <div class="page-content">
<div style="margin-bottom: 10px"> <div style="margin-bottom: 10px">
<!-- <el-button type="primary" @click="addExpApply" v-if="!isSuper">新增</el-button>--> <el-select v-model="verifyStatus" placeholder="审批状态" style="width: 220px;margin-right: 30px">
<el-option
v-for="item in verifyStatusData"
:key="item.model"
:label="item.label"
:value="item.model"
>
</el-option>
</el-select>
<el-button round type="primary" @click="init()">搜索</el-button>
</div> </div>
<data-table <data-table
:totalColumnsData="tableColumnsData" :totalColumnsData="tableColumnsData"
@ -46,6 +55,7 @@ import DataForm from '../../../components/form/DataForm.vue'
import DataTable from '../../../components/DataTable.vue' import DataTable from '../../../components/DataTable.vue'
import Api from '../../../server/index.js' import Api from '../../../server/index.js'
import {getItem} from '../../../config/mUtils' import {getItem} from '../../../config/mUtils'
import SearchBox from '../../../components/SearchBox.vue'
export default { export default {
beforeRouteEnter (to, from, next) { beforeRouteEnter (to, from, next) {
@ -55,6 +65,17 @@ export default {
}, },
data () { data () {
return { return {
verifyStatus: 1,
verifyStatusData: [
{
label: '未提交',
model: 1
},
{
label: '已提交',
model: 2
}
],
isOffice: '', isOffice: '',
expandRight: false, expandRight: false,
//table //table
@ -107,7 +128,8 @@ export default {
let param = { let param = {
data: { data: {
map: { map: {
projectId: this.projectId projectId: this.projectId,
verifyStatus: this.verifyStatus
} }
} }
} }
@ -124,68 +146,6 @@ export default {
} }
} }
}) })
// Api.ProjectManagements.getProject(param).then(result => {
// if (result.status === 0) {
// this.tableRowsData.splice(0, this.tableRowsData.length)
// for (let i = 0; i < result.data.ls.length; i++) {
// let project = {}
// $.extend(true, project, result.data.ls[i])
// project.difficultyFactor = project.ext.difficultyFactor
// project.draftDeptName = project.ext.draftDeptName
// this.tableRowsData.push(project)
// this.tableTotalPage = result.data.total
// }
// }
// })
// Api.ProjectManagements.getWeekly(projectWeeklyFindReq).then(result=>{
// this.tableRowsData = [];
// this.pageLoading = false;
// console.log("",result)
// if (result.status === 0) {
// let dataList = result.data.ls;
// for (let i=0; i<dataList.length; i++) {
// this.tableRowsData.push({
// id: dataList[i].id,
// projectNo: dataList[i].projectNo,
// projectName: dataList[i].projectName,
// userName: dataList[i].userName,
// workload: dataList[i].workload,
// thisWeek: dataList[i].thisWeek,
// nextWeek: dataList[i].nextWeek
// })
// // this.pageNo=result.data.pages
// this.tableTotalPage=result.data.total
// }
// console.log("tableRowsData",this.tableRowsData)
// }
// })
// Api.FinanceManagement.getReimburseList(this.pageNo, this.pageSize).then(result => {
// this.pageLoading = false;
// this.tableRowsData = [];
// if (result.status === 0) {
// this.isEdit = result.data.isEdit;
// this.tableTotalPage = result.data.total
// let dataList = result.data.ls;
// for (let i=0; i<dataList.length; i++) {
// let deptName = '';
// for (let j=0; j<dataList[i].userInfo.dept.length; j++) {
// deptName += dataList[i].userInfo.dept[j].orgName;
// if (j < dataList[i].userInfo.dept.length - 1) {
// deptName += '>';
// }
// }
// this.tableRowsData.push({
// status: dataList[i].status,
// id: dataList[i].id,
// userInfoName: dataList[i].userInfo.userInfoName,
// category: '',
// deptName: deptName
// })
// }
// } else {
// this.$message.error(`${result.msg}`);
// }
// })
}, },
//tableColumns //tableColumns
initTableColumns () { initTableColumns () {
@ -216,7 +176,8 @@ export default {
name: 'quarterlyAssessmentDetail', name: 'quarterlyAssessmentDetail',
params: { params: {
id: this.tableRowsData[index].projectId, id: this.tableRowsData[index].projectId,
quarter: this.tableRowsData[index].quarter quarter: this.tableRowsData[index].quarter,
verifyStatus: this.verifyStatus
} }
// query: {quarter: this.tableRowsData[index].quarter} // query: {quarter: this.tableRowsData[index].quarter}
}) })
@ -245,6 +206,7 @@ export default {
}, },
}, },
components: { components: {
SearchBox,
PageLoading, DataTable, DataForm PageLoading, DataTable, DataForm
} }
} }

View File

@ -78,6 +78,7 @@
class="form-input" class="form-input"
placeholder="请输入内容" placeholder="请输入内容"
v-model="formModel.execution" v-model="formModel.execution"
:disabled="applyId && isAdmin"
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -86,6 +87,7 @@
class="form-input" class="form-input"
placeholder="请输入内容" placeholder="请输入内容"
v-model="formModel.selfEvaluation" v-model="formModel.selfEvaluation"
:disabled="applyId && isAdmin"
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -136,8 +138,8 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<div style="float: right"> <div style="float: right">
<el-button @click="cancel()" type="default">取消</el-button> <el-button @click="cancel()" type="default">返回</el-button>
<el-button @click="save('formName')" type="primary" :disabled="!isSave">保存</el-button> <el-button @click="save('formName')" type="primary" v-if="isSave">保存</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -225,7 +227,7 @@ export default {
flowId: '', flowId: '',
taskId: '', taskId: '',
checkOrVerify: false, // checkOrVerify: false, //
isSave: true, isSave: false,
isEdit: false, isEdit: false,
canEditReimburseCategory: false, // canEditReimburseCategory: false, //
canEditBudgetCategory: false, // canEditBudgetCategory: false, //
@ -234,12 +236,14 @@ export default {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
tableTotalPage: 1, tableTotalPage: 1,
applyId: true//id
} }
}, },
created () { created () {
this.taskId = this.$route.params.taskId this.taskId = this.$route.params.taskId
this.reimburseId = this.$route.params.id this.reimburseId = this.$route.params.id
this.pid = this.$route.params.pid this.pid = this.$route.params.pid
this.verifyStatus = this.$route.params.verifyStatus
if (getItem('projectId') == null) { if (getItem('projectId') == null) {
setItem('projectId', this.pid) setItem('projectId', this.pid)
} }
@ -250,6 +254,12 @@ export default {
this.getBusiness() this.getBusiness()
this.init() this.init()
this.getBudgetCategory() this.getBudgetCategory()
if (this.verifyStatus == 2) {
this.isStrategy = false
this.isPlatform = false
this.isMarket = false
this.isService = false
}
}, },
methods: { methods: {
getBusiness () { getBusiness () {
@ -318,6 +328,10 @@ export default {
this.ext = data.ext this.ext = data.ext
this.quarter = data.quarter this.quarter = data.quarter
this.formModel.execution = data.ext.execution this.formModel.execution = data.ext.execution
//userid
if (data.ext.executor === this.userId || data.ext.executor.includes(this.userId)) {
this.isSave = true
}
if (!this.isOffice) { if (!this.isOffice) {
this.formModel.selfEvaluation = data.ext.selfEvaluation this.formModel.selfEvaluation = data.ext.selfEvaluation
this.formModel.adminScoring = data.ext.adminScoring this.formModel.adminScoring = data.ext.adminScoring
@ -327,10 +341,13 @@ export default {
this.formModel.marketScoring = data.ext.marketScoring this.formModel.marketScoring = data.ext.marketScoring
this.formModel.serviceScoring = data.ext.serviceScoring this.formModel.serviceScoring = data.ext.serviceScoring
} }
if (data.ext.projectAdmin == this.userId) { if (data.ext.projectAdmin == this.userId) {
this.isAdmin = false this.isAdmin = false
} }
if (data.createdBy == this.userId) {
console.log("执行人是当前")
this.applyId = false
}
} }
console.log('result', result) console.log('result', result)
}) })
@ -494,7 +511,12 @@ export default {
this.save('formName', 'end', comment) this.save('formName', 'end', comment)
}, },
cancel () { cancel () {
this.$router.go(-1) // this.$router.go(-1)
this.$router.push(
{
name: 'quarterlyAssessmentDetail',
params: {id: this.pid, quarter: this.quarter, verifyStatus: this.verifyStatus}
})
}, },
save (formName) { save (formName) {
console.log('formName', formName) console.log('formName', formName)
@ -520,13 +542,14 @@ export default {
} }
} }
} }
this.isSave = false
Api.ProjectManagements.updateQuarterly(param.pageNoUtil).then(result => { Api.ProjectManagements.updateQuarterly(param.pageNoUtil).then(result => {
this.isSave = true
if (result.status === 0) { if (result.status === 0) {
this.$message.success(result.data) this.$message.success(result.data)
this.$router.push( this.$router.push(
{name: 'quarterlyAssessmentDetail', params: {id: this.pid, quarter: this.quarter}}) {
name: 'quarterlyAssessmentDetail',
params: {id: this.pid, quarter: this.quarter, verifyStatus: this.verifyStatus}
})
} else { } else {
this.$message.error(result.data) this.$message.error(result.data)
} }

View File

@ -2444,7 +2444,7 @@ export default new Router({
{ {
// 项目管理-->季度审核管理-->季度审核页面->季度指标页面 // 项目管理-->季度审核管理-->季度审核页面->季度指标页面
name: 'quarterlyAssessmentDetail', name: 'quarterlyAssessmentDetail',
path: '/project/managements/quarterlyAssessment/expenses/claim/apply/quarter/:id/:quarter', path: '/project/managements/quarterlyAssessment/expenses/claim/apply/quarter/:id/:quarter/:verifyStatus',
component: quarterlyAssessmentDetail, component: quarterlyAssessmentDetail,
meta: { meta: {
info: 'quarterlyAssessmentDetail', info: 'quarterlyAssessmentDetail',
@ -2454,7 +2454,7 @@ export default new Router({
{ {
// 项目管理-->季度审核管理-->季度审核页面->季度指标详情页面 // 项目管理-->季度审核管理-->季度审核页面->季度指标详情页面
name: 'quarterlyEvaluationDetail', name: 'quarterlyEvaluationDetail',
path: '/project/managements/quarterlyAssessment/expenses/claim/edit/:id', path: '/project/managements/quarterlyAssessment/expenses/claim/edit/:id/:pid/:verifyStatus',
component: quarterlyEvaluationDetail, component: quarterlyEvaluationDetail,
meta: { meta: {
info: 'quarterlyEvaluationDetail', info: 'quarterlyEvaluationDetail',