新增政治面貌等需求

This commit is contained in:
aoli.qu 2023-10-30 00:08:11 +08:00
parent f04d80924f
commit bdf1cabc33
30 changed files with 361 additions and 172 deletions

View File

@ -4,7 +4,8 @@ const honorApi = {
addOrUpdate: '/honor/show/addOrUpdate', addOrUpdate: '/honor/show/addOrUpdate',
detail: '/honor/show/detail', detail: '/honor/show/detail',
del: '/honor/show/del', del: '/honor/show/del',
list: '/honor/show/list' list: '/honor/show/list',
setTop: '/honor/show/setTop'
} }
export function honorAddOrUpdate (params) { export function honorAddOrUpdate (params) {
@ -35,3 +36,10 @@ export function honorPage (params) {
params: params params: params
}) })
} }
export function honorSetTop (params) {
return request({
url: honorApi.setTop,
method: 'post',
data: params
})
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 542 KiB

View File

@ -45,6 +45,7 @@ $font-sizes: (
//flex //flex
.d-flex { .d-flex {
display: flex; display: flex;
line-height: 1
} }
.flex-column { .flex-column {
flex-direction: column; flex-direction: column;

View File

@ -56,6 +56,7 @@ export default {
initChart () { initChart () {
// echart // echart
this.chart = this.$echarts.init(this.$el, 'tdTheme') this.chart = this.$echarts.init(this.$el, 'tdTheme')
document.getElementById(this.id).setAttribute('_echarts_instance_', '')
this.chart.setOption(this.options, true) this.chart.setOption(this.options, true)
} }
} }

View File

@ -15,9 +15,9 @@
]" ]"
/> />
</a-form-item> </a-form-item>
<a-form-item label="床位名称" :labelCol="{span: 8}" :wrapperCol="{span: 16}"> <a-form-item label="床位" :labelCol="{span: 8}" :wrapperCol="{span: 16}">
<a-input <a-input
placeholder="请填写床位名称" placeholder="请填写床位"
v-decorator="[ v-decorator="[
`${title}Name[${item}]`, `${title}Name[${item}]`,
{ {

View File

@ -52,7 +52,7 @@
}, },
yAxis: { yAxis: {
type: 'category', type: 'category',
data: ['房间', '床位'], data: ['床位','房间'],
axisLabel: { axisLabel: {
fontSize: 20 fontSize: 20
} }

View File

@ -35,7 +35,7 @@ export default {
methods: { methods: {
// //
setData () { setData () {
for (let i = 0; i < this.cdata.barData.length - 1; i++) { for (let i = 0; i <= this.cdata.barData.length - 1; i++) {
const rate = this.cdata.barData[i] / this.cdata.lineData[i] const rate = this.cdata.barData[i] / this.cdata.lineData[i]
this.cdata.rateData.push(rate.toFixed(2)) this.cdata.rateData.push(rate.toFixed(2))
} }

View File

@ -83,7 +83,8 @@
this.$router.push({ this.$router.push({
name: 'Console', name: 'Console',
params: { params: {
nursingLevel: this.cdata.seriesData[index].id nursingLevel: this.cdata.seriesData[index].id,
supportType: 1
} }
}) })
} }

View File

@ -96,7 +96,8 @@
this.$router.push({ this.$router.push({
name: 'Console', name: 'Console',
params: { params: {
gender: this.cdata.seriesData[index].id gender: this.cdata.seriesData[index].id,
supportType: 1
} }
}) })
} }

View File

@ -87,7 +87,8 @@
this.$router.push({ this.$router.push({
name: 'Console', name: 'Console',
params: { params: {
ageRange: this.cdata.seriesData[index].id ageRange: this.cdata.seriesData[index].id,
supportType: 1
} }
}) })
} }

View File

@ -96,7 +96,8 @@
this.$router.push({ this.$router.push({
name: 'Console', name: 'Console',
params: { params: {
ifHelpPoor: this.cdata.seriesData[index].id ifHelpPoor: this.cdata.seriesData[index].id,
supportType: 1
} }
}) })
} }

View File

@ -5,7 +5,7 @@
<div class="header"> <div class="header">
<a href="javascript:void(0);"> <a href="javascript:void(0);">
<img src="~@/assets/logo.svg" class="logo" alt="logo"> <img src="~@/assets/logo.svg" class="logo" alt="logo">
<span class="title">下堡坪乡农村福利院长者信息管理系统</span> <span class="login_title">夷陵区下堡坪乡农村福利院长者信息管理系统</span>
</a> </a>
</div> </div>
</div> </div>
@ -17,7 +17,7 @@
<a href="_self">条款</a> <a href="_self">条款</a>
</div> --> </div> -->
<div class="copyright"> <div class="copyright">
Copyright &copy; 2023 Copyright &copy; 2023 湖北道诚科技有限公司
</div> </div>
</div> </div>
</div> </div>
@ -74,7 +74,7 @@ export default {
.top { .top {
text-align: center; text-align: center;
margin-bottom: 40px; margin-bottom: 70px;
.header { .header {
height: 44px; height: 44px;
line-height: 44px; line-height: 44px;
@ -96,7 +96,7 @@ export default {
border-style: none; border-style: none;
} }
.title { .login_title {
font-size: 33px; font-size: 33px;
color: rgba(0, 0, 0, .85); color: rgba(0, 0, 0, .85);
font-family: Avenir, 'Helvetica Neue', Arial, Helvetica, sans-serif; font-family: Avenir, 'Helvetica Neue', Arial, Helvetica, sans-serif;

View File

@ -5,7 +5,7 @@
<span> <span>
<icon name="align-left" class="text-icon"></icon> <icon name="align-left" class="text-icon"></icon>
</span> </span>
<span class="fs-xl text mx-2" style="font-size: 20px;">入住情况统计</span> <span class="fs-xl text mx-2" style="font-size: 20px;">院区配置情况统计</span>
</div> </div>
<bottomFj :roomCountList="rzData.roomCountList"/> <bottomFj :roomCountList="rzData.roomCountList"/>

View File

@ -1,10 +1,11 @@
<template> <template>
<div id="center" style="cursor:pointer;" @click="jumpPage"> <div id="center" style="cursor:pointer;" >
<div class="up"> <div class="up" >
<div <div
class="bg-color-black item" class="bg-color-black item"
v-for="item in titleItem" v-for="item in titleItem"
:key="item.title" :key="item.title"
@click="jumpPage(item.type)"
> >
<p class="ml-3 colorBlue fw-b fs-xl bt-zh">{{ item.title }}</p> <p class="ml-3 colorBlue fw-b fs-xl bt-zh">{{ item.title }}</p>
<div> <div>
@ -16,15 +17,15 @@
</div> </div>
</div> </div>
<div class="down"> <div class="down">
<div class="ranking bg-color-black"> <div class="ranking bg-color-black" @click="jumpPage">
<span> <span>
<icon name="chart-pie" class="text-icon"></icon> <icon name="chart-pie" class="text-icon"></icon>
</span> </span>
<span class="fs-xl text mx-2 mb-1 pl-3 bt-zh">在院人数村籍榜</span> <span class="fs-xl text mx-2 mb-1 pl-3 bt-zh">在院人数村籍榜</span>
<dv-scroll-ranking-board class="dv-scr-rank-board mt-1" :config="ranking" /> <dv-scroll-ranking-board class="dv-scr-rank-board mt-1" :config="ranking" @click="skipto"/>
</div> </div>
<div class="percent"> <div class="percent">
<div class="item bg-color-black"> <div class="item bg-color-black" @click="jumpWelcome(1)">
<span>集中供养率</span> <span>集中供养率</span>
<CenterChart <CenterChart
:id="rate[0].id" :id="rate[0].id"
@ -32,7 +33,7 @@
:colorObj="rate[0].colorData" :colorObj="rate[0].colorData"
/> />
</div> </div>
<div class="item bg-color-black"> <div class="item bg-color-black" @click="jumpWelcome(2)">
<span>分散供养率</span> <span>分散供养率</span>
<CenterChart <CenterChart
:id="rate[1].id" :id="rate[1].id"
@ -65,6 +66,7 @@ export default {
titleItem: [ titleItem: [
{ {
title: '累计入住数', title: '累计入住数',
type: 1,
number: { number: {
number: [this.centerData.countList[0]], number: [this.centerData.countList[0]],
toFixed: 0, toFixed: 0,
@ -77,6 +79,7 @@ export default {
}, },
{ {
title: '今年入住数', title: '今年入住数',
type: 2,
number: { number: {
number: [this.centerData.countList[1]], number: [this.centerData.countList[1]],
toFixed: 0, toFixed: 0,
@ -89,6 +92,7 @@ export default {
}, },
{ {
title: '本月新增数', title: '本月新增数',
type: 3,
number: { number: {
number: [this.centerData.countList[2]], number: [this.centerData.countList[2]],
toFixed: 0, toFixed: 0,
@ -101,6 +105,7 @@ export default {
}, },
{ {
title: '目前在院数', title: '目前在院数',
type: 4,
number: { number: {
number: [this.centerData.countList[3]], number: [this.centerData.countList[3]],
toFixed: 0, toFixed: 0,
@ -113,6 +118,7 @@ export default {
}, },
{ {
title: '外出就医数', title: '外出就医数',
type: 5,
number: { number: {
number: [this.centerData.countList[4]], number: [this.centerData.countList[4]],
toFixed: 0, toFixed: 0,
@ -125,6 +131,7 @@ export default {
}, },
{ {
title: '今年减员数', title: '今年减员数',
type: 6,
number: { number: {
number: [this.centerData.countList[5]], number: [this.centerData.countList[5]],
toFixed: 0, toFixed: 0,
@ -184,11 +191,46 @@ export default {
CenterChart CenterChart
}, },
methods: { methods: {
jumpPage () { jumpPage (type) {
if (type == 5) {
/* 跳转路由 */
this.$router.push({
name: 'Console',
params: {
isInHospital: "0",
supportType: 1
}
})
} else if (type == 6){
this.$router.push({
name: 'room_checkout_mgr',
params: {
returnType: "2"
}
})
} else {
this.$router.push({
path: '/room/checkin'
})
}
},
jumpWelcome (type) {
/* 跳转路由 */
this.$router.push({ this.$router.push({
path: '/room/checkin' name: 'Console',
params: {
supportType: type
}
}) })
} },
skipto(config){
console.log('config', config)
console.log('ceil', config.ceil)
console.log('hang', config.rowIndex)
this.$message.success('查看详情成功,可在控制台查看打印的数据')
},
} }
} }
</script> </script>
@ -222,6 +264,7 @@ export default {
height: 255px; height: 255px;
justify-content: space-between; justify-content: space-between;
.bg-color-black { .bg-color-black {
cursor: pointer;
border-radius: 5px; border-radius: 5px;
} }
.ranking { .ranking {

View File

@ -10,8 +10,8 @@
<div class="d-flex jc-center"> <div class="d-flex jc-center">
<dv-decoration-8 class="dv-dec-8" :color="decorationColor" /> <dv-decoration-8 class="dv-dec-8" :color="decorationColor" />
<div class="title" @click="handleWelcome" style="cursor: pointer;"> <div class="title" @click="handleWelcome" style="cursor: pointer;">
<span class="title-text" style="display: inline-block;width: 100%;line-height: 2;"> <span class="title-text" style="display: inline-block;width: 100%;line-height: 2;font-size: 27px;">
下堡坪乡农村福利院长者管理系统 夷陵区下堡坪乡农村福利院长者管理系统
</span> </span>
<dv-decoration-6 class="dv-dec-6" :reverse="true" :color="['#50e3c2', '#67a1e5']" /> <dv-decoration-6 class="dv-dec-6" :reverse="true" :color="['#50e3c2', '#67a1e5']" />
</div> </div>
@ -24,7 +24,7 @@
<div class="d-flex jc-between px-2"> <div class="d-flex jc-between px-2">
<div class="d-flex aside-width"> <div class="d-flex aside-width">
<div class="react-left ml-3 fw-b" style="background-color: #1a5cd7;"> <div class="react-left ml-3 fw-b" style="background-color: #1a5cd7;">
<span class="text">数据统计</span> <span class="text">基本情况</span>
</div> </div>
<div class="react-left ml-3 sx"> <div class="react-left ml-3 sx">
<span class="text" @click="jumpPage(1)">数据查询</span> <span class="text" @click="jumpPage(1)">数据查询</span>
@ -49,7 +49,7 @@
<div class="body-box"> <div class="body-box">
<!-- 第三行数据 --> <!-- 第三行数据 -->
<div class="content-box"> <div class="content-box" v-if="showCharts">
<div> <div>
<dv-border-box-12> <dv-border-box-12>
<xb :sexData="mapData.sexList" /> <xb :sexData="mapData.sexList" />
@ -78,7 +78,7 @@
</div> </div>
<!-- 第四行数据 --> <!-- 第四行数据 -->
<div class="bottom-box"> <div class="bottom-box" v-if="showCharts">
<dv-border-box-13> <dv-border-box-13>
<bottomRight :rzData="mapData.rzData" /> <bottomRight :rzData="mapData.rzData" />
</dv-border-box-13> </dv-border-box-13>
@ -117,6 +117,7 @@
mixins: [drawMixin], mixins: [drawMixin],
data () { data () {
return { return {
showCharts: false,
timing: null, timing: null,
loading: true, loading: true,
dateDay: null, dateDay: null,
@ -202,6 +203,7 @@
this.mapData.rzData.roomTypeList = this.mapData.roomTypeList this.mapData.rzData.roomTypeList = this.mapData.roomTypeList
this.mapData.rzData.roomCountList = this.mapData.roomCountList this.mapData.rzData.roomCountList = this.mapData.roomCountList
this.showCharts = true
} else { } else {
this.$message.error('数据加载失败') this.$message.error('数据加载失败')
} }
@ -273,4 +275,8 @@
.sx :hover { .sx :hover {
cursor: pointer; cursor: pointer;
} }
.title {
border-bottom: 0px
}
</style> </style>

View File

@ -2,11 +2,11 @@
<div id="centerLeft1"> <div id="centerLeft1">
<div class="bg-color-black"> <div class="bg-color-black">
<div class="d-flex pt-2 pl-2"> <div class="d-flex pt-2 pl-2">
<span> <!-- <span>
<icon name="chart-pie" class="text-icon"></icon> <icon name="chart-pie" class="text-icon"></icon>
</span> </span> -->
<div class="d-flex"> <div class="d-flex">
<span class="fs-xl text mx-2">精准扶贫</span> <span class="fs-xl text mx-2">精准扶贫</span>
<dv-decoration-1 class="dv-dec-1" /> <dv-decoration-1 class="dv-dec-1" />
</div> </div>
</div> </div>

View File

@ -1,5 +1,4 @@
export const sexMap = { export const sexMap = {
0: '未知',
1: '男', 1: '男',
2: '女' 0: '女'
} }

View File

@ -32,6 +32,12 @@
</template> </template>
<template slot="action" slot-scope="text, record"> <template slot="action" slot-scope="text, record">
<template v-if="record.ifTop == 0">
<a-popconfirm title="是否确认置顶?" v-if="hasPerm('honor:show:add')" @confirm="() => handleSetTop(record)">
<a href="javascript:;">置顶</a>
</a-popconfirm>
<a-divider type="vertical" />
</template>
<a href="javascript:;" v-if="hasPerm('honor:show:add')" @click="handleEdit(record)">修改</a> <a href="javascript:;" v-if="hasPerm('honor:show:add')" @click="handleEdit(record)">修改</a>
<a-divider type="vertical" /> <a-divider type="vertical" />
<a-popconfirm title="是否确认删除?" v-if="hasPerm('honor:show:del')" @confirm="() => handleDel(record)"> <a-popconfirm title="是否确认删除?" v-if="hasPerm('honor:show:del')" @confirm="() => handleDel(record)">
@ -46,7 +52,7 @@
</template> </template>
<script> <script>
import { STable } from '@/components' import { STable } from '@/components'
import { honorPage, honorDel } from '@/api/honor/honor' import { honorPage, honorDel, honorSetTop } from '@/api/honor/honor'
export default { export default {
components: { components: {
STable STable
@ -132,6 +138,17 @@
this.$message.success('删除失败') this.$message.success('删除失败')
} }
}) })
},
//
handleSetTop (record) {
honorSetTop({ id: record.id }).then((res) => {
if (res.code == 200) {
this.$message.success('置顶成功')
this.$refs.table.refresh(false)
} else {
this.$message.success('置顶失败')
}
})
} }
} }
} }

View File

@ -3,7 +3,7 @@
<!-- 大头条 --> <!-- 大头条 -->
<div class="headline" id="headline1" data-fontsize="36" data-fontcolor=""> <div class="headline" id="headline1" data-fontsize="36" data-fontcolor="">
<div class="part bg-white"> <div class="part bg-white">
<h1><a>陪孤寡老人跨年守岁20载 特别的爱献给特殊的</a></h1> <h1 @click="detail(title_id)"><a>{{title}}</a></h1>
</div> </div>
</div> </div>
<div class="area focus" id="focus1"> <div class="area focus" id="focus1">
@ -40,7 +40,7 @@
<div class="focus-newsText bg-white right"> <div class="focus-newsText bg-white right">
<div class="list list-txt" id="focusListNews1"> <div class="list list-txt" id="focusListNews1">
<ul> <ul>
<li v-for="(item, index) in honorList" :key="index" :class="{ active: index === 0 }"> <li v-for="(item, index) in honorList" :key="index" :class="{ active: index === 1 }" v-if="index > 0">
<span><a target="_blank" @click="detail(item.id)"> <span><a target="_blank" @click="detail(item.id)">
{{ item.title }}</a></span></li> {{ item.title }}</a></span></li>
</ul> </ul>
@ -61,7 +61,9 @@
data () { data () {
return { return {
honorList: [], honorList: [],
fileList: [] fileList: [],
title_id: null,
title:null
} }
}, },
created () { created () {
@ -76,16 +78,23 @@
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}).then((res) => { }).then((res) => {
console.log(res)
this.honorList = res.rows this.honorList = res.rows
this.fileList = this.honorList.filter(item => item.files && item.files != '[]') if (this.honorList && this.honorList.length>0) {
.map(item => ({ this.fileList = this.honorList.filter(item => item.files && item.files != '[]')
id: item.id, .map(item => ({
files: JSON.parse(item.files) id: item.id,
})) files: JSON.parse(item.files)
}))
//
this.title_id = this.honorList[0].id;
this.title = this.honorList[0].title;
}
console.log(this.fileList)
}) })
}, },
// swiper // swiper

View File

@ -61,7 +61,7 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="24"> <a-col :md="6" :sm="24">
<a-form-item label="是否精准扶贫"> <a-form-item label="精准扶贫">
<a-select v-model="queryParam.ifHelpPoor" placeholder="请选择" default-value="null" style="width: 100%"> <a-select v-model="queryParam.ifHelpPoor" placeholder="请选择" default-value="null" style="width: 100%">
<a-select-option value="1"></a-select-option> <a-select-option value="1"></a-select-option>
<a-select-option value="0"></a-select-option> <a-select-option value="0"></a-select-option>
@ -75,10 +75,10 @@
</a-row> </a-row>
<a-space class="table-operator" direction="horizontal"> <a-space class="table-operator" direction="horizontal">
<a-button type="primary" @click="goback" >返回</a-button> <a-button type="primary" @click="goback">返回</a-button>
</a-space> </a-space>
</a-form> </a-form>
<s-table ref="table" :columns="columns" :data="loadData" :rowKey="(record) => record.id"> <s-table ref="table" :columns="getColumns()" :data="loadData" :rowKey="(record) => record.id">
<template slot="bringTime" slot-scope="text, record"> <template slot="bringTime" slot-scope="text, record">
{{ record.bringTime | moment('YYYY-MM-DD') }} {{ record.bringTime | moment('YYYY-MM-DD') }}
</template> </template>
@ -94,6 +94,10 @@
<template slot="title" style="font-weight: bold;"> <template slot="title" style="font-weight: bold;">
合计人数{{ totalCount }} 合计人数{{ totalCount }}
</template> </template>
<template slot="action" slot-scope="text, record">
<a href="javascript:;" v-if="hasPerm('person:support:detail')" @click="handleDetail(record)">详情</a>
</template>
</s-table> </s-table>
</div> </div>
</a-card> </a-card>
@ -131,8 +135,33 @@
nursingLevelData: [], nursingLevelData: [],
supportTypeData: [], supportTypeData: [],
totalCount: 0, totalCount: 0,
//
columns: [{ // Promise
loadData: (parameter) => {
return personPage(Object.assign(parameter, this.queryParam, {
type: this.type
})).then((res) => {
this.totalCount = res.total
return res
})
}
}
},
// -
created() {
this.dictionaryDropDown()
},
// -
destroyed() {},
// data
watch: {
$route(to, from) { // to from
this.$refs.table.refresh(true)
}
},
methods: {
getColumns() {
const columns = [{
title: '姓名', title: '姓名',
width: 200, width: 200,
dataIndex: 'name' dataIndex: 'name'
@ -160,17 +189,6 @@
customRender: 'sex' customRender: 'sex'
} }
}, },
{
title: '入院时间',
dataIndex: 'bringTime',
scopedSlots: {
customRender: 'bringTime'
}
},
{
title: '居住房间',
dataIndex: 'roomBed'
},
{ {
title: '是否在院', title: '是否在院',
dataIndex: 'isInHospital', dataIndex: 'isInHospital',
@ -178,35 +196,33 @@
customRender: 'isInHospital' customRender: 'isInHospital'
} }
} }
], ]
if (this.queryParam.supportType != 2) {
// Promise columns.push({
loadData: (parameter) => { title: '入院时间',
return personPage(Object.assign(parameter, this.queryParam, { dataIndex: 'bringTime',
type: this.type scopedSlots: {
})).then((res) => { customRender: 'bringTime'
this.totalCount = res.total }
return res }, {
title: '居住房间',
dataIndex: 'roomBed'
}) })
} }
}
},
// -
created() {
this.dictionaryDropDown()
console.log(this.$route.params)
console.log(this.$route.params.gender)
}, //
// - columns.push({
destroyed() {}, title: '操作',
// data key: 'operation',
watch: { fixed: 'right',
$route(to, from) { // to from width: 100,
this.$refs.table.refresh(true) scopedSlots: {
} customRender: 'action'
}, }
methods: { })
return columns
},
// //
handleDetail(record) { handleDetail(record) {
this.$router.push({ this.$router.push({
@ -240,9 +256,9 @@
this.supportTypeData = res.data this.supportTypeData = res.data
}) })
}, },
goback () { goback() {
this.$router.back() this.$router.back()
} }
} }
} }
</script> </script>

View File

@ -90,6 +90,21 @@
</a-col> </a-col>
</a-row> </a-row>
<a-row>
<a-col :span="12">
<a-form-model-item ref="politicalOutlook" label="政治面貌" prop="politicalOutlook" >
<a-select
v-model="form.politicalOutlook"
style="width: 100%"
placeholder="请选择政治面貌">
<a-select-option v-for="(item, index) in politicalOutlookData" :key="index" :value="item.value" :lable="item.name">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row> <a-row>
<a-col> <a-col>
<a-form-model-item ref="health" label="身体状况" prop="health" :label-col="{ span: 2 }" :wrapper-col="{ span: 21 }"> <a-form-model-item ref="health" label="身体状况" prop="health" :label-col="{ span: 2 }" :wrapper-col="{ span: 21 }">
@ -196,11 +211,12 @@
age: null, age: null,
sex: null, sex: null,
phone: '', phone: '',
politicalOutlook: null,
maritalStatus: null, maritalStatus: null,
familyList: [] familyList: []
}, },
maritalStatusData: [], maritalStatusData: [],
politicalOutlookData: [],
jobsData: [], jobsData: [],
rules: { rules: {
name: [{ name: [{
@ -356,6 +372,12 @@
}).then(res => { }).then(res => {
this.jobsData = res.data this.jobsData = res.data
}) })
//
dictionaryDropDown({
dictionaryCode: '0060'
}).then(res => {
this.politicalOutlookData = res.data
})
}, },
// //
goback () { goback () {

View File

@ -53,12 +53,8 @@
<a-row> <a-row>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item ref="jobs" label="岗位" prop="jobs" > <a-form-model-item ref="jobs" label="岗位" prop="jobs">
<a-select <a-select disabled v-model="form.jobs" style="width: 100%" placeholder="请选择岗位">
disabled
v-model="form.jobs"
style="width: 100%"
placeholder="请选择岗位">
<a-select-option v-for="(item, index) in jobsData" :key="index" :value="item.value" :lable="item.name"> <a-select-option v-for="(item, index) in jobsData" :key="index" :value="item.value" :lable="item.name">
{{ item.name }} {{ item.name }}
</a-select-option> </a-select-option>
@ -67,12 +63,8 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item ref="maritalStatus" label="婚姻状况" prop="maritalStatus" > <a-form-model-item ref="maritalStatus" label="婚姻状况" prop="maritalStatus">
<a-select <a-select disabled v-model="form.maritalStatus" style="width: 100%" placeholder="请选择婚姻状况">
disabled
v-model="form.maritalStatus"
style="width: 100%"
placeholder="请选择婚姻状况">
<a-select-option v-for="(item, index) in maritalStatusData" :key="index" :value="item.value" :lable="item.name"> <a-select-option v-for="(item, index) in maritalStatusData" :key="index" :value="item.value" :lable="item.name">
{{ item.name }} {{ item.name }}
</a-select-option> </a-select-option>
@ -93,6 +85,18 @@
</a-col> </a-col>
</a-row> </a-row>
<a-row>
<a-col :span="12">
<a-form-model-item ref="politicalOutlook" label="政治面貌" prop="politicalOutlook">
<a-select disabled v-model="form.politicalOutlook" style="width: 100%" placeholder="请选择政治面貌">
<a-select-option v-for="(item, index) in politicalOutlookData" :key="index" :value="item.value" :lable="item.name">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row> <a-row>
<a-col> <a-col>
<a-form-model-item ref="health" label="身体状况" prop="health" :label-col="{ span: 2 }" :wrapper-col="{ span: 21 }"> <a-form-model-item ref="health" label="身体状况" prop="health" :label-col="{ span: 2 }" :wrapper-col="{ span: 21 }">
@ -103,11 +107,7 @@
<a-row> <a-row>
<a-col> <a-col>
<a-form-model-item <a-form-model-item ref="diseaseHistory" label="疾病史" prop="diseaseHistory" :label-col="{ span: 2 }"
ref="diseaseHistory"
label="疾病史"
prop="diseaseHistory"
:label-col="{ span: 2 }"
:wrapper-col="{ span: 21 }"> :wrapper-col="{ span: 21 }">
<a-input disabled v-model="form.diseaseHistory" /> <a-input disabled v-model="form.diseaseHistory" />
</a-form-model-item> </a-form-model-item>
@ -143,17 +143,12 @@
</a-col> </a-col>
</a-row> </a-row>
<a-divider orientation="left">家庭成员</a-divider> <a-divider orientation="left">家庭成员</a-divider>
<a-table <a-table ref="table" :columns="columns" :data-source="form.familyList" :rowKey="(record) => record.id"
ref="table" :pagination="false">
:columns="columns"
:data-source="form.familyList"
:rowKey="(record) => record.id"
:pagination="false"
>
</a-table> </a-table>
<div class="draw-button-container align-center" style="bottom: auto;"> <div class="draw-button-container align-center" style="bottom: auto;">
<a-button @click="onCancel">取消</a-button> <a-button @click="onCancel">返回</a-button>
</div> </div>
</a-form-model> </a-form-model>
</a-card> </a-card>
@ -180,7 +175,7 @@
components: { components: {
DbDynamic DbDynamic
}, },
data () { data() {
return { return {
title: '服务人员详情', title: '服务人员详情',
labelCol: { labelCol: {
@ -199,11 +194,12 @@
age: null, age: null,
sex: null, sex: null,
phone: '', phone: '',
politicalOutlook: null,
maritalStatus: null, maritalStatus: null,
familyList: [] familyList: []
}, },
maritalStatusData: [], maritalStatusData: [],
politicalOutlookData: [],
jobsData: [], jobsData: [],
rules: { rules: {
name: [{ name: [{
@ -229,8 +225,7 @@
}] }]
}, },
// //
columns: [ columns: [{
{
title: '姓名', title: '姓名',
dataIndex: 'familyName' dataIndex: 'familyName'
}, },
@ -249,18 +244,18 @@
] ]
} }
}, },
mounted () { mounted() {
}, },
created () { created() {
this.init() this.init()
}, },
methods: { methods: {
async init () { async init() {
await this.dictionaryDropDown() await this.dictionaryDropDown()
this.editDetail() this.editDetail()
}, },
editDetail () { editDetail() {
const id = this.$route.query.id const id = this.$route.query.id
if (!id) { if (!id) {
return return
@ -277,7 +272,7 @@
this.form.maritalStatus = parseInt(form.maritalStatus) this.form.maritalStatus = parseInt(form.maritalStatus)
}) })
}, },
onSubmit (e) { onSubmit(e) {
this.$refs.ruleForm.validate(valid => { this.$refs.ruleForm.validate(valid => {
if (valid) { if (valid) {
const { const {
@ -312,15 +307,15 @@
} }
}) })
}, },
onCancel () { onCancel() {
this.$refs.ruleForm.resetFields() this.$refs.ruleForm.resetFields()
delete this.form.id delete this.form.id
this.goback() this.goback()
}, },
onReset () { onReset() {
this.$refs.ruleForm.resetFields() this.$refs.ruleForm.resetFields()
}, },
idCardNoBlur () { idCardNoBlur() {
const idCardNo = this.form.idCardNo const idCardNo = this.form.idCardNo
console.log(idCardNo) console.log(idCardNo)
// undefined // undefined
@ -353,22 +348,28 @@
/** /**
* 获取字典数据 * 获取字典数据
*/ */
dictionaryDropDown () { dictionaryDropDown() {
// //
dictionaryDropDown({ dictionaryDropDown({
dictionaryCode: '0030' dictionaryCode: '0030'
}).then(res => { }).then(res => {
this.maritalStatusData = res.data this.maritalStatusData = res.data
}) })
// //
dictionaryDropDown({ dictionaryDropDown({
dictionaryCode: '0050' dictionaryCode: '0050'
}).then(res => { }).then(res => {
this.jobsData = res.data this.jobsData = res.data
}) })
//
dictionaryDropDown({
dictionaryCode: '0060'
}).then(res => {
this.politicalOutlookData = res.data
})
}, },
// //
goback () { goback() {
this.$router.push({ this.$router.push({
path: '/person/service', path: '/person/service',
query: {} query: {}

View File

@ -545,7 +545,7 @@
}], }],
nursingLevel: [{ nursingLevel: [{
required: true, required: true,
message: '请选择护理等级', message: '请选择护理等级(护理等级参照《养老机构服务安全基本规范》)',
trigger: 'blur' trigger: 'blur'
}], }],
village: [{ village: [{

View File

@ -113,7 +113,7 @@
<a-row> <a-row>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item ref="roomId" label="房间" prop="roomId"> <a-form-model-item ref="roomId" label="房间" prop="roomId">
<a-select disabled v-model="form.roomId" @change="handleRoomChange"> <a-select disabled v-model="form.roomId" >
<a-select-option v-for="room in roomList" :key="room.id" :value="room.id">{{ room.name }}</a-select-option> <a-select-option v-for="room in roomList" :key="room.id" :value="room.id">{{ room.name }}</a-select-option>
</a-select> </a-select>
@ -451,7 +451,7 @@
</a-table> </a-table>
<div class="draw-button-container align-center" style="bottom: auto;"> <div class="draw-button-container align-center" style="bottom: auto;">
<a-button @click="onCancel">取消</a-button> <a-button @click="onCancel">返回</a-button>
<!-- <a-button type="primary" @click="onSubmit">保存</a-button> --> <!-- <a-button type="primary" @click="onSubmit">保存</a-button> -->
</div> </div>
</a-form-model> </a-form-model>
@ -600,8 +600,8 @@
// //
this.idCardNoBlur() this.idCardNoBlur()
this.form.supportType = parseInt(form.supportType) /* this.form.supportType = parseInt(form.supportType)
this.form.maritalStatus = parseInt(form.maritalStatus) this.form.maritalStatus = parseInt(form.maritalStatus) */
}) })
}, },
onSubmit (e) { onSubmit (e) {
@ -718,12 +718,13 @@
}, },
// //
goback () { goback () {
this.$router.push({ /* this.$router.push({
path: this.$route.query.type == 1 ? '/person/support' : '/person/care', path: this.$route.query.type == 1 ? '/person/support' : '/person/care',
query: { query: {
type: this.$route.query.type type: this.$route.query.type
} }
}) }) */
this.$router.back()
} }
} }
} }

View File

@ -18,11 +18,27 @@
<a-input v-model="queryParam.phone" allow-clear placeholder="请输入联系方式" /> <a-input v-model="queryParam.phone" allow-clear placeholder="请输入联系方式" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="24">
<a-form-item label="供养方式">
<a-select :allowClear="true" v-model="queryParam.supportType" style="width: 100%" placeholder="请选择供养方式">
<a-select-option v-for="(item, index) in supportTypeData" :key="index" :value="item.value" :lable="item.name">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="48">
<a-col :md="6" :sm="24">
</a-col>
<a-col :md="6" :sm="24">
</a-col>
<a-col :md="6" :sm="24">
</a-col>
<a-col :md="6" :sm="24"> <a-col :md="6" :sm="24">
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button> <a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
<a-button style="margin-left: 8px" @click="() => {queryParam = {}, $refs.table.refresh(true)}">重置</a-button> <a-button style="margin-left: 8px" @click="() => {queryParam = {}, $refs.table.refresh(true)}">重置</a-button>
</a-col> </a-col>
</a-row> </a-row>
<a-space class="table-operator" direction="horizontal"> <a-space class="table-operator" direction="horizontal">
@ -51,6 +67,9 @@
<script> <script>
import { STable } from '@/components' import { STable } from '@/components'
import { personDel, personPage } from '@/api/person/personSupport' import { personDel, personPage } from '@/api/person/personSupport'
import {
dictionaryDropDown
} from '@/api/sys/dictionaryItem'
export default { export default {
components: { components: {
@ -59,8 +78,9 @@ export default {
data () { data () {
return { return {
// //
queryParam: { name: '', idCardNo: '', phone: '' }, queryParam: { name: '', idCardNo: '', phone: '', supportType: 1 },
type: 1, type: 1,
supportTypeData: [],
// //
columns: [ columns: [
{ {
@ -139,6 +159,7 @@ export default {
// - // -
created () { created () {
this.changeType() this.changeType()
this.dictionaryDropDown()
}, },
// - // -
destroyed () { }, destroyed () { },
@ -202,7 +223,30 @@ export default {
const str = arr[arr.length - 1] const str = arr[arr.length - 1]
// 1- 2- // 1- 2-
this.type = str == 'support' ? 1 : 2 this.type = str == 'support' ? 1 : 2
} },
/**
* 获取字典数据
*/
dictionaryDropDown () {
//
dictionaryDropDown({
dictionaryCode: '0040'
}).then(res => {
this.villageData = res.data
})
//
dictionaryDropDown({
dictionaryCode: '0021'
}).then(res => {
this.nursingLevelData = res.data
})
//
dictionaryDropDown({
dictionaryCode: '0020'
}).then(res => {
this.supportTypeData = res.data
})
}
} }
} }
</script> </script>

View File

@ -59,7 +59,7 @@
<person-modal @selectPerson="selectPerson($event)" ref="personModal" :personType="1" :selectedRowKey="selectedRowKeys" /> <person-modal @selectPerson="selectPerson($event)" ref="personModal" :personType="1" :selectedRowKey="selectedRowKeys" />
<div class="draw-button-container align-center" style="bottom: auto;"> <div class="draw-button-container align-center" style="bottom: auto;">
<a-button @click="onCancel">取消</a-button> <a-button @click="onCancel">返回</a-button>
<!-- <a-button type="primary" @click="onSubmit">保存</a-button> --> <!-- <a-button type="primary" @click="onSubmit">保存</a-button> -->
</div> </div>
</a-form-model> </a-form-model>

View File

@ -8,6 +8,14 @@
<a-input v-model="queryParam.personName" allow-clear placeholder="请输入人员名称" /> <a-input v-model="queryParam.personName" allow-clear placeholder="请输入人员名称" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="24">
<a-form-item label="退房时间">
<a-select v-model="queryParam.returnType" placeholder="请选择退房时间" default-value="null" style="width: 100%">
<a-select-option value="1">全部</a-select-option>
<a-select-option value="2">今年</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24"> <a-col :md="6" :sm="24">
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button> <a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
<a-button style="margin-left: 8px" @click="() => {queryParam = {}, $refs.table.refresh(true)}">重置</a-button> <a-button style="margin-left: 8px" @click="() => {queryParam = {}, $refs.table.refresh(true)}">重置</a-button>
@ -67,7 +75,7 @@ export default {
data () { data () {
return { return {
// //
queryParam: { personName: '' }, queryParam: { personName: '', returnType: this.$route.params.returnType, },
roomTypeData: [], roomTypeData: [],
// //
columns: [ columns: [

View File

@ -31,7 +31,7 @@
</a-table> </a-table>
<div class="draw-button-container align-center" style="bottom: auto;"> <div class="draw-button-container align-center" style="bottom: auto;">
<a-button @click="onCancel">取消</a-button> <a-button @click="onCancel">返回</a-button>
</div> </div>
</a-form-model> </a-form-model>
</a-card> </a-card>
@ -99,7 +99,7 @@
// //
columns: [ columns: [
{ {
title: '床位名称', title: '床位',
dataIndex: 'name' dataIndex: 'name'
}, },
{ {

View File

@ -32,7 +32,7 @@
<a-button v-if="hasPerm('room:add')" type="primary" icon="plus" @click="handleCreate" >新增</a-button> <a-button v-if="hasPerm('room:add')" type="primary" icon="plus" @click="handleCreate" >新增</a-button>
</a-space> </a-space>
</a-form> </a-form>
<s-table ref="table" :columns="columns" :data="loadData" :rowKey="(record) => record.id" > <s-table ref="table" :columns="getColumns()" :data="loadData" :rowKey="(record) => record.id" >
<template slot="bringTime" slot-scope="text, record"> <template slot="bringTime" slot-scope="text, record">
{{ record.bringTime | moment('YYYY-MM-DD') }} {{ record.bringTime | moment('YYYY-MM-DD') }}
</template> </template>
@ -67,29 +67,6 @@ export default {
// //
queryParam: { name: '', roomType:this.$route.params.roomType }, queryParam: { name: '', roomType:this.$route.params.roomType },
roomTypeData: [], roomTypeData: [],
//
columns: [
{
title: '名称',
width: 200,
dataIndex: 'name'
},
{
title: '床位数量',
dataIndex: 'bedNumber'
},
{
title: '房间类型',
dataIndex: 'roomTypeName'
},
{
title: '操作',
key: 'operation',
fixed: 'right',
width: 200,
scopedSlots: { customRender: 'action' }
}
],
// Promise // Promise
loadData: (parameter) => { loadData: (parameter) => {
return roomPage(Object.assign(parameter, this.queryParam)).then((res) => { return roomPage(Object.assign(parameter, this.queryParam)).then((res) => {
@ -108,6 +85,38 @@ export default {
watch: { watch: {
}, },
methods: { methods: {
getColumns() {
const columns = [{
title: '名称',
width: 200,
dataIndex: 'name'
},
{
title: '房间类型',
dataIndex: 'roomTypeName'
}
]
if (!this.queryParam.roomType || this.queryParam.roomType ==1) {
columns.push(
{
title: '床位数量',
dataIndex: 'bedNumber'
})
}
//
columns.push({
title: '操作',
key: 'operation',
fixed: 'right',
width: 200,
scopedSlots: {
customRender: 'action'
}
})
return columns
},
// //
handleCreate () { handleCreate () {
this.$router.push({ this.$router.push({

View File

@ -65,7 +65,7 @@
<a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-decorator="['sex',{rules: [{ required: true, message: '请选择性别!' }]}]"> <a-radio-group v-decorator="['sex',{rules: [{ required: true, message: '请选择性别!' }]}]">
<a-radio :value="1"></a-radio> <a-radio :value="1"></a-radio>
<a-radio :value="2"></a-radio> <a-radio :value="0"></a-radio>
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</a-form> </a-form>