|
@ -15,44 +15,35 @@ |
|
|
<a-col :span="8"> |
|
|
<a-col :span="8"> |
|
|
<a-card title="项目总进度" :bordered="false"> |
|
|
<a-card title="项目总进度" :bordered="false"> |
|
|
<!-- <el-progress type="circle" :percentage="25" :stroke-width="10" /> --> |
|
|
<!-- <el-progress type="circle" :percentage="25" :stroke-width="10" /> --> |
|
|
<DonutChart |
|
|
<DonutChart :fininshNum="data.xiangmZJD.fininshNum" :unfininshNum="data.xiangmZJD.unfininshNum" |
|
|
:fininshNum="data.xiangmZJD.fininshNum" |
|
|
:name="'项目总进度'" /> |
|
|
:unfininshNum="data.xiangmZJD.unfininshNum" |
|
|
|
|
|
:name="'项目总进度'" |
|
|
|
|
|
/> |
|
|
|
|
|
</a-card> |
|
|
</a-card> |
|
|
</a-col> |
|
|
</a-col> |
|
|
<a-col :span="8"> |
|
|
<a-col :span="8"> |
|
|
<a-card title="资金支付情况" :bordered="false"> |
|
|
<a-card title="资金支付情况" :bordered="false"> |
|
|
<DonutChartByMoney |
|
|
<DonutChartByMoney :fininshNum="data.xiangmuZJ.fininshNum" :unfininshNum="data.xiangmuZJ.unfininshNum" |
|
|
:fininshNum="data.xiangmuZJ.fininshNum" |
|
|
:name="'资金支付情况'" /> |
|
|
:unfininshNum="data.xiangmuZJ.unfininshNum" |
|
|
|
|
|
:name="'资金支付情况'" |
|
|
|
|
|
/> |
|
|
|
|
|
</a-card> |
|
|
</a-card> |
|
|
</a-col> |
|
|
</a-col> |
|
|
<a-col :span="8"> |
|
|
<a-col :span="8"> |
|
|
<a-card title="项目状态" :bordered="false"> |
|
|
<a-card title="项目状态" :bordered="false"> |
|
|
<PieChart :data="data.xiangmuZT" /> |
|
|
<PieChart :data="data.xiangmuZT" v-if="data.xiangmuZT" /> |
|
|
|
|
|
|
|
|
</a-card> |
|
|
</a-card> |
|
|
</a-col> |
|
|
</a-col> |
|
|
</a-row> |
|
|
</a-row> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<!-- <div> |
|
|
<planSummary /> |
|
|
<planSummary /> |
|
|
</div> |
|
|
</div> --> |
|
|
</a-tab-pane> |
|
|
</a-tab-pane> |
|
|
<a-tab-pane key="2" tab="所属改革任务"> |
|
|
<a-tab-pane key="2" tab="所属改革任务"> |
|
|
<div style="padding: 20px; background-color: #ececec"> |
|
|
<div style="padding: 20px; background-color: #ececec"> |
|
|
<a-row :gutter="16"> |
|
|
<a-row :gutter="16"> |
|
|
<a-col :span="8" v-for="(item, index) in data.SSGGRW" :key="index"> |
|
|
<a-col :span="8" v-for="(item, index) in data.ssggrw" :key="index"> |
|
|
<a-card :title="item.name" :bordered="false"> |
|
|
<a-card :title="item.name" :bordered="false"> |
|
|
<!-- <el-progress type="circle" :percentage="25" :stroke-width="10" /> --> |
|
|
<!-- <el-progress type="circle" :percentage="25" :stroke-width="10" /> --> |
|
|
<DonutChart |
|
|
<DonutChart :fininshNum="item.fininshNum" :unfininshNum="item.unfininshNum" :name="item.name" /> |
|
|
:fininshNum="item.fininshNum" |
|
|
|
|
|
:unfininshNum="item.unfininshNum" |
|
|
|
|
|
:name="item.name" |
|
|
|
|
|
/> |
|
|
|
|
|
</a-card> |
|
|
</a-card> |
|
|
</a-col> |
|
|
</a-col> |
|
|
</a-row> |
|
|
</a-row> |
|
@ -61,14 +52,10 @@ |
|
|
<a-tab-pane key="3" tab="行政区域"> |
|
|
<a-tab-pane key="3" tab="行政区域"> |
|
|
<div style="padding: 20px; background-color: #ececec"> |
|
|
<div style="padding: 20px; background-color: #ececec"> |
|
|
<a-row :gutter="16"> |
|
|
<a-row :gutter="16"> |
|
|
<a-col :span="8" v-for="(item, index) in data.XXQY" :key="index"> |
|
|
<a-col :span="8" v-for="(item, index) in data.xxqy" :key="index"> |
|
|
<a-card :title="item.name" :bordered="false"> |
|
|
<a-card :title="item.name" :bordered="false"> |
|
|
<!-- <el-progress type="circle" :percentage="25" :stroke-width="10" /> --> |
|
|
<!-- <el-progress type="circle" :percentage="25" :stroke-width="10" /> --> |
|
|
<DonutChart |
|
|
<DonutChart :fininshNum="item.fininshNum" :unfininshNum="item.unfininshNum" :name="item.name" /> |
|
|
:fininshNum="item.fininshNum" |
|
|
|
|
|
:unfininshNum="item.unfininshNum" |
|
|
|
|
|
:name="item.name" |
|
|
|
|
|
/> |
|
|
|
|
|
</a-card> |
|
|
</a-card> |
|
|
</a-col> |
|
|
</a-col> |
|
|
</a-row> |
|
|
</a-row> |
|
@ -77,91 +64,84 @@ |
|
|
<a-tab-pane key="4" tab="单位属性"> |
|
|
<a-tab-pane key="4" tab="单位属性"> |
|
|
<div style="padding: 20px; background-color: #ececec"> |
|
|
<div style="padding: 20px; background-color: #ececec"> |
|
|
<a-row :gutter="16"> |
|
|
<a-row :gutter="16"> |
|
|
<a-col :span="8" v-for="(item, index) in data.DWSX" :key="index"> |
|
|
<a-col :span="8" v-for="(item, index) in data.dwsx" :key="index"> |
|
|
<a-card :title="item.name" :bordered="false"> |
|
|
<a-card :title="item.name" :bordered="false"> |
|
|
<!-- <el-progress type="circle" :percentage="25" :stroke-width="10" /> --> |
|
|
<!-- <el-progress type="circle" :percentage="25" :stroke-width="10" /> --> |
|
|
<DonutChart |
|
|
<DonutChart :fininshNum="item.fininshNum" :unfininshNum="item.unfininshNum" :name="item.name" /> |
|
|
:fininshNum="item.fininshNum" |
|
|
|
|
|
:unfininshNum="item.unfininshNum" |
|
|
|
|
|
:name="item.name" |
|
|
|
|
|
/> |
|
|
|
|
|
</a-card> |
|
|
</a-card> |
|
|
</a-col> |
|
|
</a-col> |
|
|
</a-row> |
|
|
</a-row> |
|
|
</div> |
|
|
</div> |
|
|
</a-tab-pane> |
|
|
</a-tab-pane> |
|
|
</a-tabs> |
|
|
</a-tabs> |
|
|
|
|
|
<div> |
|
|
|
|
|
<planSummary /> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</PageWrapper> |
|
|
</PageWrapper> |
|
|
</template> |
|
|
</template> |
|
|
<script lang="ts" setup> |
|
|
<script lang="ts" setup> |
|
|
import { ref, reactive, onMounted } from 'vue'; |
|
|
import { ref, reactive, onMounted, } from 'vue'; |
|
|
import { PageWrapper } from '@/components/Page'; |
|
|
import { PageWrapper } from '@/components/Page'; |
|
|
import { count } from '@/views/projectLib/projectInfo/projectInfo.api'; |
|
|
import { count } from '@/views/projectLib/projectInfo/projectInfo.api'; |
|
|
import WorkbenchHeader from './components/WorkbenchHeader.vue'; |
|
|
import WorkbenchHeader from './components/WorkbenchHeader.vue'; |
|
|
import DonutChart from './components/DonutChart.vue'; |
|
|
import DonutChart from './components/DonutChart.vue'; |
|
|
import PieChart from './components/PieChart.vue'; |
|
|
import PieChart from './components/PieChart.vue'; |
|
|
import ProjectCard from './components/ProjectCard.vue'; |
|
|
import ProjectCard from './components/ProjectCard.vue'; |
|
|
|
|
|
|
|
|
import DonutChartByMoney from './components/DonutChartByMoney.vue'; |
|
|
import DonutChartByMoney from './components/DonutChartByMoney.vue'; |
|
|
import planSummary from '@/views/projectSummary/planSummary/indeForDashboard.vue'; |
|
|
import planSummary from '@/views/projectSummary/planSummary/indeForDashboard.vue'; |
|
|
|
|
|
|
|
|
const loading = ref(true); |
|
|
const loading = ref(true); |
|
|
const activeKey = ref('1'); |
|
|
const activeKey = ref('0'); |
|
|
let data = reactive({ |
|
|
let data = reactive({ |
|
|
xiangmZJD: { |
|
|
xiangmZJD: { |
|
|
fininshNum: 40, |
|
|
fininshNum: 1, |
|
|
unfininshNum: 10, |
|
|
unfininshNum: 2, |
|
|
}, |
|
|
}, |
|
|
xiangmuZJ: { |
|
|
xiangmuZJ: { |
|
|
fininshNum: 400000, |
|
|
fininshNum: 1, |
|
|
unfininshNum: 230000, |
|
|
unfininshNum: 2, |
|
|
}, |
|
|
}, |
|
|
xiangmuZT: [ |
|
|
xiangmuZT: [ |
|
|
{ value: 1048, name: '待入库' }, |
|
|
{ name: '已建', value: 100 }, |
|
|
{ value: 735, name: '入库中' }, |
|
|
], |
|
|
{ value: 580, name: '已入库' }, |
|
|
ssggrw: [ |
|
|
{ value: 484, name: '计划审批中' }, |
|
|
{ name: '2+N紧密型城市医疗集团建设', fininshNum: 100, unfininshNum: 30 }, |
|
|
{ value: 300, name: '计划执行中' }, |
|
|
{ name: '2+9+9+N县域医共体建设', fininshNum: 140, unfininshNum: 20 }, |
|
|
{ value: 300, name: '已归档' }, |
|
|
{ name: '市县公立医院妇幼能力建设', fininshNum: 140, unfininshNum: 120 }, |
|
|
{ value: 12, name: '已出库' }, |
|
|
{ name: '高水平县级医院建设 ', fininshNum: 140, unfininshNum: 90 }, |
|
|
], |
|
|
{ name: '打造长三角市域医学高地', fininshNum: 140, unfininshNum: 90 }, |
|
|
SSGGRW: [ |
|
|
{ name: '公立医院院前急救与院内救治服务融合发展', fininshNum: 170, unfininshNum: 90 }, |
|
|
{ name: '2+N紧密型城市医疗集团建设', fininshNum: 100, unfininshNum: 30 }, |
|
|
{ name: '医共体下三医联动改革', fininshNum: 170, unfininshNum: 90 }, |
|
|
{ name: '2+9+9+N县域医共体建设', fininshNum: 140, unfininshNum: 20 }, |
|
|
{ name: '智慧医院服务能力提档升级', fininshNum: 100, unfininshNum: 30 }, |
|
|
{ name: '市县公立医院妇幼能力建设', fininshNum: 140, unfininshNum: 120 }, |
|
|
{ name: '数字健康大脑建设', fininshNum: 140, unfininshNum: 270 }, |
|
|
{ name: '高水平县级医院建设 ', fininshNum: 140, unfininshNum: 90 }, |
|
|
{ name: '舒心就医', fininshNum: 140, unfininshNum: 270 }, |
|
|
{ name: '打造长三角市域医学高地', fininshNum: 140, unfininshNum: 90 }, |
|
|
{ name: '中医药固本培元', fininshNum: 140, unfininshNum: 210 }, |
|
|
{ name: '公立医院院前急救与院内救治服务融合发展', fininshNum: 170, unfininshNum: 90 }, |
|
|
{ name: '公立医院运营管理', fininshNum: 140, unfininshNum: 80 }, |
|
|
{ name: '医共体下三医联动改革', fininshNum: 170, unfininshNum: 90 }, |
|
|
{ name: '公立医院党建全行业引领改革工程 ', fininshNum: 140, unfininshNum: 40 }, |
|
|
{ name: '智慧医院服务能力提档升级', fininshNum: 100, unfininshNum: 30 }, |
|
|
{ name: '高质量临床重点专科建设 ', fininshNum: 140, unfininshNum: 80 }, |
|
|
{ name: '数字健康大脑建设', fininshNum: 140, unfininshNum: 270 }, |
|
|
], |
|
|
{ name: '舒心就医', fininshNum: 140, unfininshNum: 270 }, |
|
|
xxqy: [ |
|
|
{ name: '中医药固本培元', fininshNum: 140, unfininshNum: 210 }, |
|
|
{ name: '南浔区', fininshNum: 100, unfininshNum: 30 }, |
|
|
{ name: '公立医院运营管理', fininshNum: 140, unfininshNum: 80 }, |
|
|
{ name: '吴兴区', fininshNum: 140, unfininshNum: 20 }, |
|
|
{ name: '公立医院党建全行业引领改革工程 ', fininshNum: 140, unfininshNum: 40 }, |
|
|
{ name: '市本级', fininshNum: 140, unfininshNum: 120 }, |
|
|
{ name: '高质量临床重点专科建设 ', fininshNum: 140, unfininshNum: 80 }, |
|
|
{ name: '安吉县', fininshNum: 140, unfininshNum: 90 }, |
|
|
], |
|
|
{ name: '德清县', fininshNum: 140, unfininshNum: 90 }, |
|
|
XXQY: [ |
|
|
{ name: '长兴县', fininshNum: 170, unfininshNum: 90 }, |
|
|
{ name: '南浔区', fininshNum: 100, unfininshNum: 30 }, |
|
|
], |
|
|
{ name: '吴兴区', fininshNum: 140, unfininshNum: 20 }, |
|
|
dwsx: [ |
|
|
{ name: '市本级', fininshNum: 140, unfininshNum: 120 }, |
|
|
{ name: '卫生行政部门', fininshNum: 1000, unfininshNum: 3000 }, |
|
|
{ name: '安吉县', fininshNum: 140, unfininshNum: 90 }, |
|
|
{ name: '医疗机构 ', fininshNum: 1400, unfininshNum: 2000 }, |
|
|
{ name: '德清县', fininshNum: 140, unfininshNum: 90 }, |
|
|
], |
|
|
{ name: '长兴县', fininshNum: 170, unfininshNum: 90 }, |
|
|
}); |
|
|
], |
|
|
|
|
|
DWSX: [ |
|
|
|
|
|
{ name: '卫生行政部门', fininshNum: 1000, unfininshNum: 3000 }, |
|
|
|
|
|
{ name: '医疗机构 ', fininshNum: 1400, unfininshNum: 2000 }, |
|
|
|
|
|
], |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
onMounted(() => { |
|
|
onMounted(() => { |
|
|
count().then((res) => { |
|
|
console.log("datadatadatadatadatadata", data) |
|
|
data = res; |
|
|
}); |
|
|
}); |
|
|
setTimeout(async () => { |
|
|
}); |
|
|
data = await count() |
|
|
setTimeout(() => { |
|
|
loading.value = false; |
|
|
loading.value = false; |
|
|
activeKey.value = '1'; |
|
|
}, 1500); |
|
|
}, 10); |
|
|
</script> |
|
|
</script> |
|
|