Commit 11b36389 authored by 徐俊's avatar 徐俊
parents 31df9852 5b9364e2
...@@ -50,7 +50,7 @@ export default { ...@@ -50,7 +50,7 @@ export default {
}, },
//获取任务书状态 //获取任务书状态
getTaskStateList (params) { getTaskStateList (params) {
return fetch(`/v1/science-admin/com-project-test/getTaskStateList/`, params) return fetch(`/v1/science-admin/com-project-task/getTaskStateList/`, params)
}, },
//获取中期考核状态 //获取中期考核状态
getCheckStateList (params) { getCheckStateList (params) {
...@@ -426,9 +426,6 @@ export default { ...@@ -426,9 +426,6 @@ export default {
save (params) { save (params) {
return fetch(`/v1/science-admin/com-project/save`, params, 'post', 'json') return fetch(`/v1/science-admin/com-project/save`, params, 'post', 'json')
}, },
saveByStep (params) {
return fetch(`/v1/science-admin/com-project/saveByStep`, params, 'post', 'json')
},
updateUnit (params) { updateUnit (params) {
return fetch(`/v1/science-admin/com-project/updateUnit`, params, 'post', 'json') return fetch(`/v1/science-admin/com-project/updateUnit`, params, 'post', 'json')
}, },
...@@ -502,25 +499,25 @@ export default { ...@@ -502,25 +499,25 @@ export default {
}, },
taskReport: { taskReport: {
getListByPage (params) { getListByPage (params) {
return fetch(`/v1/science-admin/com-project-test/getListByPage`, params) return fetch(`/v1/science-admin/com-project-task/getListByPage`, params)
}, },
getTestInfoByProjId (params) { getTestInfoByProjId (params) {
return fetch('/v1/science-admin/com-project-test/getTestInfoByProjId', params) return fetch('/v1/science-admin/com-project-task/getTestInfoByProjId', params)
}, },
save (params) { save (params) {
return fetch('/v1/science-admin/com-project-test/save', params, 'post', 'json') return fetch('/v1/science-admin/com-project-task/save', params, 'post', 'json')
}, },
report (params) { report (params) {
return fetch(`/v1/science-admin/com-project-test/report`, params, 'post', 'json') return fetch(`/v1/science-admin/com-project-task/report`, params, 'post', 'json')
}, },
getCount (params) { getCount (params) {
return fetch(`/v1/science-admin/com-project-test/getCount`, params) return fetch(`/v1/science-admin/com-project-task/getCount`, params)
}, },
asyncUploadTaskFile (params) { asyncUploadTaskFile (params) {
return fetch(`/v1/science-admin/com-project-test/asyncUploadTaskFile`, params, 'post', 'file') return fetch(`/v1/science-admin/com-project-task/asyncUploadTaskFile`, params, 'post', 'file')
}, },
deleteTaskFile (params) { deleteTaskFile (params) {
return fetch(`/v1/science-admin/com-project-test/deleteTaskFile/${params.id}`, params, 'delete', 'json') return fetch(`/v1/science-admin/com-project-task/deleteTaskFile/${params.id}`, params, 'delete', 'json')
}, },
}, },
checkReport: { checkReport: {
...@@ -563,7 +560,7 @@ export default { ...@@ -563,7 +560,7 @@ export default {
return fetch(`/v1/science-admin/com-project/audit`, params, 'post', 'json') return fetch(`/v1/science-admin/com-project/audit`, params, 'post', 'json')
}, },
testAudit (params) { testAudit (params) {
return fetch(`/v1/science-admin/com-project-test/audit`, params, 'post', 'json') return fetch(`/v1/science-admin/com-project-task/audit`, params, 'post', 'json')
}, },
checkAudit (params) { checkAudit (params) {
return fetch(`/v1/science-admin/com-project-check/audit`, params, 'post', 'json') return fetch(`/v1/science-admin/com-project-check/audit`, params, 'post', 'json')
...@@ -584,8 +581,8 @@ export default { ...@@ -584,8 +581,8 @@ export default {
}, },
}, },
batch: { batch: {
getBatchListByPage (params) { getListByPage (params) {
return fetch(`/v1/science-admin/com-batch/getBatchListByPage`, params) return fetch(`/v1/science-admin/com-batch/getListByPage`, params)
}, },
addBatch (params) { addBatch (params) {
return fetch('/v1/science-admin/com-batch/addBatch', params, 'post', 'json') return fetch('/v1/science-admin/com-batch/addBatch', params, 'post', 'json')
...@@ -593,24 +590,12 @@ export default { ...@@ -593,24 +590,12 @@ export default {
updateBatch (params) { updateBatch (params) {
return fetch('/v1/science-admin/com-batch/updateBatch', params, 'post', 'json') return fetch('/v1/science-admin/com-batch/updateBatch', params, 'post', 'json')
}, },
getMaxBatch (params) {
return fetch('/v1/science-admin/com-batch/getMaxBatch', params)
},
deleteBatch (params) { deleteBatch (params) {
return fetch(`/v1/science-admin/com-batch/deleteBatch/${params.id}`, params, 'delete', 'json') return fetch(`/v1/science-admin/com-batch/deleteBatch/${params.id}`, params, 'delete', 'json')
}, },
getCurrentReportYearList (params) { getCurrentReportYearList (params) {
return fetch(`/v1/science-admin/com-batch/getCurrentReportYearList`, params) return fetch(`/v1/science-admin/com-batch/getCurrentReportYearList`, params)
}, },
getListByPage (params) {
return fetch(`/v1/science-admin/com-year/getListByPage`, params)
},
getApplyYearList (params) {
return fetch('/v1/science-admin/com-year/getApplyYearList', params)
},
addOrUpdateYearInfo (params) {
return fetch('/v1/science-admin/com-year/addOrUpdateYearInfo', params, 'post', 'json')
},
getBatchById (params) { getBatchById (params) {
return fetch(`/v1/science-admin/com-batch/getBatchById/`, params) return fetch(`/v1/science-admin/com-batch/getBatchById/`, params)
}, },
...@@ -621,22 +606,8 @@ export default { ...@@ -621,22 +606,8 @@ export default {
return fetch('/v1/science-admin/com-batch/getBatchList', params) return fetch('/v1/science-admin/com-batch/getBatchList', params)
} }
}, },
year: {
getYearByTreeCode (params) {
return fetch(`/v1/science-admin/com-year/getYearByTreeCode`, params)
},
getYearInfo (params) {
return fetch(`/v1/science-admin/com-year/getYearInfo`, params)
},
},
//系统管理接口 //系统管理接口
systemManage: { systemManage: {
getUnitProjLimit (params) {
return fetch('/v1/science-admin/com-unit/getUnitProjLimit', params)
},
updateUnitProjLimit (params) {
return fetch('/v1/science-admin/com-unit/updateUnitProjLimit', params, 'put', 'json')
},
getRoleListByPage (params) { getRoleListByPage (params) {
return fetch('/v1/science-admin/system-role/getListByPage', params) return fetch('/v1/science-admin/system-role/getListByPage', params)
}, },
......
...@@ -113,13 +113,11 @@ export const routes = [ ...@@ -113,13 +113,11 @@ export const routes = [
hidden: false, hidden: false,
children: [ children: [
{ path: '/report/project', name: '项目申报', component: () => import('@/views/report/project/Index.vue'), meta: { title: '项目申报', icon: '', noCache: true } }, { path: '/report/project', name: '项目申报', component: () => import('@/views/report/project/Index.vue'), meta: { title: '项目申报', icon: '', noCache: true } },
{ path: '/report/task', name: '任务书填报1', component: () => import('@/views/report/task/Index.vue'), meta: { title: '任务书填报1', icon: '', noCache: true } }, { path: '/report/task', name: '合同书上报', component: () => import('@/views/report/task/Index.vue'), meta: { title: '合同书上报', icon: '', noCache: true } },
{ path: '/report/projectTask', name: '任务书填报2', component: () => import('@/views/report/task/projectTask.vue'), meta: { title: '任务书填报2', icon: '', noCache: true } }, { path: '/report/check', name: '中期考核上报', component: () => import('@/views/report/check/Index.vue'), meta: { title: '中期考核上报', icon: '', noCache: true } },
{ path: '/report/check', name: '中期考核填报', component: () => import('@/views/report/check/Index.vue'), meta: { title: '中期考核填报', icon: '', noCache: true } },
{ path: '/report/conclusion', name: '项目结题', component: () => import('@/views/conclusion/index.vue'), meta: { title: '项目结题', icon: '', noCache: true } }, { path: '/report/conclusion', name: '项目结题', component: () => import('@/views/conclusion/index.vue'), meta: { title: '项目结题', icon: '', noCache: true } },
{ path: '/project/create', name: '项目创建', component: () => import('@/views/report/project/components/projectCreate'), meta: { title: '项目创建', icon: '', noCache: true } },
{ path: '/query/project', name: '项目申报查询1', component: () => import('@/views/query/project/Index.vue'), meta: { title: '项目申报查询', icon: '', noCache: true } }, { path: '/query/project', name: '项目申报查询1', component: () => import('@/views/query/project/Index.vue'), meta: { title: '项目申报查询', icon: '', noCache: true } },
{ path: '/query/task', name: '任务书上报查询1', component: () => import('@/views/query/task/Index.vue'), meta: { title: '任务书上报查询', icon: '', noCache: true } }, { path: '/query/task', name: '合同书查询1', component: () => import('@/views/query/task/Index.vue'), meta: { title: '合同书查询', icon: '', noCache: true } },
{ path: '/query/check', name: '中期考核上报查询1', component: () => import('@/views/query/check/Index.vue'), meta: { title: '中期考核上报查询', icon: '', noCache: true } }, { path: '/query/check', name: '中期考核上报查询1', component: () => import('@/views/query/check/Index.vue'), meta: { title: '中期考核上报查询', icon: '', noCache: true } },
] ]
}, },
...@@ -133,7 +131,7 @@ export const routes = [ ...@@ -133,7 +131,7 @@ export const routes = [
{ path: '/audit/project', name: '项目审核', component: () => import('@/views/audit/project/Index.vue'), meta: { title: '项目审核', icon: '', noCache: true } }, { path: '/audit/project', name: '项目审核', component: () => import('@/views/audit/project/Index.vue'), meta: { title: '项目审核', icon: '', noCache: true } },
{ path: '/audit/preliminary', name: '项目预审', component: () => import('@/views/audit/project/Index.vue'), meta: { title: '项目预审', icon: '', noCache: true } }, { path: '/audit/preliminary', name: '项目预审', component: () => import('@/views/audit/project/Index.vue'), meta: { title: '项目预审', icon: '', noCache: true } },
{ path: '/audit/final', name: '项目终审', component: () => import('@/views/audit/project/final.vue'), meta: { title: '项目审核', icon: '', noCache: true } }, { path: '/audit/final', name: '项目终审', component: () => import('@/views/audit/project/final.vue'), meta: { title: '项目审核', icon: '', noCache: true } },
{ path: '/audit/taskAudit', name: '任务书审核', component: () => import('@/views/audit/task/Index.vue'), meta: { title: '任务书审核', icon: '', noCache: true } }, { path: '/audit/taskAudit', name: '合同书审核', component: () => import('@/views/audit/task/Index.vue'), meta: { title: '合同书审核', icon: '', noCache: true } },
{ path: '/audit/checkAudit', name: '中期考核表审核', component: () => import('@/views/audit/check/Index.vue'), meta: { title: '中期考核表审核', icon: '', noCache: true } }, { path: '/audit/checkAudit', name: '中期考核表审核', component: () => import('@/views/audit/check/Index.vue'), meta: { title: '中期考核表审核', icon: '', noCache: true } },
// { path: '/peAssign', name: '项目组分配', component: () => import('@/views/peAssign/index.vue'), meta: { title: '项目分配', icon: '', noCache: true } }, // { path: '/peAssign', name: '项目组分配', component: () => import('@/views/peAssign/index.vue'), meta: { title: '项目分配', icon: '', noCache: true } },
{ path: '/peAssign', name: '项目组分配1', component: () => import('@/views/peAssign/projAssign.vue'), meta: { title: '项目分配', icon: '', noCache: true } }, { path: '/peAssign', name: '项目组分配1', component: () => import('@/views/peAssign/projAssign.vue'), meta: { title: '项目分配', icon: '', noCache: true } },
...@@ -217,7 +215,7 @@ export const routes = [ ...@@ -217,7 +215,7 @@ export const routes = [
hidden: false, hidden: false,
children: [ children: [
{ path: '/statistic/project', name: '项目申报查询', component: () => import('@/views/statistic/project/Index.vue'), meta: { title: '项目申报查询', icon: '', noCache: true } }, { path: '/statistic/project', name: '项目申报查询', component: () => import('@/views/statistic/project/Index.vue'), meta: { title: '项目申报查询', icon: '', noCache: true } },
{ path: '/statistic/task', name: '任务书上报查询', component: () => import('@/views/statistic/task/Index.vue'), meta: { title: '任务书上报查询', icon: '', noCache: true } }, { path: '/statistic/task', name: '合同书上报查询', component: () => import('@/views/statistic/task/Index.vue'), meta: { title: '合同书上报查询', icon: '', noCache: true } },
{ path: '/statistic/check', name: '中期考核上报查询', component: () => import('@/views/statistic/check/Index.vue'), meta: { title: '中期考核上报查询', icon: '', noCache: true } }, { path: '/statistic/check', name: '中期考核上报查询', component: () => import('@/views/statistic/check/Index.vue'), meta: { title: '中期考核上报查询', icon: '', noCache: true } },
{ path: '/expert/evaluationQuery', name: '评分项目查询', component: () => import('@/views/evaluation/query.vue'), meta: { title: '评分项目查询', icon: '', noCache: true } }, { path: '/expert/evaluationQuery', name: '评分项目查询', component: () => import('@/views/evaluation/query.vue'), meta: { title: '评分项目查询', icon: '', noCache: true } },
] ]
...@@ -244,11 +242,8 @@ export const routes = [ ...@@ -244,11 +242,8 @@ export const routes = [
meta: { title: '系统设置', icon: 'el-icon-s-tools' }, meta: { title: '系统设置', icon: 'el-icon-s-tools' },
hidden: false, hidden: false,
children: [ children: [
{ path: '/timeSet/projectTimeSet', name: '申报时间设置', component: () => import('@/views/timeSet/projectTimeSet/Index.vue'), meta: { title: '申报时间设置', icon: '', noCache: true } }, { path: '/timeSet/task', name: '合同书时间设置', component: () => import('@/views/timeSet/taskTimeSet/Index.vue'), meta: { title: '合同书时间设置', icon: '', noCache: true } },
{ path: '/timeSet/taskTimeSet', name: '任务书时间设置', component: () => import('@/views/timeSet/taskTimeSet/Index.vue'), meta: { title: '任务书时间设置', icon: '', noCache: true } },
{ path: '/timeSet/checkTimeSet', name: '中期考核时间设置', component: () => import('@/views/timeSet/checkTimeSet/Index.vue'), meta: { title: '中期考核时间设置', icon: '', noCache: true } },
{ path: '/setting/batch', name: '申报批次设置', component: () => import('@/views/timeSet/batch/Index.vue'), meta: { title: '申报批次设置', icon: '', noCache: true } }, { path: '/setting/batch', name: '申报批次设置', component: () => import('@/views/timeSet/batch/Index.vue'), meta: { title: '申报批次设置', icon: '', noCache: true } },
{ path: '/setting/count', name: '申报名额配比', component: () => import('@/views/projAcountSet/projAcountSet.vue'), meta: { title: '申报名额配比管理', icon: '', noCache: true } },
{ path: '/system/evaluationStandard', name: '年度评审标准设置', component: () => import('@/views/system/evaluationStandard/index.vue'), meta: { title: '年度评审标准设置', icon: '', noCache: true } }, { path: '/system/evaluationStandard', name: '年度评审标准设置', component: () => import('@/views/system/evaluationStandard/index.vue'), meta: { title: '年度评审标准设置', icon: '', noCache: true } },
//后台 //后台
{ path: '/system/role', name: '角色管理', component: () => import('@/views/system/role/index.vue'), meta: { title: '角色管理', icon: '', noCache: true } }, { path: '/system/role', name: '角色管理', component: () => import('@/views/system/role/index.vue'), meta: { title: '角色管理', icon: '', noCache: true } },
......
...@@ -132,7 +132,7 @@ export default { ...@@ -132,7 +132,7 @@ export default {
methods: { methods: {
moment, moment,
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.searchForm.assignYear = data.year this.searchForm.assignYear = data.year
this.getListByPage() this.getListByPage()
...@@ -177,7 +177,7 @@ export default { ...@@ -177,7 +177,7 @@ export default {
this.pagination.pageIndex = 1 this.pagination.pageIndex = 1
this.getListByPage() this.getListByPage()
}, },
groupChange(value) { groupChange (value) {
this.searchForm.groupId = value this.searchForm.groupId = value
}, },
recordClick (record, type) { recordClick (record, type) {
......
...@@ -57,9 +57,6 @@ ...@@ -57,9 +57,6 @@
<a-modal v-model="visibleView" v-if="visibleView" title="项目详情" width="94%" :footer="null" :dialog-style="{ top: '8%' }" destroyOnClose :maskClosable="false"> <a-modal v-model="visibleView" v-if="visibleView" title="项目详情" width="94%" :footer="null" :dialog-style="{ top: '8%' }" destroyOnClose :maskClosable="false">
<project-view v-model="objectId" @close="closeWindow"></project-view> <project-view v-model="objectId" @close="closeWindow"></project-view>
</a-modal> </a-modal>
<a-modal v-model="taskFileInfoView" title="项目任务书" :width="'60%'" :maskClosable="false" :footer="null" destroyOnClose class="sc_modal">
<task-file-info v-model="selectProjId" @close="closeTaskFileInfoWindow" />
</a-modal>
</div> </div>
</template> </template>
...@@ -70,7 +67,6 @@ import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/ ...@@ -70,7 +67,6 @@ import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/
import audit from '@/views/audit/project/audit' import audit from '@/views/audit/project/audit'
import batchAudit from '@/views/audit/project/batchAudit' import batchAudit from '@/views/audit/project/batchAudit'
import projectView from '@/views/report/project/components/projectView' import projectView from '@/views/report/project/components/projectView'
import taskFileInfo from '@/views/report/task/components/taskFileInfo'
export default { export default {
name: "projectAudit", name: "projectAudit",
...@@ -177,7 +173,7 @@ export default { ...@@ -177,7 +173,7 @@ export default {
this.getListByPage() this.getListByPage()
}, },
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.isButten = data.disabled this.isButten = data.disabled
this.description = data.description this.description = data.description
......
...@@ -48,7 +48,6 @@ ...@@ -48,7 +48,6 @@
</span> </span>
</template> </template>
<template slot="option" slot-scope="record"> <template slot="option" slot-scope="record">
<!-- <a-button type="link" size="small" v-if="record.projState >= 50" @click="recordClick(record, 'viewProjectTask')">查看任务书</a-button> -->
<a-button type="link" size="small" @click="recordClick(record, 'evaluation')">专家评审明细</a-button> <a-button type="link" size="small" @click="recordClick(record, 'evaluation')">专家评审明细</a-button>
<a-button type="link" size="small" v-if="record.auditResult == 1" @click="recordClick(record, 'audit')">审核</a-button> <a-button type="link" size="small" v-if="record.auditResult == 1" @click="recordClick(record, 'audit')">审核</a-button>
</template> </template>
...@@ -79,9 +78,6 @@ ...@@ -79,9 +78,6 @@
<a-modal v-model="visibleView" v-if="visibleView" title="项目详情" width="94%" :footer="null" :dialog-style="{ top: '8%' }" destroyOnClose :maskClosable="false"> <a-modal v-model="visibleView" v-if="visibleView" title="项目详情" width="94%" :footer="null" :dialog-style="{ top: '8%' }" destroyOnClose :maskClosable="false">
<project-view v-model="objectId" @close="closeWindow"></project-view> <project-view v-model="objectId" @close="closeWindow"></project-view>
</a-modal> </a-modal>
<a-modal v-model="taskFileInfoView" title="查看项目任务书" :width="'60%'" :maskClosable="false" :footer="null" destroyOnClose class="sc_modal">
<task-file-info v-model="ProjId" @close="() => this.taskFileInfoView = false" />
</a-modal>
<a-modal v-model="visibleEvaluationView" title="专家评分" width="90%" :dialog-style="{ top: '8%' }" :footer="null" destroyOnClose> <a-modal v-model="visibleEvaluationView" title="专家评分" width="90%" :dialog-style="{ top: '8%' }" :footer="null" destroyOnClose>
<score-view v-model="assignId" @close="() => this.visibleEvaluationView = false" /> <score-view v-model="assignId" @close="() => this.visibleEvaluationView = false" />
</a-modal> </a-modal>
...@@ -101,13 +97,12 @@ import audit from '@/views/audit/project/audit' ...@@ -101,13 +97,12 @@ import audit from '@/views/audit/project/audit'
import batchAudit from '@/views/audit/project/batchAudit' import batchAudit from '@/views/audit/project/batchAudit'
import projectView from '@/views/report/project/components/projectView' import projectView from '@/views/report/project/components/projectView'
import unitTreeSelect from '@/views/components/common/unitTreeSelect' import unitTreeSelect from '@/views/components/common/unitTreeSelect'
import taskFileInfo from '@/views/report/task/components/taskFileInfo'
import scoreView from '@/views/evaluation/components/scoreView' import scoreView from '@/views/evaluation/components/scoreView'
export default { export default {
name: "projectFinal", name: "projectFinal",
components: { components: {
projectView, paraSelect, audit, unitTreeSelect, projectAssignDetail, taskFileInfo, scoreView, batchAudit projectView, paraSelect, audit, unitTreeSelect, projectAssignDetail, scoreView, batchAudit
}, },
data () { data () {
return { return {
...@@ -197,8 +192,6 @@ export default { ...@@ -197,8 +192,6 @@ export default {
id: null, id: null,
assignId: null, assignId: null,
objectId: null, objectId: null,
taskFileInfoView: false,
ProjId: null,
}; };
}, },
created () { created () {
...@@ -231,7 +224,7 @@ export default { ...@@ -231,7 +224,7 @@ export default {
this.getListByPage() this.getListByPage()
}, },
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 2, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 2, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.isButten = data.disabled this.isButten = data.disabled
this.description = data.description this.description = data.description
...@@ -318,9 +311,6 @@ export default { ...@@ -318,9 +311,6 @@ export default {
} else if (type === 'evaluation') { } else if (type === 'evaluation') {
this.objectId = record.auditObjectId this.objectId = record.auditObjectId
this.assignInfoVisible = true this.assignInfoVisible = true
} else if (type === 'viewProjectTask') {
this.ProjId = record.auditObjectId
this.taskFileInfoView = true;
} else if (type === 'eView') { } else if (type === 'eView') {
this.assignId = record.id this.assignId = record.id
this.visibleEvaluationView = true this.visibleEvaluationView = true
......
...@@ -174,7 +174,7 @@ export default { ...@@ -174,7 +174,7 @@ export default {
methods: { methods: {
isEmptyParams, isEmptyParams,
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.reportYear = data.year this.reportYear = data.year
this.searchForm.groupYear = data.year this.searchForm.groupYear = data.year
......
...@@ -153,17 +153,14 @@ export default { ...@@ -153,17 +153,14 @@ export default {
this.getListByPage() this.getListByPage()
}, },
getYear () { getYear () {
let pars = { type: 2 } this.$api.batch.getCurrentYearBatch({ type: 2, projType: getType(), timeType: 2 }).then(({ data = {} }) => {
this.$api.year.getYearByTreeCode(pars).then(({ data = {} }) => {
if (data) { if (data) {
this.isButten = data.disabled this.isButten = data.disabled
this.description = data.description this.description = data.description
this.searchForm.reportYear = data.reportYear this.searchForm.reportYear = data.year
this.getListByPage() this.getListByPage()
} }
}).catch(() => { }).catch(() => { })
this.loading = false
})
}, },
getListByPage () { getListByPage () {
this.getCount() this.getCount()
......
...@@ -53,11 +53,13 @@ export default { ...@@ -53,11 +53,13 @@ export default {
}) })
}, },
getSpecInfo (key) { getSpecInfo (key) {
console.log(this.specArray, this.value,1)
let newArray = this.specArray.filter( let newArray = this.specArray.filter(
function (el) { function (el) {
return el.key == key return el.key == key
} }
); );
console.log(this.specArray, newArray, this.value,2)
if (!!newArray && newArray.length > 0) if (!!newArray && newArray.length > 0)
return [newArray[0].ppkey, newArray[0].pkey, newArray[0].key] return [newArray[0].ppkey, newArray[0].pkey, newArray[0].key]
else else
......
...@@ -274,7 +274,7 @@ export default { ...@@ -274,7 +274,7 @@ export default {
methods: { methods: {
moment, moment,
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 5, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 5, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.comBatch = data this.comBatch = data
} }
......
...@@ -85,7 +85,7 @@ export default { ...@@ -85,7 +85,7 @@ export default {
methods: { methods: {
moment, moment,
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 5, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 5, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.isButten = data.disabled this.isButten = data.disabled
this.description = data.description this.description = data.description
......
...@@ -110,7 +110,7 @@ export default { ...@@ -110,7 +110,7 @@ export default {
methods: { methods: {
moment, moment,
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 5, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 5, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.isButten = data.disabled this.isButten = data.disabled
this.description = data.description this.description = data.description
......
...@@ -222,6 +222,7 @@ export default { ...@@ -222,6 +222,7 @@ export default {
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}, },
submit () { submit () {
console.log(this.formData)
if (!!!this.formData.specList || this.formData.specList.length == 0) { if (!!!this.formData.specList || this.formData.specList.length == 0) {
this.$message.error('请选择评审专业!') this.$message.error('请选择评审专业!')
return false return false
......
...@@ -125,7 +125,7 @@ export default { ...@@ -125,7 +125,7 @@ export default {
}) })
}, },
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.searchForm.groupYear = data.year this.searchForm.groupYear = data.year
this.getListByPage() this.getListByPage()
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<a-button type="link" size="small" @click="recordClick(record,'report')" v-if="!isTopGov&&record.reportState!=2">上报</a-button> <a-button type="link" size="small" @click="recordClick(record,'report')" v-if="!isTopGov&&record.reportState!=2">上报</a-button>
<a-button type="link" size="small" @click="recordClick(record,'edit')">修改</a-button> <a-button type="link" size="small" @click="recordClick(record,'edit')">修改</a-button>
<a-button type="link" size="small" @click="recordClick(record,'reset')">重置密码</a-button> <a-button type="link" size="small" @click="recordClick(record,'reset')">重置密码</a-button>
<a-button type="link" size="small" @click="recordClick(record,'del')">删除</a-button> <a-button type="link" size="small" @click="recordClick(record,'del')" v-if="isTopGov||record.reportState==1">删除</a-button>
</template> </template>
</a-table> </a-table>
<a-pagination v-if="pagination.total > 0" :total="pagination.total" show-size-changer show-quick-jumper v-model="pagination.pageIndex" :page-size="pagination.pageSize" :page-size-options="pagination.pageSizeOptions" @showSizeChange="showSizeChange" @change="change" :showTotal="() => `共 ${pagination.total} 条`" /> <a-pagination v-if="pagination.total > 0" :total="pagination.total" show-size-changer show-quick-jumper v-model="pagination.pageIndex" :page-size="pagination.pageSize" :page-size-options="pagination.pageSizeOptions" @showSizeChange="showSizeChange" @change="change" :showTotal="() => `共 ${pagination.total} 条`" />
......
...@@ -92,7 +92,7 @@ export default { ...@@ -92,7 +92,7 @@ export default {
}).catch(() => { }) }).catch(() => { })
}, },
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.reportYear = data.year this.reportYear = data.year
this.changeType() this.changeType()
......
...@@ -92,7 +92,7 @@ export default { ...@@ -92,7 +92,7 @@ export default {
}).catch(() => { }) }).catch(() => { })
}, },
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.reportYear = data.year this.reportYear = data.year
this.changeType() this.changeType()
......
...@@ -67,7 +67,7 @@ export default { ...@@ -67,7 +67,7 @@ export default {
}).catch(() => { }) }).catch(() => { })
}, },
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() , timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.reportYear = data.year this.reportYear = data.year
} }
......
...@@ -107,33 +107,32 @@ export default { ...@@ -107,33 +107,32 @@ export default {
data () { data () {
return { return {
formData: { formData: {
id: null, certId: null, sex: null, unitId: null, birthday: null, mobile: null, email: null, title: null, unitId: null, education: null, spec: null, address: null, treeCode: null id: null, certId: null, sex: null, birthday: null, mobile: null, email: null, title: null, education: null, spec: null, address: null, treeCode: null
}, },
rules: { rules: {
personName: [{ required: true, message: '请输入姓名', trigger: 'blur' }], personName: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
certId: [{ required: true, message: '请输入证件号', trigger: 'blur' }, // certId: [{ required: true, message: '请输入证件号', trigger: 'blur' },
{ // {
validator: (rule, value, callback) => { // validator: (rule, value, callback) => {
if (value == '' || value == undefined) { // if (value == '' || value == undefined) {
callback() // callback()
} // }
var errorMsg = isIdentityId(value); // var errorMsg = isIdentityId(value);
if (errorMsg != "") { // if (errorMsg != "") {
callback(new Error(errorMsg)); // callback(new Error(errorMsg));
} else { // } else {
let pars = { certId: this.formData.certId, id: this.formData.id } // let pars = { certId: this.formData.certId, id: this.formData.id }
this.$api.base.checkCertIdById(pars).then(({ data = {} }) => { // this.$api.base.checkCertIdById(pars).then(({ data = {} }) => {
if (data) { // if (data) {
callback(new Error("证件号已存在")); // callback(new Error("证件号已存在"));
} else // } else
callback() // callback()
}) // })
} // }
} // }
}], // }],
email: [{ required: false, message: '请输入邮箱', trigger: 'blur' }], email: [{ required: false, message: '请输入邮箱', trigger: 'blur' }],
title: [{ required: false, message: '请选择职称', trigger: 'change' }], title: [{ required: false, message: '请选择职称', trigger: 'change' }],
unitId: [{ required: false, message: '请选择单位', trigger: 'change' }],
education: [{ required: false, message: '请选择学历', trigger: 'change' }], education: [{ required: false, message: '请选择学历', trigger: 'change' }],
spec: [{ required: false, message: '请选择专业', trigger: 'change' }], spec: [{ required: false, message: '请选择专业', trigger: 'change' }],
treeCode: [{ required: false, message: '请选择单位', trigger: 'change' }], treeCode: [{ required: false, message: '请选择单位', trigger: 'change' }],
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<div class="submit-btn"> <div class="submit-btn">
<!-- <a-button type="primary" @click="importExcel">项目导入</a-button> --> <!-- <a-button type="primary" @click="importExcel">项目导入</a-button> -->
<a-button type="primary" @click="exportData" icon="download">Excel</a-button> <a-button type="primary" @click="exportData" icon="download">Excel</a-button>
<a-button type="primary" @click="conclusionSubmit">项目结题</a-button> <!-- <a-button type="primary" @click="conclusionSubmit">项目结题</a-button> -->
</div> </div>
<a-table :dataSource="tableData" :columns="columns" :scroll="{ x: 'max-content' }" rowKey="id" :pagination="false" :loading="loading" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio' }"> <a-table :dataSource="tableData" :columns="columns" :scroll="{ x: 'max-content' }" rowKey="id" :pagination="false" :loading="loading" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio' }">
<template slot="projName" slot-scope="record"> <template slot="projName" slot-scope="record">
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
import moment from 'moment' import moment from 'moment'
import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/utils/common"; import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/utils/common";
import projectView from '@/views/report/project/components/projectView' import projectView from '@/views/report/project/components/projectView'
import projectCreate from '@/views/report/project/components/edit/projectCreate' import projectCreate from '@/views/report/project/components/projectCreate'
import paraSelect from '@/views/components/common/paraSelect' import paraSelect from '@/views/components/common/paraSelect'
import baseSelect from '@/views/components/common/baseSelect' import baseSelect from '@/views/components/common/baseSelect'
import projectImport from '@/views/manager/project/components/projectImport'; import projectImport from '@/views/manager/project/components/projectImport';
......
...@@ -38,7 +38,7 @@ export default { ...@@ -38,7 +38,7 @@ export default {
}, },
methods: { methods: {
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.reportYear = data.year this.reportYear = data.year
this.getEvaluationStatistic() this.getEvaluationStatistic()
......
...@@ -135,7 +135,7 @@ export default { ...@@ -135,7 +135,7 @@ export default {
methods: { methods: {
moment, moment,
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.formData.groupYear = data.year + '' this.formData.groupYear = data.year + ''
} }
......
...@@ -60,7 +60,7 @@ export default { ...@@ -60,7 +60,7 @@ export default {
}, },
methods: { methods: {
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.reportYear = data.year this.reportYear = data.year
this.totalTitle = this.reportYear + '项目二级学科选择' this.totalTitle = this.reportYear + '项目二级学科选择'
......
...@@ -76,7 +76,7 @@ export default { ...@@ -76,7 +76,7 @@ export default {
}, },
methods: { methods: {
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.searchForm.reportYear = data.year this.searchForm.reportYear = data.year
this.getListByPage() this.getListByPage()
......
...@@ -90,7 +90,7 @@ export default { ...@@ -90,7 +90,7 @@ export default {
}, },
methods: { methods: {
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.searchForm.reportYear = data.year this.searchForm.reportYear = data.year
this.getListByPage() this.getListByPage()
......
...@@ -49,7 +49,7 @@ export default { ...@@ -49,7 +49,7 @@ export default {
}, },
methods: { methods: {
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.reportYear = data.year this.reportYear = data.year
this.getProjectExpertGroupStatistic() this.getProjectExpertGroupStatistic()
......
...@@ -172,7 +172,7 @@ export default { ...@@ -172,7 +172,7 @@ export default {
methods: { methods: {
isEmptyParams, isEmptyParams,
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.reportYear = data.year this.reportYear = data.year
this.searchForm.groupYear = data.year this.searchForm.groupYear = data.year
......
...@@ -188,7 +188,7 @@ export default { ...@@ -188,7 +188,7 @@ export default {
}) })
}, },
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.reportYear = data.year this.reportYear = data.year
this.searchForm.groupYear = data.year this.searchForm.groupYear = data.year
......
...@@ -196,7 +196,7 @@ export default { ...@@ -196,7 +196,7 @@ export default {
}) })
}, },
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() , timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.reportYear = data.year this.reportYear = data.year
this.searchForm.groupYear = data.year this.searchForm.groupYear = data.year
......
<template>
<div class="card-container">
<a-tabs type="card" @change="tabChange">
<a-tab-pane key="1" tab="市州(含辖区所有医疗机构)">
<div class="from-table">
<a-row>
<a-col style="text-align:center;">
<span style="font-size:20pt">{{year}}年度州市医疗行政单位配比</span>
</a-col>
</a-row>
<a-row>
<a-col :span="24/colCounts[colCountKey]/2" class="bg-light_blue">
名额配比数量批量设置:
</a-col>
<a-col :span="24/colCounts[colCountKey]/2">
<a-input-number v-model="batchValueCount" :min="0" :max="1000" />
</a-col>
<a-col :span="24/colCounts[colCountKey]/2">
<a-button type="primary" @click="setBatchUnitCount">批量设置</a-button>
</a-col>
<a-col :span="6">
州市行政机构数:<span style="color:red">{{unitGovCount}}</span>
</a-col>
<a-col :span="9">
</a-col>
</a-row>
<a-row>
<unit-count v-for="unit in unitGovInfo" :key="unit.id" :Unit="unit" :colCount="24/colCounts[colCountKey]" @valueChange="valueChange" />
</a-row>
<a-row>
<a-col style="text-align:center;">
<a-button type="primary" @click="saveUnitCount">保存</a-button>
</a-col>
</a-row>
</div>
</a-tab-pane>
<a-tab-pane key="2" tab="省直属单位名额配比">
<div class="from-table">
<a-row>
<a-col style="text-align:center;">
<span style="font-size:20pt">{{year}}年度省直医疗机构配比设置</span>
</a-col>
</a-row>
<a-row>
<a-col :span="24/colCounts[colCountKey]/2" class="bg-light_blue">
名额配比数量批量设置:
</a-col>
<a-col :span="24/colCounts[colCountKey]/2">
<a-input-number v-model="batchValueCount" :min="0" :max="1000" />
</a-col>
<a-col :span="24/colCounts[colCountKey]/2">
<a-button type="primary" @click="setBatchUnitCount">批量设置</a-button>
</a-col>
<a-col :span="6">
省直医疗机构数:<span style="color:red">{{unitComCount}}</span>
</a-col>
<a-col :span="9">
</a-col>
</a-row>
<a-row>
<unit-count v-for="unit in unitComInfo" :key="unit.id" :Unit="unit" :colCount="24/colCounts[colCountKey]" />
</a-row>
<a-row>
<a-col style="text-align:center;">
<a-button type="primary" @click="saveUnitCount">保存</a-button>
</a-col>
</a-row>
</div>
</a-tab-pane>
</a-tabs>
</div>
<!-- <a-row>
<a-col></a-col>
</a-row> -->
</template>
<script>
import { isEmptyParams } from "@/views/utils/common"
import UnitCount from "@/views/unit/components/unitCount.vue"
import moment from "moment"
export default {
name: "projAcountSet",
components: {
UnitCount,
},
data () {
const colCounts = {};
[2, 3, 4, 6, 8, 12].forEach((value, i) => {
colCounts[i] = value;
});
return {
unitGovInfo: [],
unitComInfo: [],
colCounts,
colCountKey: 1,
queryType: 1,
batchValueCount: 0,
year: moment().format('YYYY'),
unitGovCount: 0,
unitComCount: 0,
};
},
created () {
this.unitCount()
},
methods: {
moment,
tabChange (key) {
this.queryType = key
this.unitCount()
},
unitCount () {
let pars = { queryType: this.queryType }
let par = {
...pars,
}
this.$api.systemManage.getUnitProjLimit(par).then(({ data = {} }) => {
if (data) {
if (this.queryType == 1) {
this.unitGovInfo = data
this.unitGovCount = data.length
}
else {
this.unitComInfo = data
this.unitComCount = data.length
}
}
})
},
valueChange (unit) {
if (this.queryType == 1) {
let arr = this.unitGovInfo.filter(p => p.id === unit.id)
arr[0].projLimit = unit.projLimit
} else {
let arr = this.unitComInfo.filter(p => p.id === unit.id)
arr[0].projLimit = unit.projLimit
}
},
setBatchUnitCount () {
if (this.queryType == 1)
this.unitGovInfo.forEach(p => {
p.projLimit = this.batchValueCount
})
else
this.unitComInfo.forEach(p => {
p.projLimit = this.batchValueCount
})
},
saveUnitCount () {
if (this.queryType == 1) {
let unitGovList = this.unitGovInfo.filter(p => p.projLimit !== null)
let pars = unitGovList
this.$api.systemManage.updateUnitProjLimit(pars).then(({ data = {} }) => {
if (data) {
this.unitGovInfo = []
this.$message.info(data)
this.unitCount()
}
})
} else {
let unitComList = this.unitComInfo.filter(p => p.projLimit !== null)
let pars = unitComList
this.$api.systemManage.updateUnitProjLimit(pars).then(({ data = {} }) => {
if (data) {
this.unitComInfo = []
this.$message.info(data)
this.unitCount()
}
})
}
}
}
};
</script>
<style>
.card-container {
background: #f5f5f5;
overflow: hidden;
padding: 24px;
}
.card-container > .ant-tabs-card > .ant-tabs-content {
height: 100vh;
margin-top: -16px;
}
.card-container > .ant-tabs-card > .ant-tabs-content > .ant-tabs-tabpane {
background: #fff;
padding: 16px;
}
.card-container > .ant-tabs-card > .ant-tabs-bar {
border-color: #fff;
}
.card-container > .ant-tabs-card > .ant-tabs-bar .ant-tabs-tab {
border-color: transparent;
background: transparent;
}
.card-container > .ant-tabs-card > .ant-tabs-bar .ant-tabs-tab-active {
border-color: #fff;
background: #fff;
}
</style>
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
<a-form-item> <a-form-item>
<base-select v-model="searchForm.projState" :title="'状态'" :type="1" :isAll="true" :width="160" /> <base-select v-model="searchForm.projState" :title="'状态'" :type="1" :isAll="true" :width="160" />
</a-form-item> </a-form-item>
<para-multi-select2 :typeId="6" />
<a-form-item> <a-form-item>
<a-button type="primary" icon="search" @click="search">搜索</a-button> <a-button type="primary" icon="search" @click="search">搜索</a-button>
<a-button icon="reload" style="margin-left: 10px" @click="reset" class="bt-normal">重置</a-button> <a-button icon="reload" style="margin-left: 10px" @click="reset" class="bt-normal">重置</a-button>
...@@ -82,17 +81,6 @@ export default { ...@@ -82,17 +81,6 @@ export default {
created () { created () {
}, },
methods: { methods: {
search () {
this.pagination.pageIndex = 1
this.getListByPage()
},
reset () {
this.searchForm.projName = null
this.searchForm.projNo = null
this.searchForm.projState = ''
this.pagination.pageIndex = 1
this.getListByPage()
},
getListByPage () { getListByPage () {
this.loading = true this.loading = true
let pars = isEmptyParams(this.searchForm) let pars = isEmptyParams(this.searchForm)
...@@ -114,6 +102,17 @@ export default { ...@@ -114,6 +102,17 @@ export default {
this.loading = false this.loading = false
}) })
}, },
search () {
this.pagination.pageIndex = 1
this.getListByPage()
},
reset () {
this.searchForm.projName = null
this.searchForm.projNo = null
this.searchForm.projState = ''
this.pagination.pageIndex = 1
this.getListByPage()
},
change () { change () {
this.getListByPage() this.getListByPage()
}, },
......
<template> <template>
<div class="report" ref="report"> <div class="app-content">
<a-form class="search_form" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }" :model="searchForm"> <a-form :form="form" :model="searchForm" ref="formRef" layout="inline" class="search_form">
<a-row> <a-form-item>
<a-col :span="6"> <a-input placeholder="项目名称" v-model="searchForm.projName" :maxLength="100" style="width: 160px" />
<a-form-item label="项目名称">
<a-input placeholder="项目名称" v-model="searchForm.projName" :maxLength="100" style="width: 272px" />
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item label="项目编号">
<a-input placeholder="项目编号" v-model="searchForm.projNo" :maxLength="100" style="width: 272px" />
</a-form-item> </a-form-item>
</a-col> <a-form-item>
<a-col :span="6"> <a-input placeholder="项目编号" v-model="searchForm.projNo" :maxLength="100" style="width: 160px" />
<a-form-item label="项目类别">
<para-select v-model="searchForm.projClass" :typeId="52" />
</a-form-item> </a-form-item>
</a-col> <a-form-item>
</a-row> <base-select v-model="searchForm.reportYear" :title="'年度'" :type="7" :isAll="true" :width="160" />
<a-row>
<a-col :span="6">
<a-form-item label="年度">
<base-select v-model="searchForm.reportYear" :type="4" :isAll="true" />
</a-form-item> </a-form-item>
</a-col> <a-form-item>
<a-col :span="6"> <base-select v-model="searchForm.taskState" :title="'状态'" :type="2" :isAll="true" :width="160" />
<a-form-item label="任务书状态">
<base-select v-model="searchForm.testState" :type="2" :isAll="true" />
</a-form-item> </a-form-item>
</a-col>
<a-col :span="6">
<a-form-item> <a-form-item>
<a-button type="primary" icon="search" @click="search">搜索</a-button> <a-button type="primary" icon="search" @click="search">搜索</a-button>
<a-button icon="reload" style="margin-left: 10px" @click="reset" class="bt-normal">重置</a-button> <a-button icon="reload" style="margin-left: 10px" @click="reset" class="bt-normal">重置</a-button>
</a-form-item> </a-form-item>
</a-col>
</a-row>
</a-form> </a-form>
<a-row> <a-divider style="height: 1px; background-color: #e8e8e8;" />
<a-col :span="18"> <div class="submit-btn">
<a-button type="primary" @click="exportData">导出Excel</a-button> <a-button type="primary" @click="exportData" icon="download">Excel</a-button>
</a-col> </div>
</a-row> <a-table :dataSource="tableData" :columns="columns" rowKey="projId" :pagination="false" :loading="loading">
<div style="margin-top: 8px;"></div> <template slot="taskStateName" slot-scope="record">
<a-table :dataSource="tableData" :columns="columns" rowKey="id" :pagination="false" :loading="loading"> <span>{{record.taskStateName}}</span>
<template slot="testStateName" slot-scope="record">
<span v-if="record">
{{record}}
</span>
<span v-else>
未填写
</span>
</template> </template>
<template slot="option" slot-scope="record"> <template slot="option" slot-scope="record">
<a-button type="link" size="small" @click="recordClick(record, 'view')">查看</a-button> <a-button type="link" size="small" @click="recordClick(record, 'view')">查看</a-button>
</template> </template>
</a-table> </a-table>
<a-pagination v-if="pagination.total > 0" :total="pagination.total" show-size-changer show-quick-jumper v-model="pagination.pageIndex" :page-size="pagination.pageSize" :page-size-options="pagination.pageSizeOptions" @showSizeChange="showSizeChange" @change="change" :showTotal="() => `共 ${pagination.total} 条`" /> <a-pagination v-if="pagination.total > 0" :total="pagination.total" show-size-changer show-quick-jumper v-model="pagination.pageIndex" :page-size="pagination.pageSize" :page-size-options="pagination.pageSizeOptions" @showSizeChange="showSizeChange" @change="change" :showTotal="() => `共 ${pagination.total} 条`" />
<a-modal v-model="visibleEdit" title="修改" :width="'86%'" :dialog-style="{ top: '20px' }" :maskClosable="false" :footer="null" destroyOnClose class="sc_modal"> <a-modal v-model="visibleView" title="查看任务书" :width="'94%'" :dialog-style="{ top: '8%' }" :maskClosable="false" :footer="null" destroyOnClose class="sc_modal">
<test-edit v-model="projId" @close="closeWindow" /> <task-view v-model="projId" @close="closeWindow" />
</a-modal>
<a-modal v-model="visibleView" title="查看任务书" :width="'86%'" :dialog-style="{ top: '20px' }" :maskClosable="false" :footer="null" destroyOnClose class="sc_modal">
<test-view v-model="projId" @close="closeWindow" />
</a-modal> </a-modal>
</div> </div>
</template> </template>
<script> <script>
import { getType } from '@/views/utils/auth'
import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/utils/common"; import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/utils/common";
import TestEdit from "@/views/report/task/components/taskEdit.vue" import taskView from "@/views/report/task/components/taskView"
import TestView from "@/views/report/task/components/taskView.vue"
import paraSelect from '@/views/components/common/paraSelect'
import baseSelect from '@/views/components/common/baseSelect'
export default { export default {
name: 'queryTask', name: 'queryTask',
components: { components: {
TestView, TestEdit, paraSelect, baseSelect taskView
}, },
data () { data () {
return { return {
form: this.$form.createForm(this, { name: 'advanced_search' }),
// 表单 // 表单
searchForm: { projName: null, projNo: null, projClass: null, reportYear: null, testState: null }, searchForm: { projName: null, projNo: null, projClass: null, reportYear: null, taskState: null, projType: getType() },
tableData: [], tableData: [],
columns: [ columns: [
{ title: '项目名称', dataIndex: 'projName' }, { title: '项目名称', dataIndex: 'projName', align: 'center' },
{ title: '项目编号', dataIndex: 'projNo' }, { title: '项目编号', dataIndex: 'projNo', align: 'center' },
{ title: '版本号', dataIndex: 'versionNo' }, { title: '项目类别', dataIndex: 'projClassName', align: 'center' },
{ title: '项目类别', dataIndex: 'projClassName' }, { title: '开始时间', dataIndex: 'startDate', align: 'center' },
{ title: '任务书开始时间', dataIndex: 'startDate' }, { title: '结束时间', dataIndex: 'endDate', align: 'center' },
{ title: '任务书结束时间', dataIndex: 'endDate' }, { title: '申报年度', dataIndex: 'reportYear', align: 'center' },
{ title: '申报年度', dataIndex: 'reportYear' }, { title: '状态', scopedSlots: { customRender: 'taskStateName' }, align: 'center' },
{ title: '状态', dataIndex: 'testStateName', scopedSlots: { customRender: 'testStateName' }, width: '100px', }, { title: '操作', fixed: 'right', scopedSlots: { customRender: 'option' }, align: 'center' }
{ title: '操作', fixed: 'right', scopedSlots: { customRender: 'option' } }
], ],
pagination: { pagination: { pageIndex: 1, pageSize: this.$defaultPageSize, total: 0, pageSizeOptions: this.$defaultPageSizeOptions, },
pageIndex: 1,
pageSize: this.$defaultPageSize,
total: 0,
pageSizeOptions: this.$defaultPageSizeOptions,
},
loading: false, loading: false,
// 弹窗标志 // 弹窗标志
visibleView: false, visibleView: false,
...@@ -113,22 +77,10 @@ export default { ...@@ -113,22 +77,10 @@ export default {
this.getListByPage() this.getListByPage()
}, },
methods: { methods: {
search () {
this.pagination.pageIndex = 1
this.getListByPage()
},
reset () {
this.pagination.pageIndex = 1
this.getListByPage()
},
getListByPage () { getListByPage () {
this.loading = true this.loading = true
let pars = isEmptyParams(this.searchForm) let pars = isEmptyParams(this.searchForm)
let par = { let par = { ...pars, pageIndex: this.pagination.pageIndex, pageSize: this.pagination.pageSize }
...pars,
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize
}
this.$api.taskReport.getListByPage(par).then(({ data = {} }) => { this.$api.taskReport.getListByPage(par).then(({ data = {} }) => {
if (data) { if (data) {
const { dataList = [], total = 0 } = data const { dataList = [], total = 0 } = data
...@@ -140,7 +92,16 @@ export default { ...@@ -140,7 +92,16 @@ export default {
this.loading = false this.loading = false
}) })
}, },
submitForm () { search () {
this.pagination.pageIndex = 1
this.getListByPage()
},
reset () {
this.searchForm.projName = null
this.searchForm.projNo = null
this.searchForm.taskState = ''
this.pagination.pageIndex = 1
this.getListByPage()
}, },
change () { change () {
this.getListByPage() this.getListByPage()
......
...@@ -10,8 +10,6 @@ ...@@ -10,8 +10,6 @@
<a-form-item> <a-form-item>
<a-button type="primary" icon="search" @click="search">搜索</a-button> <a-button type="primary" icon="search" @click="search">搜索</a-button>
<a-button icon="reload" style="margin-left: 10px" @click="reset" class="bt-normal">重置</a-button> <a-button icon="reload" style="margin-left: 10px" @click="reset" class="bt-normal">重置</a-button>
<!-- <a-button type="primary" style="margin-left: 10px" @click="FileDownload" icon="download">项目合同书模板下载</a-button> -->
<!-- <a-button icon="primary" style="margin-left: 10px" @click="FileView">查看</a-button> -->
</a-form-item> </a-form-item>
</a-form> </a-form>
<div style="width:100%;margin-bottom: 8px;"> <div style="width:100%;margin-bottom: 8px;">
...@@ -19,8 +17,6 @@ ...@@ -19,8 +17,6 @@
<btn-group :data="tabDate" :itemCount="itemCount" v-model="activekey" @change="callback" /> <btn-group :data="tabDate" :itemCount="itemCount" v-model="activekey" @change="callback" />
</div> </div>
<div style="display: inline-block;;width:50%;text-align: right;"> <div style="display: inline-block;;width:50%;text-align: right;">
<!-- <a-button type="primary" @click="projectKPI" icon="download">绩效指标表</a-button> -->
<!-- <a-button type="primary" @click="createMember">新建项目组成员</a-button> -->
<a-button type="primary" style="margin-right:8px;" v-if="(display && isButten)" @click="createProject">新建项目</a-button> <a-button type="primary" style="margin-right:8px;" v-if="(display && isButten)" @click="createProject">新建项目</a-button>
<a-button type="primary" @click="exportData" icon="download">Excel</a-button> <a-button type="primary" @click="exportData" icon="download">Excel</a-button>
</div> </div>
...@@ -56,9 +52,6 @@ ...@@ -56,9 +52,6 @@
<a-modal v-model="visibleFileView" title="查看" width="1000px" :dialog-style="{ top: '10%' }" :footer="null" destroyOnClose :maskClosable="false"> <a-modal v-model="visibleFileView" title="查看" width="1000px" :dialog-style="{ top: '10%' }" :footer="null" destroyOnClose :maskClosable="false">
<preview-file v-model="realurl.downloadUrl" :fileName="realurl.fileName"></preview-file> <preview-file v-model="realurl.downloadUrl" :fileName="realurl.fileName"></preview-file>
</a-modal> </a-modal>
<a-modal v-model="projectKPIView" title="查看项目KPI" width="80%" :dialog-style="{ top: '10%' }" :footer="null" destroyOnClose :maskClosable="false">
<project-kpi></project-kpi>
</a-modal>
<a-modal v-model="visiblePersonEdit" v-if="visiblePersonEdit" title="请先完善个人信息!" width="700px" :dialog-style="{ top: '12%' }" :footer="null" destroyOnClose :maskClosable="false"> <a-modal v-model="visiblePersonEdit" v-if="visiblePersonEdit" title="请先完善个人信息!" width="700px" :dialog-style="{ top: '12%' }" :footer="null" destroyOnClose :maskClosable="false">
<person-info-edit @sub="personSave" /> <person-info-edit @sub="personSave" />
</a-modal> </a-modal>
...@@ -69,7 +62,7 @@ ...@@ -69,7 +62,7 @@
import { getType, getComplete, setComplete } from '@/views/utils/auth' import { getType, getComplete, setComplete } from '@/views/utils/auth'
import moment from 'moment' import moment from 'moment'
import { isEmptyParams, filterExportExcelData, tableColumnsName, checkEmail, personGender, personBirthday, checkImageFileType, checkDocumentFileType } from "@/views/utils/common" import { isEmptyParams, filterExportExcelData, tableColumnsName, checkEmail, personGender, personBirthday, checkImageFileType, checkDocumentFileType } from "@/views/utils/common"
import projectCreate from '@/views/report/project/components/edit/projectCreate' import projectCreate from '@/views/report/project/components/projectCreate'
import projectView from '@/views/report/project/components/projectView' import projectView from '@/views/report/project/components/projectView'
import previewFile from '@/views/components/common/previewFile' import previewFile from '@/views/components/common/previewFile'
import knowledgeSelect from '@/views/components/common/knowledgeSelect' import knowledgeSelect from '@/views/components/common/knowledgeSelect'
...@@ -149,7 +142,7 @@ export default { ...@@ -149,7 +142,7 @@ export default {
this.visibleEdit = true this.visibleEdit = true
}, },
getYear () { getYear () {
this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType() }).then(({ data = {} }) => { this.$api.batch.getCurrentYearBatch({ type: 1, projType: getType(), timeType: 1 }).then(({ data = {} }) => {
if (data) { if (data) {
this.isButten = data.disabled this.isButten = data.disabled
this.description = data.description this.description = data.description
......
...@@ -26,38 +26,58 @@ ...@@ -26,38 +26,58 @@
</a-row> </a-row>
<div v-for="(item, index) in budget" :key="'budget' + index" class="row_center"> <div v-for="(item, index) in budget" :key="'budget' + index" class="row_center">
<a-row v-if="item.type ==='count'"> <a-row v-if="item.type ==='count'" type="flex">
<a-col :span="6" :style="'text-align: left;padding-left:'+left(item.level)+'px'"> <a-col :span="6" :style="'text-align: left;padding-left:'+left(item.level)+'px'">
<div class="special-middle">
{{item.budgetName}} {{item.budgetName}}
</div>
</a-col> </a-col>
<a-col :span="3"> <a-col :span="3">
<div class="special-middle">
{{Count(item.source,'totalBudget',index)}} {{Count(item.source,'totalBudget',index)}}
</div>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="5">
<span v-if="!!!item.show||item.show === 'applyFunds'">{{Count(item.source,'applyFunds',index)}}</span> <div class="special-middle">
<span v-if="!!!item.code||item.code === 'applyFunds'">{{Count(item.source,'applyFunds',index)}}</span>
</div>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="5">
<div class="special-middle">
{{Count(item.source,'selfFunds',index)}} {{Count(item.source,'selfFunds',index)}}
</div>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="5">
<div class="special-middle">
<a-input v-model="item.calculationBasis" :maxLength="100" style="width: 80%;" /> <a-input v-model="item.calculationBasis" :maxLength="100" style="width: 80%;" />
</div>
</a-col> </a-col>
</a-row> </a-row>
<a-row v-else> <a-row v-else type="flex">
<a-col :span="6" :style="'text-align: left;padding-left:'+left(item.level)+'px'"> <a-col :span="6" :style="'text-align: left;padding-left:'+left(item.level)+'px'">
<div class="special-middle">
{{item.budgetName}} {{item.budgetName}}
</div>
</a-col> </a-col>
<a-col :span="3"> <a-col :span="3">
<div class="special-middle">
{{Count1(index, item.applyFunds, item.selfFunds)}} {{Count1(index, item.applyFunds, item.selfFunds)}}
</div>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="5">
<a-input-number v-model="item.applyFunds" :min="0" :step="0.01" style="width: 80%" v-if="!!!item.show||item.show === 'applyFunds'" /> <div class="special-middle">
<a-input-number v-model="item.applyFunds" :min="0" :step="0.01" style="width: 80%" v-if="!!!item.code||item.code === 'applyFunds'" />
</div>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="5">
<a-input-number v-model="item.selfFunds" :min="0" :step="0.01" style="width: 80%" v-if="!!!item.show||item.show === 'selfFunds'" /> <div class="special-middle">
<a-input-number v-model="item.selfFunds" :min="0" :step="0.01" style="width: 80%" v-if="!!!item.code||item.code === 'selfFunds'" />
</div>
</a-col> </a-col>
<a-col :span="5"> <a-col :span="5">
<div class="special-middle">
<a-input v-model="item.calculationBasis" :maxLength="100" style="width: 80%;" /> <a-input v-model="item.calculationBasis" :maxLength="100" style="width: 80%;" />
</div>
</a-col> </a-col>
</a-row> </a-row>
</div> </div>
...@@ -70,16 +90,16 @@ export default { ...@@ -70,16 +90,16 @@ export default {
name: "fundEdit", name: "fundEdit",
data () { data () {
return { return {
budget: budgetList()
}; };
}, },
props: { props: {
// budget: { budget: {
// type: Array, type: Array,
// default: () => { default: () => {
// return [] return []
// } }
// }, },
}, },
created () { created () {
}, },
...@@ -106,18 +126,24 @@ export default { ...@@ -106,18 +126,24 @@ export default {
} }
}, },
Count1 (index, applyFunds, selfFunds) { Count1 (index, applyFunds, selfFunds) {
this.budget[index].totalBudget = (applyFunds + selfFunds).toFixed(2) let apply = 0.00
return (applyFunds + selfFunds).toFixed(2) let self = 0.00
if (!!applyFunds)
apply = applyFunds
if (!!selfFunds)
self = selfFunds
this.budget[index].totalBudget = (apply + self).toFixed(2)
return (apply + self).toFixed(2)
}, },
left (l) { left (l) {
switch (l) { switch (l) {
case 1: case '1':
return 4; return 4;
case 2: case '2':
return 12; return 12;
case 3: case '3':
return 20; return 20;
case 4: case '4':
return 30; return 30;
} }
return 0; return 0;
......
...@@ -2,13 +2,19 @@ ...@@ -2,13 +2,19 @@
<template> <template>
<div class="app-content" style="height: 76vh;overflow: auto;"> <div class="app-content" style="height: 76vh;overflow: auto;">
<a-spin :spinning="loading" style="width: 100%;height: 100%;"> <a-spin :spinning="loading" style="width: 100%;height: 100%;">
<div class="page-steps">
<a-steps size="small" :current="current" @change="onChange">
<a-step :status="item.status" v-for="(item,index) in stepsArray" :key="index+'stepsArray'" :title="item.title" />
</a-steps>
</div>
<div class="page-content"> <div class="page-content">
<project-edit v-model="value" @close="closeWindow" @load="onLoad" ref="projCreate" v-if="projType"></project-edit> <project-edit v-model="value" @close="closeWindow" @load="onLoad" @onStepChange="onStepChange" :completeStatus.sync=completeStatus :stepsArray.sync="stepsArray" ref="projCreate"></project-edit>
<project-edit-key v-model="value" @close="closeWindow" @load="onLoad" ref="projCreate" v-else></project-edit-key>
</div> </div>
<div class="page-footer"> <div class="page-footer">
<a-button @click="save">保存</a-button> <a-button v-if="currSteps > 0" style="margin-left: 40px" type="primary" @click="prev">上一步</a-button>
<a-button style="margin-left: 10px" type="primary" @click="submit">完成填写</a-button> <a-button style="margin-left: 40px" type="primary" @click="save">保 存</a-button>
<a-button v-if="currSteps < stepsArray.length - 1" style="margin-left: 40px" type="primary" @click="next">下一步</a-button>
<a-button v-if="currSteps == stepsArray.length - 1" style="margin-left: 40px" type="primary" @click="submit">完成填写</a-button>
</div> </div>
</a-spin> </a-spin>
</div> </div>
...@@ -26,7 +32,18 @@ export default { ...@@ -26,7 +32,18 @@ export default {
data () { data () {
return { return {
loading: false, loading: false,
projType: getType() == "1" projType: getType() == "1",
current: 10,
currSteps: 0,
stepsArray: [
{ status: "process", title: '基本信息', showStatus: true },
{ status: "wait", title: '项目组成员及单位', showStatus: false },
{ status: "wait", title: '经费预算及设备明细', showStatus: false },
{ status: "wait", title: '阶段目标及课题设置', showStatus: false },
{ status: "wait", title: '绩效指标', showStatus: false },
{ status: "wait", title: '附件', showStatus: false }
],
completeStatus: "0,0,0,0,0,0"
} }
}, },
props: { props: {
...@@ -35,16 +52,67 @@ export default { ...@@ -35,16 +52,67 @@ export default {
default: () => { default: () => {
return null return null
} }
} },
}, },
created () { created () {
}, },
methods: { methods: {
stepsChange (e) {
debugger
this.currSteps = e
this.changeSteps(this.currSteps)
},
next () {
this.$refs.projCreate.submit(this.currSteps, true)
},
prev () {
this.currSteps--;
this.changeSteps(this.currSteps)
},
onChange (e) {
if (e != this.currSteps) {
var arr = this.completeStatus.split(',')
if (arr[e] == "1") {
this.loading = true
this.changeSteps(e)
this.loading = false
} else {
this.$message.error('所选步骤没填写完成,请填写当前步骤后点【下一步】跳转!')
}
}
},
onStepChange (e) {
this.completeStatus = e.state
this.changeSteps(e.step)
},
changeSteps (e) {
this.currSteps = e
var clone = [].concat(this.stepsArray)
clone.forEach(e => {
e.showStatus = false
})
clone[e].showStatus = true;
this.stepsArray = clone
this.getCompleteStatus(e, this.completeStatus)
},
getCompleteStatus (step, completeStatus) {
var arr = completeStatus.split(',')
if (!!arr && arr.length > 0) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] == "1") {
this.stepsArray[i].status = "finish"
} else {
this.stepsArray[i].status = "wait"
}
}
this.stepsArray[step].status = "process"
}
},
save () { save () {
this.$refs.projCreate.save() this.$refs.projCreate.save(this.currSteps)
}, },
submit () { submit () {
this.$refs.projCreate.submit() this.$refs.projCreate.submit(this.currSteps, false)
}, },
closeWindow (value) { closeWindow (value) {
this.$emit('close', value) this.$emit('close', value)
...@@ -56,17 +124,24 @@ export default { ...@@ -56,17 +124,24 @@ export default {
} }
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
::v-deep .ant-spin-container {
width: 100%;
height: 100%;
}
::-webkit-scrollbar { ::-webkit-scrollbar {
width: 8px; width: 8px;
height: 6px; height: 6px;
} }
::v-deep .ant-spin-container { .page-steps {
width: 100%; width: 100%;
height: 100%; height: 40px;
padding: 8px 20px 5px 20px;
background: rgb(248, 248, 248);
border: 1px 1px 0px 1px solid #e8e8e8;
} }
.page-content { .page-content {
width: 100%; width: 100%;
height: calc(100% - 40px); height: calc(100% - 80px);
overflow: auto; overflow: auto;
} }
.page-footer { .page-footer {
......
...@@ -11,7 +11,7 @@ const budgetList = () => { ...@@ -11,7 +11,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "一、资金来源合计", budgetName: "一、资金来源合计",
source: [1, 2], source: [1, 2],
show: null, code: null,
type: 'count' type: 'count'
}, },
{ {
...@@ -25,7 +25,7 @@ const budgetList = () => { ...@@ -25,7 +25,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "(一)财政资金", budgetName: "(一)财政资金",
source: null, source: null,
show: 'applyFunds', code: 'applyFunds',
type: 'ins' type: 'ins'
}, },
{ {
...@@ -39,7 +39,7 @@ const budgetList = () => { ...@@ -39,7 +39,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "(二)自筹资金", budgetName: "(二)自筹资金",
source: [3, 4, 5, 6], source: [3, 4, 5, 6],
show: 'selfFunds', code: 'selfFunds',
type: 'count' type: 'count'
}, },
{ {
...@@ -53,7 +53,7 @@ const budgetList = () => { ...@@ -53,7 +53,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "1.承担单位自有货币资金", budgetName: "1.承担单位自有货币资金",
source: null, source: null,
show: 'selfFunds', code: 'selfFunds',
type: 'ins' type: 'ins'
}, },
{ {
...@@ -67,7 +67,7 @@ const budgetList = () => { ...@@ -67,7 +67,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "2.从银行获得的贷款", budgetName: "2.从银行获得的贷款",
source: null, source: null,
show: 'selfFunds', code: 'selfFunds',
type: 'ins' type: 'ins'
}, },
{ {
...@@ -81,7 +81,7 @@ const budgetList = () => { ...@@ -81,7 +81,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "3.其他财政拨款", budgetName: "3.其他财政拨款",
source: null, source: null,
show: 'selfFunds', code: 'selfFunds',
type: 'ins' type: 'ins'
}, },
{ {
...@@ -95,7 +95,7 @@ const budgetList = () => { ...@@ -95,7 +95,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "4.其他资金", budgetName: "4.其他资金",
source: null, source: null,
show: 'selfFunds', code: 'selfFunds',
type: 'ins' type: 'ins'
}, },
{ {
...@@ -109,7 +109,7 @@ const budgetList = () => { ...@@ -109,7 +109,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "二、支出预算合计", budgetName: "二、支出预算合计",
source: [8, 22], source: [8, 22],
show: null, code: null,
type: 'count' type: 'count'
}, },
{ {
...@@ -123,7 +123,7 @@ const budgetList = () => { ...@@ -123,7 +123,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "(一)直接费用", budgetName: "(一)直接费用",
source: [9, 14, 15, 16, 17, 18, 19, 20, 21], source: [9, 14, 15, 16, 17, 18, 19, 20, 21],
show: null, code: null,
type: 'count' type: 'count'
}, },
{ {
...@@ -137,7 +137,7 @@ const budgetList = () => { ...@@ -137,7 +137,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "1.设备费", budgetName: "1.设备费",
source: [10, 11, 12, 13], source: [10, 11, 12, 13],
show: null, code: null,
type: 'count' type: 'count'
}, },
{ {
...@@ -151,7 +151,7 @@ const budgetList = () => { ...@@ -151,7 +151,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "(1)设备购置费", budgetName: "(1)设备购置费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -165,7 +165,7 @@ const budgetList = () => { ...@@ -165,7 +165,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "(2)试制设备费", budgetName: "(2)试制设备费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -179,7 +179,7 @@ const budgetList = () => { ...@@ -179,7 +179,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "(3)设备改造费", budgetName: "(3)设备改造费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -193,7 +193,7 @@ const budgetList = () => { ...@@ -193,7 +193,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "(4)设备租赁费", budgetName: "(4)设备租赁费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -207,7 +207,7 @@ const budgetList = () => { ...@@ -207,7 +207,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "2.材料费", budgetName: "2.材料费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -221,7 +221,7 @@ const budgetList = () => { ...@@ -221,7 +221,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "3.燃料动力费", budgetName: "3.燃料动力费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -235,7 +235,7 @@ const budgetList = () => { ...@@ -235,7 +235,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "4.测试化验加工费", budgetName: "4.测试化验加工费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -249,7 +249,7 @@ const budgetList = () => { ...@@ -249,7 +249,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "5.差旅费/会议费/国际合作交流费", budgetName: "5.差旅费/会议费/国际合作交流费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -263,7 +263,7 @@ const budgetList = () => { ...@@ -263,7 +263,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "6.劳务费", budgetName: "6.劳务费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -277,7 +277,7 @@ const budgetList = () => { ...@@ -277,7 +277,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "7.专家咨询费", budgetName: "7.专家咨询费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -291,7 +291,7 @@ const budgetList = () => { ...@@ -291,7 +291,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "8.出版/文献/信息传播/知识产权\n事务费", budgetName: "8.出版/文献/信息传播/知识产权\n事务费",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -305,7 +305,7 @@ const budgetList = () => { ...@@ -305,7 +305,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "9.其他支出", budgetName: "9.其他支出",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
}, },
{ {
...@@ -319,7 +319,7 @@ const budgetList = () => { ...@@ -319,7 +319,7 @@ const budgetList = () => {
calculationBasis: "", calculationBasis: "",
budgetName: "(二)间接费用\r\n", budgetName: "(二)间接费用\r\n",
source: null, source: null,
show: null, code: null,
type: 'ins' type: 'ins'
} }
] ]
......
This diff is collapsed.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</a-steps> </a-steps>
</div> </div>
<div class="page-content"> <div class="page-content">
<project-edit v-model="value" @close="closeWindow" @load="onLoad" @onStepChange="onStepChange" :completeStatus.sync=completeStatus :stepsArray.sync="stepsArray" ref="projCreate"></project-edit> <task-edit v-model="value" @close="closeWindow" @load="onLoad" @onStepChange="onStepChange" :completeStatus.sync=completeStatus :stepsArray.sync="stepsArray" ref="projCreate" />
</div> </div>
<div class="page-footer"> <div class="page-footer">
<a-button v-if="currSteps > 0" style="margin-left: 40px" type="primary" @click="prev">上一步</a-button> <a-button v-if="currSteps > 0" style="margin-left: 40px" type="primary" @click="prev">上一步</a-button>
...@@ -22,12 +22,11 @@ ...@@ -22,12 +22,11 @@
<script> <script>
import { getType } from '@/views/utils/auth' import { getType } from '@/views/utils/auth'
import projectEdit from "@/views/report/project/components/edit/projectEdit" import taskEdit from "@/views/report/task/components/taskEdit"
import projectEditKey from "@/views/report/project/components/keyProject/projectEdit"
export default { export default {
name: "projectCreate", name: "projectCreate",
components: { components: {
projectEdit, projectEditKey, taskEdit,
}, },
data () { data () {
return { return {
......
This diff is collapsed.
<template>
<div class="from-table font-line-space">
<a-spin :spinning="loading" style="width: 100%;height: 100%;">
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>项目编号</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{projectInfo.projNo}}</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>项目名称</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{projectInfo.projName}}</div>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>申报人</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{projectInfo.personName}}</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>申报单位</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{projectInfo.appUnitName}}</div>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>申报年度</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{projectInfo.reportYear}}</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>项目开始结束时间</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{moment(projectInfo.startDate).format('YYYY-MM-DD')}}{{moment(projectInfo.endDate).format('YYYY-MM-DD')}}</div>
</div>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<div class="tb-title">
附件
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="8" class="bg-gray">
<div class="special-middle">
<div>附件名称</div>
</div>
</a-col>
<a-col :span="16" class="bg-gray">
<div class="special-middle">
<div>附件文件</div>
</div>
</a-col>
</a-row>
<a-row v-for="(item, index) in projectInfo.fileList" :key="'fileList' + index" type="flex">
<a-col :span="8" style="text-align: center; margin-top: 10px;">
<span>{{ item.fileExplain }}</span>
</a-col>
<a-col :span="16">
<div class="special-middle">
<div v-if="item.downloadUrl" class="file-box">
<div>
<document-view :fileUrl="item.downloadUrl" :fileName="item.fileName" :imageArray="[item.downloadUrl]"></document-view>
</div>
</div>
<div v-else style="text-align: center;"></div>
</div>
</a-col>
</a-row>
</a-spin>
</div>
</template>
<script>
import moment from 'moment'
import documentView from '@/views/components/common/documentView'
const File = { fileName: "", downloadUrl: "", fileExplain: "项目任务书", downloadId: "" };
export default {
name: "taskFileEdit",
props: {
value: {
type: String,
default: () => {
return null
}
},
},
components: { documentView },
data() {
return {
projectInfo: {
projNo: '',
projName: '',
startDate: '',
endDate: '',
appPersonName: '',
appUnitName: '',
mobile: '',
address: '',
fileList: [{ ...File }],
},
fileSize: 15,
};
},
created () {
this.getProjectBasicInfoById()
},
methods: {
moment,
getProjectBasicInfoById () {
if (this.value != null) {
this.loading = true
this.$api.project.getProjectBasicInfoById({ id: this.value }).then(({ data = {} }) => {
if (data) {
this.projectInfo = data
if (this.projectInfo.fileList == null || this.projectInfo.fileList.length <= 0)
this.projectInfo.fileList = [{ ...File }]
this.loading = false
}
}).catch(() => {this.loading = false})//() => { this.$emit('close', 'close') }
}
},
}
};
</script>
\ No newline at end of file
This diff is collapsed.
...@@ -62,13 +62,13 @@ import { getType } from '@/views/utils/auth' ...@@ -62,13 +62,13 @@ import { getType } from '@/views/utils/auth'
import moment from 'moment' import moment from 'moment'
import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/utils/common"; import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/utils/common";
import projectView from '@/views/report/project/components/projectView' import projectView from '@/views/report/project/components/projectView'
import projectEdit from '@/views/report/project/components/projectEdit'
import unitEdit from '@/views/statistic/project/components/unitEdit' import unitEdit from '@/views/statistic/project/components/unitEdit'
import unitTreeSelect from '@/views/components/common/unitTreeSelect' import unitTreeSelect from '@/views/components/common/unitTreeSelect'
export default { export default {
name: 'serchProject', name: 'serchProject',
components: { components: {
projectEdit, projectView, unitTreeSelect, unitEdit projectView, unitTreeSelect, unitEdit
}, },
data () { data () {
return { return {
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<a-form-item label="任务书状态"> <a-form-item label="任务书状态">
<base-select v-model="searchForm.testState" :type="2" :isAll="true" /> <base-select v-model="searchForm.taskState" :type="2" :isAll="true" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</a-row> </a-row>
<div style="margin-top: 8px;"></div> <div style="margin-top: 8px;"></div>
<a-table :dataSource="tableData" :columns="columns" rowKey="id" :pagination="false" :loading="loading"> <a-table :dataSource="tableData" :columns="columns" rowKey="id" :pagination="false" :loading="loading">
<template slot="testStateName" slot-scope="record"> <template slot="taskStateName" slot-scope="record">
<span v-if="record"> <span v-if="record">
{{record}} {{record}}
</span> </span>
...@@ -97,7 +97,7 @@ export default { ...@@ -97,7 +97,7 @@ export default {
appUnitName: null, appUnitName: null,
appPersonName: null, appPersonName: null,
reportYear: null, reportYear: null,
testState: null, taskState: null,
auditType: 2 auditType: 2
}, },
tableData: [], tableData: [],
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment