1.结项详情增加审核/驳回按钮,以及审批意见弹出。

通过当前执行人判断是否有审核/驳回按钮及提交按钮
2.结项列表增加代办/已办搜索
3.增加结项审核方法
4.项目立项详情页面去掉项目管理员字段
This commit is contained in:
zty 2024-08-02 15:52:20 +08:00
parent 13a49b21bc
commit 73a9ac6be7
4 changed files with 210 additions and 128 deletions

View File

@ -93,7 +93,7 @@ export default {
formOpenRangeData: [ // formOpenRangeData: [ //
{ {
label: '成果转化类(TT)', label: '成果转化类(TT)',
value: 1, value: 1
}, },
{ {
label: '市场创收类(SC)', label: '市场创收类(SC)',
@ -116,9 +116,9 @@ export default {
value: 6 value: 6
}, },
{ {
label: '自主研发类', label: '自主研发类(ZY)',
value: 7 value: 7
}, }
], ],
expandRight: false, expandRight: false,
title: '', title: '',
@ -776,15 +776,15 @@ export default {
options: this.formProjectManagerData options: this.formProjectManagerData
} }
}, },
{ // {
type: 'custom-cascader', // type: 'custom-cascader',
title: '项目管理员', // title: '',
model: 'projectAdmin', // model: 'projectAdmin',
externalValue: { // externalValue: {
disabled: true, // disabled: true,
options: this.formProjectAdmin // options: this.formProjectAdmin
} // }
}, // },
// { // {
// type: 'custom-cascader', // type: 'custom-cascader',
// title: '', // title: '',

View File

