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" /> <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" <Editor style="height: 500px; overflow-y: hidden;" v-model="html" :defaultConfig="editorConfig" :mode="mode"
@onChange="onChange" @onCreated="onCreated" @onFocus="handleFocus" /> @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" <el-cascader-panel :options="labeloptions" @change="panelchange" v-if="labelshow"
:props="{ value: 'labelFieldId', label: 'fieldName', children: 'labelFieldContentList' }"></el-cascader-panel> :props="{ value: 'labelFieldId', label: 'fieldName', children: 'labelFieldContentList' }"></el-cascader-panel>
<div> <div>
@ -14,7 +14,7 @@
<el-button @click="labelclick" type="primary">确定</el-button> <el-button @click="labelclick" type="primary">确定</el-button>
</div> </div>
</el-dialog> </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" <el-cascader-panel :options="fieldoptions" @change="panelchange" v-if="fieldshow"
:props="{ value: 'labelFieldId', label: 'fieldName', children: 'labelFieldContentList' }"></el-cascader-panel> :props="{ value: 'labelFieldId', label: 'fieldName', children: 'labelFieldContentList' }"></el-cascader-panel>
<div> <div>
@ -37,6 +37,8 @@ import {
labelFieldList labelFieldList
} from '@/api/system/wangEditor.js' } from '@/api/system/wangEditor.js'
// import menuConf from "./ModalMenu"; // import menuConf from "./ModalMenu";
import { getToken } from "@/utils/auth";
var that var that
export default ({ export default ({
components: { Editor, Toolbar }, components: { Editor, Toolbar },
@ -59,7 +61,16 @@ export default ({
placeholder: '请输入内容...', placeholder: '请输入内容...',
MENU_CONF: { MENU_CONF: {
uploadImage: { 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 this.labeloptions = res.data.data
console.log(this.labeloptions)
}) })
labelFieldList('KNOWLEDGE_FIELD').then(res => { labelFieldList('KNOWLEDGE_FIELD').then(res => {
res.data.data.forEach(e => { res.data.data.forEach(e => {
@ -171,6 +181,11 @@ export default ({
this.fieldoptions = res.data.data this.fieldoptions = res.data.data
}) })
}, },
beforeClose() {
this.modify = false
this.fieldshow = false
this.labelshow = false
},
}, },
mounted() { mounted() {
}, },

View File

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