This commit is contained in:
aoli.qu 2023-10-18 22:44:18 +08:00
parent 07e4aed932
commit 3ea56e80bf
37 changed files with 3259 additions and 645 deletions

6
package-lock.json generated
View File

@ -16148,6 +16148,12 @@
}
}
},
"swiper": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/swiper/-/swiper-3.4.0.tgz",
"integrity": "sha512-OE4bzIsNgxGhH44gzo6BndJwDmdEA8wIzMWc4c1EqHKPP/dz6iA/cj6DNGiTn1tDyUnaQx9jZnFCCmevcL8aTg==",
"dev": true
},
"symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",

View File

@ -77,10 +77,11 @@
"git-revision-webpack-plugin": "^3.0.6",
"less": "^3.0.4",
"less-loader": "^5.0.0",
"sass": "^1.25.0",
"sass-loader": "^8.0.2",
"opencollective": "^1.0.3",
"opencollective-postinstall": "^2.0.2",
"sass": "^1.25.0",
"sass-loader": "^8.0.2",
"swiper": "^3.4.0",
"vue-svg-icon-loader": "^2.1.1",
"vue-template-compiler": "^2.6.10",
"webpack": "^4.44.2",

View File

@ -1,150 +1,198 @@
<template>
<div>
<Echart
:options="options"
id="bottomLeftChart"
height="480px"
width="100%"
></Echart>
<Echart :options="options" id="bottomLeftChart" height="480px" width="100%" ref="myChart"></Echart>
</div>
</template>
<script>
import Echart from '@/common/echart'
export default {
data () {
return {
options: {}
}
},
components: {
Echart
},
props: {
cdata: {
type: Object,
default: () => ({})
}
},
watch: {
cdata: {
handler (newData) {
this.options = {
tooltip: {
trigger: 'axis',
backgroundColor: 'rgba(255,255,255,0.1)',
axisPointer: {
type: 'shadow',
label: {
show: true,
backgroundColor: '#7B7DDC'
}
}
},
legend: {
data: ['集中供养数', '供养总人数', '集中供养率'],
textStyle: {
color: '#B4B4B4',
fontSize:20
},
top: '0%'
},
grid: {
x: '8%',
width: '88%',
y: '4%'
},
xAxis: {
data: newData.category,
axisLine: {
lineStyle: {
color: '#B4B4B4'
import Echart from '@/common/echart'
export default {
data() {
return {
options: {}
}
},
components: {
Echart
},
props: {
cdata: {
type: Object,
default: () => ({})
}
},
watch: {
cdata: {
handler(newData) {
this.options = {
tooltip: {
trigger: 'axis',
backgroundColor: 'rgba(255,255,255,0.1)',
axisPointer: {
type: 'shadow',
label: {
show: true,
backgroundColor: '#7B7DDC'
}
}
},
axisTick: {
show: false
}
},
yAxis: [
{
splitLine: { show: false },
legend: {
data: ['集中供养数', '供养总人数', '集中供养率'],
textStyle: {
color: '#B4B4B4',
fontSize: 20
},
top: '0%'
},
grid: {
x: '8%',
width: '88%',
y: '4%'
},
xAxis: {
data: newData.category,
axisLine: {
lineStyle: {
color: '#B4B4B4'
}
},
axisLabel: {
fontSize: 18
},
axisTick: {
show: false
}
},
yAxis: [{
splitLine: {
show: false
},
axisLine: {
lineStyle: {
color: '#B4B4B4'
}
},
axisLabel: {
formatter: '{value} '
axisLabel: {
formatter: '{value} '
}
},
{
splitLine: {
show: false
},
axisLine: {
lineStyle: {
color: '#B4B4B4'
}
},
axisLabel: {
formatter: '{value} '
}
}
},
{
splitLine: { show: false },
axisLine: {
lineStyle: {
color: '#B4B4B4'
}
],
series: [{
name: '集中供养率',
type: 'line',
smooth: true,
showAllSymbol: true,
symbol: 'emptyCircle',
symbolSize: 8,
yAxisIndex: 1,
itemStyle: {
normal: {
color: '#F02FC2'
}
},
data: newData.rateData
},
axisLabel: {
formatter: '{value} '
{
name: '集中供养数',
type: 'bar',
barWidth: 10,
itemStyle: {
normal: {
barBorderRadius: 5,
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: '#956FD4'
},
{
offset: 1,
color: '#3EACE5'
}
])
}
},
data: newData.barData
},
{
name: '供养总人数',
type: 'bar',
barGap: '-100%',
barWidth: 10,
itemStyle: {
normal: {
barBorderRadius: 5,
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgba(156,107,211,0.8)'
},
{
offset: 0.2,
color: 'rgba(156,107,211,0.5)'
},
{
offset: 1,
color: 'rgba(156,107,211,0.2)'
}
])
}
},
z: -12,
data: newData.lineData
}
}
],
series: [
{
name: '集中供养率',
type: 'line',
smooth: true,
showAllSymbol: true,
symbol: 'emptyCircle',
symbolSize: 8,
yAxisIndex: 1,
itemStyle: {
normal: {
color: '#F02FC2'
}
},
data: newData.rateData
},
{
name: '集中供养数',
type: 'bar',
barWidth: 10,
itemStyle: {
normal: {
barBorderRadius: 5,
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 0, color: '#956FD4' },
{ offset: 1, color: '#3EACE5' }
])
}
},
data: newData.barData
},
{
name: '供养总人数',
type: 'bar',
barGap: '-100%',
barWidth: 10,
itemStyle: {
normal: {
barBorderRadius: 5,
color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 0, color: 'rgba(156,107,211,0.8)' },
{ offset: 0.2, color: 'rgba(156,107,211,0.5)' },
{ offset: 1, color: 'rgba(156,107,211,0.2)' }
])
}
},
z: -12,
data: newData.lineData
}
]
]
}
},
immediate: true,
deep: true
}
},
methods: {
clickChart() {
console.log(123232)
}
},
mounted() {
let myChart = this.$refs["myChart"].chart
console.log(myChart)
console.log(this.cdata)
//
myChart.getZr().on('click', (params) => {
//echartsData
if (this.cdata.category.length > 0) {
const pointInPixel = [params.offsetX, params.offsetY];
//
let index;
if (myChart.containPixel('grid', pointInPixel)) {
index = myChart.convertFromPixel({
seriesIndex: 0
}, [params.offsetX, params.offsetY])[0];
}
if (index !== undefined) {
var village = this.cdata.category[index];
console.log(village)
this.$router.push({
name: 'Console',
params: {
village: village.id,
type: 1
}
})
}
}
},
immediate: true,
deep: true
});
}
}
}
</script>

