|
|
|
|
@ -1,10 +1,10 @@ |
|
|
|
|
<template> |
|
|
|
|
<basic-container> |
|
|
|
|
<avue-crud :option="option" :span-method="spanMethod" :table-loading="loading" :page.sync="page" :data="data" ref="crud" v-model="form" |
|
|
|
|
:permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" @row-del="rowDel" |
|
|
|
|
@row-update="rowUpdate" @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset" |
|
|
|
|
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" |
|
|
|
|
@refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad"> |
|
|
|
|
<avue-crud :option="option" :span-method="spanMethod" :table-loading="loading" :page.sync="page" :data="data" |
|
|
|
|
ref="crud" v-model="form" :permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" |
|
|
|
|
@row-del="rowDel" @row-update="rowUpdate" @row-save="rowSave" @search-change="searchChange" |
|
|
|
|
@search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" |
|
|
|
|
@size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad"> |
|
|
|
|
<template slot-scope="{row}" slot="num"> |
|
|
|
|
<div v-for="item1 in row.detailList.map(item => item.period + item.timeFrame)">{{ item1 }}</div> |
|
|
|
|
</template> |
|
|
|
|
@ -12,28 +12,22 @@ |
|
|
|
|
<div v-for="item2 in row.detailList.map(item1 => item1.numberNum)">{{ item2 }}</div> |
|
|
|
|
</template> |
|
|
|
|
<template slot-scope="{row}" slot="people"> |
|
|
|
|
<div :class="item1.apmNum == item1.numberNum && item1.apmNum !== 0 ? 'cla' : ''" v-for="item1 in row.detailList" >{{item1.apmNum}}</div> |
|
|
|
|
<div :class="item1.apmNum == item1.numberNum && item1.apmNum !== 0 ? 'cla' : ''" v-for="item1 in row.detailList"> |
|
|
|
|
{{ item1.apmNum }}</div> |
|
|
|
|
</template> |
|
|
|
|
<template slot-scope="{row}" |
|
|
|
|
slot="hosId"> |
|
|
|
|
<template slot-scope="{row}" slot="hosId"> |
|
|
|
|
<span v-text='row.createDeptName'></span> |
|
|
|
|
</template> |
|
|
|
|
<template slot-scope="{row}" slot="menu"> |
|
|
|
|
<el-button type="text" icon="el-icon-edit" size="small" @click="handleRegister(row)" :disabled="Date.parse(new Date(row.apmDay)) <= selectDay ? true : false">编辑</el-button> |
|
|
|
|
<el-button type="text" icon="el-icon-edit" size="small" @click="handleRegister(row)" |
|
|
|
|
:disabled="Date.parse(new Date(row.apmDay)) <= selectDay ? true : false">编辑</el-button> |
|
|
|
|
</template> |
|
|
|
|
<template slot-scope="scope" slot="menuLeft"> |
|
|
|
|
<el-button type="primary" |
|
|
|
|
icon="el-icon-plus" |
|
|
|
|
size="small" @click="addNumber">添加号源</el-button> |
|
|
|
|
<el-button type="primary" icon="el-icon-plus" size="small" @click="addNumber">添加号源</el-button> |
|
|
|
|
</template> |
|
|
|
|
</avue-crud> |
|
|
|
|
<el-drawer |
|
|
|
|
:visible.sync="isNumber" |
|
|
|
|
:append-to-body="true" |
|
|
|
|
@close="closeDraw" |
|
|
|
|
custom-class="number_box" |
|
|
|
|
:wrapperClosable="false" |
|
|
|
|
> |
|
|
|
|
<el-drawer :visible.sync="isNumber" :append-to-body="true" @close="closeDraw" custom-class="number_box" |
|
|
|
|
:wrapperClosable="false"> |
|
|
|
|
<div slot="title" class="title_box"> |
|
|
|
|
<div class="title_txt"> |
|
|
|
|
<div class="txt">{{ title }}</div> |
|
|
|
|
@ -49,21 +43,17 @@ |
|
|
|
|
|
|
|
|
|
</el-tab-pane> |
|
|
|
|
</el-tabs> |
|
|
|
|
<div class="hos_box" v-show="isShowHos" style="margin-right:10px">投放医院</div> <el-select v-show="isShowHos" v-model="deptName" placeholder="请选择医院"> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in hospitalArr" |
|
|
|
|
:key="item.id" |
|
|
|
|
:label="item.deptName" |
|
|
|
|
:value="item.id"> |
|
|
|
|
<div class="hos_box" v-show="isShowHos" style="margin-right:10px">投放医院</div> <el-select v-show="isShowHos" |
|
|
|
|
v-model="deptName" placeholder="请选择医院"> |
|
|
|
|
<el-option v-for="item in hospitalArr" :key="item.id" :label="item.deptName" :value="item.id"> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</div> |
|
|
|
|
<div v-show="!isShow"> |
|
|
|
|
<el-calendar v-model="calValue"> |
|
|
|
|
<template |
|
|
|
|
slot="dateCell" |
|
|
|
|
slot-scope="{date, data}"> |
|
|
|
|
<p :class="[Date.parse(new Date(data.day)) <= selectDay ? 'selected' : 'select',dayArr.find(item => item == data.day) ? 'isSelected' : '']" @click="clickCalc(data.day)"> |
|
|
|
|
<template slot="dateCell" slot-scope="{date, data}"> |
|
|
|
|
<p :class="[Date.parse(new Date(data.day)) <= selectDay ? 'selected' : 'select', dayArr.find(item => item == data.day) ? 'isSelected' : '']" |
|
|
|
|
@click="clickCalc(data.day)"> |
|
|
|
|
{{ data.day.slice(-2) }} |
|
|
|
|
</p> |
|
|
|
|
</template> |
|
|
|
|
@ -859,17 +849,21 @@ export default { |
|
|
|
|
::v-deep .el-tabs__content { |
|
|
|
|
height: 550px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
::v-deep .cla { |
|
|
|
|
color: #F93A4A; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
::v-deep .avue-input-number { |
|
|
|
|
width: 40% !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
::v-deep .el-calendar-day { |
|
|
|
|
display: flex; |
|
|
|
|
align-items: center; |
|
|
|
|
justify-content: center; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
::v-deep .selected { |
|
|
|
|
background: #EBEEF5; |
|
|
|
|
cursor: not-allowed; |
|
|
|
|
@ -880,6 +874,7 @@ export default { |
|
|
|
|
align-items: center; |
|
|
|
|
justify-content: center; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
::v-deep .select { |
|
|
|
|
width: 100%; |
|
|
|
|
height: 100%; |
|
|
|
|
@ -887,6 +882,7 @@ export default { |
|
|
|
|
align-items: center; |
|
|
|
|
justify-content: center; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
::v-deep .isSelected { |
|
|
|
|
background: #1677FF; |
|
|
|
|
} |
|
|
|
|
@ -895,20 +891,34 @@ export default { |
|
|
|
|
.el-drawer .avue-form { |
|
|
|
|
padding: 0 !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.dialog_box { |
|
|
|
|
right: 10%; |
|
|
|
|
position: absolute; |
|
|
|
|
top: 50%; |
|
|
|
|
transform: translateY(-50%); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-drawer__wrapper { |
|
|
|
|
.number_box { |
|
|
|
|
width: 800px !important; |
|
|
|
|
overflow: hidden !important; |
|
|
|
|
|
|
|
|
|
.el-drawer__body { |
|
|
|
|
overflow: hidden; |
|
|
|
|
.el-tabs__content{ |
|
|
|
|
height: auto; |
|
|
|
|
position: absolute; |
|
|
|
|
bottom: 0; |
|
|
|
|
top: 60px; |
|
|
|
|
left: 20px; |
|
|
|
|
right: 20px; |
|
|
|
|
overflow: auto; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.title_box { |
|
|
|
|
|
|
|
|
|
// padding: 0 40px; |
|
|
|
|
// margin-top: 40px; |
|
|
|
|
.title_txt { |
|
|
|
|
@ -923,6 +933,7 @@ export default { |
|
|
|
|
line-height: 24px; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.img_box { |
|
|
|
|
img { |
|
|
|
|
width: 30px; |
|
|
|
|
@ -930,6 +941,7 @@ export default { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.sub_txt { |
|
|
|
|
font-size: 14px; |
|
|
|
|
font-family: Microsoft YaHei-Regular, Microsoft YaHei; |
|
|
|
|
@ -938,9 +950,16 @@ export default { |
|
|
|
|
line-height: 16px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.tab_box { |
|
|
|
|
margin-top: 40px; |
|
|
|
|
padding: 0 40px; |
|
|
|
|
position: absolute; |
|
|
|
|
left: 0; |
|
|
|
|
right: 0; |
|
|
|
|
top: 80px; |
|
|
|
|
bottom: 100px; |
|
|
|
|
overflow: hidden; |
|
|
|
|
|
|
|
|
|
.hos_box { |
|
|
|
|
font-size: 16px; |
|
|
|
|
@ -957,10 +976,16 @@ export default { |
|
|
|
|
font-weight: bold; |
|
|
|
|
color: #333333; |
|
|
|
|
} |
|
|
|
|
.form_box{ |
|
|
|
|
height: 650px; |
|
|
|
|
overflow: scroll; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// .form_box { |
|
|
|
|
// position: absolute; |
|
|
|
|
// left: 0; |
|
|
|
|
// right: 0; |
|
|
|
|
// top: 20px; |
|
|
|
|
// bottom: 10px; |
|
|
|
|
// padding-bottom: 20px; |
|
|
|
|
// overflow: scroll; |
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -978,5 +1003,4 @@ export default { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
</style> |
|
|
|
|
|