@ -4,31 +4,27 @@
<!--Page Title--> <!--Page Title-->
<div id="page-title"> <div id="page-title">
<h1 class="page-header text-overflow">结项详情</h1> <h1 class="page-header text-overflow">结项详情</h1>
<!--Searchbox-->
<!--<div class="searchbox">--> </div>
<!--<div class="input-group custom-search-form">--> <div>
<!--<input type="text" class="form-control" placeholder="Search..">--> <el-dialog v-bind="$attrs" v-on="$listeners" title="审核"
<!--<span class="input-group-btn">--> :visible="isSubmit" @close="close">
<!--<button class="text-muted" type="button"><i class="demo-pli-magnifi-glass"></i></button>--> <el-form ref="elForm" :model="formData" size="medium" label-width="100px">
<!--</span>--> <el-form-item label="审核意见" prop="opinion">
<!--</div>--> <el-input v-model="formData.opinion" placeholder="请输入审核意见" clearable :style="{width: '100%'}">
<!--</div>--> </el-input>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="close">取消</el-button>
<el-button type="primary" @click="handleConfirm">确定</el-button>
</div>
</el-dialog>
</div> </div>
<!--End page title-->
<!--Breadcrumb-->
<!--<ol class="breadcrumb">-->
<!--<li><a href="#">Home</a></li>-->
<!--<li><a href="#">Layouts</a></li>-->
<!--<li class="active">Demo</li>-->
<!--</ol>-->
<!--End breadcrumb-->
<!--Page content-->
<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="addExpApply(0)" v-if=isEdit>审核</el-button>
<el-button type="warning" @click="addExpApply(1)">驳回</el-button> <el-button type="warning" @click="addExpApply(1)" v-if="isEdit">驳回</el-button>
</div> </div>
<data-form <data-form
element-loading-text="拼命加载中" element-loading-text="拼命加载中"
@ -66,6 +62,7 @@ export default {
}, },
data () { data () {
return { return {
formData: {},
isEdit: false, isEdit: false,
formBtnData: [], formBtnData: [],
expandRight: false, expandRight: false,
@ -183,10 +180,14 @@ export default {
roles: JSON.parse(getItem('roles')), roles: JSON.parse(getItem('roles')),
formPeopleWeightData: [], formPeopleWeightData: [],
projectId: '', projectId: '',
conclusionFile: [] conclusionFile: [],
isExamine: 0, ///
isSubmit: false,//
opinion: ''
} }
}, },
created () { created () {
this.userId = getItem('userId')
this.projectId = this.$route.params.id this.projectId = this.$route.params.id
this.judgeSuperAdmin() this.judgeSuperAdmin()
this.init() this.init()
@ -217,10 +218,38 @@ export default {
} }
}, },
methods: { methods: {
//
handleConfirm () {
let map = {
id: this.projectId,
opinion: this.formData.opinion,
examine: this.isExamine,
}
Api.ProjectManagements.endExamine(map).then(result => {
console.log(result)
if (result.status === 0) {
this.$message.success(result.data)
this.$router.push({
name: 'ConclusionManagement'
})
} else {
this.$message.error(result.data)
}
})
},
close () {
this.isSubmit = false
this.formData.spyj = ''
},
//
addExpApply (a) {
this.isSubmit = true
this.isExamine = a
},
getProject () { getProject () {
let params = { let params = {
pageUtil: { pageUtil: {
t: { map: {
id: this.projectId id: this.projectId
}, },
pageNo: 1, pageNo: 1,
@ -228,84 +257,96 @@ export default {
} }
} }
Api.ProjectManagements.getConclusionList(params.pageUtil).then((result) => { Api.ProjectManagements.getConclusionList(params.pageUtil).then((result) => {
if (result.status === 0) { if (result.status === 0) {
let project = {} let project = {}
$.extend(true, project, result.data.ls[0]) $.extend(true, project, result.data.ls[0])
if (project.ext.taskName == '结项填报') { if (project.ext.endExecutor.includes(getItem('userId'))) {
this.isEdit = true this.isEdit = true
} }
if (this.isEdit) { if (this.isEdit) {
this.formBtnData = [ this.formBtnData = [
{ {
title: this.formBtnTitle, title: this.formBtnTitle,
type: 'primary', type: 'primary',
callback: () => { callback: () => {
if (this.formValidate()) { if (this.formValidate()) {
this.formSubmit() this.formSubmit()
}
}
},
{
title: '取消',
type: 'default',
callback: () => {
this.$router.go(-1)
} }
} }
}, ]
{ } else {
title: '取消', this.formBtnData = [
type: 'default', {
callback: () => { title: '取消',
this.$router.go(-1) type: 'default',
callback: () => {
this.$router.go(-1)
}
} }
} ]
] }
switch (project.ext.openRange) {
case 1:
project.openRange = '成果转换类'
break
case 2:
project.openRange = '市场创收类'
break
case 3:
project.openRange = '研究开发类'
break
case 4:
project.openRange = '窗口服务类'
break
case 5:
project.openRange = '平台专项类'
break
case 6:
project.openRange = '目标责任类'
break
case 7:
project.openRange = '自主研发类'
break
case 8:
project.openRange = '临时任务类'
break
default:
project.openRange = '其他类'
}
let permissionsPeopleList = project.ext.permissionsPeople
let permissionsPeople = permissionsPeopleList[0].label
for (let j = 1; j < permissionsPeopleList.length; j++) {
permissionsPeople = permissionsPeople + ',' + permissionsPeopleList[j].label
}
project.execution = project.ext.execution
project.permissionsPeople = permissionsPeople
if (project.ext.hasOwnProperty('conclusionFile')) {
this.formFileData = project.ext.conclusionFile
this.formModel.conclusionFile = project.ext.conclusionFile
console.log('this.formFileData', this.formFileData)
console.log('this.formModel.conclusionFile', this.formModel.conclusionFile)
this.initFormSchema()
}
project.conclusionFile = project.ext.conclusionFile
this.formModel = project
this.logOperationData = JSON.parse(JSON.stringify(this.formModel))
} }
switch (project.ext.openRange) {
case 1:
project.openRange = '成果转换类'
break
case 2:
project.openRange = '市场创收类'
break
case 3:
project.openRange = '研究开发类'
break
case 4:
project.openRange = '窗口服务类'
break
case 5:
project.openRange = '平台专项类'
break
case 6:
project.openRange = '目标责任类'
break
case 7:
project.openRange = '自主研发类'
break
case 8:
project.openRange = '临时任务类'
break
default:
project.openRange = '其他类'
}
let permissionsPeopleList = project.ext.permissionsPeople
let permissionsPeople = permissionsPeopleList[0].label
for (let j = 1; j < permissionsPeopleList.length; j++) {
permissionsPeople = permissionsPeople + ',' + permissionsPeopleList[j].label
}
project.execution = project.ext.execution
project.permissionsPeople = permissionsPeople
if (project.ext.hasOwnProperty('conclusionFile')) {
this.formFileData = project.ext.conclusionFile
this.formModel.conclusionFile = project.ext.conclusionFile
console.log('this.formFileData', this.formFileData)
console.log('this.formModel.conclusionFile', this.formModel.conclusionFile)
this.initFormSchema()
}
project.conclusionFile = project.ext.conclusionFile
this.formModel = project
this.logOperationData = JSON.parse(JSON.stringify(this.formModel))
} }
}) )
}, },
// form // form
judgeFormEditable (step) { judgeFormEditable (step) {
return (this.canEdit && this.projectStep === step) return (this.canEdit && this.projectStep === step)
}, }
,
getAllPeople () { getAllPeople () {
let params = { let params = {
path: { path: {
@ -325,7 +366,8 @@ export default {
this.$message.error(result.msg) this.$message.error(result.msg)
} }
}) })
}, }
,
init () { init () {
let orgIdArray = JSON.parse(getItem('orgIdData')) let orgIdArray = JSON.parse(getItem('orgIdData'))
let userInfoId = getItem('userInfoId') let userInfoId = getItem('userInfoId')
@ -373,11 +415,13 @@ export default {
this.$message.error(result.msg) this.$message.error(result.msg)
} }
}) })
}, }
,
// //
judgeSuperAdmin () { judgeSuperAdmin () {
this.isSuperAdmin = (getItem('userId') == 0) this.isSuperAdmin = (getItem('userId') == 0)
}, }
,
/* /*
* form相关 * form相关
*/ */
@ -426,7 +470,8 @@ export default {
documentType: 2, documentType: 2,
year: moment().format('YYYY'), year: moment().format('YYYY'),
} }
}, }
,
initFormSchema () { initFormSchema () {
this.formSchema = [ this.formSchema = [
{ {
@ -520,7 +565,8 @@ export default {
type: 'submit' type: 'submit'
} }
] ]
}, }
,
getPersonStatus () { getPersonStatus () {
/*根据账号ID,查询人员信息*/ /*根据账号ID,查询人员信息*/
let id = this.formModel.draftManId let id = this.formModel.draftManId
@ -533,7 +579,8 @@ export default {
this.$message.info(result.msg) this.$message.info(result.msg)
} }
}) })
}, }
,
// //
getDocumentType () { getDocumentType () {
@ -620,7 +667,8 @@ export default {
this.$message.error(result.msg) this.$message.error(result.msg)
} }
}) })
}, }
,
// //
getDocumentCode () { getDocumentCode () {
let param = { let param = {
@ -643,7 +691,8 @@ export default {
} }
}) })
}, }
,
// //
getSignedMember () { getSignedMember () {
if ($.inArray(this.draftDeptId, this.formModel.signedDepts) < 0) { if ($.inArray(this.draftDeptId, this.formModel.signedDepts) < 0) {
@ -663,11 +712,13 @@ export default {
// this.initFormSchema(); // this.initFormSchema();
} }
}) })
}, }
,
// //
radioValueChanged () { radioValueChanged () {
this.initFormSchema() this.initFormSchema()
}, }
,
// //
selectorValueChanged (model) { selectorValueChanged (model) {
if (model === 'contentClass') { if (model === 'contentClass') {
@ -685,27 +736,32 @@ export default {
if (model === 'signedDepts') { if (model === 'signedDepts') {
this.getSignedMember() this.getSignedMember()
} }
}, }
,
// //
cascaderMultipleValueChanged (model) { cascaderMultipleValueChanged (model) {
this.formCustomizePeopleData = model this.formCustomizePeopleData = model
}, }
,
// //
formValidate () { formValidate () {
return this.$refs.childrenForm.validate() return this.$refs.childrenForm.validate()
}, }
,
// //
formResetFields () { formResetFields () {
this.formFileData = [] this.formFileData = []
this.$refs.childrenForm.resetFields() this.$refs.childrenForm.resetFields()
this.initFormSchema() this.initFormSchema()
this.formPeopleWeightData = [] this.formPeopleWeightData = []
}, }
,
// //
formCancel () { formCancel () {
this.formResetFields() this.formResetFields()
}, }
,
// //
formSubmit (data) { formSubmit (data) {
this.$refs.childrenForm.letTextEditorSubmit() this.$refs.childrenForm.letTextEditorSubmit()
@ -728,7 +784,8 @@ export default {
this.$message.error(result.data) this.$message.error(result.data)
} }
}) })
}, }
,
// //
assembleOrgData (source) { assembleOrgData (source) {
let dest = [] let dest = []
@ -743,7 +800,8 @@ export default {
dest.push(org) dest.push(org)
} }
return dest return dest
}, }
,
setCascaderMultipleValue (value) { setCascaderMultipleValue (value) {
// this.formCustomizePeopleData = []; // // this.formCustomizePeopleData = []; //
@ -754,7 +812,8 @@ export default {
this.formModel.permissionsPeople.push(checkV) this.formModel.permissionsPeople.push(checkV)
this.formCustomizePeopleData.push(value[value.length - 1]) this.formCustomizePeopleData.push(value[value.length - 1])
} }
}, }
,
handleClose (model) { handleClose (model) {
this.formModel.permissionsPeople.find((item, index) => { this.formModel.permissionsPeople.find((item, index) => {
@ -765,7 +824,8 @@ export default {
return true return true
} }
}) })
}, }
,
} }
, ,

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"
@ -55,6 +64,17 @@ export default {
}, },
data () { data () {
return { return {
verifyStatus: 1,
verifyStatusData: [
{
label: '未提交',
model: 1
},
{
label: '已提交',
model: 2
}
],
expandRight: false, expandRight: false,
//table //table
tableShowSingleOperation: { tableShowSingleOperation: {
@ -89,7 +109,9 @@ export default {
pageNoUtil: { pageNoUtil: {
pageNo: this.pageNo, pageNo: this.pageNo,
pageSize: this.pageSize, pageSize: this.pageSize,
t: {} map: {
verifyStatus: this.verifyStatus
}
} }
} }
} }
@ -163,8 +185,7 @@ export default {
label: '填表日期', label: '填表日期',
prop: 'ext.applyDate', prop: 'ext.applyDate',
show: true, show: true,
externalValue: { externalValue: {}
}
}, },
{ {
label: '项目负责人', label: '项目负责人',

View File

@ -73,6 +73,7 @@ export default {
//获取结项列表 //获取结项列表
getConclusionList: (param) => Ax('post', '/api/project/inits/conclusion/list', param), getConclusionList: (param) => Ax('post', '/api/project/inits/conclusion/list', param),
conclusionUpdate: (param) => Ax('post', '/api/project/inits/conclusion/update', param), conclusionUpdate: (param) => Ax('post', '/api/project/inits/conclusion/update', param),
endExamine: (param) => Ax('post', '/api/project/inits/conclusion/examine', param),
/** /**
* 部门周报填报管理 * 部门周报填报管理
* */ * */