提交 b0e4bf8c 编写于 作者: xingli.wu's avatar xingli.wu

Merge branch 'feature/wxl' into 'release'

feat: 新增新诊室跳转 & 敏感信息卡片

See merge request !301
...@@ -17,4 +17,4 @@ VUE_APP_IS_LOCAL=true ...@@ -17,4 +17,4 @@ VUE_APP_IS_LOCAL=true
VUE_APP_APPID=wxf4e66242d31c81c2 VUE_APP_APPID=wxf4e66242d31c81c2
#本地token #本地token
VUE_APP_TOKEN=94F2E2E006D74C6EB5CCFC15F67DE31A VUE_APP_TOKEN=E214A2D6B40345F98DE538DA793CF918
...@@ -96,7 +96,7 @@ export const getCountQuery = async (params) => { ...@@ -96,7 +96,7 @@ export const getCountQuery = async (params) => {
return request({ return request({
url: '/diagnose/admin/diagnose/countQuery', url: '/diagnose/admin/diagnose/countQuery',
method: 'post', method: 'post',
data: params data: params,
}); });
}; };
...@@ -337,3 +337,11 @@ export const personnelList = async () => { ...@@ -337,3 +337,11 @@ export const personnelList = async () => {
method: 'get', method: 'get',
}); });
}; };
// 根据订单id获取群ID和群用户名
export const getUserIdByDiagnoseLogId = async (diagnoseLogId) => {
return request({
url: `/diagnose/admin/diagnose/team/${diagnoseLogId}`,
method: 'get',
});
};
...@@ -29,14 +29,16 @@ ...@@ -29,14 +29,16 @@
:label="item.label" :label="item.label"
:show-overflow-tooltip="item.showtooltip" :show-overflow-tooltip="item.showtooltip"
:sortable=" :sortable="
item.prop == 'appointBeginTime' || item.prop == 'assistantBeginTime' || item.prop == 'appointBeginTime' ||
item.prop == 'assistantTime' || item.prop == 'receptionTime' item.prop == 'assistantBeginTime' ||
item.prop == 'assistantTime' ||
item.prop == 'receptionTime'
? 'custom' ? 'custom'
: false : false
" "
min-width="170" min-width="170"
align="center" align="center"
:fixed="item.fixed||false" :fixed="item.fixed || false"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.column.property == 'appointBeginTime'"> <div v-if="scope.column.property == 'appointBeginTime'">
...@@ -54,17 +56,22 @@ ...@@ -54,17 +56,22 @@
<div v-else-if="scope.column.property == 'assistantTime'"> <div v-else-if="scope.column.property == 'assistantTime'">
<div <div
:style="{ :style="{
color: scope.row.diagnoseChannel === 3 && scope.row.status === 3 ? 'red' : '' color:
scope.row.diagnoseChannel === 3 && scope.row.status === 3
? 'red'
: '',
}" }"
> >
<p v-if="scope.row.diagnoseChannel === 3 && scope.row.status === 3"> <p
v-if="scope.row.diagnoseChannel === 3 && scope.row.status === 3"
>
距自动结束还剩 距自动结束还剩
</p> </p>
<p>{{ goTime(scope.row.assistantTime) }}</p> <p>{{ goTime(scope.row.assistantTime) }}</p>
</div> </div>
</div> </div>
<div v-else-if="scope.column.property == 'receptionTime'"> <div v-else-if="scope.column.property == 'receptionTime'">
<div :style="{ color: isReceptionTime(scope) ? 'red' : ''}"> <div :style="{ color: isReceptionTime(scope) ? 'red' : '' }">
<p v-if="isReceptionTime(scope)"> <p v-if="isReceptionTime(scope)">
距自动取消还剩 距自动取消还剩
</p> </p>
...@@ -151,7 +158,7 @@ ...@@ -151,7 +158,7 @@
</el-button> </el-button>
<!-- 问诊方式不能为小程序问诊 scope.row.diagnoseChannel!==3隐藏发送消息 --> <!-- 问诊方式不能为小程序问诊 scope.row.diagnoseChannel!==3隐藏发送消息 -->
<el-button <el-button
v-if="showBtn(scope.row, 3, 4, 5, 6, 21, 22, 23, 24, 25, 26) && scope.row.diagnoseChannel !== 3" v-if="showBtn(scope.row, 3, 4, 5, 6, 21, 22, 23, 24, 25, 26)"
type="primary" type="primary"
size="small" size="small"
class="btn" class="btn"
...@@ -215,7 +222,11 @@ ...@@ -215,7 +222,11 @@
手动打回 手动打回
</el-button> </el-button>
<el-button <el-button
v-if="scope.row.diagnoseType !== 4 && showBtn(scope.row, 3, 26) && scope.row.diagnoseChannel !== 3" v-if="
scope.row.diagnoseType !== 4 &&
showBtn(scope.row, 3, 26) &&
scope.row.diagnoseChannel !== 3
"
type="primary" type="primary"
size="small" size="small"
class="btn" class="btn"
...@@ -245,7 +256,7 @@ ...@@ -245,7 +256,7 @@
type="primary" type="primary"
size="small" size="small"
class="btn" class="btn"
@click="callAssistant(scope.row,)" @click="callAssistant(scope.row)"
> >
{{ scope.row.consultRoadType == 2 ? '呼叫居民' : '呼叫助诊医生' }} {{ scope.row.consultRoadType == 2 ? '呼叫居民' : '呼叫助诊医生' }}
</el-button> </el-button>
...@@ -272,195 +283,201 @@ ...@@ -272,195 +283,201 @@
</template> </template>
<script> <script>
import { DIAGNOS_LIST_NEW } from '@/utils/GeneralData/diagnosis-list-new'; import { DIAGNOS_LIST_NEW } from '@/utils/GeneralData/diagnosis-list-new';
import TabSet from '@/components/common/tab-set'; import TabSet from '@/components/common/tab-set';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import duration from 'dayjs/plugin/duration'; import duration from 'dayjs/plugin/duration';
dayjs.extend(duration); dayjs.extend(duration);
export default { export default {
components: { components: {
TabSet, TabSet,
}, },
props: { props: {
menuType: { menuType: {
type: Number, type: Number,
default: 1, default: 1,
},
loading: {
type: Boolean,
default: false,
},
tableData: {
type: Array,
default() {
return [];
},
},
saveTableData: {
type: Array,
default() {
return [];
},
},
searchParam: {
type: Object,
default: () => {},
},
totalRows: {
type: Number,
default: 0,
},
tableHeight: {
type: Number,
default: 500,
},
multipleSelection: {
type: Array,
default: () => {
return [];
},
},
}, },
data() { loading: {
return { type: Boolean,
dtTableData: DIAGNOS_LIST_NEW, default: false,
showTableData: DIAGNOS_LIST_NEW, },
isFreash: true, tableData: {
}; type: Array,
}, default() {
watch: {}, return [];
mounted() {
this.showTableData = this.saveTableData;
},
methods: {
// 获取展示的tab
updateTableProps(newdata) {
this.showTableData = newdata;
this.$emit('getTableData', newdata);
},
reFeach() {
this.isFreash = false;
this.$nextTick(() => {
this.isFreash = true;
});
}, },
// 选中的数据 },
handleSelectionChange(val) { saveTableData: {
this.multipleSelection = val; type: Array,
this.$emit('update:multipleSelection', this.multipleSelection); default() {
return [];
}, },
sortfunc(data) { },
this.$emit('sortfunc', data); searchParam: {
type: Object,
default: () => {},
},
totalRows: {
type: Number,
default: 0,
},
tableHeight: {
type: Number,
default: 500,
},
multipleSelection: {
type: Array,
default: () => {
return [];
}, },
showBtn(row, ...arr) { },
return arr.includes(row.status); },
data() {
return {
dtTableData: DIAGNOS_LIST_NEW,
showTableData: DIAGNOS_LIST_NEW,
isFreash: true,
};
},
watch: {},
mounted() {
this.showTableData = this.saveTableData;
},
methods: {
// 获取展示的tab
updateTableProps(newdata) {
this.showTableData = newdata;
this.$emit('getTableData', newdata);
},
reFeach() {
this.isFreash = false;
this.$nextTick(() => {
this.isFreash = true;
});
},
// 选中的数据
handleSelectionChange(val) {
this.multipleSelection = val;
this.$emit('update:multipleSelection', this.multipleSelection);
},
sortfunc(data) {
this.$emit('sortfunc', data);
},
showBtn(row, ...arr) {
return arr.includes(row.status);
// return true; // return true;
},
// 分页
handleSizeChange(value) {
this.$emit('handleSizeChange', value);
},
handleCurrentChange(value) {
this.$emit('handleCurrentChange', value);
},
// 设为待问诊
witeDiagnose(row) {
this.$emit('witeDiagnose', row);
},
// 更换运营
changeRun(row) {
this.$emit('changeRun', row);
},
// 查看详情 \编辑
goDetail(row, flag) {
this.$emit('goDetail', row, flag);
},
// 取消/退款
cancelRefund(row) {
this.$emit('cancelRefund', row);
},
// 设为稍后跟进
witeGo(row) {
this.$emit('witeGo', row);
},
// 申请取消
applyCancel(row) {
this.$emit('applyCancel', row);
},
// 设为待匹配医生
waitMatchDot(row) {
this.$emit('waitMatchDot', row);
},
// 修改科室
updateDepartId(row) {
this.$emit('updateDepartId', row);
},
// 发送消息
sendMessage(row) {
this.$emit('sendMessage', row);
},
// 加入问诊
joinDiagnose(row) {
this.$emit('joinDiagnose', row);
},
// 匹配运营
// matchRun(row) {
// this.$emit("matchRun", row);
// },
// 设为待分诊
// waitDiagnose(row) {
// this.$emit("waitDiagnose", row);
// },
// 设为待协调医生
waitHzeDot(row) {
this.$emit('waitHzeDot', row);
},
// 设为待确认时间
waitMatchTime(row) {
this.$emit('waitMatchTime', row);
},
// 设为待确认时间
changeTimeNew(row) {
this.$emit('waitMatchTime', row, true);
},
// 重新匹配医生
reMatchDot(row, type) {
this.$emit('reMatchDot', row, type);
},
// 修改时间
changeTime(row) {
this.$emit('changeTime', row);
},
// 发起问诊
// call(row) {
// this.$emit("call", row);
// },
// 设为已完成
doneHandle(row) {
this.$emit('doneHandle', row);
},
goEdite(row) {
this.$emit('goEdite', row);
},
setOffice(value) {
this.$emit('setOffice', value);
},
callAssistant(row) {
this.$emit('callAssistant', row);
},
// 转成时分秒
goTime(time) {
return dayjs.duration(time, 'seconds').format('HH:mm:ss');
},
isReceptionTime(scope) {
if (scope.row.diagnoseChannel === 3
&& (scope.row.status === 2 || scope.row.status === 21 || scope.row.status === 22
|| scope.row.status === 23 || scope.row.status === 24 || scope.row.status === 25
|| scope.row.status === 26)
) return true;
},
}, },
}; // 分页
handleSizeChange(value) {
this.$emit('handleSizeChange', value);
},
handleCurrentChange(value) {
this.$emit('handleCurrentChange', value);
},
// 设为待问诊
witeDiagnose(row) {
this.$emit('witeDiagnose', row);
},
// 更换运营
changeRun(row) {
this.$emit('changeRun', row);
},
// 查看详情 \编辑
goDetail(row, flag) {
this.$emit('goDetail', row, flag);
},
// 取消/退款
cancelRefund(row) {
this.$emit('cancelRefund', row);
},
// 设为稍后跟进
witeGo(row) {
this.$emit('witeGo', row);
},
// 申请取消
applyCancel(row) {
this.$emit('applyCancel', row);
},
// 设为待匹配医生
waitMatchDot(row) {
this.$emit('waitMatchDot', row);
},
// 修改科室
updateDepartId(row) {
this.$emit('updateDepartId', row);
},
// 发送消息
sendMessage(row) {
this.$emit('sendMessage', row);
},
// 加入问诊
joinDiagnose(row) {
this.$emit('joinDiagnose', row);
},
// 匹配运营
// matchRun(row) {
// this.$emit("matchRun", row);
// },
// 设为待分诊
// waitDiagnose(row) {
// this.$emit("waitDiagnose", row);
// },
// 设为待协调医生
waitHzeDot(row) {
this.$emit('waitHzeDot', row);
},
// 设为待确认时间
waitMatchTime(row) {
this.$emit('waitMatchTime', row);
},
// 设为待确认时间
changeTimeNew(row) {
this.$emit('waitMatchTime', row, true);
},
// 重新匹配医生
reMatchDot(row, type) {
this.$emit('reMatchDot', row, type);
},
// 修改时间
changeTime(row) {
this.$emit('changeTime', row);
},
// 发起问诊
// call(row) {
// this.$emit("call", row);
// },
// 设为已完成
doneHandle(row) {
this.$emit('doneHandle', row);
},
goEdite(row) {
this.$emit('goEdite', row);
},
setOffice(value) {
this.$emit('setOffice', value);
},
callAssistant(row) {
this.$emit('callAssistant', row);
},
// 转成时分秒
goTime(time) {
return dayjs.duration(time, 'seconds').format('HH:mm:ss');
},
isReceptionTime(scope) {
if (
scope.row.diagnoseChannel === 3 &&
(scope.row.status === 2 ||
scope.row.status === 21 ||
scope.row.status === 22 ||
scope.row.status === 23 ||
scope.row.status === 24 ||
scope.row.status === 25 ||
scope.row.status === 26)
)
return true;
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -5,6 +5,7 @@ console.log('store ', store); ...@@ -5,6 +5,7 @@ console.log('store ', store);
// 本地调试增加token和systemType // 本地调试增加token和systemType
if (process.env.VUE_APP_ENV === 'development') { if (process.env.VUE_APP_ENV === 'development') {
console.log(123);
window.localStorage.setItem('token', process.env.VUE_APP_TOKEN); window.localStorage.setItem('token', process.env.VUE_APP_TOKEN);
window.localStorage.setItem('systemType', process.env.VUE_APP_SYSTEM_TYPE); window.localStorage.setItem('systemType', process.env.VUE_APP_SYSTEM_TYPE);
} }
...@@ -61,6 +61,15 @@ ...@@ -61,6 +61,15 @@
src="../../../assets/image/IM/loading-icon-new.png" src="../../../assets/image/IM/loading-icon-new.png"
alt alt
> >
<div
v-if="item.showType == -1"
class="mid-text-wrapper"
style="max-width: 520px;"
>
<div class="mid-text">
{{ item.text }}
</div>
</div>
<div <div
v-if="item.showType == 1" v-if="item.showType == 1"
class="mid-text-wrapper" class="mid-text-wrapper"
......
...@@ -670,7 +670,8 @@ import { ...@@ -670,7 +670,8 @@ import {
getCountQuery, getCountQuery,
getDepartments, getDepartments,
reMatchDoctor, reMatchDoctor,
personnelList personnelList,
getUserIdByDiagnoseLogId,
} from '@/api/diagnosis'; } from '@/api/diagnosis';
import { DIAGNOS_LIST_NEW } from '@/utils/GeneralData/diagnosis-list-new'; import { DIAGNOS_LIST_NEW } from '@/utils/GeneralData/diagnosis-list-new';
import { import {
...@@ -685,7 +686,7 @@ import { ...@@ -685,7 +686,7 @@ import {
TRIAGE_TAB_LIST, TRIAGE_TAB_LIST,
TYPE_LIST, TYPE_LIST,
DIAGNOSE_CHANNEL, DIAGNOSE_CHANNEL,
FOLLOW_STATUS_LIST FOLLOW_STATUS_LIST,
} from '@/utils/constants'; } from '@/utils/constants';
import { outbounNote } from '../../../api/diagnosis'; import { outbounNote } from '../../../api/diagnosis';
import { callAssistantDoctor, updateDiagnosis } from '../../../utils/diagnosis'; import { callAssistantDoctor, updateDiagnosis } from '../../../utils/diagnosis';
...@@ -734,7 +735,7 @@ export default { ...@@ -734,7 +735,7 @@ export default {
orderRangeTime: '', orderRangeTime: '',
completeRangeTime: '', completeRangeTime: '',
assistantTime: '', assistantTime: '',
followDateTime:'', followDateTime: '',
depList: [], depList: [],
tabrefresh: true, tabrefresh: true,
searchParam: { searchParam: {
...@@ -756,8 +757,8 @@ export default { ...@@ -756,8 +757,8 @@ export default {
doneTimeEnd: '', doneTimeEnd: '',
assistantBeginTime: '', assistantBeginTime: '',
assistantEndTime: '', assistantEndTime: '',
followDateBegin:'', followDateBegin: '',
followDateEnd:'', followDateEnd: '',
pageSize: 15, pageSize: 15,
pageNo: 1, pageNo: 1,
menuType: 1, // 菜单类型:1、all 2、运营 3、待分诊 4、待接诊 5、外呼 menuType: 1, // 菜单类型:1、all 2、运营 3、待分诊 4、待接诊 5、外呼
...@@ -769,8 +770,8 @@ export default { ...@@ -769,8 +770,8 @@ export default {
consultRoadList: [], consultRoadList: [],
diagnoseChannelList: [], diagnoseChannelList: [],
patientName: null, patientName: null,
followOperatorId:'', // 运营id followOperatorId: '', // 运营id
followStatusList:[], // 跟进状态 followStatusList: [], // 跟进状态
}, },
noteList: [], noteList: [],
alltabslist: [], alltabslist: [],
...@@ -856,7 +857,7 @@ export default { ...@@ -856,7 +857,7 @@ export default {
triageDepartment: '', triageDepartment: '',
departmentId: '', departmentId: '',
allTilst: [], allTilst: [],
allPersonnelList:[], allPersonnelList: [],
allList: {}, allList: {},
consultationTypeList: [ consultationTypeList: [
{ {
...@@ -1164,7 +1165,7 @@ export default { ...@@ -1164,7 +1165,7 @@ export default {
orderRangeTime, orderRangeTime,
completeRangeTime, completeRangeTime,
assistantTime, assistantTime,
followDateTime followDateTime,
} = this; } = this;
this.setTime('createdTimeBegin', 'createdTimeEnd', createRangeTime); this.setTime('createdTimeBegin', 'createdTimeEnd', createRangeTime);
this.setTime('cancelTimeBegin', 'cancelTimeEnd', cancelRangeTime); this.setTime('cancelTimeBegin', 'cancelTimeEnd', cancelRangeTime);
...@@ -1208,7 +1209,7 @@ export default { ...@@ -1208,7 +1209,7 @@ export default {
data.order == 'descending' data.order == 'descending'
) { ) {
this.searchParam.sort = 4; this.searchParam.sort = 4;
} else if(data.prop == 'assistantTime') { } else if (data.prop == 'assistantTime') {
if (data.order == 'ascending') { if (data.order == 'ascending') {
this.searchParam.sort = 5; this.searchParam.sort = 5;
} else { } else {
...@@ -1296,14 +1297,14 @@ export default { ...@@ -1296,14 +1297,14 @@ export default {
doneTimeEnd: '', doneTimeEnd: '',
assistantBeginTime: '', assistantBeginTime: '',
assistantEndTime: '', assistantEndTime: '',
followDateBegin:'', followDateBegin: '',
followDateEnd:'', followDateEnd: '',
inNewTimeObj: {}, inNewTimeObj: {},
consultRoadList: [], consultRoadList: [],
patientName: null, patientName: null,
diagnoseChannelList: [], diagnoseChannelList: [],
followStatusList:[], followStatusList: [],
followOperatorId:'' followOperatorId: '',
}); });
this.getsearch(); this.getsearch();
}, },
...@@ -1430,16 +1431,28 @@ export default { ...@@ -1430,16 +1431,28 @@ export default {
}, },
// 发送消息 // 发送消息
sendMessage(row) { sendMessage(row) {
// this.$router.push({ console.log('sendMessage', row);
// path: '/diagnosis-im',
// query: { tid: row.imTeamId },
// });
const target = this.$refs.target; const target = this.$refs.target;
const { origin } = window.location; const { origin } = window.location;
const u = `${origin}/consultation/pica-admin-consultation/diagnosis-im?tid=${row.imTeamId}`; let url = `${origin}/consultation/pica-admin-consultation/diagnosis-im?tid=${row.imTeamId}`;
target.setAttribute('href', u); // 小程序问诊跳新的项目,本地跳转会不生效。 需要启动该项目 http://192.168.110.53/com.pica.cloud.education.frontend/pica-turborepo/tree/release/apps/pica-chat
target.click(); if (row.diagnoseChannel === 3) {
getUserIdByDiagnoseLogId(row.diagnoseLogId)
.then((res) => {
if (res.code === '000000') {
const { userId } = res.data;
url = `${origin}/new-pica-consultation?userId=${userId}`;
target.setAttribute('href', url);
target.click();
}
})
.catch((err) => {
console.log('err', err);
});
} else {
target.setAttribute('href', url);
target.click();
}
}, },
// 加入问诊 // 加入问诊
...@@ -1533,7 +1546,7 @@ export default { ...@@ -1533,7 +1546,7 @@ export default {
'上级医生日程改变,提前取消', '上级医生日程改变,提前取消',
'操作失误,重新匹配医生', '操作失误,重新匹配医生',
'助诊医生爽约', '助诊医生爽约',
'科室不对' '科室不对',
]; ];
} }
// this.rematchingOptions= // this.rematchingOptions=
......
...@@ -70,7 +70,7 @@ module.exports = { ...@@ -70,7 +70,7 @@ module.exports = {
port: 8080, port: 8080,
proxy: { proxy: {
'/proxy': { '/proxy': {
target: 'https://dev-sc.yunqueyi.com/', target: 'https://uat-sc.yunqueyi.com/',
ws: false, ws: false,
changeOrigin: true, changeOrigin: true,
secure: true, secure: true,
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册