Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
edb71d29b4
@ -53,6 +53,7 @@
|
|||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
"quill": "1.3.7",
|
"quill": "1.3.7",
|
||||||
"screenfull": "5.0.2",
|
"screenfull": "5.0.2",
|
||||||
|
"snabbdom": "^3.6.2",
|
||||||
"sortablejs": "1.10.2",
|
"sortablejs": "1.10.2",
|
||||||
"vue": "2.6.12",
|
"vue": "2.6.12",
|
||||||
"vue-count-to": "1.0.13",
|
"vue-count-to": "1.0.13",
|
||||||
|
|||||||
23
src/api/system/specialDiseaseNode.js
Normal file
23
src/api/system/specialDiseaseNode.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// /system/partition/taskPartitionList 任务细分
|
||||||
|
export function taskPartitionList(taskTypeId) {
|
||||||
|
return request({
|
||||||
|
url: `/system/partition/taskPartitionList?taskTypeId=${taskTypeId}`,
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
///system/taskType/selectTaskTypeList 任务类型
|
||||||
|
export function selectTaskTypeList() {
|
||||||
|
return request({
|
||||||
|
url: '/system/taskType/selectTaskTypeList',
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// /system/taskStatus/taskStatusDictList 任务状态
|
||||||
|
export function taskStatusDictList() {
|
||||||
|
return request({
|
||||||
|
url: '/system/taskStatus/taskStatusDictList',
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -262,7 +262,7 @@ export default {
|
|||||||
{ required: true, message: '请输入患者手机号', trigger: 'change' },
|
{ required: true, message: '请输入患者手机号', trigger: 'change' },
|
||||||
{
|
{
|
||||||
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||||
message: "请输入正确的手机码",
|
message: "请输入正确的手机号",
|
||||||
trigger: "blur"
|
trigger: "blur"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@ -676,13 +676,15 @@ video {
|
|||||||
// background: #409eff;
|
// background: #409eff;
|
||||||
display: flex;
|
display: flex;
|
||||||
.left {
|
.left {
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
width: 77%;
|
width: 77%;
|
||||||
height: 500px;
|
height: 500px;
|
||||||
// background: #989992;
|
// background: #989992;
|
||||||
}
|
}
|
||||||
img {
|
img {
|
||||||
height: 100%;
|
// height: 100%;
|
||||||
width: 100%;
|
// width: 100%;
|
||||||
}
|
}
|
||||||
.right {
|
.right {
|
||||||
width: 20%;
|
width: 20%;
|
||||||
|
|||||||
@ -229,7 +229,7 @@
|
|||||||
|
|
||||||
<!-- 添加或修改短信模板信息对话框 -->
|
<!-- 添加或修改短信模板信息对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||||
<el-form-item label="短信模板名称" prop="textMessageName">
|
<el-form-item label="短信模板名称" prop="textMessageName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.textMessageName"
|
v-model="form.textMessageName"
|
||||||
@ -240,7 +240,7 @@
|
|||||||
<el-input v-model="form.textMessageId" placeholder="请输入短信ID" />
|
<el-input v-model="form.textMessageId" placeholder="请输入短信ID" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="短信排序" prop="textMessageSort">
|
<el-form-item label="短信排序" prop="textMessageSort">
|
||||||
<el-input-number v-model="form.textMessageSort" controls-position="right" :min="0" placeholder="请输入短信排序" style="width:380px"/>
|
<el-input-number v-model="form.textMessageSort" controls-position="right" :min="0" placeholder="请输入短信排序" style="width:350px"/>
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
@ -255,7 +255,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="form.suitTaskTypeIds"
|
v-model="form.suitTaskTypeIds"
|
||||||
placeholder="请选择适用任务类型"
|
placeholder="请选择适用任务类型"
|
||||||
style="width: 380px"
|
style="width: 350px"
|
||||||
multiple
|
multiple
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
@ -271,7 +271,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="form.textMessageChannel"
|
v-model="form.textMessageChannel"
|
||||||
placeholder="请选择短信通道"
|
placeholder="请选择短信通道"
|
||||||
style="width: 380px"
|
style="width: 350px"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in options"
|
||||||
@ -286,7 +286,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="form.textMessageStatus"
|
v-model="form.textMessageStatus"
|
||||||
placeholder="请选择短信状态"
|
placeholder="请选择短信状态"
|
||||||
style="width: 380px"
|
style="width: 350px"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in optionstext"
|
v-for="item in optionstext"
|
||||||
@ -303,7 +303,7 @@
|
|||||||
v-if="departmentName == '请选择科室'"
|
v-if="departmentName == '请选择科室'"
|
||||||
@click="clickinnerVisible()"
|
@click="clickinnerVisible()"
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 350px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
color: #c0c4cc;
|
color: #c0c4cc;
|
||||||
@ -316,7 +316,7 @@
|
|||||||
type=""
|
type=""
|
||||||
v-else
|
v-else
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 350px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
padding-left: -10px;
|
padding-left: -10px;
|
||||||
@ -331,7 +331,7 @@
|
|||||||
v-if="diseaseTypeName == '请选择病种'"
|
v-if="diseaseTypeName == '请选择病种'"
|
||||||
@click="clickdisease()"
|
@click="clickdisease()"
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 350px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
color: #c0c4cc;
|
color: #c0c4cc;
|
||||||
@ -344,7 +344,7 @@
|
|||||||
type=""
|
type=""
|
||||||
v-else
|
v-else
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 350px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
padding-left: -10px;
|
padding-left: -10px;
|
||||||
|
|||||||
@ -195,10 +195,10 @@
|
|||||||
<el-input v-model="form.patientName" placeholder="请输入患者姓名" style="width:200px" />
|
<el-input v-model="form.patientName" placeholder="请输入患者姓名" style="width:200px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="患者电话" prop="patientPhone">
|
<el-form-item label="患者电话" prop="patientPhone">
|
||||||
<el-input v-model="form.patientPhone" placeholder="请输入患者电话" style="width:200px" />
|
<el-input v-model="form.patientPhone" placeholder="请输入患者电话" style="width:200px" maxlength="11"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="家属电话" prop="familyMemberPhone">
|
<el-form-item label="家属电话" prop="familyMemberPhone">
|
||||||
<el-input v-model="form.familyMemberPhone" placeholder="请输入家属电话" style="width:200px" />
|
<el-input v-model="form.familyMemberPhone" placeholder="请输入家属电话" style="width:200px" maxlength="11"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="出生日期" prop="birthDate">
|
<el-form-item label="出生日期" prop="birthDate">
|
||||||
<el-date-picker clearable v-model="form.birthDate" style="width:200px" type="date" value-format="yyyy-MM-dd"
|
<el-date-picker clearable v-model="form.birthDate" style="width:200px" type="date" value-format="yyyy-MM-dd"
|
||||||
@ -206,7 +206,7 @@
|
|||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="身份证号" prop="cardNo">
|
<el-form-item label="身份证号" prop="cardNo">
|
||||||
<el-input v-model="form.cardNo" placeholder="请输入身份证号" style="width:200px" />
|
<el-input v-model="form.cardNo" placeholder="请输入身份证号" style="width:200px" maxlength="18"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="性别" prop="sex">
|
<el-form-item label="性别" prop="sex">
|
||||||
<el-radio-group v-model="form.sex">
|
<el-radio-group v-model="form.sex">
|
||||||
@ -462,11 +462,33 @@ export default {
|
|||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
|
cardNo:[
|
||||||
|
{ required: false, message: '', trigger: 'change' },
|
||||||
|
{
|
||||||
|
pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/,
|
||||||
|
message: "身份证号格式有误!",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
|
],
|
||||||
patientName: [
|
patientName: [
|
||||||
{ required: true, message: '请输入患者姓名', trigger: 'change' }
|
{ required: true, message: '请输入患者姓名', trigger: 'change' }
|
||||||
],
|
],
|
||||||
patientPhone: [
|
patientPhone: [
|
||||||
{ required: true, message: '请输入患者手机号', trigger: 'change' }
|
{ required: true, message: '请输入患者手机号', trigger: 'change' },
|
||||||
|
{
|
||||||
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||||
|
message: "请输入正确的手机号",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
familyMemberPhone:[
|
||||||
|
{ required: false, message: '', trigger: 'change' },
|
||||||
|
{
|
||||||
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||||
|
message: "请输入正确的手机号",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
|
|
||||||
],
|
],
|
||||||
appointmentDate: [
|
appointmentDate: [
|
||||||
{ required: true, message: '请选择患者预约时间', trigger: 'change' }
|
{ required: true, message: '请选择患者预约时间', trigger: 'change' }
|
||||||
|
|||||||
@ -221,14 +221,13 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 添加或修改话术信息对话框 -->
|
<!-- 添加或修改话术信息对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body v-if="open">
|
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body v-if="open">
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="110px" :inline="true">
|
||||||
<el-form-item label="通用话术名称" prop="commonScriptName">
|
<el-form-item label="通用话术名称" prop="commonScriptName">
|
||||||
<el-input
|
<el-input
|
||||||
maxlength="100"
|
maxlength="100"
|
||||||
v-model="form.commonScriptName"
|
v-model="form.commonScriptName"
|
||||||
placeholder="请输入通用话术名称"
|
placeholder="请输入通用话术名称"
|
||||||
type="textarea"
|
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="话术名称" prop="scriptName">
|
<el-form-item label="话术名称" prop="scriptName">
|
||||||
@ -239,7 +238,7 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="话术排序" prop="scriptSort">
|
<el-form-item label="话术排序" prop="scriptSort">
|
||||||
<el-input-number v-model="form.scriptSort" controls-position="right" :min="0" placeholder="请输入话术排序" style="width:380px"/>
|
<el-input-number v-model="form.scriptSort" controls-position="right" :min="0" placeholder="请输入话术排序" style="width:206px"/>
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="话术ID" prop="scriptId">
|
<el-form-item label="话术ID" prop="scriptId">
|
||||||
@ -260,7 +259,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="form.scriptStatus"
|
v-model="form.scriptStatus"
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
style="width: 379px"
|
style="width: 206px"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in optionsadd"
|
v-for="item in optionsadd"
|
||||||
@ -272,21 +271,14 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="话术简介" prop="scriptIntroduction">
|
|
||||||
<el-input
|
|
||||||
maxlength="200"
|
|
||||||
v-model="form.scriptIntroduction"
|
|
||||||
placeholder="请输入话术简介"
|
|
||||||
type="textarea"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="科室名称" prop="departmentId">
|
<el-form-item label="科室名称" prop="departmentId">
|
||||||
<el-button
|
<el-button
|
||||||
type=""
|
type=""
|
||||||
v-if="departmentName == '请选择科室'"
|
v-if="departmentName == '请选择科室'"
|
||||||
@click="clickinnerVisible()"
|
@click="clickinnerVisible()"
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 206px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
color: #c0c4cc;
|
color: #c0c4cc;
|
||||||
@ -299,7 +291,7 @@
|
|||||||
type=""
|
type=""
|
||||||
v-else
|
v-else
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 206px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
padding-left: -10px;
|
padding-left: -10px;
|
||||||
@ -314,7 +306,7 @@
|
|||||||
v-if="diseaseTypeName == '请选择病种'"
|
v-if="diseaseTypeName == '请选择病种'"
|
||||||
@click="clickdisease()"
|
@click="clickdisease()"
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 206px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
color: #c0c4cc;
|
color: #c0c4cc;
|
||||||
@ -327,7 +319,7 @@
|
|||||||
type=""
|
type=""
|
||||||
v-else
|
v-else
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 206px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
padding-left: -10px;
|
padding-left: -10px;
|
||||||
@ -336,6 +328,15 @@
|
|||||||
>{{ diseaseTypeName }}</el-button
|
>{{ diseaseTypeName }}</el-button
|
||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="话术简介" prop="scriptIntroduction">
|
||||||
|
<el-input
|
||||||
|
maxlength="200"
|
||||||
|
v-model="form.scriptIntroduction"
|
||||||
|
placeholder="请输入话术简介"
|
||||||
|
type="textarea"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="图片" prop="scriptFilePath">
|
<el-form-item label="图片" prop="scriptFilePath">
|
||||||
<stationAcatar
|
<stationAcatar
|
||||||
@imgUrl="imgUrl"
|
@imgUrl="imgUrl"
|
||||||
@ -1050,6 +1051,9 @@ export default {
|
|||||||
::v-deep .el-input-number .el-input__inner{
|
::v-deep .el-input-number .el-input__inner{
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
::v-deep .el-textarea__inner{
|
||||||
|
width: 206px;
|
||||||
|
}
|
||||||
.leftscript {
|
.leftscript {
|
||||||
// width: 30%;
|
// width: 30%;
|
||||||
height: 850px;
|
height: 850px;
|
||||||
|
|||||||
@ -405,7 +405,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="aitem.serviceWayName"
|
v-model="aitem.serviceWayName"
|
||||||
placeholder="请选择服务方式"
|
placeholder="请选择服务方式"
|
||||||
@change="changeway($event,index)"
|
@change="changeway($event, index)"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in optionsway"
|
v-for="item in optionsway"
|
||||||
@ -424,7 +424,7 @@
|
|||||||
style="margin-left: 10px"
|
style="margin-left: 10px"
|
||||||
v-model="aitem.serviceContent"
|
v-model="aitem.serviceContent"
|
||||||
placeholder="请选择服务内容"
|
placeholder="请选择服务内容"
|
||||||
@change="changcontent($event,index)"
|
@change="changcontent($event, index)"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in optionscontent[index]"
|
v-for="item in optionscontent[index]"
|
||||||
@ -443,9 +443,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="aitem.serviceFrequencyText"
|
v-model="aitem.serviceFrequencyText"
|
||||||
placeholder="请选择服务频次"
|
placeholder="请选择服务频次"
|
||||||
|
|
||||||
>
|
>
|
||||||
|
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in optionsfrequency[index]"
|
v-for="item in optionsfrequency[index]"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -663,11 +661,9 @@
|
|||||||
:inline="true"
|
:inline="true"
|
||||||
>
|
>
|
||||||
<el-form-item label="病种名称:" prop="packageVersion">
|
<el-form-item label="病种名称:" prop="packageVersion">
|
||||||
<span style="
|
<span style="display: inline-block; width: 80px">{{
|
||||||
display: inline-block;
|
formdetail.diseaseTypeName
|
||||||
width: 80px;
|
}}</span>
|
||||||
|
|
||||||
">{{ formdetail.diseaseTypeName }}</span>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="服务包名称:" prop="packageVersion">
|
<el-form-item label="服务包名称:" prop="packageVersion">
|
||||||
<span
|
<span
|
||||||
@ -689,13 +685,11 @@
|
|||||||
<el-form-item label="价格:" prop="packageVersion">
|
<el-form-item label="价格:" prop="packageVersion">
|
||||||
<span>{{ formdetail.packagePrice }}元</span>
|
<span>{{ formdetail.packagePrice }}元</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br>
|
<br />
|
||||||
<el-form-item label="服务期限:" prop="packageVersion">
|
<el-form-item label="服务期限:" prop="packageVersion">
|
||||||
<span style="
|
<span style="display: inline-block; width: 80px">{{
|
||||||
display: inline-block;
|
formdetail.packageTermAndUnit
|
||||||
width: 80px;
|
}}</span>
|
||||||
|
|
||||||
">{{ formdetail.packageTermAndUnit }}</span>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="硬件类型:" prop="packageVersion">
|
<el-form-item label="硬件类型:" prop="packageVersion">
|
||||||
<span>{{
|
<span>{{
|
||||||
@ -807,25 +801,25 @@ export default {
|
|||||||
// 服务内容
|
// 服务内容
|
||||||
|
|
||||||
optionscontent: {
|
optionscontent: {
|
||||||
'0':[],
|
'0': [],
|
||||||
'1':[],
|
'1': [],
|
||||||
'2':[],
|
'2': [],
|
||||||
'3':[],
|
'3': [],
|
||||||
'4':[],
|
'4': [],
|
||||||
},
|
},
|
||||||
// 服务频次
|
// 服务频次
|
||||||
optionsfrequency:{
|
optionsfrequency: {
|
||||||
'0':[],
|
'0': [],
|
||||||
'1':[],
|
'1': [],
|
||||||
'2':[],
|
'2': [],
|
||||||
'3':[],
|
'3': [],
|
||||||
'4':[],
|
'4': [],
|
||||||
},
|
},
|
||||||
// optionsfrequency: [
|
// optionsfrequency: [
|
||||||
// {
|
// {
|
||||||
// value: '',
|
// value: '',
|
||||||
// label: ''
|
// label: ''
|
||||||
// }
|
// }
|
||||||
// ],
|
// ],
|
||||||
|
|
||||||
optionstype: [{
|
optionstype: [{
|
||||||
@ -947,7 +941,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
serviceWayId:'',
|
serviceWayId: '',
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -1027,38 +1021,38 @@ export default {
|
|||||||
// console.log(this.optionscontent)
|
// console.log(this.optionscontent)
|
||||||
var optionscontentPlus = []
|
var optionscontentPlus = []
|
||||||
this.optionscontent[index] = []
|
this.optionscontent[index] = []
|
||||||
for(var i = 0;i<5;i++){
|
for (var i = 0; i < 5; i++) {
|
||||||
if(this.optionscontent[i] != []){
|
if (this.optionscontent[i] != []) {
|
||||||
optionscontentPlus.push(this.optionscontent[i])
|
optionscontentPlus.push(this.optionscontent[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// console.log(optionscontentPlus,'打印optionscontentPlus')
|
// console.log(optionscontentPlus,'打印optionscontentPlus')
|
||||||
// console.log(this.optionscontent,'optionscontent')
|
// console.log(this.optionscontent,'optionscontent')
|
||||||
this.optionscontent = {
|
this.optionscontent = {
|
||||||
'0':[],
|
'0': [],
|
||||||
'1':[],
|
'1': [],
|
||||||
'2':[],
|
'2': [],
|
||||||
'3':[],
|
'3': [],
|
||||||
'4':[],
|
'4': [],
|
||||||
}
|
}
|
||||||
for(var j = 0 ; j<optionscontentPlus.length;j++){
|
for (var j = 0; j < optionscontentPlus.length; j++) {
|
||||||
this.optionscontent[j] = optionscontentPlus[j]
|
this.optionscontent[j] = optionscontentPlus[j]
|
||||||
}
|
}
|
||||||
var optionsfrequencyPlus = []
|
var optionsfrequencyPlus = []
|
||||||
this.optionsfrequency[index] = []
|
this.optionsfrequency[index] = []
|
||||||
for(var i = 0;i<5;i++){
|
for (var i = 0; i < 5; i++) {
|
||||||
if(this.optionsfrequency[i] != []){
|
if (this.optionsfrequency[i] != []) {
|
||||||
optionsfrequencyPlus.push(this.optionsfrequency[i])
|
optionsfrequencyPlus.push(this.optionsfrequency[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.optionsfrequency = {
|
this.optionsfrequency = {
|
||||||
'0':[],
|
'0': [],
|
||||||
'1':[],
|
'1': [],
|
||||||
'2':[],
|
'2': [],
|
||||||
'3':[],
|
'3': [],
|
||||||
'4':[],
|
'4': [],
|
||||||
}
|
}
|
||||||
for(var j = 0 ; j<optionsfrequencyPlus.length;j++){
|
for (var j = 0; j < optionsfrequencyPlus.length; j++) {
|
||||||
this.optionsfrequency[j] = optionsfrequencyPlus[j]
|
this.optionsfrequency[j] = optionsfrequencyPlus[j]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1068,7 +1062,7 @@ export default {
|
|||||||
var obj = {
|
var obj = {
|
||||||
serviceWayName: null,
|
serviceWayName: null,
|
||||||
serviceContent: null,
|
serviceContent: null,
|
||||||
serviceFrequencyText:null,
|
serviceFrequencyText: null,
|
||||||
idd: this.idd
|
idd: this.idd
|
||||||
};
|
};
|
||||||
if (this.form.voList.length == 5) {
|
if (this.form.voList.length == 5) {
|
||||||
@ -1094,18 +1088,18 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 服务方式点击事件
|
// 服务方式点击事件
|
||||||
changeway(e,index) {
|
changeway(e, index) {
|
||||||
this.serviceWayId = this.optionsway.find(f => f.serviceWayName == e).id
|
this.serviceWayId = this.optionsway.find(f => f.serviceWayName == e).id
|
||||||
serviccontent(this.serviceWayId).then(response => {
|
serviccontent(this.serviceWayId).then(response => {
|
||||||
this.optionscontent[index] = response.rows;
|
this.optionscontent[index] = response.rows;
|
||||||
});
|
});
|
||||||
this.form.voList[index].serviceContent = null
|
this.form.voList[index].serviceContent = null
|
||||||
this.form.voList[index].serviceFrequencyText = null
|
this.form.voList[index].serviceFrequencyText = null
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 服务内容点击事件
|
// 服务内容点击事件
|
||||||
changcontent(e,index) {
|
changcontent(e, index) {
|
||||||
var id = null
|
var id = null
|
||||||
this.form.voList[index].serviceFrequencyText = null
|
this.form.voList[index].serviceFrequencyText = null
|
||||||
id = this.optionscontent[index].find(f => f.serviceContent == e).id
|
id = this.optionscontent[index].find(f => f.serviceContent == e).id
|
||||||
@ -1260,27 +1254,27 @@ export default {
|
|||||||
|
|
||||||
// this.optionscontent = [],
|
// this.optionscontent = [],
|
||||||
this.optionscontent = {
|
this.optionscontent = {
|
||||||
'0':[],
|
'0': [],
|
||||||
'1':[],
|
'1': [],
|
||||||
'2':[],
|
'2': [],
|
||||||
'3':[],
|
'3': [],
|
||||||
'4':[],
|
'4': [],
|
||||||
},
|
},
|
||||||
this.optionsfrequency={
|
this.optionsfrequency = {
|
||||||
'0':[],
|
'0': [],
|
||||||
'1':[],
|
'1': [],
|
||||||
'2':[],
|
'2': [],
|
||||||
'3':[],
|
'3': [],
|
||||||
'4':[],
|
'4': [],
|
||||||
}
|
}
|
||||||
// 服务频次
|
// 服务频次
|
||||||
// this.optionsfrequency = [
|
// this.optionsfrequency = [
|
||||||
// {
|
// {
|
||||||
// value: '',
|
// value: '',
|
||||||
// label: ''
|
// label: ''
|
||||||
// }
|
// }
|
||||||
// ],
|
// ],
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
@ -1308,7 +1302,7 @@ export default {
|
|||||||
{
|
{
|
||||||
serviceWayName: null,
|
serviceWayName: null,
|
||||||
serviceContent: null,
|
serviceContent: null,
|
||||||
serviceFrequencyText:null,
|
serviceFrequencyText: null,
|
||||||
serviceFrequencyStart: null,
|
serviceFrequencyStart: null,
|
||||||
serviceFrequencyEnd: null,
|
serviceFrequencyEnd: null,
|
||||||
idd: this.idd,
|
idd: this.idd,
|
||||||
@ -1415,51 +1409,63 @@ export default {
|
|||||||
// return
|
// return
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.voList) {
|
if (this.form.id != null) {
|
||||||
var obj = JSON.parse(JSON.stringify(this.form))
|
this.form.departmentName = this.departmentName
|
||||||
obj.voList.forEach(e => {
|
this.form.diseaseTypeName = this.diseaseTypeName
|
||||||
if (e.serviceFrequencyText.includes('~')) {
|
if (this.form.voList) {
|
||||||
const str = e.serviceFrequencyText;
|
var obj = JSON.parse(JSON.stringify(this.form))
|
||||||
const parts = str.split('~');
|
obj.voList.forEach(e => {
|
||||||
e.serviceFrequencyStart = parts[0];
|
if (e.serviceFrequencyText.includes('~')) {
|
||||||
e.serviceFrequencyEnd = parts[1];
|
const str = e.serviceFrequencyText;
|
||||||
e.serviceFrequencyText = null
|
const parts = str.split('~');
|
||||||
} else {
|
e.serviceFrequencyStart = parts[0];
|
||||||
e.serviceFrequencyText = e.serviceFrequencyText
|
e.serviceFrequencyEnd = parts[1];
|
||||||
}
|
e.serviceFrequencyText = null
|
||||||
|
} else {
|
||||||
|
e.serviceFrequencyText = e.serviceFrequencyText
|
||||||
|
}
|
||||||
|
})
|
||||||
|
updateServicepackage(obj).then(response => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
|
||||||
if (this.form.id != null) {
|
if (this.diseaseTypeName == "请选择病种") {
|
||||||
this.form.departmentName = this.departmentName
|
this.form.diseaseTypeName == null
|
||||||
this.form.diseaseTypeName = this.diseaseTypeName
|
|
||||||
updateServicepackage(obj).then(response => {
|
|
||||||
this.$modal.msgSuccess("修改成功");
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
|
this.form.diseaseTypeName = this.diseaseTypeName
|
||||||
if (this.diseaseTypeName == "请选择病种") {
|
|
||||||
this.form.diseaseTypeName == null
|
|
||||||
} else {
|
|
||||||
this.form.diseaseTypeName = this.diseaseTypeName
|
|
||||||
}
|
|
||||||
if (this.itemname) {
|
|
||||||
this.form.departmentName = this.departmentName
|
|
||||||
this.form.departmentId = this.itemname
|
|
||||||
|
|
||||||
} else {
|
|
||||||
this.form.departmentName = this.departmentName
|
|
||||||
|
|
||||||
}
|
|
||||||
addServicepackage(obj).then(response => {
|
|
||||||
this.$modal.msgSuccess("新增成功");
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
this.Departmentlist()
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
if (this.itemname) {
|
||||||
|
this.form.departmentName = this.departmentName
|
||||||
|
this.form.departmentId = this.itemname
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.form.departmentName = this.departmentName
|
||||||
|
}
|
||||||
|
if (this.form.voList) {
|
||||||
|
var obj = JSON.parse(JSON.stringify(this.form))
|
||||||
|
obj.voList.forEach(e => {
|
||||||
|
if (e.serviceFrequencyText.includes('~')) {
|
||||||
|
const str = e.serviceFrequencyText;
|
||||||
|
const parts = str.split('~');
|
||||||
|
e.serviceFrequencyStart = parts[0];
|
||||||
|
e.serviceFrequencyEnd = parts[1];
|
||||||
|
e.serviceFrequencyText = null
|
||||||
|
} else {
|
||||||
|
e.serviceFrequencyText = e.serviceFrequencyText
|
||||||
|
}
|
||||||
|
})
|
||||||
|
addServicepackage(obj).then(response => {
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
this.Departmentlist()
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -179,7 +179,7 @@
|
|||||||
|
|
||||||
<!-- 添加或修改微信模板信息对话框 -->
|
<!-- 添加或修改微信模板信息对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
||||||
<el-form-item label="微信模板名称" prop="wechatTemplateName">
|
<el-form-item label="微信模板名称" prop="wechatTemplateName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.wechatTemplateName"
|
v-model="form.wechatTemplateName"
|
||||||
@ -190,7 +190,7 @@
|
|||||||
<el-input v-model="form.templateId" placeholder="请输入模板ID" />
|
<el-input v-model="form.templateId" placeholder="请输入模板ID" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="微信排序" prop="templateSort">
|
<el-form-item label="微信排序" prop="templateSort">
|
||||||
<el-input-number v-model="form.templateSort" controls-position="right" :min="0" placeholder="请输入微信排序" style="width:380px"/>
|
<el-input-number v-model="form.templateSort" controls-position="right" :min="0" placeholder="请输入微信排序" style="width:350px"/>
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="模板内容" prop="templateContent">
|
<el-form-item label="模板内容" prop="templateContent">
|
||||||
@ -206,7 +206,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="form.templateSource"
|
v-model="form.templateSource"
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
style="width: 380px"
|
style="width: 350px"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in options"
|
||||||
@ -221,7 +221,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="form.suitTaskTypeIds"
|
v-model="form.suitTaskTypeIds"
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
style="width: 380px"
|
style="width: 350px"
|
||||||
multiple
|
multiple
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
@ -239,7 +239,7 @@
|
|||||||
v-if="departmentName == '请选择科室'"
|
v-if="departmentName == '请选择科室'"
|
||||||
@click="clickinnerVisible()"
|
@click="clickinnerVisible()"
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 350px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
color: #c0c4cc;
|
color: #c0c4cc;
|
||||||
@ -252,7 +252,7 @@
|
|||||||
type=""
|
type=""
|
||||||
v-else
|
v-else
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 350px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
padding-left: -10px;
|
padding-left: -10px;
|
||||||
@ -267,7 +267,7 @@
|
|||||||
v-if="diseaseTypeName == '请选择病种'"
|
v-if="diseaseTypeName == '请选择病种'"
|
||||||
@click="clickdisease()"
|
@click="clickdisease()"
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 350px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
color: #c0c4cc;
|
color: #c0c4cc;
|
||||||
@ -280,7 +280,7 @@
|
|||||||
type=""
|
type=""
|
||||||
v-else
|
v-else
|
||||||
style="
|
style="
|
||||||
width: 379px;
|
width: 350px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
padding-left: -10px;
|
padding-left: -10px;
|
||||||
|
|||||||
@ -201,10 +201,10 @@
|
|||||||
<el-input v-model="form.patientName" placeholder="请输入患者姓名" style="width:200px" />
|
<el-input v-model="form.patientName" placeholder="请输入患者姓名" style="width:200px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="患者电话" prop="patientPhone">
|
<el-form-item label="患者电话" prop="patientPhone">
|
||||||
<el-input v-model="form.patientPhone" placeholder="请输入患者电话" style="width:200px" />
|
<el-input v-model="form.patientPhone" placeholder="请输入患者电话" style="width:200px" maxlength="11" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="家属电话" prop="familyMemberPhone">
|
<el-form-item label="家属电话" prop="familyMemberPhone">
|
||||||
<el-input v-model="form.familyMemberPhone" placeholder="请输入家属电话" style="width:200px" />
|
<el-input v-model="form.familyMemberPhone" placeholder="请输入家属电话" style="width:200px" maxlength="11"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="出生日期" prop="birthDate">
|
<el-form-item label="出生日期" prop="birthDate">
|
||||||
<el-date-picker clearable v-model="form.birthDate" style="width:200px" type="date" value-format="yyyy-MM-dd"
|
<el-date-picker clearable v-model="form.birthDate" style="width:200px" type="date" value-format="yyyy-MM-dd"
|
||||||
@ -212,7 +212,7 @@
|
|||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="身份证号" prop="cardNo">
|
<el-form-item label="身份证号" prop="cardNo">
|
||||||
<el-input v-model="form.cardNo" placeholder="请输入身份证号" style="width:200px" />
|
<el-input v-model="form.cardNo" placeholder="请输入身份证号" style="width:200px" maxlength="18"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="性别" prop="sex">
|
<el-form-item label="性别" prop="sex">
|
||||||
<el-radio-group v-model="form.sex">
|
<el-radio-group v-model="form.sex">
|
||||||
@ -469,11 +469,33 @@ export default {
|
|||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
|
cardNo:[
|
||||||
|
{ required: false, message: '', trigger: 'change' },
|
||||||
|
{
|
||||||
|
pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/,
|
||||||
|
message: "身份证号格式有误!",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
familyMemberPhone:[
|
||||||
|
{ required: false, message: '', trigger: 'change' },
|
||||||
|
{
|
||||||
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||||
|
message: "请输入正确的手机号",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
|
|
||||||
|
],
|
||||||
patientName: [
|
patientName: [
|
||||||
{ required: true, message: '请输入患者姓名', trigger: 'change' }
|
{ required: true, message: '请输入患者姓名', trigger: 'change' }
|
||||||
],
|
],
|
||||||
patientPhone: [
|
patientPhone: [
|
||||||
{ required: true, message: '请输入患者手机号', trigger: 'change' }
|
{ required: true, message: '请输入患者手机号', trigger: 'change' },
|
||||||
|
{
|
||||||
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||||
|
message: "请输入正确的手机号",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
visitMethod: [
|
visitMethod: [
|
||||||
{ required: true, message: '请输入就诊方式', trigger: 'change' }
|
{ required: true, message: '请输入就诊方式', trigger: 'change' }
|
||||||
|
|||||||
@ -203,10 +203,10 @@
|
|||||||
<el-input v-model="form.patientName" placeholder="请输入患者姓名" style="width:200px" />
|
<el-input v-model="form.patientName" placeholder="请输入患者姓名" style="width:200px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="患者电话" prop="patientPhone">
|
<el-form-item label="患者电话" prop="patientPhone">
|
||||||
<el-input v-model="form.patientPhone" placeholder="请输入患者电话" style="width:200px" />
|
<el-input v-model="form.patientPhone" placeholder="请输入患者电话" style="width:200px" maxlength="11"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="家属电话" prop="familyMemberPhone">
|
<el-form-item label="家属电话" prop="familyMemberPhone">
|
||||||
<el-input v-model="form.familyMemberPhone" placeholder="请输入家属电话" style="width:200px" />
|
<el-input v-model="form.familyMemberPhone" placeholder="请输入家属电话" style="width:200px" maxlength="11"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="出生日期" prop="birthDate">
|
<el-form-item label="出生日期" prop="birthDate">
|
||||||
<el-date-picker clearable v-model="form.birthDate" style="width:200px" type="date" value-format="yyyy-MM-dd"
|
<el-date-picker clearable v-model="form.birthDate" style="width:200px" type="date" value-format="yyyy-MM-dd"
|
||||||
@ -214,7 +214,7 @@
|
|||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="身份证号" prop="cardNo">
|
<el-form-item label="身份证号" prop="cardNo">
|
||||||
<el-input v-model="form.cardNo" placeholder="请输入身份证号" style="width:200px" />
|
<el-input v-model="form.cardNo" placeholder="请输入身份证号" style="width:200px" maxlength="18"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="性别" prop="sex">
|
<el-form-item label="性别" prop="sex">
|
||||||
<el-radio-group v-model="form.sex">
|
<el-radio-group v-model="form.sex">
|
||||||
@ -494,11 +494,33 @@ export default {
|
|||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
|
cardNo:[
|
||||||
|
{ required: false, message: '', trigger: 'change' },
|
||||||
|
{
|
||||||
|
pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/,
|
||||||
|
message: "身份证号格式有误!",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
familyMemberPhone:[
|
||||||
|
{ required: false, message: '', trigger: 'change' },
|
||||||
|
{
|
||||||
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||||
|
message: "请输入正确的手机号",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
|
|
||||||
|
],
|
||||||
patientName: [
|
patientName: [
|
||||||
{ required: true, message: '请输入患者姓名', trigger: 'change' }
|
{ required: true, message: '请输入患者姓名', trigger: 'change' }
|
||||||
],
|
],
|
||||||
patientPhone: [
|
patientPhone: [
|
||||||
{ required: true, message: '请输入患者手机号', trigger: 'change' }
|
{ required: true, message: '请输入患者手机号', trigger: 'change' },
|
||||||
|
{
|
||||||
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||||
|
message: "请输入正确的手机号",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
visitMethod: [
|
visitMethod: [
|
||||||
{ required: true, message: '请输入就诊方式', trigger: 'change' }
|
{ required: true, message: '请输入就诊方式', trigger: 'change' }
|
||||||
|
|||||||
@ -11,10 +11,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Vue from 'vue'
|
import { DomEditor, IDomEditor, SlateElement } from '@wangeditor/editor'
|
||||||
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
|
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
|
||||||
import { Boot } from '@wangeditor/editor'
|
import { Boot } from '@wangeditor/editor'
|
||||||
|
import { h, VNode } from 'snabbdom'
|
||||||
// import menuConf from "./ModalMenu";
|
// import menuConf from "./ModalMenu";
|
||||||
|
|
||||||
export default ({
|
export default ({
|
||||||
components: { Editor, Toolbar },
|
components: { Editor, Toolbar },
|
||||||
data() {
|
data() {
|
||||||
@ -234,7 +236,14 @@ export default ({
|
|||||||
this.editor.focus()
|
this.editor.focus()
|
||||||
this.timer = setInterval(() => {
|
this.timer = setInterval(() => {
|
||||||
if (this.editor.isFocused()) {
|
if (this.editor.isFocused()) {
|
||||||
this.editor.insertText('Hello Vue!')
|
const resume = { // JS 语法
|
||||||
|
type: 'attachment',
|
||||||
|
fileName: '用药',
|
||||||
|
fileSpan: '药品名称',
|
||||||
|
link: 'https://xxx.com/files/resume.pdf',
|
||||||
|
children: [{ text: '123' }] // void 元素必须有一个 children ,其中只有一个空字符串,重要!!!
|
||||||
|
}
|
||||||
|
this.editor.insertNode(resume)
|
||||||
clearInterval(this.timer)
|
clearInterval(this.timer)
|
||||||
}
|
}
|
||||||
}, 200);
|
}, 200);
|
||||||
@ -251,6 +260,7 @@ export default ({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
const editor = this.editor
|
const editor = this.editor
|
||||||
@ -266,8 +276,71 @@ export default ({
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
Boot.registerMenu(menuConf)
|
Boot.registerMenu(menuConf)
|
||||||
|
Boot.registerPlugin(withAttachment)
|
||||||
|
const renderElemConf = {
|
||||||
|
type: 'attachment', // 新元素 type ,重要!!!
|
||||||
|
renderElem: renderAttachment,
|
||||||
|
}
|
||||||
|
Boot.registerRenderElem(renderElemConf)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
function withAttachment(editor) { // JS 语法
|
||||||
|
const { isInline, isVoid } = editor
|
||||||
|
const newEditor = editor
|
||||||
|
newEditor.isInline = elem => {
|
||||||
|
const type = DomEditor.getNodeType(elem)
|
||||||
|
if (type === 'attachment') return true // 针对 type: attachment ,设置为 inline
|
||||||
|
return isInline(elem)
|
||||||
|
}
|
||||||
|
newEditor.isVoid = elem => {
|
||||||
|
const type = DomEditor.getNodeType(elem)
|
||||||
|
if (type === 'attachment') return true // 针对 type: attachment ,设置为 void
|
||||||
|
return isVoid(elem)
|
||||||
|
}
|
||||||
|
return newEditor // 返回 newEditor ,重要!!!
|
||||||
|
}
|
||||||
|
function renderAttachment(elem, children, editor) { // JS 语法
|
||||||
|
console.log(h)
|
||||||
|
// 获取“附件”的数据,参考上文 myResume 数据结构
|
||||||
|
const { fileName = '', link = '', fileSpan = '' } = elem
|
||||||
|
// 附件 icon 图标 vnode
|
||||||
|
const iconVnode = h(
|
||||||
|
// HTML tag
|
||||||
|
'img',
|
||||||
|
// HTML 属性
|
||||||
|
{
|
||||||
|
props: { src: 'https://hekou-nurse-api.xinyilu.cn/profile/weChatPicture/dygmainPage.png' }, // HTML 属性,驼峰式写法
|
||||||
|
style: { width: '1em', marginRight: '0.1em', transform: 'translateY(15%)' /* 其他... */ } // HTML style ,驼峰式写法
|
||||||
|
}
|
||||||
|
// img 没有子节点,所以第三个参数不用写
|
||||||
|
)
|
||||||
|
const spanVnode = h(
|
||||||
|
// HTML tag
|
||||||
|
'span',
|
||||||
|
// HTML 属性
|
||||||
|
{
|
||||||
|
props: { contentEditable: false }, // HTML 属性,驼峰式写法
|
||||||
|
style: { display: 'inline-block', marginLeft: '3px', color: '#22343C', background: '#E5F5F2', /* 其他... */ }, // style ,驼峰式写法
|
||||||
|
on: { click() { console.log('clicked', link, elem) }, /* 其他... */ }
|
||||||
|
},
|
||||||
|
// img 没有子节点,所以第三个参数不用写
|
||||||
|
[iconVnode, fileSpan]
|
||||||
|
)
|
||||||
|
// 附件元素 vnode
|
||||||
|
const attachVnode = h(
|
||||||
|
// HTML tag
|
||||||
|
'span',
|
||||||
|
// HTML 属性、样式、事件
|
||||||
|
{
|
||||||
|
props: { contentEditable: false }, // HTML 属性,驼峰式写法
|
||||||
|
style: { display: 'inline-block', marginLeft: '3px', color: '#fff', background: '#009A82', /* 其他... */ }, // style ,驼峰式写法
|
||||||
|
on: { click() { console.log('clicked', link, elem), elem.fileName = '123' } /* 其他... */ }
|
||||||
|
},
|
||||||
|
// 子节点
|
||||||
|
[iconVnode, fileName, spanVnode]
|
||||||
|
)
|
||||||
|
return attachVnode
|
||||||
|
}
|
||||||
|
|
||||||
class MyButtonMenu { // JS 语法
|
class MyButtonMenu { // JS 语法
|
||||||
constructor(vueInstance) {
|
constructor(vueInstance) {
|
||||||
|
|||||||
@ -40,7 +40,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
|
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
|
||||||
@click.native='bottomclickevent(index, uindex)'
|
@click.native='bottomclickevent(uitem, index, uindex)'
|
||||||
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
|
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
|
||||||
<h4>{{ uitem.title }}</h4>
|
<h4>{{ uitem.title }}</h4>
|
||||||
<p>{{ uitem.text }}</p>
|
<p>{{ uitem.text }}</p>
|
||||||
@ -52,20 +52,23 @@
|
|||||||
<div class="topform">
|
<div class="topform">
|
||||||
<el-form ref="form" :inline="true" :model="form" label-width="60px" class="form">
|
<el-form ref="form" :inline="true" :model="form" label-width="60px" class="form">
|
||||||
<el-form-item label="任务类型" prop="name">
|
<el-form-item label="任务类型" prop="name">
|
||||||
<el-select v-model="value" style="width:100px">
|
<el-select v-model="value" style="width:100px" @change="changeTaskType">
|
||||||
<el-option label="出院后" value="item.value">
|
<el-option v-for="item in selectTaskTypeList" :key="item.id" :label="item.taskTypeName"
|
||||||
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务细分" prop="name">
|
<el-form-item label="任务细分" prop="name">
|
||||||
<el-select v-model="value" style="width:100px">
|
<el-select v-model="value" style="width:100px">
|
||||||
<el-option label="出院后" value="item.value">
|
<el-option v-for="item in taskPartitionList" :key="item.id" :label="item.taskTypeName"
|
||||||
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务状态" prop="name">
|
<el-form-item label="任务状态" prop="name">
|
||||||
<el-select v-model="value" style="width:100px">
|
<el-select v-model="value" style="width:100px">
|
||||||
<el-option label="出院后" value="item.value">
|
<el-option v-for="item in taskStatusDictList" :key="item.id"
|
||||||
|
:label="item.taskStatusName" :value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -80,7 +83,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<!-- <wangeditor style="height:300px;width:100%;" ref="editor" /> -->
|
<wangeditor style="height:300px;width:100%;" ref="editor" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -88,6 +91,9 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import wangeditor from '../components/wangEditor.vue'
|
import wangeditor from '../components/wangEditor.vue'
|
||||||
|
import {
|
||||||
|
selectTaskTypeList, taskPartitionList, taskStatusDictList
|
||||||
|
} from '@/api/system/specialDiseaseNode'
|
||||||
export default {
|
export default {
|
||||||
components: { wangeditor },
|
components: { wangeditor },
|
||||||
name: "specialDiseaseNode",
|
name: "specialDiseaseNode",
|
||||||
@ -150,9 +156,16 @@ export default {
|
|||||||
}],
|
}],
|
||||||
value: '',
|
value: '',
|
||||||
input: '',
|
input: '',
|
||||||
|
//任务类型
|
||||||
|
selectTaskTypeList: [],
|
||||||
|
//任务状态
|
||||||
|
taskStatusDictList: [],
|
||||||
|
//任务细分
|
||||||
|
taskPartitionList: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.taskinfo();
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
},
|
},
|
||||||
@ -164,13 +177,29 @@ export default {
|
|||||||
this.listindex = index
|
this.listindex = index
|
||||||
this.itemindex = 0
|
this.itemindex = 0
|
||||||
},
|
},
|
||||||
bottomclickevent(index, uindex) {
|
bottomclickevent(uitem, index, uindex) {
|
||||||
|
this.uitem = uitem
|
||||||
this.listindex = index
|
this.listindex = index
|
||||||
this.itemindex = uindex
|
this.itemindex = uindex
|
||||||
},
|
},
|
||||||
handleStep() {
|
handleStep() {
|
||||||
this.active = 2
|
this.active = 2
|
||||||
},
|
},
|
||||||
|
//任务类型 任务状态
|
||||||
|
taskinfo() {
|
||||||
|
selectTaskTypeList().then(res => {
|
||||||
|
this.selectTaskTypeList = res.data
|
||||||
|
})
|
||||||
|
taskStatusDictList().then(res => {
|
||||||
|
this.taskStatusDictList = res.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//任务细分
|
||||||
|
changeTaskType(id) {
|
||||||
|
taskPartitionList(id).then(res => {
|
||||||
|
this.taskPartitionList = res.data
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user