提交 9b247583 编写于 作者: changdi.hao's avatar changdi.hao

优化查看预约单ui

上级 97648fcb
流水线 #35654 已取消 于阶段
......@@ -5,6 +5,10 @@
//预约类型list
export const TYPE_LIST = [
{
label: '全部',
value: ''
},
{
label: '语音问诊',
value: 1
......@@ -37,6 +41,10 @@ export const PAY_LIST = [
// 订单来源
export const SOURCE_LIST = [
{
label: '全部',
value: ''
},
{
label: '铁军反馈',
value: 1
......@@ -129,6 +137,10 @@ export const RELATION_LIST = [
// 医生来源
export const D_S_LIST = [
{
label: '全部',
value: ''
},
{
label: '京东',
value: 1
......@@ -145,6 +157,10 @@ export const D_S_LIST = [
// 是否跟进
export const IS_FLLOW = [
{
label: '全部',
value: ''
},
{
label: '是',
value: 1
......@@ -157,6 +173,10 @@ export const IS_FLLOW = [
// 创建订单方式
export const CREATE_TYPE = [
{
label: '全部',
value: ''
},
{
label: '系统创建',
value: 1
......@@ -170,6 +190,10 @@ export const CREATE_TYPE = [
// 是否匹配
export const OPERATE_LIST = [
{
label: '全部',
value: ''
},
{
label: '已分配',
value: 1
......
......@@ -2,7 +2,7 @@
<div class="diagnosis-list-content">
<div class="component-content screenSet" id="screenSet">
<div class="title">编辑</div>
<el-form ref="form" :model="formData" label-width="130px" :rules="rules" v-loading='loading'>
<el-form ref="form" :model="formData" label-width="130px" :rules="editorType== 2 ? null : rules" v-loading='loading'>
<h1>预约单信息</h1>
<el-form-item label="预约类型">
......@@ -126,12 +126,12 @@
>
</el-date-picker>
</el-form-item>
<el-form-item label="性别" prop="sex" required>
<el-form-item label="性别" prop="sex">
<el-select v-model="formData.sex" placeholder="请选择性别" class="set-width" :disabled="noable || editorType== 2">
<el-option v-for="item of sexList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="患者电话" prop="patientMobilePhone" required >
<el-form-item label="患者电话" prop="patientMobilePhone" >
<el-input v-model="formData.patientMobilePhone" placeholder="请输入手机号" class="set-width" :disabled="noable || editorType== 2" maxlength="11"></el-input>
</el-form-item>
......@@ -172,7 +172,7 @@
<h1>接诊信息</h1>
<el-form-item label="接诊医生" prop="doctorName" required>
<el-form-item label="接诊医生" prop="doctorName">
<el-input v-model="formData.doctorName" placeholder="请选择接诊医生" class="set-width" disabled></el-input>
<!-- <el-select v-model="formData.doctorName" placeholder="请选择接诊医生" disabled class="set-width">
<el-option v-for="item of sexList" :key="item.value" :label="item.label" :value="item.value"></el-option>
......@@ -209,13 +209,13 @@
</el-form-item>
<h1>问诊信息</h1>
<el-form-item label="初/复诊" prop="diagnoseStage" required>
<el-form-item label="初/复诊" prop="diagnoseStage" >
<el-radio-group v-model="formData.diagnoseStage" :disabled="formData.status==4 || editorType== 2">
<el-radio :label="1">初诊(就此病没有去过医院)</el-radio>
<el-radio :label="2">复诊(就此病去过医院)</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否确诊" prop="determineFlag" required>
<el-form-item label="是否确诊" prop="determineFlag" >
<el-radio-group v-model="formData.determineFlag" :disabled="formData.status==4 || editorType== 2">
<el-radio :label="1"></el-radio>
<el-radio :label="2"></el-radio>
......@@ -224,14 +224,14 @@
<el-form-item label="确诊疾病" >
<el-input v-model="formData.diagnoseDisease" placeholder="请输入确诊疾病名称" :disabled="formData.status==4 || editorType== 2" class="set-width"></el-input>
</el-form-item>
<el-form-item label="病情描述" prop="illnessDetail" required>
<el-form-item label="病情描述" prop="illnessDetail">
<el-input type="textarea" v-model="formData.illnessDetail" placeholder="请输入病情描述" maxlength="1000" :disabled="editorType== 2"></el-input>
</el-form-item>
<el-form-item label="病情照片" >
<p class="img-title">请上传患处照片、所用药品、与病情相关的线上诊疗记录截图、检查检测报告,请保证图片清晰完整,以便医生确认病情</p>
<upload-img :isDisable="editorType== 2" :imgList="formData.illnessImageUrls" ref="imgComponent"></upload-img>
</el-form-item>
<el-form-item label="诊断建议" prop="diagnoseAdvice" required>
<el-form-item label="诊断建议" prop="diagnoseAdvice">
<p class="old-diagnoseAdvice">{{formData.diagnoseAdvice}}</p>
<el-input type="textarea" v-model="formData.diagnoseAdvice" placeholder="请输入更新建议(更新后原建议将被删除)" :disabled="formData.status==4 || editorType== 2" maxlength="1000"></el-input>
</el-form-item>
......@@ -245,7 +245,7 @@
</el-radio-group>
</el-form-item>
<el-form-item label="药品跟进状态" >
<el-select v-model="formData.drugFollowStatus" placeholder="请跟进状态" class="set-width" >
<el-select v-model="formData.drugFollowStatus" placeholder="请跟进状态" class="set-width" :disabled="editorType== 2">
<el-option v-for="item of followList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
......@@ -253,7 +253,7 @@
<el-input type="textarea" v-model="formData.drugFollow" placeholder="请输入可跟进的事项" maxlength="1000" :disabled="editorType== 2"></el-input>
</el-form-item>
<el-form-item label="检查跟进状态" >
<el-select v-model="formData.checkFollowStatus" placeholder="请跟进状态" class="set-width">
<el-select v-model="formData.checkFollowStatus" placeholder="请跟进状态" class="set-width" :disabled="editorType== 2">
<el-option v-for="item of followList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
......@@ -261,7 +261,7 @@
<el-input type="textarea" v-model="formData.checkFollow" placeholder="请输入可跟进的事项" maxlength="1000" :disabled="editorType== 2"></el-input>
</el-form-item>
<el-form-item label="其他跟进状态" >
<el-select v-model="formData.otherFollowStatus" placeholder="请跟进状态" class="set-width">
<el-select v-model="formData.otherFollowStatus" placeholder="请跟进状态" class="set-width" :disabled="editorType== 2">
<el-option v-for="item of followList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
......
<template>
<div class="diagnosis-list-content">
<div class="component-content screenSet" id="screenSet">
<div class="title">咨询订单管理后台</div>
<el-form :inline="true" class="demo-form-inline" :model="searchParam" label-width="80px">
<el-row :gutter="20" type="flex" justify="center">
<el-col :span="8" class="t-c">
<el-form-item label="姓名">
<el-input
v-model="searchParam.searchVal"
clearable
placeholder="请输入助诊医生、接诊医生姓名、运营人员"
style="width:280px;"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" class="t-c">
<el-form-item label="预约类型">
<el-select v-model="searchParam.diagnoseType" placeholder="请选择预约类型" style="width:280px;">
<el-option v-for="item of tyleList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="t-c">
<el-form-item label="创建方式">
<el-select v-model="searchParam.createType" placeholder="创建方式" style="width:280px;">
<el-option v-for="item of createList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" type="flex" justify="center">
<el-col :span="8" class="t-c">
<el-form-item label="是否跟进">
<el-select v-model="searchParam.followFlag" placeholder="请选择是否跟进" style="width:280px;">
<el-option v-for="item of fllowList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="t-c">
<el-form-item label="预约来源">
<el-select v-model="searchParam.appointSource" placeholder="请选择预约来源" style="width:280px;">
<el-option v-for="item of sourceList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" class="t-c">
<el-form-item label="是否匹配">
<el-select v-model="searchParam.operateFlag" placeholder="是否匹配" style="width:280px;">
<el-option v-for="item of operateList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" type="flex" justify="center">
<el-col :span="8" class="t-c">
<el-form-item label="创建日期">
<el-date-picker
type="date"
placeholder="开始时间"
v-model="searchParam.createdTimeBegin"
style="width: 135px;"
:picker-options="endDateOpt"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
>
</el-date-picker>
<span>-</span>
<el-date-picker
type="date"
placeholder="结束时间"
v-model="searchParam.createdTimeEnd"
style="width: 135px;"
format="yyyy-MM-dd"
:picker-options="endDateOpt1"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="t-c">
<el-form-item label="匹配日期">
<el-date-picker
type="date"
placeholder="开始时间"
v-model="searchParam.operateTimeBegin"
style="width: 135px;"
:picker-options="endDateOpt2"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
>
</el-date-picker>
<span>-</span>
<el-date-picker
type="date"
placeholder="结束时间"
v-model="searchParam.operateTimeEnd"
style="width: 135px;"
format="yyyy-MM-dd"
:picker-options="endDateOpt3"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" class="t-c">
<el-form-item label="预约日期">
<el-date-picker
type="date"
placeholder="开始时间"
v-model="searchParam.appointBeginTime"
style="width: 135px;"
:picker-options="endDateOpt4"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
>
</el-date-picker>
<span>-</span>
<el-date-picker
type="date"
placeholder="结束时间"
v-model="searchParam.appointEndTime"
style="width: 135px;"
format="yyyy-MM-dd"
:picker-options="endDateOpt5"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" type="flex" justify="center" align="center">
<el-col :span="24" class="btn-wrap">
<el-button type="primary" class="submit-btn" @click="search">搜索</el-button>
<el-button type="warning" class="submit-btn" @click="reset">重置</el-button>
<el-button type="info" class="submit-btn" @click="download">导出</el-button>
</el-col>
</el-row>
</el-form>
<<<<<<< HEAD
<!-- 表格 -->
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="已接诊" name="first">
<el-table
class="search-table"
:data="tableData"
style="width: 100%"
v-loading="loading">
<el-table-column prop="orderNo" label="订单ID" min-width="170" align="left"></el-table-column>
<el-table-column prop="operateUserName" label="运营人员" min-width="100" align="left"></el-table-column>
<el-table-column prop="specialName" label="专区名称" min-width="120" align="left"></el-table-column>
<el-table-column prop="diagnoseType" label="问诊类型" min-width="80" align="left">
<template slot-scope="scope">
<span>{{scope.row.diagnoseType | diagnosisTypeFilter}}</span>
</template>
</el-table-column>
<el-table-column prop="doctorName" label="接诊医生" min-width="100" align="left"></el-table-column>
<el-table-column prop="doctorMobile" label="接诊电话" min-width="120" align="left"></el-table-column>
<el-table-column prop="userName" label="问诊患者" min-width="120" align="left">
<template slot-scope="scope">
<span>{{scope.row.patientName}}</span>
<span></span>
<span>({{scope.row.userName}})</span>
</template>
</el-table-column>
<el-table-column prop="userMobile" label="问诊电话" min-width="120" align="left"></el-table-column>
<el-table-column prop="price" label="价格" min-width="60" align="left">
<template slot-scope="scope">
<span>{{scope.row.price | priceFilter}}</span>
</template>
</el-table-column>
<el-table-column prop="appointBeginTime" label="预约时间" min-width="160" align="left">
<template slot-scope="scope">
<p>{{scope.row.appointBeginTime}}</p>
<p>{{scope.row.appointEndTime}}</p>
</template>
</el-table-column>
<el-table-column prop="createdTime" label="创建时间" min-width="160" align="left">
<template slot-scope="scope">
<p>创建:{{scope.row.createdTime}}</p>
<p v-if="scope.row.operateTime">匹配:{{scope.row.operateTime}}</p>
</template>
</el-table-column>
<el-table-column prop="statusStr" label="问诊状态" min-width="80" align="left"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" min-width="150">
<template slot-scope="scope">
<!-- 1 初始状态 2待咨询 3 咨询中 4已结束 -->
<div>
<el-button v-if="scope.row.status != 4" type="primary" size="small" @click="timeHandle(scope.row)" style="margin-top: 10px;">修改时间</el-button>
<el-button v-if="scope.row.status == 3" type="primary" size="small" @click="endDiagnosis(scope.row)" style="margin-top: 10px;">结束</el-button>
</div>
<div>
<el-button v-if="scope.row.status == 3 && scope.row.imStatus == 1" type="primary" size="small" @click="callAll(scope.row)" style="margin-top: 10px;">呼叫双方</el-button>
<el-button v-if="scope.row.status == 3 && scope.row.imStatus == 2" type="primary" size="small" @click="jionCommunicate(scope.row)" style="margin-top: 10px;">加入问诊</el-button>
<el-button type="primary" size="small" @click="sendMessage(scope.row)" style="margin-top: 10px;">发送消息</el-button>
</div>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="searchParam.pageNo"
:page-sizes="[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size="searchParam.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows">
</el-pagination>
</div>
</el-tab-pane>
<el-tab-pane label="未匹配" name="second">
<el-table
class="search-table"
:data="tableData"
style="width: 100%"
v-loading="loading">
<el-table-column prop="orderNo" label="订单ID" min-width="170" align="left"></el-table-column>
<el-table-column prop="operateUserName" label="运营人员" min-width="100" align="left"></el-table-column>
<el-table-column prop="specialName" label="专区名称" min-width="120" align="left"></el-table-column>
<el-table-column prop="diagnoseType" label="问诊类型" min-width="80" align="left">
<template slot-scope="scope">
<span>{{scope.row.diagnoseType | diagnosisTypeFilter}}</span>
</template>
</el-table-column>
<el-table-column prop="doctorName" label="接诊医生" min-width="100" align="left"></el-table-column>
<el-table-column prop="doctorMobile" label="接诊电话" min-width="120" align="left"></el-table-column>
<el-table-column label="问诊患者" min-width="120" align="left">
<template slot-scope="scope">
<span>{{scope.row.patientName}}</span>
<span></span>
<span>({{scope.row.userName}})</span>
</template>
</el-table-column>
<el-table-column prop="userMobile" label="问诊电话" min-width="120" align="left"></el-table-column>
<el-table-column label="价格" min-width="80" align="left">
<template slot-scope="scope">
<span>{{scope.row.price | priceFilter}}</span>
</template>
</el-table-column>
<el-table-column prop="appointBeginTime" label="预约时间" min-width="160" align="left">
<template slot-scope="scope">
<p>{{scope.row.appointBeginTime}}</p>
<p>{{scope.row.appointEndTime}}</p>
</template>
</el-table-column>
<el-table-column prop="createdTime" label="创建时间" min-width="160" align="left">
<template slot-scope="scope">
<p>创建:{{scope.row.createdTime}}</p>
</template>
</el-table-column>
<el-table-column prop="statusStr" label="问诊状态" min-width="80" align="left"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" min-width="100">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="selectBtn(scope.row)">选择</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="searchParam.pageNo"
:page-sizes="[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size="searchParam.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows">
</el-pagination>
</div>
=======
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="全部" name="first">
<table-component
:tData="tableData"
:pageNo="searchParam.pageNo"
:pageSize="searchParam.pageSize"
:totalRows="totalRows"
:loading="loading"
@timeHandle="timeHandle"
@endDiagnosis="endDiagnosis"
@callAll="callAll"
@jionCommunicate="jionCommunicate"
@sendMessage="sendMessage"
@selectBtn="selectBtn"
@goEditor="goEditor"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange"
></table-component>
</el-tab-pane>
<el-tab-pane label="待问诊" name="second">
<table-component
:tData="tableData"
:pageNo="searchParam.pageNo"
:pageSize="searchParam.pageSize"
:totalRows="totalRows"
:loading="loading"
@timeHandle="timeHandle"
@endDiagnosis="endDiagnosis"
@callAll="callAll"
@jionCommunicate="jionCommunicate"
@sendMessage="sendMessage"
@selectBtn="selectBtn"
@goEditor="goEditor"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange"
></table-component>
</el-tab-pane>
<el-tab-pane label="问诊中" name="three">
<table-component
:tData="tableData"
:pageNo="searchParam.pageNo"
:pageSize="searchParam.pageSize"
:totalRows="totalRows"
:loading="loading"
@timeHandle="timeHandle"
@endDiagnosis="endDiagnosis"
@callAll="callAll"
@jionCommunicate="jionCommunicate"
@sendMessage="sendMessage"
@selectBtn="selectBtn"
@goEditor="goEditor"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange"
></table-component>
</el-tab-pane>
<el-tab-pane label="已问诊" name="four">
<table-component
:tData="tableData"
:pageNo="searchParam.pageNo"
:pageSize="searchParam.pageSize"
:totalRows="totalRows"
:loading="loading"
@timeHandle="timeHandle"
@endDiagnosis="endDiagnosis"
@callAll="callAll"
@jionCommunicate="jionCommunicate"
@sendMessage="sendMessage"
@selectBtn="selectBtn"
@goEditor="goEditor"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange"
></table-component>
>>>>>>> dev-20200510
</el-tab-pane>
</el-tabs>
<!-- 预约时间 -->
<el-dialog
title="预约时间"
:visible.sync="timeVisible"
width="40%">
<el-row :gutter="30" class="row search" type="flex" style="margin-bottom:0;">
<el-form ref="timeForm"
:rules="timeRules"
:model="timeForm"
label-width="150px"
label-suffix=":"
label-position="right"
size="mini"
style="width: 100%;">
<el-col :span="24">
<el-form-item label="开始时间" prop="beginTime">
<el-date-picker
v-model="timeForm.beginTime"
type="datetime"
placeholder="请选择开始时间"
value-format="yyyy-MM-dd HH:mm:ss"
@change="changeBeginTime">
</el-date-picker>
<p v-if="beginFlag" style="color: red;font-size: 12px">开始时间不能大于结束时间</p>
</el-form-item>
<el-form-item label="结束时间" prop="endTime">
<el-date-picker
v-model="timeForm.endTime"
type="datetime"
placeholder="请选择结束时间"
value-format="yyyy-MM-dd HH:mm:ss"
@change="changeEndTime">
</el-date-picker>
<p v-if="endFlag" style="color: red;font-size: 12px">结束时间不能小于开始时间</p>
</el-form-item>
</el-col>
</el-form>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="timeVisible = false">取 消</el-button>
<el-button type="primary" @click="confirmTime">确 定</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import TableComponent from '@/components/list/table-component'
import { TYPE_LIST, IS_FLLOW, CREATE_TYPE, SOURCE_LIST, OPERATE_LIST } from '@/utils/constants'
export default {
components: {
TableComponent
},
data(){
return {
hcd: [{
diagnoseLogId: '问诊id',
orderNo: '123', // 订单id
diagnoseType: 1, //预约类型1.语音问诊、2.视频问诊、3.图文问诊
diagnoseTypeStr: '语音问诊', //预约类型1.语音问诊、2.视频问诊、3.图文问诊
status: 1,//问诊状态:1、初始状态(未支付) 2、待问诊(支付成功待完善) 3、问诊中(已完善) 4、已问诊
statusStr: '初始状态(未支付)',
operateUserName: '运营人员name',
patientName: '患者name',
idCard: '证件号码',
patientMobilePhone: '患者手机号',
userId: '助诊医生id',
userName: '助诊医生名称',
userMobile: '助诊医生电话',
doctorId: '接诊医生id',
doctorName: '接诊医生名称',
doctorMobile: '接诊医生电话',
appointBeginTime: '预约开始时间',
appointEndTime: '预约结束时间',
diagnoseStage: 1, //诊断阶段1.初诊 2.复诊"
diagnoseStageStr: '初诊',
determineFlag: 1, //是否确诊1.确诊 2.没有确诊
determineFlagStr: 1,
diagnoseDisease: '确诊疾病',
illnessDetail: '病情描述',
diagnoseAdvice: '诊断建议',
followFlag: 1,//是否跟进1.跟进 2不跟进
followFlagStr: '跟进',
drugFollow: '药品跟进',
drugFollowStatus: 1,//药物跟进状态:1 待跟进、2 跟进中(协调资源)、3 已完成(跟进结束)、4 长期跟进")
drugFollowStatusStr: '待跟进',
checkFollow: "检查跟进",
checkFollowStatus: 1,//检查跟进状态:1 待跟进、2 跟进中(协调资源)、3 已完成(跟进结束)、4 长期跟进")
checkFollowStatusStr: '待跟进',
otherFollow: '其他跟进事项',
otherFollowStatus: 1,
otherFollowStatusStr: '待跟进',
createType: 1,//创建方式1.系统创建 2.手动创建
createTypeStr: '系统创建',
appointSource: 1,//预约来源1.铁军反馈、2.主动联系、3.问卷收集、4.微信群反馈、5.话题讨论与回复"
appointSourceStr: '铁军反馈',
createdTime: '创建时间',
operateTime: '匹配时间',
doneTime: '完成时间',
price: '问诊价格单位分',
priceStr: '123',
payType: 1,//支付方式1.代付、2.扫码支付、3.分享支付
payTypeStr: '代付',
sex: 1, //患者性别:1、男 2、女
sexStr: '男',
age:12,//患者年龄
idCardType: 1,//证件类型1居民身份证2护照3港澳通行证
idCardTypeStr: '居民身份证',
userTitle: '助诊医生职称',
userHospital: '助诊医生机构',
userDepartment: '助诊医生科室',
patientRelation: 1,//与患者关系1.自己、2.患者、3.家属、4.朋友
patientRelationStr: '自己',
doctorTitle: '接诊医生职称',
doctorHospital: '接诊医生机构',
doctorDepartment: '接诊医生科室',
doctorSource: 1,//接诊医生来源1.京东、2.同事推荐、3.云鹊医平台
doctorSourceStr: '京东',
serviceFee: '医生服务费单位分',
serviceFeeStr: '12',
crrsName: '招募人',
remark: '备注'
}],
endFlag: false,
beginFlag: false,
loading: false,
activeName: 'first',
timeVisible: false,
searchParam:{
searchVal: '',
diagnoseType: '',
createType: '',
followFlag: '',
appointSource: '',
operateFlag: '',
createdTimeBegin: '',
createdTimeEnd: '',
operateTimeBegin: '',
operateTimeEnd: '',
appointBeginTime: '',
appointEndTime: '',
status: '', //1、初始状态(未支付) 2、待问诊(支付成功待完善) 3、问诊中(已完善) 4、已问诊")
bizType: 1, //1、分页查询 2、导出"
pageSize: 15,
pageNo: 1
},
tyleList: TYPE_LIST,
fllowList: IS_FLLOW,
sourceList: SOURCE_LIST,
createList: CREATE_TYPE,
operateList: OPERATE_LIST,
timeForm:{
diagnoseLogId: '',
beginTime: '',
endTime: ''
},
tableData: [],
totalRows: 0,
timeRules: {
'beginTime': [
{ required: true, message: '请选择预约开始时间', trigger: 'change'}
],
'endTime': [
{ required: true, message: '请选择预约结束时间', trigger: 'change'}
]
},
liveBack: false,
timeClickFlag: true,
endDateOpt: {
disabledData: (time) => {
if ( this.searchParam.createdTimeEnd != "" && this.searchParam.createdTimeEnd != null) {
return (
time.getTime() > new Date(this.searchParam.createdTimeEnd).getTime()
);
}
}
},
endDateOpt1: {
disabledDate: time => {
return (
time.getTime() < new Date(this.searchParam.createdTimeBegin).getTime()
);
}
},
endDateOpt2: {
disabledData: (time) => {
if ( this.searchParam.operateTimeEnd != "" && this.searchParam.operateTimeEnd != null) {
return (
time.getTime() > new Date(this.searchParam.operateTimeEnd).getTime()
);
}
}
},
endDateOpt3: {
disabledDate: time => {
return (
time.getTime() < new Date(this.searchParam.operateTimeBegin).getTime()
);
}
},
endDateOpt4: {
disabledData: (time) => {
if ( this.searchParam.appointEndTime != "" && this.searchParam.appointEndTime != null) {
return (
time.getTime() > new Date(this.searchParam.appointEndTime).getTime()
);
}
}
},
endDateOpt5: {
disabledDate: time => {
return (
time.getTime() < new Date(this.searchParam.appointBeginTime).getTime()
);
}
}
}
},
mounted() {
this.liveBack = this.$route.query.liveBack || false
// if(this.liveBack) {
// this.activeName = 'first'
// this.searchParam.status = ''
// }else {
// this.activeName = 'second'
// this.searchParam.status = 2
// }
this.search()
},
methods: {
changeBeginTime(val) {
this.beginFlag = false
this.endFlag = false
let b = new Date(val).getTime(), e
if(this.timeForm.endTime) {
e = new Date(this.timeForm.endTime).getTime()
}
if(val) this.beginFlag = b > e ? true : false
},
changeEndTime(val) {
this.beginFlag = false
this.endFlag = false
let b = new Date(val).getTime(), e
if(this.timeForm.beginTime) {
e = new Date(this.timeForm.beginTime).getTime()
}
if(val) this.endFlag = b < e ? true : false
},
// tab切换
handleClick(val) {
let tab = 1
switch (val.name) {
case 'first':
tab = ''
break
case 'second':
tab = 2
break
case 'three':
tab = 3
break
case 'four':
tab = 4
break
default:
break
}
this.searchParam.status = tab
this.search()
},
search() {
this.loading = true
let url = `/diagnose/admin/diagnose/list`
this.searchParam.bizType = 1
let params = this.searchParam
this.POST(url, params).then(res => {
this.loading = false
if (res.code == "000000") {
this.tableData = res.data.list
this.totalRows = res.data.allSize
}
});
},
// 重置
reset() {
this.searchParam = {
searchVal: '',
diagnoseType: '',
createType: '',
followFlag: '',
appointSource: '',
operateFlag: '',
createdTimeBegin: '',
createdTimeEnd: '',
operateTimeBegin: '',
operateTimeEnd: '',
appointBeginTime: '',
appointEndTime: '',
status: '', //1、初始状态(未支付) 2、待问诊(支付成功待完善) 3、问诊中(已完善) 4、已问诊")
bizType: 1, //1、分页查询 2、导出"
pageSize: 15,
pageNo: 1
}
this.search()
},
// 导出
download() {
this.searchParam.bizType = 2
let params = this.searchParam
// let url = `/diagnose/admin/diagnose/`
// this.searchParam.bizType = 1
// let params = this.searchParam
// this.POST(url, params).then(res => {
// this.loading = false
// if (res.code == "000000") {
// this.tableData = res.data.list
// this.totalRows = res.data.allSize
// }
// });
downLoadMember(param).then(res => {
if (res.data) {
this.downloadFile(res.data.attachments.base64,res.data.attachments.name);
}
}).catch(err => {
console.log('网络出现点儿问题,稍后重试')
})
},
/* 文件下载*/
downloadFile(base64,name) {
let a = document.createElement('a');
let href = 'data:application/xls;base64,' + base64;
a.setAttribute('href',href);
a.setAttribute('download',name);
a.click();
},
// 预约时间
timeHandle(row) {
this.beginFlag = false
this.endFlag = false
this.timeVisible = true
if(this.$refs.timeForm) {
this.$refs.timeForm.resetFields()
}
this.timeForm.diagnoseLogId = row.diagnoseLogId
this.timeForm.beginTime = row.appointBeginTime
this.timeForm.endTime = row.appointEndTime
},
confirmTime() {
let timeoutId = null
if(this.timeClickFlag) {
this.timeClickFlag = false
timeoutId && clearTimeout(timeoutId)
timeoutId = setTimeout(() => {
this.clickHandle()
}, 2000)
}
},
// 防止按钮多次点击
clickHandle() {
this.$refs.timeForm.validate((valid) => {
if(valid) {
if(this.beginFlag || this.endFlag) {
return
}
this.loading = true
this.POST('/diagnose/admin/diagnose/appointTime', this.timeForm).then(res => {
this.loading = false
this.timeClickFlag = true
if (res.code == "000000") {
this.$message({
message: '修改预约时间成功',
type: "success"
});
this.activeName = 'first'
this.searchParam.status = ''
this.timeVisible = false
this.search()
}else {
this.$message({
message: res.message,
type: "error"
})
}
});
}
})
},
// 结束问诊
endDiagnosis(row) {
this.$confirm('确定结束问诊吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.POST(`/diagnose/admin/diagnose/end/${row.diagnoseLogId}`, '').then(res => {
if (res.code == "000000") {
this.$message({
message: '成功结束问诊',
type: "success"
})
this.activeName = 'first'
this.searchParam.status = ''
this.search()
}else {
this.$message({
message: res.message,
type: "error"
})
}
});
})
},
// 呼叫双方
callAll(row) {
this.$confirm('确定呼叫双方吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.POST(`/diagnose/admin/diagnose/call/${row.diagnoseLogId}`, '').then(res => {
if (res.code != "000000") {
this.$message({
message: res.message,
type: "error"
})
}
})
})
},
// 加入问诊
jionCommunicate(row) {
this.$confirm('确定加入问诊吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.clearSession()
this.$router.push({path: '/diagnosis-live', query: {tid: row.imTeamId, diagnoseLogId: row.diagnoseLogId}})
})
},
// 发送消息
sendMessage(row) {
this.$router.push({path: '/diagnosis-im', query: {tid: row.imTeamId}})
},
// 选择
selectBtn(row) {
this.POST(`/diagnose/admin/diagnose/choose/${row.diagnoseLogId}`, '')
.then(res => {
if (res.code == "000000") {
this.$message({
message: '选择成功',
type: "success"
});
this.searchParam.status = ''
this.search()
}else {
this.$message({
message: res.message,
type: "error"
})
}
})
.catch((error) => {
this.$message({
message: error,
type: "error"
})
})
this.activeName = 'first'
this.searchParam.status = ''
this.search()
},
goEditor(row,flag) {
this.$router.push({path: '/diagnosis-editor', query: {id:row.diagnoseLogId,editorType: flag}})
},
handleSizeChange(value) {
this.searchParam.pageSize = value
this.search()
},
handleCurrentChange(value) {
this.searchParam.pageNo = value
this.search()
},
// 清除直播时间相关的seession
clearSession() {
sessionStorage.removeItem('TIME_askTime')
sessionStorage.removeItem('TIME_answerTime')
sessionStorage.removeItem('TIME_useTime')
sessionStorage.removeItem('TIME_loseTime')
},
}
}
</script>
<style lang="scss" scoped>
.diagnosis-list-content {
.component-content {
padding: 10px;
background: #fff;
overflow: hidden !important;
.title {
margin-bottom: 30px;
}
.t-c {
text-align: center;
}
.btn-wrap {
text-align: right;
}
.submit-btn {
margin-right: 50px;
margin-top: 10px;
}
}
}
</style>
\ No newline at end of file
......@@ -269,75 +269,6 @@ export default {
},
data(){
return {
hcd: [{
diagnoseLogId: '问诊id',
orderNo: '123', // 订单id
diagnoseType: 1, //预约类型1.语音问诊、2.视频问诊、3.图文问诊
diagnoseTypeStr: '语音问诊', //预约类型1.语音问诊、2.视频问诊、3.图文问诊
status: 1,//问诊状态:1、初始状态(未支付) 2、待问诊(支付成功待完善) 3、问诊中(已完善) 4、已问诊
statusStr: '初始状态(未支付)',
operateUserName: '运营人员name',
patientName: '患者name',
idCard: '证件号码',
patientMobilePhone: '患者手机号',
userId: '助诊医生id',
userName: '助诊医生名称',
userMobile: '助诊医生电话',
doctorId: '接诊医生id',
doctorName: '接诊医生名称',
doctorMobile: '接诊医生电话',
appointBeginTime: '预约开始时间',
appointEndTime: '预约结束时间',
diagnoseStage: 1, //诊断阶段1.初诊 2.复诊"
diagnoseStageStr: '初诊',
determineFlag: 1, //是否确诊1.确诊 2.没有确诊
determineFlagStr: 1,
diagnoseDisease: '确诊疾病',
illnessDetail: '病情描述',
diagnoseAdvice: '诊断建议',
followFlag: 1,//是否跟进1.跟进 2不跟进
followFlagStr: '跟进',
drugFollow: '药品跟进',
drugFollowStatus: 1,//药物跟进状态:1 待跟进、2 跟进中(协调资源)、3 已完成(跟进结束)、4 长期跟进")
drugFollowStatusStr: '待跟进',
checkFollow: "检查跟进",
checkFollowStatus: 1,//检查跟进状态:1 待跟进、2 跟进中(协调资源)、3 已完成(跟进结束)、4 长期跟进")
checkFollowStatusStr: '待跟进',
otherFollow: '其他跟进事项',
otherFollowStatus: 1,
otherFollowStatusStr: '待跟进',
createType: 1,//创建方式1.系统创建 2.手动创建
createTypeStr: '系统创建',
appointSource: 1,//预约来源1.铁军反馈、2.主动联系、3.问卷收集、4.微信群反馈、5.话题讨论与回复"
appointSourceStr: '铁军反馈',
createdTime: '创建时间',
operateTime: '匹配时间',
doneTime: '完成时间',
price: '问诊价格单位分',
priceStr: '123',
payType: 1,//支付方式1.代付、2.扫码支付、3.分享支付
payTypeStr: '代付',
sex: 1, //患者性别:1、男 2、女
sexStr: '男',
age:12,//患者年龄
idCardType: 1,//证件类型1居民身份证2护照3港澳通行证
idCardTypeStr: '居民身份证',
userTitle: '助诊医生职称',
userHospital: '助诊医生机构',
userDepartment: '助诊医生科室',
patientRelation: 1,//与患者关系1.自己、2.患者、3.家属、4.朋友
patientRelationStr: '自己',
doctorTitle: '接诊医生职称',
doctorHospital: '接诊医生机构',
doctorDepartment: '接诊医生科室',
doctorSource: 1,//接诊医生来源1.京东、2.同事推荐、3.云鹊医平台
doctorSourceStr: '京东',
serviceFee: '医生服务费单位分',
serviceFeeStr: '12',
crrsName: '招募人',
remark: '备注'
}],
endFlag: false,
beginFlag: false,
loading: false,
......@@ -524,20 +455,11 @@ export default {
},
// 导出
download() {
this.searchParam.bizType = 2
let url = `/diagnose/admin/diagnose/export`
let params = this.searchParam
// let url = `/diagnose/admin/diagnose/`
// this.searchParam.bizType = 1
// let params = this.searchParam
// this.POST(url, params).then(res => {
// this.loading = false
// if (res.code == "000000") {
// this.tableData = res.data.list
// this.totalRows = res.data.allSize
// }
// });
downLoadMember(param).then(res => {
if (res.data) {
params.bizType = 2
this.POST(url, params).then(res => {
if (res.code == "000000") {
this.downloadFile(res.data.attachments.base64,res.data.attachments.name);
}
}).catch(err => {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册