View File

@ -11,14 +11,14 @@ export default {
return {
cdata: {
category: [
'下堡坪村',
'蛟龙寺村',
'九山村',
'马宗岭村',
'赵勉河村',
'秀水村',
'磨坪村',
'十八湾村'
{value:'下堡坪村', id:1},
{value:'蛟龙寺村', id:2},
{value:'九山村', id:3},
{value:'马宗岭村', id:4},
{value:'赵勉河村', id:5},
{value:'秀水村', id:6},
{value:'磨坪村', id:7},
{value:'十八湾村', id:8}
],
lineData: [
15,

View File

@ -1,61 +1,55 @@
<template>
<div>
<Echart
:options="options"
id="centreLeft1Chart"
height="340px"
width="300px"
></Echart>
<Echart :options="options" id="hldj" height="340px" width="300px" ref="myChart2"></Echart>
</div>
</template>
<script>
import Echart from '@/common/echart'
export default {
data () {
return {
options: {}
}
},
components: {
Echart
},
props: {
cdata: {
type: Object,
default: () => ({})
}
},
watch: {
cdata: {
handler (newData) {
this.options = {
color: [
'#37a2da',
'#32c5e9',
'#fb7293'
],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
toolbox: {
show: true
},
calculable: true,
legend: {
orient: 'horizontal',
icon: 'circle',
bottom: 0,
x: 'center',
data: newData.xData,
textStyle: {
color: '#fff',
"fontSize": 18
}
},
series: [
{
import Echart from '@/common/echart'
export default {
data() {
return {
options: {}
}
},
components: {
Echart
},
props: {
cdata: {
type: Object,
default: () => ({})
}
},
watch: {
cdata: {
handler(newData) {
this.options = {
color: [
'#37a2da',
'#32c5e9',
'#fb7293'
],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
toolbox: {
show: true
},
calculable: true,
legend: {
orient: 'horizontal',
icon: 'circle',
bottom: 0,
x: 'center',
data: newData.xData,
textStyle: {
color: '#fff',
"fontSize": 18
}
},
series: [{
name: '等级统计',
type: 'pie',
radius: [20, 100],
@ -67,15 +61,36 @@ export default {
show: false
},
},
}
]
}]
}
},
immediate: true,
deep: true
}
},
mounted() {
let myChart = this.$refs["myChart2"].chart
//
myChart.on('click', (param) => {
let index;
//dataIndex
index = param.dataIndex;
//
if (index !== undefined) {
//seriesData
if (this.cdata.seriesData[index].value != 0) {
/*跳转路由*/
this.$router.push({
name: 'Console',
params: {
nursingLevel: this.cdata.seriesData[index].id
}
})
}
}
},
immediate: true,
deep: true
});
}
}
}
</script>
<style lang="scss" scoped>

View File

@ -12,9 +12,9 @@ export default {
cdata: {
xData: ['一级护理', '二级护理', '三级护理'],
seriesData: [
{ value: 10, name: '一级护理' },
{ value: 5, name: '二级护理' },
{ value: 15, name: '三级护理' }
{ value: 10, name: '一级护理',id: 1 },
{ value: 5, name: '二级护理',id: 2 },
{ value: 15, name: '三级护理',id: 3 }
]
}
}

View File

@ -1,6 +1,6 @@
<template>
<div>
<Echart :options="options" id="centreLeft2Chart" height="340px" width="270px" style="padding: 10px;"></Echart>
<Echart :options="options" id="centreLeft2Chart" height="340px" width="270px" style="padding: 10px;" ref="myChart"></Echart>
</div>
</template>
@ -53,17 +53,17 @@
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
},
itemStyle: {
normal: {
color: function(colors) {
var colorList = [
'#457bef',
'#ffaaff'
];
return colorList[colors.dataIndex];
}
itemStyle: {
normal: {
color: function(colors) {
var colorList = [
'#457bef',
'#ffaaff'
];
return colorList[colors.dataIndex];
}
},
},
},
label: {
normal: {
show: false,
@ -80,6 +80,29 @@
immediate: true,
deep: true
}
},
mounted() {
let myChart = this.$refs["myChart"].chart
console.log(myChart)
//
myChart.on('click', (param) => {
let index;
//dataIndex
index = param.dataIndex;
//
if (index !== undefined) {
//seriesData
if (this.cdata.seriesData[index].value != 0) {
/*跳转路由*/
this.$router.push({
name: 'Console',
params: {
gender: this.cdata.seriesData[index].id
}
})
}
}
});
}
}
</script>

View File

@ -12,8 +12,8 @@ export default {
cdata: {
xData: ['男', '女'],
seriesData: [
{ value: 42, name: '男' },
{ value: 12, name: '女' }
{ value: 42, name: '男', id: "1" },
{ value: 12, name: '女', id: "0" }
]
}
}

View File

@ -1,64 +1,58 @@
<template>
<div>
<Echart
:options="options"
id="centreLeft1Chart"
height="340px"
width="380px"
></Echart>
<Echart :options="options" id="nlqj" height="340px" width="380px" ref="nlqjChart"></Echart>
</div>
</template>
<script>
import Echart from '@/common/echart'
export default {
data () {
return {
options: {}
}
},
components: {
Echart
},
props: {
cdata: {
type: Object,
default: () => ({})
}
},
watch: {
cdata: {
handler (newData) {
this.options = {
color: [
'#37a2da',
"#ffdb5c",
"#ff9f7f",
'#fb7293',
"#e7bcf3",
'#8378ea'
],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
toolbox: {
show: true
},
calculable: true,
legend: {
orient: 'horizontal',
icon: 'circle',
bottom: 0,
x: 'center',
data: newData.xData,
textStyle: {
color: '#fff',
"fontSize": 18
}
},
series: [
{
import Echart from '@/common/echart'
export default {
data() {
return {
options: {}
}
},
components: {
Echart
},
props: {
cdata: {
type: Object,
default: () => ({})
}
},
watch: {
cdata: {
handler(newData) {
this.options = {
color: [
'#37a2da',
"#ffdb5c",
"#ff9f7f",
'#fb7293',
"#e7bcf3",
'#8378ea'
],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
toolbox: {
show: true
},
calculable: true,
legend: {
orient: 'horizontal',
icon: 'circle',
bottom: 0,
x: 'center',
data: newData.xData,
textStyle: {
color: '#fff',
"fontSize": 18
}
},
series: [{
name: '年龄统计',
type: 'pie',
radius: [20, 100],
@ -68,18 +62,40 @@ export default {
label: {
normal: {
show: true,
"fontSize": 18
"fontSize": 18
},
},
}
]
}]
}
},
immediate: true,
deep: true
}
},
mounted() {
let myChart = this.$refs["nlqjChart"].chart
console.log(myChart)
//
myChart.on('click', (param) => {
let index;
//dataIndex
index = param.dataIndex;
//
if (index !== undefined) {
//seriesData
if (this.cdata.seriesData[index].value != 0) {
/*跳转路由*/
this.$router.push({
name: 'Console',
params: {
ageRange: this.cdata.seriesData[index].id
}
})
}
}
},
immediate: true,
deep: true
});
}
}
}
</script>
<style lang="scss" scoped>

View File

@ -12,12 +12,12 @@ export default {
cdata: {
xData: ['50岁以下', '50岁-59岁', '60岁-69岁','70岁-79岁','80岁-89岁','90岁以上'],
seriesData: [
{ value: 6, name: '50岁以下' },
{ value: 12, name: '50岁-59岁' },
{ value: 14, name: '60岁-69岁' },
{ value: 21, name: '70岁-79岁' },
{ value: 16, name: '80岁-89岁' },
{ value: 9, name: '90岁以上' },
{ value: 6, name: '50岁以下', id:'1' },
{ value: 12, name: '50岁-59岁', id:'2' },
{ value: 14, name: '60岁-69岁', id:'3' },
{ value: 21, name: '70岁-79岁', id:'4' },
{ value: 16, name: '80岁-89岁', id:'5' },
{ value: 9, name: '90岁以上', id:'6' },
]
}
}

View File

@ -1,6 +1,6 @@
<template>
<div>
<Echart :options="options" id="centreLeft2Chart" height="360px" width="270px" style="padding: 10px;"></Echart>
<Echart :options="options" id="jzfp" height="360px" width="270px" style="padding: 10px;" ref="jzfpChart"></Echart>
</div>
</template>
@ -35,7 +35,11 @@
},
legend: {
orient: 'vertical',
left: 'left'
left: 'left',
textStyle: {
color: '#fff',
"fontSize": 18
}
},
series: [{
// name: 'Access From',
@ -76,6 +80,29 @@
immediate: true,
deep: true
}
},
mounted() {
let myChart = this.$refs["jzfpChart"].chart
console.log(myChart)
//
myChart.on('click', (param) => {
let index;
//dataIndex
index = param.dataIndex;
//
if (index !== undefined) {
//seriesData
if (this.cdata.seriesData[index].value != 0) {
/*跳转路由*/
this.$router.push({
name: 'Console',
params: {
ifHelpPoor: this.cdata.seriesData[index].id
}
})
}
}
});
}
}
</script>

View File

@ -12,8 +12,8 @@ export default {
cdata: {
xData: ['是', '否'],
seriesData: [
{ value: 26, name: '是' },
{ value: 11, name: '否' }
{ value: 26, name: '是', id: '1' },
{ value: 11, name: '否', id: '0' }
]
}
}

View File

@ -45,6 +45,11 @@ import echarts from 'echarts'
//import * as echarts from 'echarts'
Vue.prototype.$echarts = echarts
/* import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/dist/css/swiper.css'
// 全局挂载
Vue.use(VueAwesomeSwiper) */
Vue.use(FormModel)
Vue.use(Empty)
Vue.prototype.hasPerm = hasBtnPermission

View File

@ -13,6 +13,7 @@ const constantRouterComponents = {
'403': () => import('@/views/exception/403'),
'404': () => import('@/views/exception/404'),
'500': () => import('@/views/exception/500'),
'developing': () => import('@/views/exception/developing'),
// 你需要动态引入的页面组件
'Workplace': () => import('@/views/dashboard/Workplace'),
@ -166,15 +167,6 @@ export const userAccount = [
]
// 根级菜单
/* const rootRouter = {
path: '/',
name: 'index',
component: 'BigScreenLayout',
redirect: '/bigScreen',
meta: { title: '首页' },
children: []
} */
// 根级菜单
const rootRouter = {
path: '/',

View File

@ -6,7 +6,7 @@
<icon name="chart-bar" class="text-icon"></icon>
</span>
<div class="d-flex">
<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>
<div>

View File

@ -1,6 +1,6 @@
<template>
<div id="bottomRight">
<div class="bg-color-black">
<div class="bg-color-black" style="cursor:pointer;" @click="jumpPage">
<div class="d-flex pt-2 pl-2">
<span>
<icon name="align-left" class="text-icon"></icon>
@ -8,19 +8,15 @@
<span class="fs-xl text mx-2" style="font-size: 20px;">入住情况统计</span>
</div>
<div class="d-flex ai-center flex-column body-box">
<dv-capsule-chart class="dv-cap-chart" :config="config" />
<dv-capsule-chart class="dv-cap-chart" :config="config" @click="skipto" />
</div>
<!-- 4个主要的数据 -->
<div class="bottom-data">
<div
class="item-box mt-2"
v-for="(item, index) in numberData"
:key="index"
>
<p class="text" style="text-align: center;">
<div class="item-box mt-2" v-for="(item, index) in numberData" :key="index">
<p class="text" style="text-align: center;">
<dv-digital-flop class="dv-digital-flop" :config="item.number" />
</p>
<p class="text" >
<p class="text">
{{ item.text }}
<span class="colorYellow" v-if="item.dw">({{ item.dw }})</span>
</p>
@ -31,172 +27,203 @@
</template>
<script>
import centerRight2Chart1 from '@/components/echart/centerRight/centerRightChart'
export default {
components: {
centerRight2Chart1
},
data () {
return {
config: {
data: [
{
name: '供养房',
value: 21
import centerRight2Chart1 from '@/components/echart/centerRight/centerRightChart'
export default {
components: {
centerRight2Chart1
},
data() {
return {
config: {
data: [{
name: '供养房',
value: 21
},
{
name: '餐厅',
value: 1
},
{
name: '厨房',
value: 3
},
{
name: '活动室',
value: 1
},
{
name: '办公室',
value: 4
}
],
showValue: true
},
numberData: [{
number: {
number: [22],
toFixed: 0,
textAlign: 'left',
content: '{nt}',
style: {
fontSize: 30
}
},
text: '入住房间',
dw: '间'
},
{
name: '餐厅',
value: 1
number: {
number: [37],
textAlign: 'left',
content: '{nt}',
style: {
fontSize: 30
}
},
text: '供养房间',
dw: '间'
},
{
name: '厨房',
value: 3
number: {
number: [52],
toFixed: 0,
textAlign: 'left',
content: '{nt}',
style: {
fontSize: 30
}
},
text: '入住床位',
dw: '个'
},
{
name: '活动室',
value: 1
number: {
number: [80],
toFixed: 0,
textAlign: 'left',
content: '{nt}',
style: {
fontSize: 30
}
},
text: '总床位数',
dw: '个'
},
{},
{
name: '办公室',
value: 4
number: {
number: [32.25],
toFixed: 2,
textAlign: 'left',
content: '{nt}',
style: {
fontSize: 30
}
},
text: '床位入住率',
dw: '%'
}
],
showValue: true
]
}
},
methods: {
skipto(config) {
console.log('config', config)
console.log('ceil', config.ceil)
console.log('hang', config.rowIndex)
this.$message.success('查看详情成功,可在控制台查看打印的数据')
},
numberData: [
{
number: {
number: [22],
toFixed: 0,
textAlign: 'left',
content: '{nt}',
style: {
fontSize: 24
}
},
text: '入住房间',
dw: '间'
},
{
number: {
number: [37],
textAlign: 'left',
content: '{nt}',
style: {
fontSize: 24
}
},
text: '供养房间',
dw: '间'
},
{
number: {
number: [52],
toFixed: 0,
textAlign: 'left',
content: '{nt}',
style: {
fontSize: 24
}
},
text: '入住床位',
dw: '个'
},
{
number: {
number: [80],
toFixed: 0,
textAlign: 'left',
content: '{nt}',
style: {
fontSize: 24
}
},
text: '总床位数',
dw: '个'
},
{},
{
number: {
number: [32.25],
toFixed: 2,
textAlign: 'left',
content: '{nt}',
style: {
fontSize: 24
}
},
text: '床位入住率',
dw: '%'
}
]
jumpPage() {
this.$router.push({
path: '/room/list'
})
}
}
}
}
</script>
<style lang="scss" scoped>
$box-height: 485px;
$box-width: 100%;
#bottomRight {
padding: 20px 16px;
height: $box-height;
width: $box-width;
border-radius: 5px;
.bg-color-black {
padding: 5px;
$box-height: 485px;
$box-width: 100%;
#bottomRight {
padding: 20px 16px;
height: $box-height;
width: $box-width;
border-radius: 10px;
}
.text {
color: #c3cbde;
}
.body-box {
border-radius: 10px;
overflow: hidden;
.dv-cap-chart {
width: 100%;
height: 270px;
position: relative;
border-radius: 5px;
.bg-color-black {
padding: 5px;
height: $box-height;
width: $box-width;
border-radius: 10px;
}
}
.bottom-data {
position: absolute;
top: 270px;
left: 30px;
.item-box {
& > div {
padding-right: 5px;
}
font-size: 14px;
float: right;
position: relative;
width: 50%;
color: #d3d6dd;
.dv-digital-flop {
width: 120px;
height: 30px;
}
//
.coin {
.text {
color: #c3cbde;
}
.body-box {
border-radius: 10px;
overflow: hidden;
.dv-cap-chart {
width: 100%;
height: 240px;
position: relative;
top: 6px;
font-size: 20px;
color: #ffc107;
}
.colorYellow {
color: yellowgreen;
}
/* p {
}
.bottom-data {
position: absolute;
top: 270px;
left: 30px;
.item-box {
&>div {
padding-right: 5px;
}
font-size: 14px;
float: right;
position: relative;
width: 50%;
color: #d3d6dd;
.dv-digital-flop {
width: 120px;
height: 30px;
}
//
.coin {
position: relative;
top: 6px;
font-size: 20px;
color: #ffc107;
}
.colorYellow {
color: yellowgreen;
}
/* p {
text-align: center;
} */
}
}
::v-deep .label-column {
font-size: 18px;
}
}
}
//
::v-deep .dv-capsule-chart .unit-label {
visibility: hidden;
}
//
::v-deep .dv-capsule-chart .unit-label {
visibility: hidden;
}
</style>
<style>
</style>

View File

@ -1,5 +1,5 @@
<template>
<div id="center">
<div id="center" style="cursor:pointer;" @click="jumpPage">
<div class="up">
<div
class="bg-color-black item"
@ -20,7 +20,7 @@
<span>
<icon name="chart-pie" class="text-icon"></icon>
</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" />
</div>
<div class="percent">
@ -207,6 +207,13 @@ export default {
},
components: {
CenterChart
},
methods: {
jumpPage() {
this.$router.push({
path: '/room/checkin'
})
}
}
}
</script>
@ -222,7 +229,7 @@ export default {
justify-content: space-around;
.item {
border-radius: 6px;
padding-top: 8px;
// padding-top: 8px;
margin-top: 8px;
width: 32%;
height: 70px;
@ -246,7 +253,7 @@ export default {
padding: 10px;
width: 59%;
.dv-scr-rank-board {
height: 225px;
height: 205px;
}
}
.percent {

View File

@ -38,11 +38,11 @@
<div class="react-left ml-3 fw-b" style="background-color: #1a5cd7;">
<span class="text">数据统计</span>
</div>
<div class="react-left ml-3">
<span class="text">数据查询</span>
<div class="react-left ml-3 sx">
<span class="text" @click="jumpPage(1)">数据查询</span>
</div>
<div class="react-left ml-3">
<span class="text">荣誉展示</span>
<div class="react-left ml-3 sx">
<span class="text" @click="jumpPage(2)">荣誉展示</span>
</div>
</div>
<!-- <div class="d-flex aside-width">
@ -57,11 +57,11 @@
</div>
</div> -->
<div class="d-flex aside-width">
<div class="react-right mr-3 react-l-s" style="width: 250px;">
<span class="text ">实时监控</span>
<div class="react-right mr-3 react-l-s sx" style="width: 250px;">
<span class="text " @click="jumpPage(3)">实时监控</span>
</div>
<div class="react-right mr-3 react-l-s" style="width: 250px;">
<span class="text ">健康预警</span>
<div class="react-right mr-3 react-l-s sx" style="width: 250px;">
<span class="text " @click="jumpPage(4)">健康预警</span>
</div>
<div class="react-right mr-4 react-l-s" style="width: 380px;">
<span class="react-after"></span>
@ -106,10 +106,10 @@
<!-- 第四行数据 -->
<div class="bottom-box">
<dv-border-box-13>
<bottomLeft />
<bottomRight />
</dv-border-box-13>
<dv-border-box-12>
<bottomRight />
<bottomLeft />
</dv-border-box-12>
</div>
</div>
@ -221,6 +221,25 @@ export default {
document.webkitExitFullscreen();
}
}
},
jumpPage(type) {
if (type==1){
this.$router.push({
path: '/welcome'
})
} else if (type==2) {
this.$router.push({
path: '/honor/show'
})
} else if (type==3) {
this.$router.push({
path: '/aqld_bjcl'
})
} else if (type==4) {
this.$router.push({
path: '/aqld_jkjc'
})
}
}
}
@ -233,4 +252,5 @@ body {
margin: 0;
padding: 0;
}
.sx :hover{cursor:pointer;}
</style>

View File

@ -0,0 +1,21 @@
<template>
<a-result status="developing" title="开发中" sub-title="对不起,功能正在建设中.">
<template #extra>
<a-button type="primary" @click="toHome">
返回
</a-button>
</template>
</a-result>
</template>
<script>
export default {
name: 'developing',
methods: {
toHome () {
this.$router.push({ path: '/' })
}
}
}
</script>

View File

@ -21,14 +21,14 @@
prop="content"
:label-col="{ span: 2 }"
:wrapper-col="{ span: 21 }">
<a-textarea :autoSize="{ minRows: 3, maxRows: 10 }" v-model="form.content"/>
<!-- <DbUeditor v-model="form.content" /> -->
<!-- <a-textarea :autoSize="{ minRows: 3, maxRows: 10 }" v-model="form.content"/> -->
<DbUeditor v-model="form.content" />
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="12">
<a-form-model-item label="上传图片">
<a-form-model-item label="封面图">
<db-upload v-model="fileList" type="img" ></db-upload>
</a-form-model-item>
</a-col>

View File

@ -1,41 +1,29 @@
<template>
<a-card :bordered="false" title="荣誉展示栏">
<a-card :bordered="false">
<template slot="extra">
<a-button type="primary" @click="goback">返回</a-button>
<!-- <a-button type="primary" @click="save">保存</a-button> -->
<a-button type="primary" @click="close">返回</a-button>
</template>
<div>
<div>
<h1 class="article-title" style="font-size: 30px;">{{ form.title }}</h1>
<div class="article-attr">
<!-- <div class="article-attr__item">
<span>{{ model.createOrgName }}</span>
</div> -->
<div class="article-attr__item">
<span>{{ form.createTime | moment }}</span>
</div>
</div>
<div class="article-body">
<div v-html="form.content"></div>
</div>
</div>
<a-form-model ref="ruleForm" :model="form" :rules="rules" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-row :gutter="16">
<a-col :span="12">
<a-form-model-item ref="title" label="标题" prop="title" :wrapper-col="{ span: 18 }">
<a-input v-model="form.title" disabled />
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col>
<a-form-model-item
ref="content"
label="详细内容"
prop="content"
:label-col="{ span: 2 }"
:wrapper-col="{ span: 21 }">
<a-textarea :autoSize="{ minRows: 3, maxRows: 10 }" v-model="form.content" disabled/>
<!-- <DbUeditor v-model="form.content" disabled /> -->
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="12">
<a-form-model-item label="图片">
<!-- <img alt="image" v-for="(item, index) in fileList" :src="item.url" style="width: 50%;" /> -->
<db-upload v-model="fileList" type="img" disabled="true" max="fileList.length" ></db-upload>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
<div class="down-class" v-show="fileList.length > 0">
<a-divider orientation="left">封面图</a-divider>
<db-upload v-model="fileList" type="img" disabled="true" max="fileList.length" ></db-upload>
</div>
</div>
</a-card>
</template>
@ -122,7 +110,7 @@ export default {
this.goback()
},
//
goback () {
close () {
this.$router.push({ path: '/honor/list',
query: {
}
@ -132,4 +120,20 @@ export default {
}
</script>
<style></style>
<style>
.article-attr {
color: black;
text-align: center;
}
.article-title {
text-align: center;
}
.article-body {
margin-top: 15px;
}
.down-class {
width: 50%;
margin-top: 20px;
}
</style>

View File

@ -59,7 +59,6 @@
columns: [
{
title: '标题',
width: 200,
dataIndex: 'title'
},
// {
@ -70,6 +69,7 @@
{
title: '创建时间',
dataIndex: 'createTime',
width: 200,
scopedSlots: { customRender: 'createTime' }
},
{
@ -137,7 +137,7 @@
}
</script>
tyle lang="less">
<style lang="less">
.table-operator {
margin-bottom: 18px;
}

View File

@ -0,0 +1,160 @@
<template>
<!--一带一路专区 开始-->
<div class="ydyl-zone">
<!-- 大头条 -->
<div class="headline" id="headline1" data-fontsize="36" data-fontcolor="">
<div class="part bg-white">
<h1><a>陪孤寡老人跨年守岁20载 特别的爱献给特殊的</a></h1>
</div>
</div>
<div class="area focus" id="focus1">
<div class="part clearfix">
<div class="focus-newsMedia left">
<div class="focus-newsMedia-top">
<div class="scroll breath" id="focusMediaScroll1">
<!-- 全媒体播放器帧数-->
<div class="scroll-articleNum hide">13</div>
<div class="scroll-tips hide" id="scrollTips1">
建议使用Chrome浏览器QQ浏览器360极速浏览器等
<div class="scroll-tips-close" id="scrollTipsClose"></div>
</div>
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide scroll-articles" data-url="">
<div class="img">
<a target="_blank">
<img class="swiper-lazy" src="./img/1.jpg" alt="">
<div class="swiper-lazy-preloader"></div>
</a>
</div>
<!-- <div class="tit">
<div class="btn hide"></div>
<a href="http://www.news.cn/photo/2023-10/18/c_1129921976.htm" target="_blank">习近平同印度尼西亚总统佐科会谈</a>
</div> -->
</div>
<div class="swiper-slide scroll-articles" data-url="">
<div class="img">
<a target="_blank">
<img class="swiper-lazy" src="./img/2.jpg" alt="">
<div class="swiper-lazy-preloader"></div>
</a>
</div>
</div>
<div class="swiper-slide scroll-articles" data-url="">
<div class="img">
<a target="_blank">
<img class="swiper-lazy" src="./img/3.jpg" alt="">
<div class="swiper-lazy-preloader"></div>
</a>
</div>
</div>
<div class="swiper-slide scroll-articles" data-url="">
<div class="img">
<a target="_blank">
<img class="swiper-lazy" src="./img/4.jpg" alt="">
<div class="swiper-lazy-preloader"></div>
</a>
</div>
</div>
<div class="swiper-slide scroll-articles" data-url="">
<div class="img">
<a target="_blank">
<img class="swiper-lazy" src="./img/5.jpg" alt="">
<div class="swiper-lazy-preloader"></div>
</a>
</div>
</div>
</div>
<div class="swiper-pagination"></div>
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
</div>
</div>
</div>
<div class="focus-newsText bg-white right">
<div class="list list-txt" id="focusListNews1">
<ul>
<li class="active"><span><a target="_blank" @click="detail(3)">
下堡坪乡让流动党员有</a></span></li>
<li><span><a target="_blank">
身边榜样灯塔 做新时代的追光者</a></span></li>
<li> <span><a target="_blank">
医路守护夕阳红 真情服务暖人心</a></span></li>
<li> <span><a target="_blank">
点点滴滴暖民心</a></span></li>
<li> <span><a target="_blank">
下堡坪乡5家入选夷陵区美丽庭院</a></span></li>
<li ><span><a target="_blank">
福利院幸福掠影</a></span></li>
<li><span><a target="_blank">
福利院简介</a></span></li>
<li> <span><a target="_blank">
福利院分工职责</a></span></li>
<li> <span><a target="_blank">
院长简介</a></span></li>
<li> <span><a target="_blank">
相关制度</a></span></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!--一带一路专区 结束-->
</template>
<script>
import Swiper from "swiper";
import "swiper/dist/css/swiper.min.css";
export default {
data() {
return {
}
},
components: {
},
mounted() {
this.initSwiper();
},
methods: {
//swiper
initSwiper() {
this.$nextTick(() => {
new Swiper(".swiper-container", {
autoplay: 3000,
/* slidesPerView: 1,
spaceBetween: 18, */
prevButton: ".swiper-button-prev",
nextButton: ".swiper-button-next",
// freeMode: true
});
});
},
detail(id) {
this.$router.push({
path: '/honor/detail',
query: {
id: id
}
})
}
}
}
</script>
<style lang="scss" scoped>
@import './css/index.css';
body {
margin: 0;
padding: 0;
}
</style>

File diff suppressed because it is too large Load Diff

BIN
src/views/honor/img/1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

BIN
src/views/honor/img/2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
src/views/honor/img/3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

BIN
src/views/honor/img/4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
src/views/honor/img/5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 KiB

View File

@ -5,11 +5,7 @@
<a-row :gutter="48">
<a-col :md="6" :sm="24">
<a-form-item label="村组">
<a-select
:allowClear="true"
v-model="queryParam.village"
style="width: 100%"
placeholder="请选择村组">
<a-select :allowClear="true" v-model="queryParam.village" style="width: 100%" placeholder="请选择村组">
<a-select-option v-for="(item, index) in villageData" :key="index" :value="item.value" :lable="item.name">
{{ item.name }}
</a-select-option>
@ -36,15 +32,20 @@
</a-select>
</a-form-item>
</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-form-item label="护理等级">
<a-select
:allowClear="true"
v-model="queryParam.nursingLevel"
style="width: 100%"
placeholder="请选择护理等级">
<a-select :allowClear="true" v-model="queryParam.nursingLevel" style="width: 100%" placeholder="请选择护理等级">
<a-select-option v-for="(item, index) in nursingLevelData" :key="index" :value="item.value" :lable="item.name">
{{ item.name }}
</a-select-option>
@ -59,6 +60,14 @@
</a-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-form-item label="是否精准扶贫">
<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="0"></a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<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>
@ -66,7 +75,7 @@
</a-row>
</a-form>
<s-table ref="table" :columns="columns" :data="loadData" :rowKey="(record) => record.id" >
<s-table ref="table" :columns="columns" :data="loadData" :rowKey="(record) => record.id">
<template slot="bringTime" slot-scope="text, record">
{{ record.bringTime | moment('YYYY-MM-DD') }}
</template>
@ -88,119 +97,146 @@
</template>
<script>
import { STable } from '@/components'
import { personPage } from '@/api/person/personSupport'
import {
STable
} from '@/components'
import {
personPage
} from '@/api/person/personSupport'
import {
dictionaryDropDown
} from '@/api/sys/dictionaryItem'
export default {
components: {
STable
},
data () {
return {
//
queryParam: { village: '', ageRange: '', gender: '', nursingLevel: '', isInHospital: '' },
type: 1,
villageData: [],
nursingLevelData: [],
totalCount: 0,
//
columns: [
{
title: '姓名',
width: 200,
dataIndex: 'name'
export default {
components: {
STable
},
data() {
return {
//
queryParam: {
village: this.$route.params.village,
ageRange: this.$route.params.ageRange,
gender: this.$route.params.gender,
nursingLevel: this.$route.params.nursingLevel,
ifHelpPoor: this.$route.params.ifHelpPoor,
supportType: this.$route.params.supportType,
isInHospital: this.$route.params.isInHospital
},
{
title: '年龄',
dataIndex: 'age'
},
{
title: '村组',
dataIndex: 'villageName'
},
{
title: '护理等级',
dataIndex: 'nursingLevelName'
},
{
title: '供养类型',
dataIndex: 'supportTypeName'
},
{
title: '性别',
dataIndex: 'sex',
scopedSlots: { customRender: 'sex' }
},
{
title: '入院时间',
dataIndex: 'bringTime',
scopedSlots: { customRender: 'bringTime' }
},
{
title: '居住房间',
dataIndex: 'roomBed'
},
{
title: '是否在院',
dataIndex: 'isInHospital',
scopedSlots: { customRender: 'isInHospital' }
}
],
type: 1,
villageData: [],
nursingLevelData: [],
supportTypeData: [],
totalCount: 0,
//
columns: [{
title: '姓名',
width: 200,
dataIndex: 'name'
},
{
title: '年龄',
dataIndex: 'age'
},
{
title: '村组',
dataIndex: 'villageName'
},
{
title: '护理等级',
dataIndex: 'nursingLevelName'
},
{
title: '供养方式',
dataIndex: 'supportTypeName'
},
{
title: '性别',
dataIndex: 'sex',
scopedSlots: {
customRender: 'sex'
}
},
{
title: '入院时间',
dataIndex: 'bringTime',
scopedSlots: {
customRender: 'bringTime'
}
},
{
title: '居住房间',
dataIndex: 'roomBed'
},
{
title: '是否在院',
dataIndex: 'isInHospital',
scopedSlots: {
customRender: 'isInHospital'
}
}
],
// Promise
loadData: (parameter) => {
return personPage(Object.assign(parameter, this.queryParam,
{ type: this.type }
)).then((res) => {
this.totalCount = res.total
return res
// Promise
loadData: (parameter) => {
return personPage(Object.assign(parameter, this.queryParam, {
type: this.type
})).then((res) => {
this.totalCount = res.total
return res
})
}
}
},
// -
created() {
this.dictionaryDropDown()
console.log(this.$route.params)
console.log(this.$route.params.gender)
},
// -
destroyed() {},
// data
watch: {
$route(to, from) { // to from
this.$refs.table.refresh(true)
}
},
methods: {
//
handleDetail(record) {
this.$router.push({
path: '/person/support/detail',
query: {
type: this.type,
id: record.id
}
})
},
/**
* 获取字典数据
*/
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
})
}
}
},
// -
created () {
this.dictionaryDropDown()
},
// -
destroyed () { },
// data
watch: {
$route (to, from) { // to from
this.$refs.table.refresh(true)
}
},
methods: {
//
handleDetail (record) {
this.$router.push({
path: '/person/support/detail',
query: {
type: this.type,
id: record.id
}
})
},
/**
* 获取字典数据
*/
dictionaryDropDown () {
//
dictionaryDropDown({
dictionaryCode: '0040'
}).then(res => {
this.villageData = res.data
})
//
dictionaryDropDown({
dictionaryCode: '0021'
}).then(res => {
this.nursingLevelData = res.data
})
}
}
}
</script>

View File

@ -21,14 +21,14 @@ export default {
data () {
return {}
},
beforeRouteEnter (to, from, next) {
/* beforeRouteEnter (to, from, next) {
next(vm => {
const code = vm.$store.state.user && vm.$store.state.user.currentRole.code
if (code === 'student') {
vm.$router.replace({ path: '/bigScreen' })
}
})
},
}, */
computed: {
...mapState({
currentRole: state => state.user.currentRole

View File

@ -35,14 +35,6 @@
</a-col>
</a-row>
<a-row>
<a-col>
<a-form-model-item ref="jobs" label="岗位" prop="jobs" :label-col="{ span: 2 }" :wrapper-col="{ span: 21 }">
<a-input v-model="form.jobs" />
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item ref="phone" label="联系方式" prop="phone">
@ -52,6 +44,26 @@
</a-row>
<a-row>
<a-col>
<a-form-model-item ref="homeAddress" label="家庭住址" prop="homeAddress" :label-col="{ span: 2 }" :wrapper-col="{ span: 21 }">
<a-input v-model="form.homeAddress" />
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item ref="jobs" label="岗位" prop="jobs" >
<a-select
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">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item ref="maritalStatus" label="婚姻状况" prop="maritalStatus" >
<a-select
@ -189,6 +201,7 @@
familyList: []
},
maritalStatusData: [],
jobsData: [],
rules: {
name: [{
required: true,
@ -210,6 +223,16 @@
required: true,
message: '请输入身份证号',
trigger: 'blur'
}],
phone: [{
required: true,
message: '请输入联系方式',
trigger: 'blur'
}],
homeAddress: [{
required: true,
message: '请输入家庭住址',
trigger: 'blur'
}]
}
}
@ -327,6 +350,12 @@
}).then(res => {
this.maritalStatusData = res.data
})
//
dictionaryDropDown({
dictionaryCode: '0050'
}).then(res => {
this.jobsData = res.data
})
},
//
goback () {

View File

@ -35,14 +35,6 @@
</a-col>
</a-row>
<a-row>
<a-col>
<a-form-model-item ref="jobs" label="岗位" prop="jobs" :label-col="{ span: 2 }" :wrapper-col="{ span: 21 }">
<a-input disabled v-model="form.jobs" />
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item ref="phone" label="联系方式" prop="phone">
@ -50,8 +42,30 @@
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col>
<a-form-model-item ref="homeAddress" label="家庭住址" prop="homeAddress" :label-col="{ span: 2 }" :wrapper-col="{ span: 21 }">
<a-input disabled v-model="form.homeAddress" />
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-model-item ref="jobs" label="岗位" prop="jobs" >
<a-select
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">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item ref="maritalStatus" label="婚姻状况" prop="maritalStatus" >
<a-select
@ -190,6 +204,7 @@
familyList: []
},
maritalStatusData: [],
jobsData: [],
rules: {
name: [{
required: true,
@ -345,6 +360,12 @@
}).then(res => {
this.maritalStatusData = res.data
})
//
dictionaryDropDown({
dictionaryCode: '0050'
}).then(res => {
this.jobsData = res.data
})
},
//
goback () {

View File

@ -78,7 +78,7 @@ export default {
},
{
title: '岗位',
dataIndex: 'jobs'
dataIndex: 'jobsName'
},
{
title: '操作',

View File

@ -108,6 +108,24 @@
</template>
<template v-if="form.type == 1">
<a-row>
<a-col :span="12">
<a-form-model-item ref="roomId" label="房间" prop="roomId">
<a-select v-model="form.roomId" @change="handleRoomChange">
<a-select-option v-for="room in roomList" :key="room.id" :value="room.id">{{ room.name }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item ref="bedId" label="床位" prop="bedId">
<a-select v-model="form.bedId">
<a-select-option v-for="bed in filteredBedList" :key="bed.id" :value="bed.id">{{ bed.name }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col>
<a-form-model-item
@ -448,6 +466,10 @@
import {
dictionaryDropDown
} from '@/api/sys/dictionaryItem'
import {
roomListAll,
roomListAllBed
} from '@/api/room/room'
import DbDynamic from '@/components/DbDynamic/DbDynamic.vue'
const PARTONE = 'partOne'
@ -531,11 +553,21 @@
message: '请选择所在村',
trigger: 'blur'
}]
}
},
roomList: [],
bedList: [],
selectedRoom: null, // roomId
selectedBed: null // bedId
}
},
mounted () {
computed: {
filteredBedList () {
//
if (this.form.roomId) {
return this.bedList.filter((bed) => bed.roomId === this.form.roomId)
}
return []
}
},
created () {
this.init()
@ -669,6 +701,19 @@
}).then(res => {
this.nursingLevelData = res.data
})
//
roomListAll().then((res) => {
console.log(res)
this.roomList = res.data
})
roomListAllBed().then((res) => {
console.log(res)
this.bedList = res.data
})
},
handleRoomChange () {
//
this.form.bedId = null
},
//
goback () {

View File

@ -110,6 +110,24 @@
</template>
<template v-if="form.type == 1">
<a-row>
<a-col :span="12">
<a-form-model-item ref="roomId" label="房间" prop="roomId">
<a-select disabled v-model="form.roomId" @change="handleRoomChange">
<a-select-option v-for="room in roomList" :key="room.id" :value="room.id">{{ room.name }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item ref="bedId" label="床位" prop="bedId">
<a-select disabled v-model="form.bedId">
<a-select-option v-for="bed in filteredBedList" :key="bed.id" :value="bed.id">{{ bed.name }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col>
<a-form-model-item
@ -448,7 +466,10 @@
import {
dictionaryDropDown
} from '@/api/sys/dictionaryItem'
import {
roomListAll,
roomListAllBed
} from '@/api/room/room'
import { STable } from '@/components'
const PARTONE = 'partOne'
@ -538,11 +559,24 @@
title: '工作单位',
dataIndex: 'workInfo'
}
]
],
roomList: [],
bedList: [],
selectedRoom: null, // roomId
selectedBed: null // bedId
}
},
mounted () {
},
computed: {
filteredBedList () {
//
if (this.form.roomId) {
return this.bedList.filter((bed) => bed.roomId === this.form.roomId)
}
return []
}
},
created () {
this.init()
@ -672,6 +706,15 @@
}).then(res => {
this.nursingLevelData = res.data
})
//
roomListAll().then((res) => {
console.log(res)
this.roomList = res.data
})
roomListAllBed().then((res) => {
console.log(res)
this.bedList = res.data
})
},
//
goback () {

View File

@ -176,9 +176,6 @@
this.form.personId = personData.id
this.form.personName = personData.name
},
/**
* 获取字典数据
*/
initRoom () {
roomListAll().then((res) => {
console.log(res)