Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-admin-consultation
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.education.frontend
pica-admin-consultation
提交
7dd7016a
提交
7dd7016a
编写于
4月 17, 2024
作者:
xinglee23
浏览文件
操作
浏览文件
下载
差异文件
feat: 新增小程序后台诊室跳转路径
上级
9151ffb2
d11fde16
变更
17
显示空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
14211 行增加
和
12706 行删除
+14211
-12706
.env.development.local
.env.development.local
+1
-1
package.json
package.json
+2
-2
diagnosis.js
src/api/diagnosis.js
+15
-1
diagnosis-doctor.vue
src/components/common/diagnosis-doctor.vue
+8
-5
upload-img.vue
src/components/editor/upload-img.vue
+35
-9
upload-music.vue
src/components/editor/upload-music.vue
+35
-11
upload-video.vue
src/components/editor/upload-video.vue
+151
-0
table-set-component.vue
src/components/list/table-set-component.vue
+59
-5
global.scss
src/styles/global.scss
+3
-0
diagnosis-list-new.js
src/utils/GeneralData/diagnosis-list-new.js
+67
-54
constants.js
src/utils/constants.js
+101
-4
diagnosis-editor.vue
src/views/IM/diagnosis-admin/diagnosis-editor.vue
+368
-23
diagnosis-im.vue
src/views/IM/diagnosis-admin/diagnosis-im.vue
+46
-10
diagnosis-list-new.vue
src/views/IM/diagnosis-admin/diagnosis-list-new.vue
+178
-51
im.scss
src/views/IM/diagnosis-admin/im.scss
+43
-13
vue.config.js
vue.config.js
+1
-1
yarn.lock
yarn.lock
+13098
-12516
未找到文件。
.env.development.local
浏览文件 @
7dd7016a
...
@@ -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=
26D1BA0C935C4C92BB5BB33EF61D4AD9
VUE_APP_TOKEN=
E214A2D6B40345F98DE538DA793CF918
package.json
浏览文件 @
7dd7016a
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
"
socket.io-client
"
:
"
2.2.0
"
,
"
socket.io-client
"
:
"
2.2.0
"
,
"
storejs
"
:
"
^1.1.0
"
,
"
storejs
"
:
"
^1.1.0
"
,
"
vant
"
:
"
^2.12.27
"
,
"
vant
"
:
"
^2.12.27
"
,
"
vconsole
"
:
"
^3.
3.4
"
,
"
vconsole
"
:
"
^3.
15.1
"
,
"
vue
"
:
"
^2.6.11
"
,
"
vue
"
:
"
^2.6.11
"
,
"
vue-fragment
"
:
"
^1.5.1
"
,
"
vue-fragment
"
:
"
^1.5.1
"
,
"
vue-router
"
:
"
^3.3.1
"
,
"
vue-router
"
:
"
^3.3.1
"
,
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
"devDependencies"
:
{
"devDependencies"
:
{
"
@babel/plugin-proposal-object-rest-spread
"
:
"
^7.11.0
"
,
"
@babel/plugin-proposal-object-rest-spread
"
:
"
^7.11.0
"
,
"
@pica-cli/pica-cli-framework
"
:
"
^1.0.10
"
,
"
@pica-cli/pica-cli-framework
"
:
"
^1.0.10
"
,
"
@pica-cli/vue-cli-plugin-pica-cli-plugin
"
:
"
1.1.5
"
,
"
@pica-cli/vue-cli-plugin-pica-cli-plugin
"
:
"
~1.1.64
"
,
"
@pica-core/multiple-versions-plugin
"
:
"
^1.0.16
"
,
"
@pica-core/multiple-versions-plugin
"
:
"
^1.0.16
"
,
"
@pica-core/reset-pathfile-plugin
"
:
"
^1.0.16
"
,
"
@pica-core/reset-pathfile-plugin
"
:
"
^1.0.16
"
,
"
@pica-core/web-buried-point
"
:
"
^1.0.15
"
,
"
@pica-core/web-buried-point
"
:
"
^1.0.15
"
,
...
...
src/api/diagnosis.js
浏览文件 @
7dd7016a
...
@@ -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
,
});
});
};
};
...
@@ -331,3 +331,17 @@ export const savePCDayCount = async (data) => {
...
@@ -331,3 +331,17 @@ export const savePCDayCount = async (data) => {
method
:
'post'
,
method
:
'post'
,
});
});
};
};
export
const
personnelList
=
async
()
=>
{
return
request
({
url
:
'/contents/admin/homepage/floor/personnelList'
,
method
:
'get'
,
});
};
// 根据订单id获取群ID和群用户名
export
const
getUserIdByDiagnoseLogId
=
async
(
diagnoseLogId
)
=>
{
return
request
({
url
:
`/admin/diagnose/team/
${
diagnoseLogId
}
`
,
method
:
'get'
,
});
};
src/components/common/diagnosis-doctor.vue
浏览文件 @
7dd7016a
...
@@ -77,7 +77,7 @@
...
@@ -77,7 +77,7 @@
<span>
未选定医生
</span>
<span>
未选定医生
</span>
</div>
</div>
<div
class=
"work-info-Num"
>
<div
class=
"work-info-Num"
>
<div
v-if=
"diagnoseType != 4"
>
<div
v-if=
"diagnoseType != 4
&& formData.diagnoseChannel != 3
"
>
<span
<span
class=
"work-info-Num-span"
class=
"work-info-Num-span"
>
可选排班时间(预约已满需要沟通确定时间)
</span>
>
可选排班时间(预约已满需要沟通确定时间)
</span>
...
@@ -194,6 +194,10 @@
...
@@ -194,6 +194,10 @@
return
{};
return
{};
},
},
},
},
diagnoseChannel
:
{
type
:
Number
,
default
:
0
,
},
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -218,7 +222,7 @@
...
@@ -218,7 +222,7 @@
receptionBeginTime
:
''
,
receptionBeginTime
:
''
,
receptionEndTime
:
''
,
receptionEndTime
:
''
,
bizType
:
''
,
bizType
:
''
,
diagnoseChannel
:
1
,
diagnoseChannel
:
null
,
doctorDepartmentId
:
''
,
doctorDepartmentId
:
''
,
},
},
doctorList
:
[],
doctorList
:
[],
...
@@ -291,6 +295,7 @@
...
@@ -291,6 +295,7 @@
)
{
)
{
this
.
refreshData
();
this
.
refreshData
();
}
}
this
.
formData
.
diagnoseChannel
=
!
this
.
diagnoseChannel
?
1
:
this
.
diagnoseChannel
;
},
},
methods
:
{
methods
:
{
getChooseTimeValue
(
value
,
index
)
{
getChooseTimeValue
(
value
,
index
)
{
...
@@ -326,7 +331,6 @@
...
@@ -326,7 +331,6 @@
});
});
},
},
confirm
()
{
confirm
()
{
console
.
log
(
this
.
startTime
,
'starrrr'
);
if
(
this
.
formData
.
receptionName
==
''
)
{
if
(
this
.
formData
.
receptionName
==
''
)
{
this
.
$message
({
this
.
$message
({
message
:
'请先选择接诊医生'
,
message
:
'请先选择接诊医生'
,
...
@@ -335,7 +339,7 @@
...
@@ -335,7 +339,7 @@
});
});
return
false
;
return
false
;
}
}
if
(
this
.
startTime
==
''
&&
this
.
diagnoseType
!=
4
)
{
if
(
this
.
startTime
==
''
&&
this
.
diagnoseType
!=
4
&&
this
.
formData
.
diagnoseChannel
!=
3
)
{
this
.
$message
({
this
.
$message
({
message
:
'请选择排班时间'
,
message
:
'请选择排班时间'
,
type
:
'warning'
,
type
:
'warning'
,
...
@@ -409,7 +413,6 @@
...
@@ -409,7 +413,6 @@
doctorChanged
(
value
)
{
doctorChanged
(
value
)
{
const
selected
=
this
.
doctorList
.
find
((
item
)
=>
item
.
doctorId
===
value
);
const
selected
=
this
.
doctorList
.
find
((
item
)
=>
item
.
doctorId
===
value
);
if
(
selected
)
{
if
(
selected
)
{
console
.
log
(
selected
,
'selected'
);
this
.
formData
.
receptionId
=
value
;
this
.
formData
.
receptionId
=
value
;
this
.
formData
.
receptionName
=
selected
.
doctorName
;
this
.
formData
.
receptionName
=
selected
.
doctorName
;
this
.
formData
.
doctorTitle
=
selected
.
doctorTitle
;
this
.
formData
.
doctorTitle
=
selected
.
doctorTitle
;
...
...
src/components/editor/upload-img.vue
浏览文件 @
7dd7016a
<
template
>
<
template
>
<div>
<div>
<el-upload
<el-upload
:action=
"actionurl
"
action=
"#
"
:headers=
"headers"
:headers=
"headers"
:disabled=
"isDisable"
:disabled=
"isDisable"
list-type=
"picture-card"
list-type=
"picture-card"
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
:on-exceed=
"handleExceed"
:on-exceed=
"handleExceed"
:file-list=
"imgArr"
:file-list=
"imgArr"
:accept=
"accept"
:accept=
"accept"
:before-upload=
"beforeUploadFile"
>
>
<i
class=
"el-icon-plus"
/>
<i
class=
"el-icon-plus"
/>
</el-upload>
</el-upload>
...
@@ -26,7 +27,10 @@
...
@@ -26,7 +27,10 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getBaseUrl
}
from
'@/utils/index'
;
import
{
doUpload
,
getFilePath
}
from
'@/utils/qiniu-util'
;
import
{
openLoading
,
closeLoading
}
from
'@/utils/utils'
;
let
_this
=
null
;
export
default
{
export
default
{
props
:
{
props
:
{
isDisable
:
{
isDisable
:
{
...
@@ -48,17 +52,20 @@
...
@@ -48,17 +52,20 @@
headers
:
{
headers
:
{
token
:
localStorage
.
getItem
(
'token'
),
token
:
localStorage
.
getItem
(
'token'
),
},
},
actionurl
:
'#'
,
accept
:
'image/png,image/jpeg,image/jpg'
,
accept
:
'.png,.jpeg'
,
};
};
},
},
watch
:
{
watch
:
{
imgList
(
newv
)
{
imgList
(
newv
)
{
this
.
imgArr
=
newv
;
const
newImageList
=
newv
?.
filter
(
item
=>
{
const
videoUrl
=
item
?.
url
.
endsWith
(
'.jpeg'
)
||
item
?.
url
.
endsWith
(
'.png'
)
||
item
?.
url
.
endsWith
(
'.jpg'
);
if
(
videoUrl
)
return
item
;
});
this
.
imgArr
=
newImageList
;
},
},
},
},
created
()
{
created
()
{
this
.
actionurl
=
getBaseUrl
(
'/diagnose/illness/file'
)
;
_this
=
this
;
},
},
methods
:
{
methods
:
{
handleRemove
(
file
,
fileList
)
{
handleRemove
(
file
,
fileList
)
{
...
@@ -85,15 +92,34 @@
...
@@ -85,15 +92,34 @@
const
newArr
=
[];
const
newArr
=
[];
if
(
this
.
imgArr
&&
this
.
imgArr
.
length
)
{
if
(
this
.
imgArr
&&
this
.
imgArr
.
length
)
{
this
.
imgArr
.
forEach
((
item
)
=>
{
this
.
imgArr
.
forEach
((
item
)
=>
{
if
(
item
.
response
)
{
if
(
item
.
url
&&
item
.
status
===
'success'
)
{
newArr
.
push
(
item
.
response
.
data
);
}
else
if
(
item
.
url
&&
item
.
from
)
{
newArr
.
push
(
item
.
url
);
newArr
.
push
(
item
.
url
);
}
}
});
});
}
}
return
newArr
;
return
newArr
;
},
},
beforeUploadFile
(
file
)
{
openLoading
(
_this
);
doUpload
(
_this
,
file
,
getFilePath
(
file
,
null
),
null
,
null
,
1
).
then
(
function
(
res
)
{
closeLoading
(
_this
);
const
fileItem
=
{
name
:
res
.
name
,
size
:
res
.
size
,
status
:
'success'
,
url
:
res
.
fullPath
};
_this
.
imgArr
.
push
(
fileItem
);
_this
.
$message
.
success
(
'上传成功'
);
});
},
},
},
};
};
</
script
>
</
script
>
...
...
src/components/editor/upload-music.vue
浏览文件 @
7dd7016a
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
class=
"upload-demo"
class=
"upload-demo"
:disabled=
"isDisable"
:disabled=
"isDisable"
:before-upload=
"beforeMusicUpload"
:before-upload=
"beforeMusicUpload"
:action=
"actionurl
"
action=
"#
"
:headers=
"headers"
:headers=
"headers"
:on-remove=
"handleRemove"
:on-remove=
"handleRemove"
:on-success=
"sucess"
:on-success=
"sucess"
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
slot=
"tip"
slot=
"tip"
class=
"el-upload__tip"
class=
"el-upload__tip"
>
>
音频格式:mp3
音频格式:mp3
、mp4
</p>
</p>
<ul
<ul
slot=
"tip"
slot=
"tip"
...
@@ -48,7 +48,9 @@
...
@@ -48,7 +48,9 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getBaseUrl
}
from
'@/utils/index'
;
import
{
doUpload
,
getFilePath
}
from
'@/utils/qiniu-util'
;
import
{
openLoading
,
closeLoading
}
from
'@/utils/utils'
;
let
_this
=
null
;
export
default
{
export
default
{
props
:
{
props
:
{
isDisable
:
{
isDisable
:
{
...
@@ -67,24 +69,28 @@
...
@@ -67,24 +69,28 @@
dialogImageUrl
:
''
,
dialogImageUrl
:
''
,
dialogVisible
:
false
,
dialogVisible
:
false
,
musicArr
:
[],
musicArr
:
[],
actionUrl
:
''
,
headers
:
{
headers
:
{
token
:
localStorage
.
getItem
(
'token'
),
token
:
localStorage
.
getItem
(
'token'
),
},
},
loading
:
false
,
loading
:
false
,
accept
:
'.mp3,.mpeg'
,
accept
:
'.mp3,.mpeg
,.mp4
'
,
};
};
},
},
watch
:
{
watch
:
{
musicList
(
newv
)
{
musicList
(
newv
)
{
console
.
log
(
newv
);
console
.
log
(
newv
);
this
.
musicArr
=
newv
||
[];
const
newVideoList
=
newv
?.
filter
(
item
=>
{
const
suffixUrl
=
item
?.
url
.
substring
(
item
?.
url
.
lastIndexOf
(
'/'
)
+
1
);
// 接口不返回name,上传数据列表名称展示为截取url最后“/”后面的内容
item
.
name
=
suffixUrl
;
return
item
;
});
this
.
musicArr
=
newVideoList
||
[];
},
},
},
},
created
()
{
created
()
{
_this
=
this
;
this
.
musicArr
=
this
.
musicList
;
this
.
musicArr
=
this
.
musicList
;
console
.
log
(
console
.
log
(
'this.musicList'
,
this
.
musicArr
));
console
.
log
(
console
.
log
(
'this.musicList'
,
this
.
musicArr
));
this
.
actionurl
=
getBaseUrl
(
'/diagnose/illness/audio/upload'
);
},
},
methods
:
{
methods
:
{
musicUrl
(
item
)
{
musicUrl
(
item
)
{
...
@@ -114,14 +120,32 @@
...
@@ -114,14 +120,32 @@
this
.
loading
=
false
;
this
.
loading
=
false
;
},
},
// 上传mp3
// 上传mp3
beforeMusicUpload
()
{},
beforeMusicUpload
(
file
)
{
openLoading
(
_this
);
doUpload
(
_this
,
file
,
getFilePath
(
file
,
null
),
null
,
null
,
''
).
then
(
function
(
res
)
{
closeLoading
(
_this
);
const
fileItem
=
{
name
:
res
.
name
?
res
.
name
:
res
.
fullPath
,
size
:
res
.
size
,
status
:
'success'
,
url
:
res
.
fullPath
};
_this
.
musicArr
.
push
(
fileItem
);
_this
.
$message
.
success
(
'上传成功'
);
});
},
setNewArr
()
{
setNewArr
()
{
const
newArr
=
[];
const
newArr
=
[];
if
(
this
.
musicArr
&&
this
.
musicArr
.
length
)
{
if
(
this
.
musicArr
&&
this
.
musicArr
.
length
)
{
this
.
musicArr
.
forEach
((
item
)
=>
{
this
.
musicArr
.
forEach
((
item
)
=>
{
if
(
item
.
data
)
{
if
(
item
.
url
&&
item
.
status
===
'success'
)
{
newArr
.
push
(
item
.
data
.
domainPath
+
item
.
data
.
path
);
}
else
if
(
item
.
url
&&
item
.
from
)
{
newArr
.
push
(
item
.
url
);
newArr
.
push
(
item
.
url
);
}
}
});
});
...
...
src/components/editor/upload-video.vue
0 → 100644
浏览文件 @
7dd7016a
<
template
>
<div
class=
"upload"
>
<el-upload
action=
"#"
:headers=
"headers"
:disabled=
"isDisable"
:on-remove=
"handleRemove"
:on-success=
"sucess"
:on-exceed=
"handleExceed"
:file-list=
"imgArr"
accept=
"video/mp4"
:limit=
"15"
:before-upload=
"beforeUploadFile"
multiple
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
</el-upload>
<div
class=
"upload-main"
>
<video
v-for=
"(value, index) in imgArr"
:key=
"index"
:src=
"value.url"
class=
"upload-main__video"
controls
preload
/>
</div>
</div>
</
template
>
<
script
>
import
{
doUpload
,
getFilePath
}
from
'@/utils/qiniu-util'
;
import
{
openLoading
,
closeLoading
}
from
'@/utils/utils'
;
let
_this
=
null
;
export
default
{
props
:
{
isDisable
:
{
type
:
Boolean
,
default
:
false
,
},
imgList
:
{
type
:
Array
,
default
:
()
=>
{
return
[];
},
},
},
data
()
{
return
{
dialogImageUrl
:
''
,
imgArr
:
[],
headers
:
{
token
:
localStorage
.
getItem
(
'token'
),
},
};
},
watch
:
{
imgList
(
newv
)
{
const
newVideoList
=
newv
?.
filter
(
item
=>
{
const
videoUrl
=
item
?.
url
.
endsWith
(
'.mp4'
);
if
(
videoUrl
)
{
const
suffixUrl
=
item
?.
url
.
substring
(
item
?.
url
.
lastIndexOf
(
'/'
)
+
1
);
// 接口不返回name,上传数据列表名称展示为截取url最后“/”后面的内容
item
.
name
=
suffixUrl
;
return
item
;
}
});
this
.
imgArr
=
newVideoList
;
},
},
created
()
{
_this
=
this
;
},
methods
:
{
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
);
this
.
imgArr
=
fileList
;
},
handleExceed
(
files
,
fileList
)
{
this
.
$message
.
warning
(
`当前限制选择 3 个文件,本次选择了
${
files
.
length
}
个文件,共选择了
${
files
.
length
+
fileList
.
length
}
个文件`
);
},
sucess
(
response
,
file
,
fileList
)
{
console
.
log
(
response
);
console
.
log
(
file
);
this
.
imgArr
=
fileList
;
},
setNewArr
()
{
const
newArr
=
[];
if
(
this
.
imgArr
&&
this
.
imgArr
.
length
)
{
this
.
imgArr
.
forEach
((
item
)
=>
{
if
(
item
.
url
&&
item
.
status
===
'success'
)
{
newArr
.
push
(
item
.
url
);
}
});
}
return
newArr
;
},
beforeUploadFile
(
file
)
{
openLoading
(
_this
);
doUpload
(
_this
,
file
,
getFilePath
(
file
,
null
),
null
,
null
,
''
).
then
(
function
(
res
)
{
closeLoading
(
_this
);
const
fileItem
=
{
name
:
res
.
name
?
res
.
name
:
res
.
fullPath
,
size
:
res
.
size
,
status
:
'success'
,
url
:
res
.
fullPath
};
_this
.
imgArr
.
push
(
fileItem
);
_this
.
$message
.
success
(
'上传成功'
);
});
}
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.upload
{
&
-main
{
overflow-y
:
scroll
;
&
__video
{
margin-top
:
5px
;
margin-right
:
25px
;
width
:
200px
;
height
:
200px
;
object-fit
:
fill
;
}
}
}
/* 隐藏滚动条 */
::-webkit-scrollbar
{
display
:
none
;
}
</
style
>
src/components/list/table-set-component.vue
浏览文件 @
7dd7016a
...
@@ -29,12 +29,16 @@
...
@@ -29,12 +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 == '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"
>
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<div
v-if=
"scope.column.property == 'appointBeginTime'"
>
<div
v-if=
"scope.column.property == 'appointBeginTime'"
>
...
@@ -49,6 +53,31 @@
...
@@ -49,6 +53,31 @@
<p>
{{
scope
.
row
.
receptionBeginTime
}}
</p>
<p>
{{
scope
.
row
.
receptionBeginTime
}}
</p>
<p>
{{
scope
.
row
.
receptionEndTime
}}
</p>
<p>
{{
scope
.
row
.
receptionEndTime
}}
</p>
</div>
</div>
<div
v-else-if=
"scope.column.property == 'assistantTime'"
>
<div
:style=
"
{
color:
scope.row.diagnoseChannel === 3
&&
scope.row.status === 3
? 'red'
: '',
}"
>
<p
v-if=
"scope.row.diagnoseChannel === 3 && scope.row.status === 3"
>
距自动结束还剩
</p>
<p>
{{
goTime
(
scope
.
row
.
assistantTime
)
}}
</p>
</div>
</div>
<div
v-else-if=
"scope.column.property == 'receptionTime'"
>
<div
:style=
"
{ color: isReceptionTime(scope) ? 'red' : '' }">
<p
v-if=
"isReceptionTime(scope)"
>
距自动取消还剩
</p>
<p>
{{
goTime
(
scope
.
row
.
receptionTime
)
}}
</p>
</div>
</div>
<div
v-else
>
<div
v-else
>
<p>
{{
scope
.
row
[
scope
.
column
.
property
]
}}
</p>
<p>
{{
scope
.
row
[
scope
.
column
.
property
]
}}
</p>
</div>
</div>
...
@@ -127,6 +156,7 @@
...
@@ -127,6 +156,7 @@
>
>
修改科室
修改科室
</el-button>
</el-button>
<!-- 问诊方式不能为小程序问诊 scope.row.diagnoseChannel!==3隐藏发送消息 -->
<el-button
<el-button
v-if=
"showBtn(scope.row, 3, 4, 5, 6, 21, 22, 23, 24, 25, 26)"
v-if=
"showBtn(scope.row, 3, 4, 5, 6, 21, 22, 23, 24, 25, 26)"
type=
"primary"
type=
"primary"
...
@@ -192,7 +222,11 @@
...
@@ -192,7 +222,11 @@
手动打回
手动打回
</el-button>
</el-button>
<el-button
<el-button
v-if=
"scope.row.diagnoseType !== 4 && showBtn(scope.row, 3, 26)"
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"
...
@@ -251,6 +285,9 @@
...
@@ -251,6 +285,9 @@
<
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
duration
from
'dayjs/plugin/duration'
;
dayjs
.
extend
(
duration
);
export
default
{
export
default
{
components
:
{
components
:
{
TabSet
,
TabSet
,
...
@@ -406,9 +443,9 @@ export default {
...
@@ -406,9 +443,9 @@ export default {
this
.
$emit
(
'changeTime'
,
row
);
this
.
$emit
(
'changeTime'
,
row
);
},
},
// 发起问诊
// 发起问诊
call
(
row
)
{
//
call(row) {
this
.
$emit
(
'call'
,
row
);
// this.$emit("call"
, row);
},
//
},
// 设为已完成
// 设为已完成
doneHandle
(
row
)
{
doneHandle
(
row
)
{
this
.
$emit
(
'doneHandle'
,
row
);
this
.
$emit
(
'doneHandle'
,
row
);
...
@@ -422,6 +459,23 @@ export default {
...
@@ -422,6 +459,23 @@ export default {
callAssistant
(
row
)
{
callAssistant
(
row
)
{
this
.
$emit
(
'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
>
...
...
src/styles/global.scss
浏览文件 @
7dd7016a
...
@@ -6,6 +6,9 @@
...
@@ -6,6 +6,9 @@
.flex
{
.flex
{
display
:
flex
;
display
:
flex
;
}
}
.flex-1
{
flex
:
1
;
}
.space-between
{
.space-between
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-between
;
justify-content
:
space-between
;
...
...
src/utils/GeneralData/diagnosis-list-new.js
浏览文件 @
7dd7016a
export
const
DIAGNOS_LIST_NEW
=
[
export
const
DIAGNOS_LIST_NEW
=
[
{
{
prop
:
'diagnoseLogId'
,
prop
:
'diagnoseLogId'
,
label
:
'ID'
,
label
:
'
问诊
ID'
,
showtooltip
:
false
,
showtooltip
:
false
,
fixed
:
'left'
,
},
},
{
{
prop
:
'
orderNo
'
,
prop
:
'
userName
'
,
label
:
'
订单ID
'
,
label
:
'
助诊医生
'
,
showtooltip
:
false
,
showtooltip
:
false
,
fixed
:
'left'
,
},
},
{
{
prop
:
'
pric
e'
,
prop
:
'
doctorNam
e'
,
label
:
'
订单金额
'
,
label
:
'
接诊医生
'
,
showtooltip
:
false
,
showtooltip
:
false
,
fixed
:
'left'
,
},
},
{
{
prop
:
'orderPlacer'
,
prop
:
'triageDepartment'
,
label
:
'下单人'
,
label
:
'分诊科室'
,
showtooltip
:
false
,
},
{
prop
:
'patientName'
,
label
:
'患者姓名'
,
showtooltip
:
false
,
},
{
prop
:
'statusStr'
,
label
:
'状态'
,
showtooltip
:
false
,
},
{
prop
:
'price'
,
label
:
'订单金额'
,
showtooltip
:
false
,
showtooltip
:
false
,
},
},
{
{
...
@@ -37,13 +55,43 @@ export const DIAGNOS_LIST_NEW = [
...
@@ -37,13 +55,43 @@ export const DIAGNOS_LIST_NEW = [
with
:
'200'
,
with
:
'200'
,
},
},
{
{
prop
:
'
refundRemark
'
,
prop
:
'
diagnoseChannelStr
'
,
label
:
'
外呼状态
'
,
label
:
'
问诊方式
'
,
showtooltip
:
false
,
showtooltip
:
false
,
},
},
{
{
prop
:
'statusStr'
,
prop
:
'appointBeginTime'
,
label
:
'状态'
,
label
:
'预约时间'
,
showtooltip
:
false
,
},
{
prop
:
'doneTime'
,
label
:
'完成时间'
,
showtooltip
:
false
,
},
{
prop
:
'createdTime'
,
label
:
'创建时间'
,
showtooltip
:
false
,
},
{
prop
:
'assistantBeginTime'
,
label
:
'助诊医生意向时间'
,
showtooltip
:
false
,
},
{
prop
:
'orderNo'
,
label
:
'订单ID'
,
showtooltip
:
false
,
},
{
prop
:
'orderPlacer'
,
label
:
'下单人'
,
showtooltip
:
false
,
},
{
prop
:
'refundRemark'
,
label
:
'外呼状态'
,
showtooltip
:
false
,
showtooltip
:
false
,
},
},
{
{
...
@@ -62,11 +110,15 @@ export const DIAGNOS_LIST_NEW = [
...
@@ -62,11 +110,15 @@ export const DIAGNOS_LIST_NEW = [
showtooltip
:
false
,
showtooltip
:
false
,
},
},
{
{
prop
:
'appointBeginTime'
,
prop
:
'assistantTime'
,
label
:
'预约时间'
,
label
:
'问诊时长'
,
showtooltip
:
false
,
},
{
prop
:
'receptionTime'
,
label
:
'接诊时长'
,
showtooltip
:
false
,
showtooltip
:
false
,
},
},
// appointBeginTime appointEndTime 预约时间
{
{
prop
:
'operateUserId'
,
prop
:
'operateUserId'
,
label
:
'运营人员ID'
,
label
:
'运营人员ID'
,
...
@@ -77,21 +129,11 @@ export const DIAGNOS_LIST_NEW = [
...
@@ -77,21 +129,11 @@ export const DIAGNOS_LIST_NEW = [
label
:
'运营人员'
,
label
:
'运营人员'
,
showtooltip
:
false
,
showtooltip
:
false
,
},
},
{
prop
:
'userName'
,
label
:
'助诊医生'
,
showtooltip
:
false
,
},
{
{
prop
:
'userMobile'
,
prop
:
'userMobile'
,
label
:
'助诊电话'
,
label
:
'助诊电话'
,
showtooltip
:
false
,
showtooltip
:
false
,
},
},
{
prop
:
'assistantBeginTime'
,
label
:
'助诊医生意向时间'
,
showtooltip
:
false
,
},
// assistantBeginTime assistantEndTime 助诊医生意向时间
// assistantBeginTime assistantEndTime 助诊医生意向时间
{
{
prop
:
'assistantRemark'
,
prop
:
'assistantRemark'
,
...
@@ -103,21 +145,11 @@ export const DIAGNOS_LIST_NEW = [
...
@@ -103,21 +145,11 @@ export const DIAGNOS_LIST_NEW = [
label
:
'预约科室'
,
label
:
'预约科室'
,
showtooltip
:
false
,
showtooltip
:
false
,
},
},
{
prop
:
'triageDepartment'
,
label
:
'分诊科室'
,
showtooltip
:
false
,
},
{
{
prop
:
'triageRemark'
,
prop
:
'triageRemark'
,
label
:
'分诊备注'
,
label
:
'分诊备注'
,
showtooltip
:
true
,
showtooltip
:
true
,
},
},
{
prop
:
'doctorName'
,
label
:
'接诊医生'
,
showtooltip
:
false
,
},
{
{
prop
:
'outsideDoctor'
,
prop
:
'outsideDoctor'
,
label
:
'站外医生姓名'
,
label
:
'站外医生姓名'
,
...
@@ -134,11 +166,7 @@ export const DIAGNOS_LIST_NEW = [
...
@@ -134,11 +166,7 @@ export const DIAGNOS_LIST_NEW = [
showtooltip
:
false
,
showtooltip
:
false
,
},
},
// receptionBeginTime receptionEndTime 接诊医生意向时间
// receptionBeginTime receptionEndTime 接诊医生意向时间
{
prop
:
'patientName'
,
label
:
'患者姓名'
,
showtooltip
:
false
,
},
{
{
prop
:
'age'
,
prop
:
'age'
,
label
:
'患者年龄'
,
label
:
'患者年龄'
,
...
@@ -199,26 +227,11 @@ export const DIAGNOS_LIST_NEW = [
...
@@ -199,26 +227,11 @@ export const DIAGNOS_LIST_NEW = [
label
:
'招募人'
,
label
:
'招募人'
,
showtooltip
:
false
,
showtooltip
:
false
,
},
},
{
prop
:
'diagnoseChannelStr'
,
label
:
'问诊方式'
,
showtooltip
:
false
,
},
{
prop
:
'doneTime'
,
label
:
'完成时间'
,
showtooltip
:
false
,
},
{
{
prop
:
'cancelTime'
,
prop
:
'cancelTime'
,
label
:
'退款时间'
,
label
:
'退款时间'
,
showtooltip
:
false
,
showtooltip
:
false
,
},
},
{
prop
:
'createdTime'
,
label
:
'创建时间'
,
showtooltip
:
false
,
},
{
{
prop
:
'followFlagStr'
,
prop
:
'followFlagStr'
,
label
:
'是否跟进'
,
label
:
'是否跟进'
,
...
...
src/utils/constants.js
浏览文件 @
7dd7016a
...
@@ -5,10 +5,6 @@
...
@@ -5,10 +5,6 @@
// 预约类型list
// 预约类型list
export
const
TYPE_LIST
=
[
export
const
TYPE_LIST
=
[
{
label
:
'全部'
,
value
:
''
,
},
{
{
label
:
'语音问诊'
,
label
:
'语音问诊'
,
value
:
1
,
value
:
1
,
...
@@ -667,3 +663,104 @@ export const TABLE_COLUMN = [
...
@@ -667,3 +663,104 @@ export const TABLE_COLUMN = [
showtooltip
:
true
,
showtooltip
:
true
,
},
},
];
];
export
const
DIAGNOSE_CHANNEL
=
[
{
label
:
'app问诊'
,
value
:
1
,
},
{
label
:
'线下问诊'
,
value
:
2
,
},
{
label
:
'小程序问诊'
,
value
:
3
,
},
];
// 跟进状态
export
const
FOLLOW_STATUS_LIST
=
[
{
label
:
'待跟进'
,
value
:
1
,
},
{
label
:
'跟进中'
,
value
:
2
,
},
{
label
:
'已完成'
,
value
:
3
,
},
];
// 药品跟进结果
export
const
MEDICINE_FOLLOW_STATUS_LIST
=
[
{
label
:
'成交中药'
,
value
:
1
,
},
{
label
:
'成交西药'
,
value
:
2
,
},
{
label
:
'自备中药'
,
value
:
3
,
},
{
label
:
'自备西药'
,
value
:
4
,
},
];
// 治疗效果跟进状态
export
const
HEALING_EFFECT_FOLLOW_STATUS
=
[
{
label
:
'待跟进'
,
value
:
1
,
},
{
label
:
'跟进中'
,
value
:
2
,
},
{
label
:
'跟进完成'
,
value
:
3
,
},
{
label
:
'长期跟进'
,
value
:
4
,
},
];
// 治疗效果跟进结果
export
const
HEALING_EFFECT_FOLLOW_RESULT
=
[
{
label
:
'效果显著'
,
value
:
1
,
},
{
label
:
'有效果,不明显'
,
value
:
2
,
},
{
label
:
'无效果'
,
value
:
3
,
},
{
label
:
'治疗后更差了'
,
value
:
4
,
},
];
// 检查跟进结果
export
const
CHECK_FOLLOW_RESULT
=
[
{
label
:
'成交'
,
value
:
1
,
},
{
label
:
'未成交'
,
value
:
2
,
},
{
label
:
'线下自己做'
,
value
:
3
,
},
];
\ No newline at end of file
src/views/IM/diagnosis-admin/diagnosis-editor.vue
浏览文件 @
7dd7016a
...
@@ -81,6 +81,18 @@
...
@@ -81,6 +81,18 @@
value-format=
"yyyy-MM-dd HH:mm:ss"
value-format=
"yyyy-MM-dd HH:mm:ss"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"订单金额"
prop=
"orderTotalPrice"
>
<el-input
v-model=
"formData.orderTotalPrice"
placeholder=
"请输入问诊价格"
disabled
class=
"set-width"
/>
(单位元)
</el-form-item>
<el-form-item
<el-form-item
label=
"问诊价格"
label=
"问诊价格"
prop=
"price"
prop=
"price"
...
@@ -93,6 +105,33 @@
...
@@ -93,6 +105,33 @@
/>
/>
(单位元)
(单位元)
</el-form-item>
</el-form-item>
<el-form-item
label=
"诊疗费"
prop=
"additionPrice"
>
<el-input
v-model=
"formData.additionPrice"
placeholder=
"请输入诊疗费"
disabled
class=
"set-width"
/>
(单位元)
</el-form-item>
<el-form-item
label=
"问诊方式"
>
<el-select
v-model=
"formData.diagnoseChannel"
placeholder=
"请选择问诊方式"
class=
"set-width"
disabled
>
<el-option
v-for=
"item of diagnoseChannelList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"支付方式"
>
<el-form-item
label=
"支付方式"
>
<el-select
<el-select
v-model=
"formData.payType"
v-model=
"formData.payType"
...
@@ -645,7 +684,7 @@
...
@@ -645,7 +684,7 @@
<
/el-radio
>
<
/el-radio
>
<
/el-radio-group
>
<
/el-radio-group
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
确诊疾病
"
>
<
el
-
form
-
item
label
=
"
诊断疾病(运营填)
"
>
<
el
-
input
<
el
-
input
v
-
model
=
"formData.diagnoseDisease"
v
-
model
=
"formData.diagnoseDisease"
placeholder
=
"请输入确诊疾病名称"
placeholder
=
"请输入确诊疾病名称"
...
@@ -673,14 +712,20 @@
...
@@ -673,14 +712,20 @@
<
upload
-
img
<
upload
-
img
ref
=
"imgComponent"
ref
=
"imgComponent"
:
is
-
disable
=
"editorType == 2"
:
is
-
disable
=
"editorType == 2"
:
img
-
list
=
"
:
img
-
list
=
"formData.illnessImageUrls"
formData.illnessImageUrls.filter((i) => {
return i && !i.url.includes('.pdf');
}
)
"
/>
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"检测报告"
>
<
el
-
form
-
item
label
=
"病情视频"
>
<
p
class
=
"img-title"
>
请上传患处视频、所用药品、与病情相关的线上诊疗记录视频、检查检测报告,请保证视频清晰完整,以便医生确认病情
<
/p
>
<
upload
-
video
ref
=
"videoComponent"
:
is
-
disable
=
"editorType == 2"
:
img
-
list
=
"formData.illnessImageUrls"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"病情文件"
>
<
div
<
div
v
-
for
=
"item in formData.illnessPdfUrls"
v
-
for
=
"item in formData.illnessPdfUrls"
:
key
=
"item.name"
:
key
=
"item.name"
...
@@ -703,6 +748,14 @@
...
@@ -703,6 +748,14 @@
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"诊断疾病(医生填)"
>
<
el
-
input
v
-
model
=
"formData.diseaseName"
disabled
placeholder
=
"请输入确诊疾病名称"
class
=
"set-width"
/>
<
/el-form-item
>
<
el
-
form
-
item
<
el
-
form
-
item
label
=
"诊断建议"
label
=
"诊断建议"
prop
=
"diagnoseAdvice"
prop
=
"diagnoseAdvice"
...
@@ -713,13 +766,80 @@
...
@@ -713,13 +766,80 @@
<
el
-
input
<
el
-
input
v
-
model
=
"formData.diagnoseAdvice"
v
-
model
=
"formData.diagnoseAdvice"
type
=
"textarea"
type
=
"textarea"
placeholder
=
"请输入更新建议(更新后原建议将被删除)"
placeholder
=
"请填写您对患者病情的诊断描述和建议"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
show
-
word
-
limit
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"中药建议"
prop
=
"tcmAdvice"
>
<
p
class
=
"old-diagnoseAdvice"
>
{{
oldTcmAdvice
}}
<
/p
>
<
el
-
input
v
-
model
=
"formData.tcmAdvice"
type
=
"textarea"
placeholder
=
"请输入建议使用的中药名称及用量、频次等"
:
disabled
=
"editorType == 2"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
maxlength
=
"1000"
show
-
word
-
limit
show
-
word
-
limit
/>
/>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"系统录音/录像"
>
<
el
-
form
-
item
label
=
"西药建议"
prop
=
"westernAdvice"
>
<
p
class
=
"old-diagnoseAdvice"
>
{{
oldWesternAdvice
}}
<
/p
>
<
el
-
input
v
-
model
=
"formData.westernAdvice"
type
=
"textarea"
placeholder
=
"请输入建议使用的西药名称及用量、频次等"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
show
-
word
-
limit
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"检查建议"
prop
=
"inspectionAdvice"
>
<
p
class
=
"old-diagnoseAdvice"
>
{{
oldInspectionAdvice
}}
<
/p
>
<
el
-
input
v
-
model
=
"formData.inspectionAdvice"
type
=
"textarea"
placeholder
=
"建议患者进一步作何检查"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
show
-
word
-
limit
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"生活建议"
prop
=
"lifeAdvice"
>
<
p
class
=
"old-diagnoseAdvice"
>
{{
oldLifeAdvice
}}
<
/p
>
<
el
-
input
v
-
model
=
"formData.lifeAdvice"
type
=
"textarea"
placeholder
=
"生活作息、饮食、日常运动等方面的建议"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
show
-
word
-
limit
/>
<
/el-form-item
>
<
el
-
form
-
item
v
-
if
=
"formData.vodList.length > 0"
label
=
"系统录音/录像"
>
<
el
-
form
-
item
<
el
-
form
-
item
v
-
for
=
"item in formData.vodList"
v
-
for
=
"item in formData.vodList"
:
key
=
"item.url"
:
key
=
"item.url"
...
@@ -739,6 +859,20 @@
...
@@ -739,6 +859,20 @@
'.mp4'
'.mp4'
}}
}}
<
/el-link
>
<
/el-link
>
<
el
-
popover
trigger
=
"hover"
placement
=
"top"
width
=
"1000"
>
<
p
>
{{
item
.
text
}}
<
/p
>
<
div
slot
=
"reference"
class
=
"vod"
>
<
span
class
=
"vod-txt"
>
语音转文字:
<
/span
>
<
span
class
=
"vod-text"
>
{{
item
.
text
}}
<
/span
>
<
/div
>
<
/el-popover
>
<
/el-form-item
>
<
/el-form-item
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"音频"
>
<
el
-
form
-
item
label
=
"音频"
>
...
@@ -829,6 +963,82 @@
...
@@ -829,6 +963,82 @@
<
/el-radio
>
<
/el-radio
>
<
/el-radio-group
>
<
/el-radio-group
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"跟进状态"
>
<
el
-
select
v
-
model
=
"formData.followStatus"
placeholder
=
"请选择跟进状态"
class
=
"set-width"
:
disabled
=
"editorType == 2"
>
<
el
-
option
v
-
for
=
"item of followStatusList"
:
key
=
"item.value"
:
label
=
"item.label"
:
value
=
"item.value"
/>
<
/el-select
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"计划跟进时间"
>
<
el
-
date
-
picker
v
-
model
=
"formData.followDate"
:
disabled
=
"editorType == 2"
class
=
"set-width"
type
=
"datetime"
placeholder
=
"创建时间"
format
=
"yyyy-MM-dd HH:mm:ss"
value
-
format
=
"yyyy-MM-dd HH:mm:ss"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"治疗效果跟进状态"
>
<
el
-
select
v
-
model
=
"formData.treatmentFollowStatus"
placeholder
=
"请选择治疗效果跟进状态"
class
=
"set-width"
:
disabled
=
"editorType == 2"
>
<
el
-
option
v
-
for
=
"item of healingStatusList"
:
key
=
"item.value"
:
label
=
"item.label"
:
value
=
"item.value"
/>
<
/el-select
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"治疗效果跟进点"
>
<
el
-
input
v
-
model
=
"formData.treatmentFollow"
placeholder
=
"请输入治疗效果跟进点"
type
=
"textarea"
maxlength
=
"1000"
:
disabled
=
"editorType == 2"
show
-
word
-
limit
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"治疗效果跟进结果"
>
<
el
-
select
v
-
model
=
"formData.treatmentFollowResult"
placeholder
=
"请选择治疗效果跟进结果"
class
=
"set-width"
:
disabled
=
"editorType == 2"
>
<
el
-
option
v
-
for
=
"item of healingResultList"
:
key
=
"item.value"
:
label
=
"item.label"
:
value
=
"item.value"
/>
<
/el-select
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"药品跟进点"
>
<
el
-
input
v
-
model
=
"formData.drugFollow"
placeholder
=
"请输入药品跟进点"
type
=
"textarea"
maxlength
=
"1000"
:
disabled
=
"editorType == 2"
show
-
word
-
limit
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"药品跟进状态"
>
<
el
-
form
-
item
label
=
"药品跟进状态"
>
<
el
-
select
<
el
-
select
v
-
model
=
"formData.drugFollowStatus"
v
-
model
=
"formData.drugFollowStatus"
...
@@ -844,11 +1054,37 @@
...
@@ -844,11 +1054,37 @@
/>
/>
<
/el-select
>
<
/el-select
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"药品跟进"
>
<
el
-
form
-
item
label
=
"药品跟进结果"
>
<
div
class
=
"flex"
>
<
el
-
select
v
-
model
=
"formData.drugFollowResult"
placeholder
=
"请选择药品跟进结果"
class
=
"set-width"
:
disabled
=
"editorType == 2"
>
<
el
-
option
v
-
for
=
"item of medicineFollowStatusList"
:
key
=
"item.value"
:
label
=
"item.label"
:
value
=
"item.value"
/>
<
/el-select
>
<
el
-
input
v
-
model
=
"formData.drugFollowResultContent"
placeholder
=
""
class
=
"set-width flex-1"
style
=
"margin-left:30px"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
show
-
word
-
limit
/>
<
/div
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"检查跟进点"
>
<
el
-
input
<
el
-
input
v
-
model
=
"formData.drugFollow"
v
-
model
=
"formData.checkFollow"
placeholder
=
"请输入检查跟进点"
type
=
"textarea"
type
=
"textarea"
placeholder
=
"请输入可跟进的事项"
maxlength
=
"1000"
maxlength
=
"1000"
:
disabled
=
"editorType == 2"
:
disabled
=
"editorType == 2"
show
-
word
-
limit
show
-
word
-
limit
...
@@ -869,15 +1105,37 @@
...
@@ -869,15 +1105,37 @@
/>
/>
<
/el-select
>
<
/el-select
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"检查跟进"
>
<
el
-
form
-
item
label
=
"检查跟进结果"
>
<
div
class
=
"flex"
>
<
el
-
select
v
-
model
=
"formData.checkFollowResult"
placeholder
=
"请选择检查跟进结果"
class
=
"set-width"
:
disabled
=
"editorType == 2"
>
<
el
-
option
v
-
for
=
"item of checkFollowResultList"
:
key
=
"item.value"
:
label
=
"item.label"
:
value
=
"item.value"
/>
<
/el-select
>
<
span
class
=
"flex flex-1"
style
=
"margin-left:30px"
>
检查结果
<
el
-
input
<
el
-
input
v
-
model
=
"formData.checkFollow
"
v
-
model
=
"formData.checkResult
"
type
=
"textarea
"
placeholder
=
"
"
placeholder
=
"请输入可跟进的事项"
show
-
word
-
limit
maxlength
=
"1000"
maxlength
=
"1000"
class
=
"set-width flex-1"
style
=
"margin-left:12px"
:
disabled
=
"editorType == 2"
:
disabled
=
"editorType == 2"
show
-
word
-
limit
/>
/>
<
/span
>
<
/div
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"其他跟进状态"
>
<
el
-
form
-
item
label
=
"其他跟进状态"
>
<
el
-
select
<
el
-
select
...
@@ -989,6 +1247,7 @@ import {
...
@@ -989,6 +1247,7 @@ import {
}
from
'@/api/diagnosis'
;
}
from
'@/api/diagnosis'
;
import
uploadImg
from
'@/components/editor/upload-img'
;
import
uploadImg
from
'@/components/editor/upload-img'
;
import
uploadMusic
from
'@/components/editor/upload-music'
;
import
uploadMusic
from
'@/components/editor/upload-music'
;
import
uploadVideo
from
'@/components/editor/upload-video'
;
import
{
import
{
CAR_LIST
,
CAR_LIST
,
D_S_LIST
,
D_S_LIST
,
...
@@ -999,6 +1258,12 @@ import {
...
@@ -999,6 +1258,12 @@ import {
SOURCE_LIST
,
SOURCE_LIST
,
STATUS_LIST
,
STATUS_LIST
,
TYPE_LIST
,
TYPE_LIST
,
DIAGNOSE_CHANNEL
,
FOLLOW_STATUS_LIST
,
MEDICINE_FOLLOW_STATUS_LIST
,
HEALING_EFFECT_FOLLOW_STATUS
,
HEALING_EFFECT_FOLLOW_RESULT
,
CHECK_FOLLOW_RESULT
}
from
'@/utils/constants'
;
}
from
'@/utils/constants'
;
import
{
getBirth
}
from
'@/utils/index'
;
import
{
getBirth
}
from
'@/utils/index'
;
...
@@ -1010,6 +1275,7 @@ export default {
...
@@ -1010,6 +1275,7 @@ export default {
components
:
{
components
:
{
uploadImg
,
uploadImg
,
uploadMusic
,
uploadMusic
,
uploadVideo
}
,
}
,
data
()
{
data
()
{
return
{
return
{
...
@@ -1021,6 +1287,10 @@ export default {
...
@@ -1021,6 +1287,10 @@ export default {
loading
:
true
,
loading
:
true
,
btnDisable
:
false
,
btnDisable
:
false
,
oldDiagnoseAdvice
:
''
,
// 旧的诊断建议
oldDiagnoseAdvice
:
''
,
// 旧的诊断建议
oldTcmAdvice
:
''
,
// 旧的中药建议
oldWesternAdvice
:
''
,
oldInspectionAdvice
:
''
,
oldLifeAdvice
:
''
,
formData
:
{
formData
:
{
// 预约单信息
// 预约单信息
diagnoseType
:
''
,
diagnoseType
:
''
,
...
@@ -1074,17 +1344,27 @@ export default {
...
@@ -1074,17 +1344,27 @@ export default {
diagnoseStage
:
''
,
diagnoseStage
:
''
,
determineFlag
:
''
,
determineFlag
:
''
,
diagnoseDisease
:
''
,
diagnoseDisease
:
''
,
diseaseName
:
''
,
illnessDetail
:
''
,
illnessDetail
:
''
,
illnessImageUrls
:
[],
illnessImageUrls
:
[],
diagnoseAdvice
:
''
,
diagnoseAdvice
:
''
,
illnessAudioUrls
:
[],
illnessAudioUrls
:
[],
followFlag
:
1
,
followFlag
:
1
,
drugFollow
:
''
,
drugFollowStatus
:
''
,
drugFollowStatus
:
''
,
checkFollow
:
''
,
checkFollowStatus
:
''
,
checkFollowStatus
:
''
,
otherFollowStatus
:
''
,
otherFollowStatus
:
''
,
otherFollow
:
''
,
otherFollow
:
''
,
followStatus
:
''
,
// 跟进状态
followDate
:
''
,
// 计划跟进时间
drugFollow
:
''
,
// 药品跟进点
drugFollowResult
:
''
,
// 药品跟进结果
drugFollowResultContent
:
''
,
// 药品跟进结果描述
treatmentFollow
:
''
,
// 治疗效果跟进点
treatmentFollowStatus
:
''
,
// 治疗效果跟进状态
treatmentFollowResult
:
''
,
// 治疗效果跟进结果
checkFollow
:
''
,
// 检查跟进点
checkFollowResult
:
''
,
// 检查跟进结果
checkResult
:
''
,
// 检测结果
remark
:
''
,
remark
:
''
,
maritalStatus
:
2
,
maritalStatus
:
2
,
createType
:
1
,
// //创建方式1.系统创建 2.手动创建
createType
:
1
,
// //创建方式1.系统创建 2.手动创建
...
@@ -1106,10 +1386,15 @@ export default {
...
@@ -1106,10 +1386,15 @@ export default {
vodList
:
{
vodList
:
{
name
:
''
,
name
:
''
,
url
:
''
,
url
:
''
,
text
:
''
}
,
}
,
additionPrice
:
null
,
// 诊疗费
orderTotalPrice
:
null
,
diagnoseChannel
:
null
}
,
}
,
tyleList
:
TYPE_LIST
,
tyleList
:
TYPE_LIST
,
payList
:
PAY_LIST
,
payList
:
PAY_LIST
,
diagnoseChannelList
:
DIAGNOSE_CHANNEL
,
sourceList
:
SOURCE_LIST
,
sourceList
:
SOURCE_LIST
,
statusList
:
STATUS_LIST
,
statusList
:
STATUS_LIST
,
carList
:
CAR_LIST
,
carList
:
CAR_LIST
,
...
@@ -1117,6 +1402,11 @@ export default {
...
@@ -1117,6 +1402,11 @@ export default {
relationList
:
RELATION_LIST
,
relationList
:
RELATION_LIST
,
doctorSourceList
:
D_S_LIST
,
doctorSourceList
:
D_S_LIST
,
followList
:
FOLLW_LIST
,
followList
:
FOLLW_LIST
,
followStatusList
:
FOLLOW_STATUS_LIST
,
medicineFollowStatusList
:
MEDICINE_FOLLOW_STATUS_LIST
,
healingStatusList
:
HEALING_EFFECT_FOLLOW_STATUS
,
healingResultList
:
HEALING_EFFECT_FOLLOW_RESULT
,
checkFollowResultList
:
CHECK_FOLLOW_RESULT
,
doctorList
:
[],
doctorList
:
[],
rules
:
{
rules
:
{
appointBeginTime
:
[
appointBeginTime
:
[
...
@@ -1273,6 +1563,8 @@ export default {
...
@@ -1273,6 +1563,8 @@ export default {
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
this
.
formData
=
res
.
data
;
this
.
formData
=
res
.
data
;
this
.
formData
.
price
=
this
.
priceFilter
(
this
.
formData
.
price
);
this
.
formData
.
price
=
this
.
priceFilter
(
this
.
formData
.
price
);
this
.
formData
.
additionPrice
=
this
.
priceFilter
(
this
.
formData
.
additionPrice
);
this
.
formData
.
orderTotalPrice
=
this
.
formData
.
price
+
this
.
formData
.
additionPrice
;
this
.
formData
.
serviceFee
=
this
.
priceFilter
(
this
.
formData
.
serviceFee
=
this
.
priceFilter
(
this
.
formData
.
serviceFee
this
.
formData
.
serviceFee
);
);
...
@@ -1298,6 +1590,22 @@ export default {
...
@@ -1298,6 +1590,22 @@ export default {
this
.
oldDiagnoseAdvice
=
this
.
formData
.
diagnoseAdvice
;
this
.
oldDiagnoseAdvice
=
this
.
formData
.
diagnoseAdvice
;
this
.
formData
.
diagnoseAdvice
=
''
;
this
.
formData
.
diagnoseAdvice
=
''
;
}
}
if
(
this
.
formData
.
tcmAdvice
)
{
this
.
oldTcmAdvice
=
this
.
formData
.
tcmAdvice
;
this
.
formData
.
tcmAdvice
=
''
;
}
if
(
this
.
formData
.
westernAdvice
)
{
this
.
oldWesternAdvice
=
this
.
formData
.
westernAdvice
;
this
.
formData
.
westernAdvice
=
''
;
}
if
(
this
.
formData
.
inspectionAdvice
)
{
this
.
oldInspectionAdvice
=
this
.
formData
.
inspectionAdvice
;
this
.
formData
.
inspectionAdvice
=
''
;
}
if
(
this
.
formData
.
lifeAdvice
)
{
this
.
oldLifeAdvice
=
this
.
formData
.
lifeAdvice
;
this
.
formData
.
lifeAdvice
=
''
;
}
if
(
!
this
.
formData
.
sex
)
{
if
(
!
this
.
formData
.
sex
)
{
this
.
formData
.
sex
=
1
;
this
.
formData
.
sex
=
1
;
}
}
...
@@ -1417,9 +1725,13 @@ export default {
...
@@ -1417,9 +1725,13 @@ export default {
this
.
formData
.
birthday
=
new
Date
(
this
.
formData
.
birthdayStr
);
this
.
formData
.
birthday
=
new
Date
(
this
.
formData
.
birthdayStr
);
// this.formData.birthday = this.formData.birthdayStr;
// this.formData.birthday = this.formData.birthdayStr;
const
params
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
formData
));
const
params
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
formData
));
params
.
illnessImageUrls
=
this
.
$refs
.
imgComponent
const
newImageList
=
this
.
$refs
.
imgComponent
?
[...
this
.
$refs
.
imgComponent
.
setNewArr
()]
?
[...
this
.
$refs
.
imgComponent
.
setNewArr
()]
:
[];
:
[];
const
newVideoList
=
this
.
$refs
.
videoComponent
?
[...
this
.
$refs
.
videoComponent
.
setNewArr
()]
:
[];
params
.
illnessImageUrls
=
newImageList
.
concat
(
newVideoList
);
params
.
illnessAudioUrls
=
this
.
$refs
.
musicComponent
params
.
illnessAudioUrls
=
this
.
$refs
.
musicComponent
?
[...
this
.
$refs
.
musicComponent
.
setNewArr
()]
?
[...
this
.
$refs
.
musicComponent
.
setNewArr
()]
:
[];
:
[];
...
@@ -1428,6 +1740,18 @@ export default {
...
@@ -1428,6 +1740,18 @@ export default {
if
(
!
params
.
diagnoseAdvice
)
{
if
(
!
params
.
diagnoseAdvice
)
{
params
.
diagnoseAdvice
=
this
.
oldDiagnoseAdvice
;
params
.
diagnoseAdvice
=
this
.
oldDiagnoseAdvice
;
}
}
if
(
!
params
.
tcmAdvice
)
{
params
.
tcmAdvice
=
this
.
oldTcmAdvice
;
}
if
(
!
params
.
westernAdvice
)
{
params
.
westernAdvice
=
this
.
oldWesternAdvice
;
}
if
(
!
params
.
inspectionAdvice
)
{
params
.
inspectionAdvice
=
this
.
oldInspectionAdvice
;
}
if
(
!
params
.
lifeAdvice
)
{
params
.
lifeAdvice
=
this
.
oldLifeAdvice
;
}
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
btnDisable
=
true
;
this
.
btnDisable
=
true
;
diagnoseUpdate
(
params
)
diagnoseUpdate
(
params
)
...
@@ -1437,6 +1761,7 @@ export default {
...
@@ -1437,6 +1761,7 @@ export default {
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
this
.
$message
.
success
(
'保存成功'
);
this
.
$message
.
success
(
'保存成功'
);
this
.
$router
.
back
();
this
.
$router
.
back
();
window
.
location
.
reload
();
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
message
:
res
.
message
,
message
:
res
.
message
,
...
@@ -1474,7 +1799,6 @@ export default {
...
@@ -1474,7 +1799,6 @@ export default {
margin
-
bottom
:
30
px
;
margin
-
bottom
:
30
px
;
}
}
.
img
-
title
{
.
img
-
title
{
margin
-
top
:
20
px
;
font
-
size
:
14
px
;
font
-
size
:
14
px
;
color
:
#
6
d8bc7
;
color
:
#
6
d8bc7
;
line
-
height
:
40
px
;
line
-
height
:
40
px
;
...
@@ -1497,6 +1821,27 @@ export default {
...
@@ -1497,6 +1821,27 @@ export default {
.
log
-
info
-
pagin
{
.
log
-
info
-
pagin
{
margin
:
0
15
px
;
margin
:
0
15
px
;
}
}
.
vod
{
display
:
flex
;
flex
-
direction
:
row
;
align
-
items
:
center
;
&-
txt
{
width
:
90
px
;
}
&-
text
{
width
:
100
%
;
background
:
#
ccc
;
line
-
height
:
20
px
;
-
webkit
-
line
-
clamp
:
5
;
overflow
:
hidden
;
display
:
-
webkit
-
box
;
-
webkit
-
box
-
orient
:
vertical
;
text
-
overflow
:
ellipsis
;
white
-
space
:
normal
;
}
}
}
}
.
btn
-
wrap
{
.
btn
-
wrap
{
padding
:
40
px
0
60
px
;
padding
:
40
px
0
60
px
;
...
...
src/views/IM/diagnosis-admin/diagnosis-im.vue
浏览文件 @
7dd7016a
...
@@ -117,21 +117,49 @@
...
@@ -117,21 +117,49 @@
>
>
<span>
该消息类型PC端暂不支持
</span>
<span>
该消息类型PC端暂不支持
</span>
</div>
</div>
<!-- 安排接诊医生 -->
<div
v-if=
"item.showType === 13"
class=
"time-box"
>
<div
class=
"physician-left"
>
{{
item
.
title
}}
</div>
<div
class=
"physician"
>
<div
class=
"physician-right"
>
<div
class=
"physician-right__top"
>
<span>
{{
item
.
text
.
doctorName
}}
</span>
<span>
{{
item
.
text
.
title
}}
{{
item
.
text
.
department
}}
</span>
</div>
<div
class=
"physician-right__center"
>
{{
item
.
text
.
hospital
}}
</div>
<div
class=
"physician-right__center"
>
擅长:
{{
item
.
text
.
goodAt
}}
</div>
</div>
</div>
</div>
<!-- 语音消息 -->
<!-- 语音消息 -->
<div
<div
v-if=
"item.showType == 6"
v-if=
"item.showType == 6"
class=
"audio-box"
class=
"audio-box"
>
>
<audio
controls
>
<
!--
<
audio
controls
>
<source
<source
:src=
"item.url"
:src=
"item.url"
type=
"audio/mpeg"
type=
"audio/mpeg"
>
>
</audio>
</audio>
-->
<audio
controls
:src=
"item.url"
/>
</div>
</div>
<!-- 问诊开始与病例模块 -->
<!-- 问诊开始与病例模块 showType == 7-->
<!-- 患者病情 showType == 12-->
<div
<div
v-if=
"item.showType == 7"
v-if=
"item.showType == 7
|| item.showType == 12
"
class=
"diagnosis-box"
class=
"diagnosis-box"
>
>
<div
class=
"title"
>
<div
class=
"title"
>
...
@@ -641,7 +669,15 @@
...
@@ -641,7 +669,15 @@
showType
=
11
;
showType
=
11
;
title
=
content
.
title
;
title
=
content
.
title
;
text
=
content
.
content
;
text
=
content
.
content
;
}
else
{
}
else
if
(
content
.
bizType
===
29
)
{
// 患者病情
showType
=
12
;
title
=
content
.
title
;
text
=
JSON
.
parse
(
content
.
content
);
}
else
if
(
content
.
bizType
===
30
)
{
// 接诊医生
showType
=
13
;
title
=
content
.
title
;
text
=
JSON
.
parse
(
content
.
content
);
}
else
{
showType
=
5
;
showType
=
5
;
}
}
}
else
if
(
msg
.
type
.
toLowerCase
()
==
'image'
||
msg
.
type
.
toLowerCase
()
==
'picture'
)
{
// 图片
}
else
if
(
msg
.
type
.
toLowerCase
()
==
'image'
||
msg
.
type
.
toLowerCase
()
==
'picture'
)
{
// 图片
...
...
src/views/IM/diagnosis-admin/diagnosis-list-new.vue
浏览文件 @
7dd7016a
...
@@ -37,9 +37,10 @@
...
@@ -37,9 +37,10 @@
class=
"t-b"
class=
"t-b"
>
>
<el-select
<el-select
v-model=
"searchParam.type"
v-model=
"searchParam.type
List
"
placeholder=
"请选择问诊类型"
placeholder=
"请选择问诊类型"
style=
"width: 220px"
style=
"width: 220px"
multiple
>
>
<el-option
<el-option
v-for=
"item of consultationTypeList"
v-for=
"item of consultationTypeList"
...
@@ -55,19 +56,6 @@
...
@@ -55,19 +56,6 @@
label=
"分诊科室"
label=
"分诊科室"
class=
"t-b"
class=
"t-b"
>
>
<!--
<el-select
v-model=
"searchParam.triageDepartmentId"
placeholder=
"请选择科室"
style=
"width: 220px"
filterable
>
<el-option
v-for=
"item of depList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
-->
<el-cascader
<el-cascader
ref=
"cascader"
ref=
"cascader"
v-model=
"searchParam.triageDepartmentId"
v-model=
"searchParam.triageDepartmentId"
...
@@ -131,6 +119,27 @@
...
@@ -131,6 +119,27 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<el-form-item
label=
"跟进运营"
class=
"t-b"
>
<el-select
v-model=
"searchParam.followOperatorId"
placeholder=
"请选择跟进运营"
clearable
filterable
style=
"width: 220px"
>
<el-option
v-for=
"item of allPersonnelList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-form-item>
</div>
</div>
</div>
<div
class=
"form-li"
>
<div
class=
"form-li"
>
<div>
<div>
...
@@ -152,9 +161,10 @@
...
@@ -152,9 +161,10 @@
class=
"t-b"
class=
"t-b"
>
>
<el-select
<el-select
v-model=
"searchParam.diagnoseType"
v-model=
"searchParam.diagnoseType
List
"
placeholder=
"请选择预约类型"
placeholder=
"请选择预约类型"
style=
"width: 220px"
style=
"width: 220px"
multiple
>
>
<el-option
<el-option
v-for=
"item of tyleList"
v-for=
"item of tyleList"
...
@@ -222,6 +232,27 @@
...
@@ -222,6 +232,27 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<el-form-item
label=
"跟进状态"
class=
"t-b"
>
<el-select
v-model=
"searchParam.followStatusList"
placeholder=
"请选择跟进状态"
clearable
multiple
style=
"width: 220px"
>
<el-option
v-for=
"item of followStatusLists"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
</div>
</div>
</div>
<div
class=
"form-li"
>
<div
class=
"form-li"
>
<div>
<div>
...
@@ -300,12 +331,28 @@
...
@@ -300,12 +331,28 @@
<el-input
<el-input
v-model
.
trim=
"searchParam.patientName"
v-model
.
trim=
"searchParam.patientName"
clearable
clearable
placeholder=
"
仅可查询报告解读患者
"
placeholder=
"
请输入
"
style=
"width: 220px"
style=
"width: 220px"
@
change=
"patientNameChange"
@
change=
"patientNameChange"
/>
/>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<el-form-item
label=
"计划跟进时间"
class=
"t-b"
>
<el-date-picker
v-model=
"followDateTime"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width: 220px"
/>
</el-form-item>
</div>
</div>
</div>
<div
class=
"form-li"
>
<div
class=
"form-li"
>
<div>
<div>
...
@@ -343,16 +390,6 @@
...
@@ -343,16 +390,6 @@
label=
"基层意向时间"
label=
"基层意向时间"
class=
"t-b"
class=
"t-b"
>
>
<!-- <el-date-picker
v-model="assistantTime"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 220px"
:picker-options="pickerOptions1"
/> -->
<el-date-picker
<el-date-picker
v-model=
"assistantTime"
v-model=
"assistantTime"
type=
"daterange"
type=
"daterange"
...
@@ -370,10 +407,11 @@
...
@@ -370,10 +407,11 @@
class=
"t-b"
class=
"t-b"
>
>
<el-select
<el-select
v-model=
"searchParam.consultRoad"
v-model=
"searchParam.consultRoad
List
"
placeholder=
"请选择业务类型"
placeholder=
"请选择业务类型"
clearable
clearable
style=
"width: 220px"
style=
"width: 220px"
multiple
>
>
<el-option
<el-option
v-for=
"item of orderBusinessList"
v-for=
"item of orderBusinessList"
...
@@ -384,6 +422,27 @@
...
@@ -384,6 +422,27 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<el-form-item
label=
"问诊方式"
class=
"t-b"
>
<el-select
v-model=
"searchParam.diagnoseChannelList"
placeholder=
"请选择问诊方式"
clearable
multiple
style=
"width: 220px"
>
<el-option
v-for=
"item of newDiagnoseChannelList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
</div>
</div>
</div>
<div
class=
"form-btn"
>
<div
class=
"form-btn"
>
<div
class=
"form-btn-li"
>
<div
class=
"form-btn-li"
>
...
@@ -539,6 +598,7 @@
...
@@ -539,6 +598,7 @@
:diagnosis-doctor-visible
.
sync=
"diagnosisDoctorVisible"
:diagnosis-doctor-visible
.
sync=
"diagnosisDoctorVisible"
:diagnose-log-id=
"diagnoseLogId"
:diagnose-log-id=
"diagnoseLogId"
:diagnose-type=
"diagnoseType"
:diagnose-type=
"diagnoseType"
:diagnose-channel=
"diagnoseChannel"
:only-change-time=
"onlyChangeTime"
:only-change-time=
"onlyChangeTime"
:doctor-id=
"doctorId"
:doctor-id=
"doctorId"
:range-time-data=
"rangeTimeData"
:range-time-data=
"rangeTimeData"
...
@@ -610,6 +670,8 @@ import {
...
@@ -610,6 +670,8 @@ import {
getCountQuery
,
getCountQuery
,
getDepartments
,
getDepartments
,
reMatchDoctor
,
reMatchDoctor
,
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
{
...
@@ -623,6 +685,8 @@ import {
...
@@ -623,6 +685,8 @@ import {
SOURCE_LIST
,
SOURCE_LIST
,
TRIAGE_TAB_LIST
,
TRIAGE_TAB_LIST
,
TYPE_LIST
,
TYPE_LIST
,
DIAGNOSE_CHANNEL
,
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'
;
...
@@ -671,17 +735,18 @@ export default {
...
@@ -671,17 +735,18 @@ export default {
orderRangeTime
:
''
,
orderRangeTime
:
''
,
completeRangeTime
:
''
,
completeRangeTime
:
''
,
assistantTime
:
''
,
assistantTime
:
''
,
followDateTime
:
''
,
depList
:
[],
depList
:
[],
tabrefresh
:
true
,
tabrefresh
:
true
,
searchParam
:
{
searchParam
:
{
id
:
''
,
id
:
''
,
type
:
''
,
type
List
:
[]
,
operateName
:
''
,
operateName
:
''
,
assistantVal
:
''
,
assistantVal
:
''
,
receptionVal
:
''
,
receptionVal
:
''
,
sort
:
null
,
sort
:
null
,
triageDepartmentId
:
''
,
triageDepartmentId
:
''
,
diagnoseType
:
''
,
// 预约问诊类型:1、音频 2、视频 3、图文
diagnoseType
List
:
[]
,
// 预约问诊类型:1、音频 2、视频 3、图文
createdTimeBegin
:
''
,
createdTimeBegin
:
''
,
createdTimeEnd
:
''
,
createdTimeEnd
:
''
,
operateTimeBegin
:
''
,
operateTimeBegin
:
''
,
...
@@ -692,6 +757,8 @@ export default {
...
@@ -692,6 +757,8 @@ export default {
doneTimeEnd
:
''
,
doneTimeEnd
:
''
,
assistantBeginTime
:
''
,
assistantBeginTime
:
''
,
assistantEndTime
:
''
,
assistantEndTime
:
''
,
followDateBegin
:
''
,
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、外呼
...
@@ -700,8 +767,11 @@ export default {
...
@@ -700,8 +767,11 @@ export default {
refundRemark
:
''
,
refundRemark
:
''
,
orderPlacer
:
''
,
orderPlacer
:
''
,
matchingWay
:
null
,
matchingWay
:
null
,
consultRoad
:
null
,
consultRoadList
:
[],
diagnoseChannelList
:
[],
patientName
:
null
,
patientName
:
null
,
followOperatorId
:
''
,
// 运营id
followStatusList
:
[],
// 跟进状态
},
},
noteList
:
[],
noteList
:
[],
alltabslist
:
[],
alltabslist
:
[],
...
@@ -710,6 +780,7 @@ export default {
...
@@ -710,6 +780,7 @@ export default {
sourceList
:
SOURCE_LIST
,
sourceList
:
SOURCE_LIST
,
priceList
:
ORDER_PRICE
,
priceList
:
ORDER_PRICE
,
matchingWayList
:
MATCHING_LIST
,
matchingWayList
:
MATCHING_LIST
,
followStatusLists
:
FOLLOW_STATUS_LIST
,
orderBusinessList
:
[
orderBusinessList
:
[
{
{
label
:
'中医实践'
,
label
:
'中医实践'
,
...
@@ -724,6 +795,7 @@ export default {
...
@@ -724,6 +795,7 @@ export default {
value
:
2
,
value
:
2
,
},
},
],
],
newDiagnoseChannelList
:
DIAGNOSE_CHANNEL
,
nextPersonList
:
[
nextPersonList
:
[
{
{
label
:
'基层医生'
,
label
:
'基层医生'
,
...
@@ -761,6 +833,7 @@ export default {
...
@@ -761,6 +833,7 @@ export default {
dialogFormVisible
:
false
,
dialogFormVisible
:
false
,
bizType
:
0
,
bizType
:
0
,
diagnoseType
:
0
,
diagnoseType
:
0
,
diagnoseChannel
:
0
,
consultRoad
:
''
,
consultRoad
:
''
,
doctorId
:
0
,
doctorId
:
0
,
operateUserID
:
''
,
operateUserID
:
''
,
...
@@ -784,12 +857,9 @@ export default {
...
@@ -784,12 +857,9 @@ export default {
triageDepartment
:
''
,
triageDepartment
:
''
,
departmentId
:
''
,
departmentId
:
''
,
allTilst
:
[],
allTilst
:
[],
allPersonnelList
:
[],
allList
:
{},
allList
:
{},
consultationTypeList
:
[
consultationTypeList
:
[
{
label
:
'全部'
,
value
:
''
,
},
{
{
label
:
'名医问诊'
,
label
:
'名医问诊'
,
value
:
2
,
value
:
2
,
...
@@ -826,6 +896,7 @@ export default {
...
@@ -826,6 +896,7 @@ export default {
this
.
setTableHeight
();
this
.
setTableHeight
();
this
.
getOutboundNote
();
this
.
getOutboundNote
();
this
.
departmentAll
();
this
.
departmentAll
();
this
.
personnelList
();
},
},
destroyed
()
{
destroyed
()
{
clearInterval
(
this
.
timer
);
clearInterval
(
this
.
timer
);
...
@@ -839,6 +910,13 @@ export default {
...
@@ -839,6 +910,13 @@ export default {
}
}
});
});
},
},
personnelList
()
{
personnelList
().
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
this
.
allPersonnelList
=
res
.
data
||
{};
}
});
},
showListALL
()
{
showListALL
()
{
const
arr
=
[];
const
arr
=
[];
const
{
departmentMapList
,
parentDepartmentList
}
=
this
.
allList
;
const
{
departmentMapList
,
parentDepartmentList
}
=
this
.
allList
;
...
@@ -1087,12 +1165,14 @@ export default {
...
@@ -1087,12 +1165,14 @@ export default {
orderRangeTime
,
orderRangeTime
,
completeRangeTime
,
completeRangeTime
,
assistantTime
,
assistantTime
,
followDateTime
,
}
=
this
;
}
=
this
;
this
.
setTime
(
'createdTimeBegin'
,
'createdTimeEnd'
,
createRangeTime
);
this
.
setTime
(
'createdTimeBegin'
,
'createdTimeEnd'
,
createRangeTime
);
this
.
setTime
(
'cancelTimeBegin'
,
'cancelTimeEnd'
,
cancelRangeTime
);
this
.
setTime
(
'cancelTimeBegin'
,
'cancelTimeEnd'
,
cancelRangeTime
);
this
.
setTime
(
'appointBeginTime'
,
'appointEndTime'
,
orderRangeTime
);
this
.
setTime
(
'appointBeginTime'
,
'appointEndTime'
,
orderRangeTime
);
this
.
setTime
(
'doneTimeBegin'
,
'doneTimeEnd'
,
completeRangeTime
);
this
.
setTime
(
'doneTimeBegin'
,
'doneTimeEnd'
,
completeRangeTime
);
this
.
setTime
(
'assistantBeginTime'
,
'assistantEndTime'
,
assistantTime
);
this
.
setTime
(
'assistantBeginTime'
,
'assistantEndTime'
,
assistantTime
);
this
.
setTime
(
'followDateBegin'
,
'followDateEnd'
,
followDateTime
);
},
},
/**
/**
* btime开始时间
* btime开始时间
...
@@ -1129,6 +1209,24 @@ export default {
...
@@ -1129,6 +1209,24 @@ export default {
data
.
order
==
'descending'
data
.
order
==
'descending'
)
{
)
{
this
.
searchParam
.
sort
=
4
;
this
.
searchParam
.
sort
=
4
;
}
else
if
(
data
.
prop
==
'assistantTime'
)
{
if
(
data
.
order
==
'ascending'
)
{
this
.
searchParam
.
sort
=
5
;
}
else
{
this
.
searchParam
.
sort
=
6
;
}
}
else
if
(
data
.
prop
==
'receptionTime'
)
{
if
(
data
.
order
==
'ascending'
)
{
this
.
searchParam
.
sort
=
7
;
}
else
{
this
.
searchParam
.
sort
=
8
;
}
}
else
if
(
data
.
prop
==
'followDateTime'
)
{
if
(
data
.
order
==
'ascending'
)
{
this
.
searchParam
.
sort
=
9
;
}
else
{
this
.
searchParam
.
sort
=
10
;
}
}
else
{
}
else
{
this
.
searchParam
.
sort
=
null
;
this
.
searchParam
.
sort
=
null
;
}
}
...
@@ -1175,9 +1273,10 @@ export default {
...
@@ -1175,9 +1273,10 @@ export default {
this
.
orderRangeTime
=
''
;
this
.
orderRangeTime
=
''
;
this
.
completeRangeTime
=
''
;
this
.
completeRangeTime
=
''
;
this
.
assistantTime
=
''
;
this
.
assistantTime
=
''
;
this
.
followDateTime
=
''
;
this
.
searchParam
=
Object
.
assign
(
this
.
searchParam
,
{
this
.
searchParam
=
Object
.
assign
(
this
.
searchParam
,
{
id
:
''
,
id
:
''
,
type
:
''
,
type
List
:
[]
,
operateName
:
''
,
operateName
:
''
,
assistantVal
:
''
,
assistantVal
:
''
,
receptionVal
:
''
,
receptionVal
:
''
,
...
@@ -1186,7 +1285,7 @@ export default {
...
@@ -1186,7 +1285,7 @@ export default {
refundRemark
:
''
,
refundRemark
:
''
,
orderPlacer
:
''
,
orderPlacer
:
''
,
matchingWay
:
null
,
matchingWay
:
null
,
diagnoseType
:
''
,
// 预约问诊类型:1、音频 2、视频 3、图文
diagnoseType
List
:
[]
,
// 预约问诊类型:1、音频 2、视频 3、图文
createdTimeBegin
:
''
,
createdTimeBegin
:
''
,
createdTimeEnd
:
''
,
createdTimeEnd
:
''
,
operateTimeBegin
:
''
,
operateTimeBegin
:
''
,
...
@@ -1198,10 +1297,16 @@ export default {
...
@@ -1198,10 +1297,16 @@ export default {
doneTimeEnd
:
''
,
doneTimeEnd
:
''
,
assistantBeginTime
:
''
,
assistantBeginTime
:
''
,
assistantEndTime
:
''
,
assistantEndTime
:
''
,
followDateBegin
:
''
,
followDateEnd
:
''
,
inNewTimeObj
:
{},
inNewTimeObj
:
{},
consultRoad
:
null
,
consultRoad
List
:
[]
,
patientName
:
null
,
patientName
:
null
,
diagnoseChannelList
:
[],
followStatusList
:
[],
followOperatorId
:
''
,
});
});
this
.
getsearch
();
},
},
// 导出
// 导出
download
()
{
download
()
{
...
@@ -1326,16 +1431,28 @@ export default {
...
@@ -1326,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
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
();
target
.
click
();
}
})
.
catch
((
err
)
=>
{
console
.
log
(
'err'
,
err
);
});
}
else
{
target
.
setAttribute
(
'href'
,
url
);
target
.
click
();
}
},
},
// 加入问诊
// 加入问诊
...
@@ -1404,6 +1521,7 @@ export default {
...
@@ -1404,6 +1521,7 @@ export default {
this
.
diagnoseLogId
=
row
.
diagnoseLogId
;
this
.
diagnoseLogId
=
row
.
diagnoseLogId
;
this
.
diagnoseType
=
row
.
diagnoseType
;
this
.
diagnoseType
=
row
.
diagnoseType
;
this
.
consultRoad
=
row
.
consultRoad
;
this
.
consultRoad
=
row
.
consultRoad
;
this
.
diagnoseChannel
=
row
.
diagnoseChannel
;
if
(
row
.
doctorId
==
0
)
{
if
(
row
.
doctorId
==
0
)
{
this
.
doctorId
=
''
;
this
.
doctorId
=
''
;
}
else
{
}
else
{
...
@@ -1416,12 +1534,21 @@ export default {
...
@@ -1416,12 +1534,21 @@ export default {
},
},
// 重新匹配医生
// 重新匹配医生
reMatchDot
(
row
,
type
)
{
reMatchDot
(
row
,
type
)
{
if
(
row
.
diagnoseChannel
===
3
)
{
this
.
rematchingOptions
=
[
'接诊医生爽约'
,
'上级医生日程改变,提前取消'
,
'操作失误,重新匹配医生'
,
];
}
else
{
this
.
rematchingOptions
=
[
this
.
rematchingOptions
=
[
'接诊医生爽约'
,
'接诊医生爽约'
,
'上级医生日程改变,提前取消'
,
'上级医生日程改变,提前取消'
,
'操作失误,重新匹配医生'
,
'操作失误,重新匹配医生'
,
'助诊医生爽约'
,
'助诊医生爽约'
,
'科室不对'
,
];
];
}
// this.rematchingOptions=
// this.rematchingOptions=
// this.options=
// this.options=
this
.
rematchingVisible
=
true
;
this
.
rematchingVisible
=
true
;
...
...
src/views/IM/diagnosis-admin/im.scss
浏览文件 @
7dd7016a
...
@@ -342,8 +342,7 @@
...
@@ -342,8 +342,7 @@
}
}
}
}
}
}
.
msg-content
:
:-
webkit-scrollbar
.
msg-content
:
:-
webkit-scrollbar
{
{
width
:
0px
;
width
:
0px
;
height
:
0px
;
height
:
0px
;
background-color
:
#fff
;
background-color
:
#fff
;
...
@@ -423,6 +422,37 @@
...
@@ -423,6 +422,37 @@
-o-animation
:
rotate
3s
linear
infinite
;
-o-animation
:
rotate
3s
linear
infinite
;
animation
:
rotate
3s
linear
infinite
;
animation
:
rotate
3s
linear
infinite
;
}
}
.physician
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
flex-start
;
justify-content
:
flex-start
;
&
-left
{
font-size
:
14px
;
font-weight
:
600
;
padding-bottom
:
10px
;
}
&
-right
{
&
__top
{
span
{
&
:nth-child
(
1
)
{
font-size
:
14px
;
}
&
:nth-child
(
2
)
{
font-size
:
12px
;
}
}
}
&
__center
{
color
:
#999999
;
}
}
}
@-webkit-keyframes
rotate
{
from
{
-webkit-transform
:
rotate
(
0deg
)}
@-webkit-keyframes
rotate
{
from
{
-webkit-transform
:
rotate
(
0deg
)}
to
{
-webkit-transform
:
rotate
(
360deg
)}
to
{
-webkit-transform
:
rotate
(
360deg
)}
}
}
...
...
vue.config.js
浏览文件 @
7dd7016a
...
@@ -70,7 +70,7 @@ module.exports = {
...
@@ -70,7 +70,7 @@ module.exports = {
port
:
8080
,
port
:
8080
,
proxy
:
{
proxy
:
{
'/proxy'
:
{
'/proxy'
:
{
target
:
'https://
test1
-sc.yunqueyi.com/'
,
target
:
'https://
uat
-sc.yunqueyi.com/'
,
ws
:
false
,
ws
:
false
,
changeOrigin
:
true
,
changeOrigin
:
true
,
secure
:
true
,
secure
:
true
,
...
...
yarn.lock
浏览文件 @
7dd7016a
因为 它太大了无法显示 源差异 。您可以改为
查看blob
。
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录