This commit is contained in:
2024-04-02 16:59:44 +08:00
parent a2a7bcecb4
commit 47325a5608
2 changed files with 139 additions and 82 deletions

View File

@ -3,7 +3,7 @@
<Toolbar style="border-bottom: 1px solid #ccc" :editor="editor" :defaultConfig="toolbarConfig" :mode="mode" />
<Editor style="height: 500px; overflow-y: hidden;" v-model="html" :defaultConfig="editorConfig" :mode="mode"
@onChange="onChange" @onCreated="onCreated" @onFocus="handleFocus" />
<el-dialog title="添加画像标签字段" :visible.sync="labelshow" width="40%">
<el-dialog title="添加画像标签字段" :visible.sync="labelshow" width="40%" :before-close="beforeClose">
<el-cascader-panel :options="labeloptions" @change="panelchange" v-if="labelshow"
:props="{ value: 'labelFieldId', label: 'fieldName', children: 'labelFieldContentList' }"></el-cascader-panel>
<div>
@ -14,7 +14,7 @@
<el-button @click="labelclick" type="primary">确定</el-button>
</div>
</el-dialog>
<el-dialog title="添加知识库字段" :visible.sync="fieldshow" width="40%">
<el-dialog title="添加知识库字段" :visible.sync="fieldshow" width="40%" :before-close="beforeClose">
<el-cascader-panel :options="fieldoptions" @change="panelchange" v-if="fieldshow"
:props="{ value: 'labelFieldId', label: 'fieldName', children: 'labelFieldContentList' }"></el-cascader-panel>
<div>
@ -37,6 +37,8 @@ import {
labelFieldList
} from '@/api/system/wangEditor.js'
// import menuConf from "./ModalMenu";
import { getToken } from "@/utils/auth";
var that
export default ({
components: { Editor, Toolbar },
@ -59,7 +61,16 @@ export default ({
placeholder: '请输入内容...',
MENU_CONF: {
uploadImage: {
server: '/api/upload',
server: process.env.VUE_APP_BASE_API + '/common/richTextPictureUrl',
headers: {
Authorization: "Bearer " + getToken()
},
fieldName: "file", //
customInsert(res, insertFn) {
if (res.code == 200) {
insertFn(res.url, null, null);
}
},
},
},
},
@ -160,7 +171,6 @@ export default ({
})
})
this.labeloptions = res.data.data
console.log(this.labeloptions)
})
labelFieldList('KNOWLEDGE_FIELD').then(res => {
res.data.data.forEach(e => {
@ -171,6 +181,11 @@ export default ({
this.fieldoptions = res.data.data
})
},
beforeClose() {
this.modify = false
this.fieldshow = false
this.labelshow = false
},
},
mounted() {
},

View File

@ -11,39 +11,45 @@
适用范围
</span>
<el-select v-model="updata.suitRange">
<el-option label="出院后" value="item.value">
</el-option>
<el-option label="在院" value="IN_THE_HOSPITAL" />
<el-option label="出院" value="DISCHARGE" />
<el-option label="门诊" value="OUTPATIENT_SERVICE" />
<el-option label="门诊+出院" value="OUTPATIENT_SERVICE_DISCHARGE" />
</el-select>
</div>
</div>
<div class="list">
<div class="timelist">
<div class="timetitle">
管理路径节点({{ timelinelist.length }})
<i class="el-icon-circle-plus-outline" @click="additem(item)"></i>
管理路径节点({{ lists.length }})
<i class="el-icon-circle-plus-outline" @click="addlist"></i>
</div>
<el-timeline>
<el-timeline-item v-for="(item, index) in timelinelist" :key="index"
<el-timeline-item v-for="(item, index) in lists" :key="index"
:color="listindex == index ? '#409EFF' : ''">
<div class="top" @click="topclickevent(index)">
<div class="toptop">
<el-select v-model="value" style="width:87px">
<el-option label="出院后" value="item.value">
</el-option>
<el-select v-model="item.routeNodeName" style="width:87px">
<el-option label="出院后" value="AFTER_DISCHARGE" />
<el-option label="入院后" value="AFTER_ADMISSION" />
<el-option label="就诊后" value="AFTER_CONSULTATION" />
<el-option label="就诊/出院后" value="AFTER_VISIT_DISCHARGE" />
<el-option label="术前" value="PREOPERATIVE" />
<el-option label="术后" value="POSTOPERATIVE" />
</el-select>
<el-input v-model="input" style="width: 50px;"></el-input>
<el-input v-model="item.routeNodeDay" style="width: 50px;"></el-input>
<span></span>
</div>
<div>
<i class="el-icon-delete" @click="delitem(item)"></i>
<i class="el-icon-delete" @click="delitem(item, index)"></i>
<i class="el-icon-circle-plus-outline" @click="additem(item)"></i>
</div>
</div>
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
@click.native='bottomclickevent(uitem, index, uindex)'
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
<h4>{{ uitem.title }}</h4>
<p>{{ uitem.text }}</p>
<h3 style="height: 20px;">{{ uitem.taskTypeName }}</h3>
<p style="height: 16px;">{{ uitem.taskSubdivisionName }}</p>
</el-card>
</el-timeline-item>
</el-timeline>
@ -52,43 +58,44 @@
<div class="topform" style="height:50px">
<el-form ref="form" :inline="true" :model="form" class="form">
<el-form-item label="任务类型" prop="">
<el-select v-model="value" style="width:110px" @change="changeTaskType">
<el-select v-model="form.taskType" style="width:110px" @change="changeTaskType">
<el-option v-for="item in selectTaskTypeList" :key="item.id" :label="item.taskTypeName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务细分" prop="">
<el-select v-model="value" style="width:100px">
<el-select v-model="form.taskSubdivision" style="width:110px"
@change="changetaskSubdivision">
<el-option v-for="item in taskPartitionList" :key="item.id" :label="item.taskTypeName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务状态" prop="">
<el-select v-model="value" style="width:100px">
<el-select v-model="form.taskStatus" style="width:100px">
<el-option v-for="item in taskStatusDictList" :key="item.id"
:label="item.taskStatusName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="二级分类描述" prop="">
<el-input v-model="form.name" style="width:100px"></el-input>
<el-input v-model="form.secondClassifyDescribe" style="width:100px"></el-input>
</el-form-item>
<el-form-item label="执行时间" prop="">
<el-time-select v-model="form.value"
:picker-options="{ start: '08:30', step: '00:15', end: '18:30' }" placeholder="选择时间">
<el-time-select v-model="form.executionTime" style="width:120px"
:picker-options="{ start: '08:30', step: '00:30', end: '18:30' }" placeholder="选择时间">
</el-time-select>
</el-form-item>
</el-form>
</div>
<div class="topform">
<!-- <div class="topform">
<el-form ref="form" :inline="true" :model="form" class="form">
<el-form-item label="问卷库模板选择" prop="">
<question @on-template="ontemplate"></question>
</el-form-item>
</el-form>
</div>
</div> -->
<div class="bottomform">
<wangeditor style="width:100%;" ref="editor" v-if="wangeditorshow" />
<div class="card">
@ -257,13 +264,14 @@
</el-select>
</div>
</div> -->
<div slot="footer" class="dialog-footer">
<el-button @click=""> </el-button>
<el-button type="primary" @click="">审核完成</el-button>
</div>
</div>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="TemporaryStorage"> </el-button>
<el-button type="primary" @click="">审核完成</el-button>
</div>
</div>
</template>
@ -284,59 +292,33 @@ export default {
},
form: {
templateId: '',
templateName: '',
templateName: ' ',
taskType: '',
taskTypeName: '',
taskSubdivision: '',
taskSubdivisionName: ' ',
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
},
itemindex: 0,
listindex: 0,
timelinelist: [{
title: '选项1',
text: '黄金糕',
lists: [{
routeNodeName: "",
routeNodeDay: '',
list: [
{
title: '选项1',
text: '黄金糕',
},
{
title: '选项1',
text: '黄金糕',
},
],
}, {
title: '选项2',
text: '双皮奶',
list: [
{
title: '选项1',
text: '黄金糕',
},
],
}, {
title: '选项3',
text: '蚵仔煎',
list: [
{
title: '选项1',
text: '黄金糕',
},
{
title: '选项1',
text: '黄金糕',
},
],
}, {
title: '选项4',
text: '龙须面'
}, {
title: '选项5',
text: '北京烤鸭',
list: [
{
title: '选项1',
text: '黄金糕',
},
{
title: '选项1',
text: '黄金糕',
taskTypeName: '',
taskSubdivisionName: '',
templateId: '',
templateName: ' ',
taskType: '',
taskTypeName: '',
taskSubdivision: '',
taskSubdivisionName: ' ',
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
},
],
}],
@ -354,15 +336,20 @@ export default {
this.taskinfo();
this.wangeditorshow = true
},
beforeDestroy(){
beforeDestroy() {
this.wangeditorshow = false
},
watch: {
},
mounted() {
this.form = this.lists[0].list[0]
// console.log(this.$refs.editor.html)
},
methods: {
//
TemporaryStorage() {
console.log(this.lists)
},
ontemplate(item) {
this.form.templateId = item.templateId
this.form.templateName = item.templateName
@ -393,18 +380,73 @@ export default {
taskPartitionList(id).then(res => {
this.taskPartitionList = res.data
})
this.selectTaskTypeList.forEach(el => {
if (id == el.id) {
this.form.taskTypeName = el.taskTypeName
}
})
},
changetaskSubdivision(e) {
this.taskPartitionList.forEach(el => {
if (e == el.id) {
this.form.taskSubdivisionName = el.taskTypeName
}
})
},
addlist() {
this.lists.push({
routeNodeName: "",
routeNodeDay: '',
list: [
{
taskTypeName: '',
taskSubdivisionName: '',
templateId: '',
templateName: ' ',
taskType: '',
taskTypeName: '',
taskSubdivision: '',
taskSubdivisionName: ' ',
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
},
]
})
},
additem(item) {
item.list.push({
taskTypeName: '',
taskSubdivisionName: '',
templateId: '',
templateName: ' ',
taskType: '',
taskTypeName: '',
taskSubdivision: '',
taskSubdivisionName: ' ',
taskStatus: '',
secondClassifyDescribe: '',
executionTime: '',
})
},
delitem(item, index) {
item.list.splice(this.itemindex, 1)
if (item.list.length == 0) {
this.lists.splice(index, 1)
}
},
}
};
</script>
<style scoped lang="scss">
.dialog-footer {
padding: 20px 20px;
text-align: right;
}
.bottomform {
background-color: #f2f4f5;
.dialog-footer {
padding: 20px 20px;
text-align: right;
}
margin-top: 20px;
.card {
background-color: #fff;