预约列表接口联调,ui统一

main
xuechunyuan 3 years ago
parent 55e538d152
commit 7e65501391
  1. 2
      src/api/blacklist/blacklist.js
  2. 24
      src/api/booklist/booklist.js
  3. 19
      src/views/blacklist/index.vue
  4. 313
      src/views/booklist/index.vue

@ -11,7 +11,7 @@ export const getList = (current, size, params) => {
} }
}) })
} }
//黑名单取消
export const remove = (ids) => { export const remove = (ids) => {
return request({ return request({
url: '/api/blade-business/blacklist/remove', url: '/api/blade-business/blacklist/remove',

@ -0,0 +1,24 @@
import request from '@/router/axios';
//预约列表
export const getList = (current, size, params) => {
return request({
url: '/api/blade-business/apm-record/page',
method: 'get',
params: {
...params,
current,
size,
}
})
}
//预约当个详情
export const queryBookDetail = (ids) => {
return request({
url: '/api/blade-business/apm-record/detail-by-id',
method: 'get',
params: {
ids,
}
})
}

@ -9,7 +9,7 @@
</el-button> </el-button>
</template> </template>
<template slot-scope="{row}" slot="status"> <template slot-scope="{row}" slot="status">
<el-tag>{{ row.status == 1 ? '已拉黑' : '已取消' }}</el-tag> <el-tag size="small">{{ row.status == 1 ? '已拉黑' : '已取消' }}</el-tag>
</template> </template>
</avue-crud> </avue-crud>
</basic-container> </basic-container>
@ -52,7 +52,7 @@ export default {
label: "身份证号码", label: "身份证号码",
prop: "cupCardNo", prop: "cupCardNo",
search: true, search: true,
searchLabelWidth:100 searchLabelWidth: 100
}, },
{ {
label: "联系方式", label: "联系方式",
@ -112,17 +112,7 @@ export default {
type: "warning" type: "warning"
}) })
.then(() => { .then(() => {
// update(row).then(() => { return remove(row.id);
// this.onLoad(this.page);
// this.$message({
// type: "success",
// message: "!"
// });
// done();
// }, error => {
// window.console.log(error);
// loading();
// });
}) })
.then(() => { .then(() => {
this.onLoad(this.page); this.onLoad(this.page);
@ -167,7 +157,7 @@ export default {
this.onLoad(this.page, this.query); this.onLoad(this.page, this.query);
}, },
onLoad(page, params = {}) { onLoad(page, params = {}) {
const { releaseTimeRange, cupCardNo } = this.query; const { releaseTimeRange, cupCardNo } = this.query;
let values = { let values = {
...params, ...params,
...this.query ...this.query
@ -190,7 +180,6 @@ export default {
this.page.total = data.total; this.page.total = data.total;
this.data = data.records; this.data = data.records;
this.loading = false; this.loading = false;
this.selectionClear();
}); });
} }
} }

@ -1,84 +1,81 @@
<template> <template>
<basic-container> <basic-container>
<avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" v-model="form" <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" v-model="form"
:permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" @row-del="rowDel" :permission="permissionList" :before-open="beforeOpen" :before-close="beforeClose" @search-change="searchChange"
@row-update="rowUpdate" @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset" @search-reset="searchReset" @current-change="currentChange" @size-change="sizeChange"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
@refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad"> <template slot-scope="{row}" slot="apmStatus">
<template slot-scope="{row}" slot="status"> <el-tag size="small"
<el-tag :type="row.apmStatus == 3 ? 'success' : row.apmStatus == 2 ? 'warning' : row.apmStatus == 3 ? 'danger' : 'info'">{{
:type="row.status == 1 ? 'success' : row.status == 2 ? 'warning' : row.status == 3 ? 'danger' : 'info'">{{ row.apmStatus == 3 ? '已报道' : row.apmStatus == 2 ? '未报道' : row.apmStatus == 1 ? '已取消' : '未报到'
row.status == 1 ? '已报道' : row.status == 2 ? '未报道' : row.status == 3 ? '已拉黑' : '已取消'
}}</el-tag> }}</el-tag>
</template> </template>
<template slot-scope="{row}" slot="menu"> <template slot-scope="{row}" slot="menu">
<el-button @click="handleRegister" :disabled="row.status == 1 ? true : row.status == 4 ? true : false">{{ <el-button type="text" @click="handleRegister"
row.status == 3 ? '取消拉黑' : :disabled="row.apmStatus == 3 ? true : row.status == 1 ? true : false">预约报道</el-button>
'预约报道'
}}</el-button>
</template> </template>
</avue-crud> </avue-crud>
<el-drawer :visible.sync="isRegister" :append-to-body="true" :direction="direction" :with-header="false" <el-drawer :visible.sync="isRegister" :append-to-body="true" :direction="direction" class="my-info-dialog"
class="my-info-dialog" custom-class="register_box"> custom-class="register_box" @close="closeDraw">
<div class="title_box"> <div slot="title" class="title_box">
<div class="title_txt"> <div class="title_txt">
<div class="txt">预约人报道信息</div> <div class="txt">预约人报道信息</div>
<div class="img_box" @click="closeDraw">
<img src="~@/assets/image/close.png" alt="">
</div>
</div> </div>
<div class="sub_txt">通过身份证医保卡刷卡识别报道</div> <div class="sub_txt">通过身份证医保卡刷卡识别报道</div>
</div> </div>
<div class="tip_box"> <div style="padding:0 40px;">
<img v-show="regData.status == 1" src="~@/assets/image/succ.png" alt=""> <div class="tip_box">
<img v-show="regData.status == 2" src="~@/assets/image/fail.png" alt=""> <img v-show="regData.status == 1" src="~@/assets/image/succ.png" alt="">
<img v-show="regData.status == 3" src="~@/assets/image/warn.png" alt=""> <img v-show="regData.status == 2" src="~@/assets/image/fail.png" alt="">
<div class="tip_txt" :class="regData.status == 2 ? 'fail_txt' : regData.status == 3 ? 'warn_txt' : ''"> <img v-show="regData.status == 3" src="~@/assets/image/warn.png" alt="">
{{ regData.status == 1 ? '报道成功' : '报道失败' }}</div> <div class="tip_txt" :class="regData.status == 2 ? 'fail_txt' : regData.status == 3 ? 'warn_txt' : ''">
</div> {{ regData.status == 1 ? '报道成功' : '报道失败' }}</div>
<div class="tips_txt" v-show="regData.status == 2">无此人员预约检测项目请预约后按时间报道</div> </div>
<div class="tips_txt tips_warn" v-show="regData.status == 3">报到时间与预约时间不符请按预约时间报道</div> <div class="tips_txt" v-show="regData.status == 2">无此人员预约检测项目请预约后按时间报道</div>
<div class="account_mess"> <div class="tips_txt tips_warn" v-show="regData.status == 3">报到时间与预约时间不符请按预约时间报道</div>
<div class="mess_tit">账号信息</div> <div class="account_mess">
<div class="mess_box"> <div class="mess_tit">账号信息</div>
<div class="left_box" :class="regData.status == 2 ? 'fail_box' : regData.status == 3 ? 'warn_box' : ''"> <div class="mess_box">
<div class="acc_text">姓名</div> <div class="left_box" :class="regData.status == 2 ? 'fail_box' : regData.status == 3 ? 'warn_box' : ''">
<div class="acc_txt">{{ regData.name }}</div> <div class="acc_text">姓名</div>
</div> <div class="acc_txt">{{ regData.name }}</div>
<div class="right_box" :class="regData.status == 2 ? 'fail_right' : regData.status == 3 ? 'warn_right' : ''">
<div class="acc_box">
<div class="acc_text">身份证号</div>
<div class="acc_txt">{{ regData.cardId }}</div>
</div>
<div class="acc_box">
<div class="acc_text">联系方式</div>
<div class="acc_txt">{{ regData.phone }}</div>
</div> </div>
<div class="img_box"> <div class="right_box"
<img v-show="regData.status == 1" src="~@/assets/image/succ_img.png" alt=""> :class="regData.status == 2 ? 'fail_right' : regData.status == 3 ? 'warn_right' : ''">
<img v-show="regData.status == 2" src="~@/assets/image/fail_img.png" alt=""> <div class="acc_box">
<img v-show="regData.status == 3" src="~@/assets/image/warn_img.png" alt=""> <div class="acc_text">身份证号</div>
<div class="acc_txt">{{ regData.cardId }}</div>
</div>
<div class="acc_box">
<div class="acc_text">联系方式</div>
<div class="acc_txt">{{ regData.phone }}</div>
</div>
<div class="img_box">
<img v-show="regData.status == 1" src="~@/assets/image/succ_img.png" alt="">
<img v-show="regData.status == 2" src="~@/assets/image/fail_img.png" alt="">
<img v-show="regData.status == 3" src="~@/assets/image/warn_img.png" alt="">
</div>
</div> </div>
</div> </div>
</div> </div>
</div> <div class="account_mess">
<div class="account_mess"> <div class="mess_tit">体检信息</div>
<div class="mess_tit">体检信息</div> <div class="mess_box reg_box">
<div class="mess_box reg_box"> <div class="left_box">
<div class="left_box"> <div class="acc_text">体检项目</div>
<div class="acc_text">体检项目</div> <div class="acc_txt">{{ regData.project }}</div>
<div class="acc_txt">{{ regData.project }}</div> </div>
</div> <div class="right_box">
<div class="right_box"> <div class="acc_box">
<div class="acc_box"> <div class="acc_text">预约时间</div>
<div class="acc_text">预约时间</div> <div class="acc_txt" :class="regData.status == 3 ? 'acc_warn' : ''">{{ regData.time }}</div>
<div class="acc_txt" :class="regData.status == 3 ? 'acc_warn' : ''">{{ regData.time }}</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> <div class="btn" v-print="printObj">
<div class="btn" v-print="printObj"> 签到并打印
签到并打印 </div>
</div> </div>
</el-drawer> </el-drawer>
<!-- 打印 --> <!-- 打印 -->
@ -95,7 +92,7 @@
<td style="text-align:center;">性别</td> <td style="text-align:center;">性别</td>
<td style="text-align:center;">{{ regData.sex }}</td> <td style="text-align:center;">{{ regData.sex }}</td>
<td colspan="4" style="text-align:center;">出生日期</td> <td colspan="4" style="text-align:center;">出生日期</td>
<td colspan="7" style="text-align:center;">{{ regData.cardId.substring(6,15) }}</td> <td colspan="7" style="text-align:center;">{{ regData.cardId.substring(6, 15) }}</td>
<td colspan="3" style="text-align:center;"> </td> <td colspan="3" style="text-align:center;"> </td>
<td colspan="5" style="text-align:center;"></td> <td colspan="5" style="text-align:center;"></td>
</tr> </tr>
@ -118,9 +115,12 @@
<td style="width:20px;text-align:center;">{{ regData.cardId.charAt(12) }}</td> <td style="width:20px;text-align:center;">{{ regData.cardId.charAt(12) }}</td>
<td style="width:20px;text-align:center;">{{ regData.cardId.charAt(13) }}</td> <td style="width:20px;text-align:center;">{{ regData.cardId.charAt(13) }}</td>
<td style="width:20px;text-align:center;">{{ regData.cardId.charAt(14) }}</td> <td style="width:20px;text-align:center;">{{ regData.cardId.charAt(14) }}</td>
<td style="width:20px;text-align:center;">{{ regData.cardId.length>15?regData.cardId.charAt(15):'' }}</td> <td style="width:20px;text-align:center;">{{ regData.cardId.length > 15 ? regData.cardId.charAt(15) : '' }}
<td style="width:20px;text-align:center;">{{ regData.cardId.length>15?regData.cardId.charAt(16):'' }}</td> </td>
<td style="width:20px;text-align:center;">{{ regData.cardId.length>15?regData.cardId.charAt(17):'' }}</td> <td style="width:20px;text-align:center;">{{ regData.cardId.length > 15 ? regData.cardId.charAt(16) : '' }}
</td>
<td style="width:20px;text-align:center;">{{ regData.cardId.length > 15 ? regData.cardId.charAt(17) : '' }}
</td>
</tr> </tr>
<tr> <tr>
<td colspan="3" style="width:100px;text-align:center;"> <td colspan="3" style="width:100px;text-align:center;">
@ -131,7 +131,8 @@
<td colspan="4" style="text-align:center;">档案编号</td> <td colspan="4" style="text-align:center;">档案编号</td>
<td colspan="9"></td> <td colspan="9"></td>
<td colspan="6" rowspan="4" style="text-align:center;"> <td colspan="6" rowspan="4" style="text-align:center;">
<div style="padding-top:100px;">医疗机构章</div> <div style="padding-top:40px;">照片</div>
<div style="padding-top:70px;">医疗机构章</div>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -153,7 +154,8 @@
<span style="margin-left:60px">精神病</span> <span style="margin-left:60px">精神病</span>
<span style="margin-left:60px">痴呆</span> <span style="margin-left:60px">痴呆</span>
<div>影响肢体活动的神经系统疾病等妨碍安全驾驶病</div> <div>影响肢体活动的神经系统疾病等妨碍安全驾驶病</div>
<div>三年内有吸食注射毒品行为或者接触强制隔离戒毒措施未满三年或者长期服用依赖性精神药品成瘾尚未戒除</div> <div>三年内有吸食注射毒品行为或者解除强制隔离戒毒措施未满三年或者长期服用依赖性精神药品成瘾尚未戒除</div>
<div>上述申告为本人真实情况和真实意思表示如果不属实本人自愿承担相应的法律责任</div>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -164,7 +166,7 @@
<td style="text-align:center;">辨色力</td> <td style="text-align:center;">辨色力</td>
<td colspan="3" style="text-align:center;"> <td colspan="3" style="text-align:center;">
<span style="letter-spacing:3px;">红绿色盲</span><br /> <span style="letter-spacing:3px;">红绿色盲</span><br />
</td> </td>
<td colspan="4" style="text-align:center;">医生<br />备注</td> <td colspan="4" style="text-align:center;">医生<br />备注</td>
<td colspan="15"></td> <td colspan="15"></td>
@ -178,8 +180,8 @@
</td> </td>
<td style="text-align:center;" rowspan="2"><br /><br /><br /><br /><br /></td> <td style="text-align:center;" rowspan="2"><br /><br /><br /><br /><br /></td>
<td colspan="5"></td> <td colspan="5"></td>
<td style="text-align:center;"><br /><br /><br /></td> <td style="text-align:center;" rowspan="2"><br /><br /><br /></td>
<td colspan="12"></td> <td colspan="12" rowspan="2"></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" style="text-align:center;">右眼</td> <td colspan="2" style="text-align:center;">右眼</td>
@ -187,25 +189,17 @@
</td> </td>
<td colspan="5"></td> <td colspan="5"></td>
<td style="text-align:center;"><br /><br /><br /></td>
<td colspan="12"></td>
</tr> </tr>
<tr> <tr>
<td style="text-align:center;" rowspan="2"><br /></td> <td style="text-align:center;" rowspan="2"><br /></td>
<td colspan="5"> <td colspan="2" style="text-align:center;">左耳</td>
<div style="float:left;display:inline-block;">左耳</div> <td colspan="3" style="text-align:center;">不合格 合格<br />佩戴助听装置</td>
<div style="float:left;display:inline-block;margin-left:50px;">不合格 合格<br />佩戴助听装置
</div>
</td>
<td rowspan="2" style="text-align:center;"><br /><br /><br /></td> <td rowspan="2" style="text-align:center;"><br /><br /><br /></td>
<td colspan="18"></td> <td colspan="18"></td>
</tr> </tr>
<tr> <tr>
<td colspan="5" style="text-align:center;"> <td colspan="2" style="text-align:center;">右耳</td>
<div style="float:left;display:inline-block;">右耳</div> <td colspan="3" style="text-align:center;">不合格 合格<br />佩戴助听装置</td>
<div style="float:left;display:inline-block;margin-left:50px;">不合格 合格<br />佩戴助听装置
</div>
</td>
<td colspan="18"></td> <td colspan="18"></td>
</tr> </tr>
<tr> <tr>
@ -299,15 +293,10 @@
<script> <script>
import { import {
getLazyList, getList,
remove, queryBookDetail
update, } from "@/api/booklist/booklist";
add,
getDept,
getDeptTree
} from "@/api/system/dept";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import website from '@/config/website';
import print from "vue-print-nb"; import print from "vue-print-nb";
export default { export default {
@ -318,7 +307,6 @@ export default {
}, },
showPrint: false, showPrint: false,
form: {}, form: {},
selectionList: [],
query: {}, query: {},
loading: true, loading: true,
parentId: 0, parentId: 0,
@ -337,80 +325,59 @@ export default {
searchMenuSpan: 6, searchMenuSpan: 6,
border: true, border: true,
index: true, index: true,
dialogType: 'drawer',
dialogClickModal: false,
addBtn: false,
viewBtn: false, viewBtn: false,
viewBtnIcon: 'none',
editBtn: false, editBtn: false,
delBtn: false, delBtn: false,
addBtn: false,
selection: true,
saveBtn: false,
updateBtn: false,
cancelBtn: false,
dialogType: 'drawer',
border: false, stripe: true,
dialogClickModal: false,
column: [ column: [
{ {
label: "体检人姓名", label: "体检人姓名",
prop: "name", prop: "cupName",
}, },
{ {
label: "身份证号码", label: "身份证号码",
prop: "releaseCard", prop: "cupCardNo",
searchLabelWidth: 100, searchLabelWidth: 100,
search: true search: true
}, },
{ {
label: "联系方式", label: "联系方式",
prop: "phone", prop: "cupPhone",
}, },
{ {
label: "预约时间", label: "预约时间",
prop: "releaseTime", prop: "releaseTimeRange",
type: "date", type: "date",
format: "yyyy-MM-dd", format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd", valueFormat: "yyyy-MM-dd",
search: true, search: true,
searchValue: '2022-02-09', hide: true,
searchClearable: false
}, },
{ {
label: "预约项目", label: "预约时间",
prop: "releaseProject", prop: "timeFrame",
type: "select", html: true,
hide: true, formatter: value => {
dicData: [ return `<div>${value.apmDay.substring(0, 10)}</div>${value.period}${value.timeFrame}`
{ }
label: '全部',
value: 0
},
{
label: '视力',
value: 1
},
{
label: '听力',
value: 2
},
{
label: '四肢',
value: 3
}
],
search: true,
viewDisplay: false,
searchValue: 0
}, },
{ {
label: '预约项目', label: "预约项目",
prop: "releasePro", prop: "project",
type: "select",
dicUrl: "/api/blade-system/dict-biz/dictionary?code=hc_project",
props: {
label: "dictValue",
value: "dictValue"
},
search: true
}, },
{ {
label: "状态", label: "状态",
prop: "status", prop: "apmStatus",
slot: true, slot: true,
viewDisplay: false,
}, },
] ]
}, },
@ -418,7 +385,7 @@ export default {
regData: { regData: {
status: 3, status: 3,
name: '张三', name: '张三',
sex:'男', sex: '男',
cardId: '371322198805052320', cardId: '371322198805052320',
phone: '/', phone: '/',
project: '/', project: '/',
@ -429,8 +396,17 @@ export default {
directives: { directives: {
print print
}, },
computed: {
computed: {
...mapGetters(["userInfo", "permission"]),
permissionList() {
return {
addBtn: this.vaildData(this.permission.notice_add, false),
viewBtn: this.vaildData(this.permission.notice_view, false),
delBtn: this.vaildData(this.permission.notice_delete, false),
editBtn: this.vaildData(this.permission.notice_edit, false)
};
},
}, },
created() { created() {
}, },
@ -456,6 +432,16 @@ export default {
// column.addDisabled = false; // column.addDisabled = false;
done(); done();
}, },
searchReset() {
this.query = {};
this.onLoad(this.page);
},
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
this.onLoad(this.page, params);
done();
},
closeDraw() { closeDraw() {
this.isRegister = false this.isRegister = false
}, },
@ -470,19 +456,31 @@ export default {
}, },
onLoad(page, params = {}) { onLoad(page, params = {}) {
this.loading = true; this.loading = true;
// getLazyList(this.parentId, Object.assign(params, this.query)).then(res => { const { releaseTimeRange, cupCardNo } = this.query;
// this.data = res.data.data; let values = {
// ...params,
// this.selectionClear(); ...this.query
// }); };
this.data = [ if (releaseTimeRange) {
{ name: '张三', releaseCard: 321236195812020314, phone: 13254651235, releaseTime: '2023-02-07', releasePro: '视力 听力', status: 1 }, values = {
{ name: '李四', releaseCard: 321236195812020313, phone: 13254651235, releaseTime: '2023-02-07', releasePro: '视力 听力', status: 2 }, ...values,
{ name: '王五', releaseCard: 321236195812012314, phone: 13254651235, releaseTime: '2023-02-07', releasePro: '视力 听力', status: 3 }, startTime: releaseTimeRange[0],
{ name: '刘敏', releaseCard: 321236195812012314, phone: 13254651235, releaseTime: '2023-02-07', releasePro: '视力 听力', status: 4 }, endTime: releaseTimeRange[1],
] };
this.loading = false; values.releaseTimeRange = null;
this.page.total = 4; } else {
values.startTime = '';
values.endTime = '';
}
values.createDept = this.userInfo.dept_id;
values.cupCardNo = cupCardNo ? cupCardNo : '';
this.loading = true;
getList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
this.loading = false;
});
}, },
} }
}; };
@ -495,11 +493,11 @@ export default {
.el-drawer__wrapper { .el-drawer__wrapper {
.register_box { .register_box {
width: 45% !important; width: 45% !important;
padding: 0 40px; // padding: 0 40px;
.title_box { .title_box {
// padding: 0 40px; // padding: 0 40px;
margin-top: 40px; // margin-top: 40px;
.title_txt { .title_txt {
display: flex; display: flex;
@ -508,10 +506,9 @@ export default {
justify-content: space-between; justify-content: space-between;
.txt { .txt {
font-weight: bold; color: rgba(0,0,0,.85);
color: #333333; font-weight: 500;
line-height: 16px; line-height: 24px;
font-size: 20px;
} }
@ -524,7 +521,7 @@ export default {
} }
.sub_txt { .sub_txt {
font-size: 14px; font-size: 12px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei; font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400; font-weight: 400;
color: #999999; color: #999999;

Loading…
Cancel
Save