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
提交
85bd6ea5
提交
85bd6ea5
编写于
9月 27, 2021
作者:
jq
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
发布dev
上级
3e1ff88f
变更
6
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
958 行增加
和
16 行删除
+958
-16
settings.json
.vscode/settings.json
+99
-2
tab-set.vue
src/components/common/tab-set.vue
+205
-0
table-set-component.vue
src/components/list/table-set-component.vue
+397
-0
diagnosis-list-new.js
src/utils/GeneralData/diagnosis-list-new.js
+221
-0
diagnosis-list-new.vue
src/views/IM/diagnosis-admin/diagnosis-list-new.vue
+35
-13
vue.config.js
vue.config.js
+1
-1
未找到文件。
.vscode/settings.json
浏览文件 @
85bd6ea5
{
"editor.fontSize"
:
15
}
\ No newline at end of file
//
是否允许自定义的snippet片段提示
"editor.snippetSuggestions"
:
"top"
,
//
vscode默认启用了根据文件类型自动设置tabsize的选项
"editor.detectIndentation"
:
false
,
//
重新设定tabsize
"editor.tabSize"
:
2
,
//
#每次保存的时候自动格式化
"editor.formatOnSave"
:
false
,
//
#每次保存的时候将代码按eslint格式进行修复
"eslint.autoFixOnSave"
:
true
,
"editor.fontWeight"
:
"300"
,
"editor.formatOnType"
:
false
,
"workbench.iconTheme"
:
"material-icon-theme"
,
"git.confirmSync"
:
false
,
"team.showWelcomeMessage"
:
false
,
"window.zoomLevel"
:
0
,
//
"editor.renderWhitespace"
:
"boundary"
,
"editor.cursorBlinking"
:
"smooth"
,
"editor.minimap.enabled"
:
true
,
//
"editor.minimap.renderCharacters"
:
false
,
"window.title"
:
"${dirty}${activeEditorMedium}${separator}${rootName}"
,
"editor.codeLens"
:
true
,
//eslint
代码自动检查相关配置
"eslint.enable"
:
true
,
"eslint.run"
:
"onType"
,
"eslint.options"
:
{
"extensions"
:
[
".js"
,
".vue"
]
},
//
添加
vue
支持
"eslint.validate"
:
[
"javascriptreact"
,
"vue"
,
"javascript"
,
{
"language"
:
"vue"
,
"autoFix"
:
true
},
"html"
,
{
"language"
:
"html"
,
"autoFix"
:
true
}
],
//
#让prettier使用eslint的代码格式进行校验
"prettier.eslintIntegration"
:
true
,
//
#去掉代码结尾的分号
"prettier.semi"
:
false
,
//
#使用带引号替代双引号
"prettier.singleQuote"
:
true
,
//
#让函数(名)和后面的括号之间加个空格
"javascript.format.insertSpaceBeforeFunctionParenthesis"
:
true
,
//
#这个按用户自身习惯选择
"vetur.format.defaultFormatter.html"
:
"js-beautify-html"
,
//
#让vue中的js按编辑器自带的ts格式进行格式化
"vetur.format.defaultFormatter.js"
:
"vscode-typescript"
,
"explorer.confirmDelete"
:
false
,
"vetur.format.defaultFormatterOptions"
:
{
"js-beautify-html"
:
{
"wrap_attributes"
:
"force-aligned"
//
#vue组件中html代码格式化样式
}
},
"files.associations"
:
{
"*.cjson"
:
"jsonc"
,
"*.wxss"
:
"css"
,
"*.wxs"
:
"javascript"
},
"emmet.includeLanguages"
:
{
"wxml"
:
"html"
},
"minapp-vscode.disableAutoConfig"
:
true
,
"window.menuBarVisibility"
:
"visible"
,
"git.enableSmartCommit"
:
true
,
"git.autofetch"
:
true
,
"liveServer.settings.donotShowInfoMsg"
:
true
,
"[html]"
:
{
"editor.defaultFormatter"
:
"vscode.html-language-features"
},
"javascript.updateImportsOnFileMove.enabled"
:
"always"
,
"workbench.colorTheme"
:
"SynthWave '84"
,
"editor.fontSize"
:
16
,
"search.followSymlinks"
:
false
,
"workbench.sideBar.location"
:
"left"
,
//
是否开启保存自动格式化
"zenMode.restore"
:
true
,
"breadcrumbs.enabled"
:
true
,
"gitlens.advanced.messages"
:
{
"suppressLineUncommittedWarning"
:
true
},
"javascript.format.placeOpenBraceOnNewLineForControlBlocks"
:
true
,
"editor.formatOnPaste"
:
false
,
"editor.cursorStyle"
:
"line-thin"
,
"editor.codeActionsOnSave"
:
{
"source.fixAll.eslint"
:
true
}
}
src/components/common/tab-set.vue
0 → 100644
浏览文件 @
85bd6ea5
<
template
>
<div
class=
"tab-set-wrap"
>
<div
class=
"tab-set"
>
<el-popover
v-model=
"visible"
placement=
"bottom"
width=
"200"
trigger=
"click"
@
hide=
"popoverHide"
>
<div
class=
"tab-set-title"
>
自定义表头
</div>
<div
class=
"tab-set-select"
>
<div
class=
"select-list"
>
<el-checkbox
v-model=
"checkAll"
:indeterminate=
"isIndeterminate"
@
change=
"handleCheckAllChange"
>
全选
</el-checkbox>
<el-checkbox-group
v-model=
"checkedProps"
class=
"checkbox-group"
@
change=
"handlecheckedPropsChange"
>
<el-checkbox
v-for=
"tb in tabProps"
:key=
"tb"
:label=
"tb"
class=
"select-checkbox"
/>
</el-checkbox-group>
</div>
<div
class=
"select-btn-wrap"
>
<el-button
size=
"mini"
@
click=
"cancleTp"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"confirmTp"
>
确定
</el-button>
</div>
</div>
<div
slot=
"reference"
class=
"set-btn"
>
<i
class=
"el-icon-setting"
/>
自定义表头
</div>
</el-popover>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
allProps
:
{
// 所有的props
type
:
Array
,
default
()
{
return
[];
},
},
showProps
:
{
// 已经展示的props
type
:
Array
,
default
()
{
return
[];
},
},
},
data
()
{
return
{
checkAll
:
false
,
// 是否全选
checkedProps
:
[],
// 需要展示的props(选中的props)
tabProps
:
[],
// 所有的props
isIndeterminate
:
true
,
// 表示 checkbox 的不确定状态,一般用于实现全选的效果
visible
:
false
,
filtrateData
:
[],
// 筛选后的需要展示数据
};
},
watch
:
{
allProps
:
{
immediate
:
true
,
handler
(
val
)
{
this
.
tabProps
=
this
.
setData
(
val
);
// 设置默认全选状态
this
.
handlecheckedPropsChange
(
this
.
checkedProps
);
},
deep
:
true
,
},
showProps
:
{
immediate
:
true
,
handler
(
val
)
{
this
.
checkedProps
=
this
.
setData
(
val
);
// 设置默认全选状态
this
.
handlecheckedPropsChange
(
this
.
checkedProps
);
},
deep
:
true
,
},
},
methods
:
{
// reFeach() {
// this.$emit('reFeach');
// },
// 全选
handleCheckAllChange
(
val
)
{
this
.
checkedProps
=
val
?
this
.
tabProps
:
[];
this
.
isIndeterminate
=
false
;
},
// 单选
handlecheckedPropsChange
(
value
)
{
const
checkedCount
=
value
.
length
;
this
.
checkAll
=
checkedCount
===
this
.
tabProps
.
length
;
this
.
isIndeterminate
=
checkedCount
>
0
&&
checkedCount
<
this
.
tabProps
.
length
;
},
/**
* 数据格式化
* @param arr 需要格式化的数组[{ prop: "ID",label: "医生ID",showtooltip: false,}]
* @return newArr 格式化后数组 [label]
*/
setData
(
arr
)
{
const
newData
=
[];
for
(
const
item
of
arr
)
{
newData
.
push
(
item
.
label
);
}
return
newData
;
},
// 将数据格式还原
confirmTp
()
{
const
newArr
=
[];
for
(
const
obj
of
this
.
allProps
)
{
for
(
const
item
of
this
.
checkedProps
)
{
if
(
obj
.
label
==
item
)
{
newArr
.
push
(
obj
);
}
}
}
this
.
filtrateData
=
newArr
;
this
.
$emit
(
'updateTableProps'
,
this
.
filtrateData
);
this
.
$emit
(
'reFeach'
);
this
.
visible
=
false
;
},
cancleTp
()
{
this
.
visible
=
false
;
},
popoverHide
()
{},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.tab-set-wrap
{
.tab-set
{
cursor
:
pointer
;
display
:
flex
;
justify-content
:
flex-end
;
padding
:
20px
0
;
.set-btn
{
color
:
#0d9078
;
}
}
}
.tab-set-title
{
background
:
#0d9078
;
color
:
#fff
;
margin
:
-10px
-12px
0
;
padding
:
8px
;
text-align
:
center
;
}
.tab-set-select
{
position
:
relative
;
height
:
400px
;
width
:
200px
;
background
:
#fff
;
z-index
:
100
;
border-radius
:
4px
;
display
:
flex
;
flex-direction
:
column
;
.select-list
{
padding
:
4px
10px
;
overflow-y
:
scroll
;
flex
:
1
;
.checkbox-group
{
padding-top
:
10px
;
.select-checkbox
{
display
:
block
;
}
}
}
.select-btn-wrap
{
padding
:
10px
0
;
}
}
</
style
>
src/components/list/table-set-component.vue
0 → 100644
浏览文件 @
85bd6ea5
此差异已折叠。
点击以展开。
src/utils/GeneralData/diagnosis-list-new.js
0 → 100644
浏览文件 @
85bd6ea5
export
const
DIAGNOS_LIST_NEW
=
[
{
prop
:
'diagnoseLogId'
,
label
:
'ID'
,
showtooltip
:
false
,
},
{
prop
:
'orderNo'
,
label
:
'订单ID'
,
showtooltip
:
false
,
},
{
prop
:
'diagnoseTypeStr'
,
label
:
'预约类型'
,
showtooltip
:
false
,
with
:
'200'
},
{
prop
:
'statusStr'
,
label
:
'状态'
,
showtooltip
:
false
,
},
{
prop
:
'statusRemark'
,
label
:
'状态备注'
,
showtooltip
:
false
,
},
{
prop
:
'toFollowReason'
,
label
:
'稍后跟进状态'
,
showtooltip
:
false
,
},
{
prop
:
'appointBeginTime'
,
label
:
'预约时间'
,
showtooltip
:
false
,
},
// appointBeginTime appointEndTime 预约时间
{
prop
:
'operateUserId'
,
label
:
'运营人员ID'
,
showtooltip
:
false
,
},
{
prop
:
'operateUserName'
,
label
:
'运营人员'
,
showtooltip
:
false
,
},
{
prop
:
'userName'
,
label
:
'助诊医生'
,
showtooltip
:
false
,
},
{
prop
:
'userMobile'
,
label
:
'助诊电话'
,
showtooltip
:
false
,
},
{
prop
:
'assistantBeginTime'
,
label
:
'助诊医生意向时间'
,
showtooltip
:
false
,
},
// assistantBeginTime assistantEndTime 助诊医生意向时间
{
prop
:
'assistantRemark'
,
label
:
'助诊备注'
,
showtooltip
:
false
,
},
{
prop
:
'department'
,
label
:
'预约科室'
,
showtooltip
:
false
,
},
{
prop
:
'triageDepartment'
,
label
:
'分诊科室'
,
showtooltip
:
false
,
},
{
prop
:
'triageRemark'
,
label
:
'分诊备注'
,
showtooltip
:
false
,
},
{
prop
:
'doctorName'
,
label
:
'接诊医生'
,
showtooltip
:
false
,
},
{
prop
:
'outsideDoctor'
,
label
:
'站外医生姓名'
,
showtooltip
:
false
,
},
{
prop
:
'receptionBeginTime'
,
label
:
'接诊医生意向时间'
,
showtooltip
:
false
,
},
// receptionBeginTime receptionEndTime 接诊医生意向时间
{
prop
:
'patientName'
,
label
:
'患者姓名'
,
showtooltip
:
false
,
},
{
prop
:
'age'
,
label
:
'患者年龄'
,
showtooltip
:
false
,
},
{
prop
:
'patientMobilePhone'
,
label
:
'患者电话'
,
showtooltip
:
false
,
},
{
prop
:
'illnessDetail'
,
label
:
'病情描述'
,
showtooltip
:
false
,
},
{
prop
:
'idCard'
,
label
:
'证件号'
,
showtooltip
:
false
,
},
{
prop
:
'sexStr'
,
label
:
'性别'
,
showtooltip
:
false
,
},
{
prop
:
'diagnoseStageStr'
,
label
:
'初/复诊'
,
showtooltip
:
false
,
},
{
prop
:
'determineFlagStr'
,
label
:
'确诊'
,
showtooltip
:
false
,
},
{
prop
:
'diagnoseDisease'
,
label
:
'确诊疾病'
,
showtooltip
:
false
,
},
{
prop
:
'triageOperatorName'
,
label
:
'分诊运营'
,
showtooltip
:
false
,
},
{
prop
:
'receptionOperatorName'
,
label
:
'接诊运营'
,
showtooltip
:
false
,
},
{
prop
:
'diagnoseAdvice'
,
label
:
'诊断建议'
,
showtooltip
:
true
,
},
{
prop
:
'crrsName'
,
label
:
'招募人'
,
showtooltip
:
false
,
},
{
prop
:
'diagnoseChannelStr'
,
label
:
'问诊方式'
,
showtooltip
:
false
,
},
{
prop
:
'doneTime'
,
label
:
'完成时间'
,
showtooltip
:
false
,
},
{
prop
:
'cancelTime'
,
label
:
'退款时间'
,
showtooltip
:
false
,
},
{
prop
:
'createdTime'
,
label
:
'创建时间'
,
showtooltip
:
false
,
},
{
prop
:
'followFlagStr'
,
label
:
'是否跟进'
,
showtooltip
:
false
,
},
{
prop
:
'drugFollowStatusStr'
,
label
:
'药品跟进状态'
,
showtooltip
:
false
,
},
{
prop
:
'drugFollow'
,
label
:
'药品跟进'
,
showtooltip
:
false
,
},
{
prop
:
'checkFollow'
,
label
:
'检查跟进'
,
showtooltip
:
false
,
},
{
prop
:
'otherFollowStatusStr'
,
label
:
'其他跟进事项状态'
,
showtooltip
:
false
,
},
{
prop
:
'otherFollow'
,
label
:
'其他跟进事项'
,
showtooltip
:
false
,
},
{
prop
:
'remark'
,
label
:
'跟进备注'
,
showtooltip
:
true
,
}
];
src/views/IM/diagnosis-admin/diagnosis-list-new.vue
浏览文件 @
85bd6ea5
...
...
@@ -276,15 +276,15 @@
</el-badge>
</span>
</div>
<table-component
<table-
set-
component
:menu-type=
"searchParam.menuType"
:t-data=
"tableData"
:page-no=
"searchParam.pageNo"
:page-size=
"searchParam.pageSize"
:total-rows=
"totalRows"
:loading=
"loading"
:table-data=
"tableData"
:search-param=
"searchParam"
:table-height=
"tableHeight"
:total-rows=
"totalRows"
:multiple-selection
.
sync=
"multipleSelection"
@
handleClick=
"handleClick"
@
sortfunc=
"sortfunc"
@
witeDiagnose=
"witeDiagnose"
@
changeRun=
"changeRun"
...
...
@@ -386,7 +386,6 @@
let
vm
=
null
;
import
{
updateDiagnosis
}
from
'../../../utils/diagnosis'
;
import
{
base64decode
}
from
'../../../utils/utils.js'
;
import
TableComponent
from
'@/components/list/table-c'
;
import
{
TYPE_LIST
,
IS_FLLOW
,
...
...
@@ -414,9 +413,10 @@
import
AppointmentTime
from
'../../../components/common/appointment-time'
;
import
DiagnosisTime
from
'../../../components/common/diagnosis-time'
;
import
RematchingDoctor
from
'../../../components/common/rematching-doctor'
;
import
TableSetComponent
from
'@/components/list/table-set-component'
;
export
default
{
components
:
{
TableComponent
,
Table
Set
Component
,
FollowupComponent
,
MatchComponent
,
RefundComponent
,
...
...
@@ -430,6 +430,7 @@
},
data
()
{
return
{
isFreash
:
true
,
isUp
:
false
,
endFlag
:
false
,
beginFlag
:
false
,
...
...
@@ -548,7 +549,6 @@
return
getCountQuery
().
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
this
.
setTable
(
res
.
data
);
this
.
tabrefresh
=
false
;
this
.
$nextTick
(()
=>
{
this
.
tabrefresh
=
true
;
...
...
@@ -557,7 +557,6 @@
}
});
},
init
()
{
const
fullPath
=
this
.
$route
.
fullPath
;
let
fromType
=
1
;
...
...
@@ -691,14 +690,22 @@
}
else
if
(
val
.
paneName
==
102
)
{
this
.
searchParam
.
hasToFollowReason
=
2
;
}
else
{
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
this
.
searchParam
,
'hasToFollowReason'
))
{
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
this
.
searchParam
,
'hasToFollowReason'
)
)
{
delete
this
.
searchParam
.
hasToFollowReason
;
}
}
}
else
{
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
this
.
searchParam
,
'hasToFollowReason'
))
{
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
this
.
searchParam
,
'hasToFollowReason'
)
)
{
delete
this
.
searchParam
.
hasToFollowReason
;
}
}
...
...
@@ -1122,4 +1129,19 @@
right
:
5px
;
top
:
10px
;
}
body
.el-table
th
.gutter
{
display
:
table-cell
!
important
;
}
body
.el-table
colgroup
.gutter
{
display
:
table-cell
!
important
;
}
.el-table
.warning-row
{
background
:
oldlace
;
}
.el-table
.success-row
{
background
:
#f0f9eb
;
}
</
style
>
vue.config.js
浏览文件 @
85bd6ea5
...
...
@@ -71,7 +71,7 @@ module.exports = {
port
:
8080
,
proxy
:
{
'/proxy'
:
{
target
:
'https://
test1
-sc.yunqueyi.com/'
,
target
:
'https://
dev
-sc.yunqueyi.com/'
,
ws
:
false
,
changeOrigin
:
true
,
secure
:
true
,
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录