Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
shidongli 2024-05-24 11:06:32 +08:00
commit bf219d20de
4 changed files with 107 additions and 226 deletions

View File

@ -89,6 +89,7 @@ export default ({
addnode: {
fileName: '',
fileSpan: '',
fieldMark: "",
},
modify: false,
}
@ -107,6 +108,7 @@ export default ({
if (el.labelFieldId == item[1]) {
this.addnode.fileSpan = el.fieldName
this.addnode.fileName = e.fieldName
this.addnode.fieldMark = el.fieldMark
}
})
})
@ -116,6 +118,7 @@ export default ({
if (el.labelFieldId == item[1]) {
this.addnode.fileSpan = el.fieldName
this.addnode.fileName = e.fieldName
this.addnode.fieldMark = el.fieldMark
}
})
})
@ -135,6 +138,7 @@ export default ({
type: 'attachment',
link: '',
fileName: this.addnode.fileName,
fieldMark: this.addnode.fieldMark,
fileSpan: this.addnode.fileSpan,
children: [{ text: '' }], // void children
}
@ -142,6 +146,7 @@ export default ({
this.addnode = {
fileName: '',
fileSpan: '',
fieldMark: "",
}
this.editor.focus()
}, 100);
@ -160,6 +165,7 @@ export default ({
type: 'attachmenttwo',
link: '',
fileName: this.addnode.fileName,
fieldMark: this.addnode.fieldMark,
fileSpan: this.addnode.fileSpan,
children: [{ text: '' }], // void children
}
@ -167,6 +173,7 @@ export default ({
this.addnode = {
fileName: '',
fileSpan: '',
fieldMark: "",
}
this.editor.focus()
}, 100);
@ -206,9 +213,7 @@ export default ({
},
watch: {
nodeContent(newValue, oldValue) {
if (newValue) {
this.html = newValue;
}
this.html = newValue;
}
},
mounted() {
@ -311,7 +316,7 @@ function withAttachment(editor) { // JS 语法
Boot.registerPlugin(withAttachment)
function renderAttachment(elem, children, editor) { // JS
// myResume
const { fileName = '', link = '', fileSpan = '' } = elem
const { fileName = '', link = '', fileSpan = '', fieldMark = '' } = elem
// icon vnode
const iconVnode = h(
// HTML tag
@ -387,7 +392,7 @@ function renderAttachment(elem, children, editor) {
}
function renderAttachmenttwo(elem, children, editor) { // JS
// myResume
const { fileName = '', link = '', fileSpan = '' } = elem
const { fileName = '', link = '', fileSpan = '', fieldMark = '' } = elem
// icon vnode
const iconVnode = h(
// HTML tag
@ -480,13 +485,14 @@ const rendermodule = { // JS 语法
Boot.registerModule(rendermodule)
function attachmentToHtml(elem, childrenHtml) { // JS
//
const { link = '', fileName = '', fileSpan = '' } = elem
const { link = '', fileName = '', fileSpan = '', fieldMark = '' } = elem
// HTML
const html = `<span data-w-e-type="attachment"
data-w-e-is-void
data-w-e-is-inline
data-link="${link}"
data-fileSpan="${fileSpan}"
data-fieldMark="${fieldMark}"
data-fileName="${fileName}">
<span class="path-tag-wrap">
<span>${fileName}</span>
@ -497,13 +503,14 @@ function attachmentToHtml(elem, childrenHtml) { // JS 语法
}
function attachmentToHtmltwo(elem, childrenHtml) { // JS
//
const { link = '', fileName = '', fileSpan = '' } = elem
const { link = '', fileName = '', fileSpan = '', fieldMark = '' } = elem
// HTML
const html = `<span data-w-e-type="attachmenttwo"
data-w-e-is-void
data-w-e-is-inline
data-link="${link}"
data-fileSpan="${fileSpan}"
data-fieldMark="${fieldMark}"
data-fileName="${fileName}">
<span class="path-tag-wrap">
<span>${fileName}</span>
@ -529,12 +536,14 @@ function parseAttachmentHtml(domElem, children, editor) {
const link = domElem.getAttribute('data-link') || ''
const fileName = domElem.getAttribute('data-fileName') || ''
const fileSpan = domElem.getAttribute('data-fileSpan') || ''
const fieldMark = domElem.getAttribute('data-fieldMark') || ''
//
const myResume = {
type: 'attachment',
link,
fileName,
fileSpan,
fieldMark,
children: [{ text: '' }], // void node children
}
return myResume
@ -544,11 +553,13 @@ function parseAttachmentHtmltwo(domElem, children, editor) {
const link = domElem.getAttribute('data-link') || ''
const fileName = domElem.getAttribute('data-fileName') || ''
const fileSpan = domElem.getAttribute('data-fileSpan') || ''
const fieldMark = domElem.getAttribute('data-fieldMark') || ''
//
const myResume = {
type: 'attachmenttwo',
link,
fileName,
fieldMark,
fileSpan,
children: [{ text: '' }], // void node children
}

View File

@ -442,7 +442,7 @@ export default {
required: true,
trigger: "blur",
validator: validateInput
// validator: validateInput
},
// { pattern:/^$W*$/, message: '$', trigger: 'blur' }
],
@ -479,7 +479,7 @@ export default {
required: true,
// message: "",
trigger: "blur",
validator: validateInput
// validator: validateInput
},
],

View File

@ -89,6 +89,7 @@ export default ({
addnode: {
fileName: '',
fileSpan: '',
fieldMark: "",
},
modify: false,
}
@ -104,6 +105,7 @@ export default ({
if (el.labelFieldId == item[1]) {
this.addnode.fileSpan = el.fieldName
this.addnode.fileName = e.fieldName
this.addnode.fieldMark = el.fieldMark
}
})
})
@ -113,6 +115,7 @@ export default ({
if (el.labelFieldId == item[1]) {
this.addnode.fileSpan = el.fieldName
this.addnode.fileName = e.fieldName
this.addnode.fieldMark = el.fieldMark
}
})
})
@ -133,12 +136,14 @@ export default ({
link: '',
fileName: this.addnode.fileName,
fileSpan: this.addnode.fileSpan,
fieldMark: this.addnode.fieldMark,
children: [{ text: '' }], // void children
}
this.editor.insertNode(resume)
this.addnode = {
fileName: '',
fileSpan: '',
fieldMark: '',
}
this.editor.focus()
}, 100);
@ -158,11 +163,13 @@ export default ({
link: '',
fileName: this.addnode.fileName,
fileSpan: this.addnode.fileSpan,
fieldMark: this.addnode.fieldMark,
children: [{ text: '' }], // void children
}
this.editor.insertNode(resume)
this.addnode = {
fileName: '',
fieldMark: '',
fileSpan: '',
}
this.editor.focus()
@ -205,9 +212,8 @@ export default ({
},
watch: {
nodeContent(newValue, oldValue) {
if (newValue) {
this.html = newValue;
}
console.log(newValue, oldValue)
this.html = newValue;
}
},
mounted() {
@ -310,7 +316,7 @@ function withAttachment(editor) { // JS 语法
Boot.registerPlugin(withAttachment)
function renderAttachment(elem, children, editor) { // JS
// myResume
const { fileName = '', link = '', fileSpan = '' } = elem
const { fileName = '', link = '', fileSpan = '', fieldMark } = elem
// icon vnode
const iconVnode = h(
// HTML tag
@ -386,7 +392,7 @@ function renderAttachment(elem, children, editor) {
}
function renderAttachmenttwo(elem, children, editor) { // JS
// myResume
const { fileName = '', link = '', fileSpan = '' } = elem
const { fileName = '', link = '', fileSpan = '', fieldMark = '' } = elem
// icon vnode
const iconVnode = h(
// HTML tag
@ -479,13 +485,14 @@ const rendermodule = { // JS 语法
Boot.registerModule(rendermodule)
function attachmentToHtml(elem, childrenHtml) { // JS
//
const { link = '', fileName = '', fileSpan = '' } = elem
const { link = '', fileName = '', fileSpan = '', fieldMark = '' } = elem
// HTML
const html = `<span data-w-e-type="attachment"
data-w-e-is-void
data-w-e-is-inline
data-link="${link}"
data-fileSpan="${fileSpan}"
data-fieldMark="${fieldMark}"
data-fileName="${fileName}">
<span class="path-tag-wrap">
<span>${fileName}</span>
@ -496,13 +503,14 @@ function attachmentToHtml(elem, childrenHtml) { // JS 语法
}
function attachmentToHtmltwo(elem, childrenHtml) { // JS
//
const { link = '', fileName = '', fileSpan = '' } = elem
const { link = '', fileName = '', fileSpan = '', fieldMark = '' } = elem
// HTML
const html = `<span data-w-e-type="attachmenttwo"
data-w-e-is-void
data-w-e-is-inline
data-link="${link}"
data-fileSpan="${fileSpan}"
data-fieldMark="${fieldMark}"
data-fileName="${fileName}">
<span class="path-tag-wrap">
<span>${fileName}</span>
@ -528,12 +536,14 @@ function parseAttachmentHtml(domElem, children, editor) {
const link = domElem.getAttribute('data-link') || ''
const fileName = domElem.getAttribute('data-fileName') || ''
const fileSpan = domElem.getAttribute('data-fileSpan') || ''
const fieldMark = domElem.getAttribute('data-fieldMark') || ''
//
const myResume = {
type: 'attachment',
link,
fileName,
fileSpan,
fieldMark,
children: [{ text: '' }], // void node children
}
return myResume
@ -543,12 +553,14 @@ function parseAttachmentHtmltwo(domElem, children, editor) {
const link = domElem.getAttribute('data-link') || ''
const fileName = domElem.getAttribute('data-fileName') || ''
const fileSpan = domElem.getAttribute('data-fileSpan') || ''
const fieldMark = domElem.getAttribute('data-fieldMark') || ''
//
const myResume = {
type: 'attachmenttwo',
link,
fileName,
fileSpan,
fieldMark,
children: [{ text: '' }], // void node children
}
return myResume

View File

@ -9,17 +9,8 @@
<div class="select">
<span> 适用范围 </span>
<el-select
v-model="updata.suitRange"
placeholder="请选择"
@change="changeoptions"
>
<el-option
v-for="item in options"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
<el-select v-model="updata.suitRange" placeholder="请选择" @change="changeoptions">
<el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
</el-option>
</el-select>
</div>
@ -31,20 +22,12 @@
<i class="el-icon-circle-plus-outline" @click="addlist"></i>
</div>
<el-timeline>
<el-timeline-item
v-for="(item, index) in lists"
:key="index"
:color="listindex == index ? '#409EFF' : ''"
>
<el-timeline-item v-for="(item, index) in lists" :key="index" :color="listindex == index ? '#409EFF' : ''">
<div class="top">
<div class="toptop">
<el-select v-model="item.routeNodeName" style="width: 100px">
<el-option
v-for="item in parentDictCodelist"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
<el-option v-for="item in parentDictCodelist" :key="item.dictValue" :label="item.dictLabel"
:value="item.dictValue">
</el-option>
<!-- <el-option label="出院后" value="AFTER_DISCHARGE" />
@ -57,42 +40,22 @@
<el-option label="术前" value="PREOPERATIVE" />
<el-option label="术后" value="POSTOPERATIVE" /> -->
</el-select>
<el-input
v-model="item.routeNodeDay"
style="width: 70px"
type="number"
></el-input>
<el-input v-model="item.routeNodeDay" style="width: 70px" type="number"></el-input>
<span></span>
</div>
<div>
<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>
<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)"
:class="listindex == index && itemindex == uindex ? 'cards' : ''"
>
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
<h3 style="height: 20px">{{ uitem.taskTypeName }}</h3>
<el-tag
v-if="uitem.routeCheckStatus == 'AGREE'"
class="routeCheckStatus"
>已审核</el-tag
>
<el-tag
v-else-if="uitem.routeCheckStatus == 'DISAGREE'"
type="danger"
class="routeCheckStatus"
>不同意</el-tag
>
<el-tag v-else type="warning" class="routeCheckStatus"
>未审核</el-tag
>
<el-tag v-if="uitem.routeCheckStatus == 'AGREE'" class="routeCheckStatus">已审核</el-tag>
<el-tag v-else-if="uitem.routeCheckStatus == 'DISAGREE'" type="danger"
class="routeCheckStatus">不同意</el-tag>
<el-tag v-else type="warning" class="routeCheckStatus">未审核</el-tag>
<p style="height: 16px">{{ uitem.taskSubdivisionName }}</p>
</el-card>
</el-timeline-item>
@ -102,91 +65,46 @@
<div class="topform">
<el-form ref="form" :inline="true" :model="form" class="form">
<el-form-item label="任务类型" prop="">
<el-select
v-model="form.taskType"
style="width: 110px"
@change="changeTaskType"
>
<el-option
v-for="item in selectTaskTypeList"
:key="item.taskTypeCode"
:label="item.taskTypeName"
:value="item.taskTypeCode"
>
<el-select v-model="form.taskType" style="width: 110px" @change="changeTaskType">
<el-option v-for="item in selectTaskTypeList" :key="item.taskTypeCode" :label="item.taskTypeName"
:value="item.taskTypeCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务细分" prop="">
<el-select
v-model="form.taskSubdivision"
style="width: 110px"
@change="changetaskSubdivision"
>
<el-option
v-for="item in taskPartitionList"
:key="item.taskPartitionCode"
:label="item.taskPartitionName"
:value="item.taskPartitionCode"
>
<el-select v-model="form.taskSubdivision" style="width: 110px" @change="changetaskSubdivision">
<el-option v-for="item in taskPartitionList" :key="item.taskPartitionCode"
:label="item.taskPartitionName" :value="item.taskPartitionCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务状态" prop="">
<el-select v-model="form.taskStatus" style="width: 110px">
<el-option
v-for="item in taskStatusDictList"
:key="item.id"
:label="item.taskStatusName"
:value="item.taskStatusCode"
>
<el-option v-for="item in taskStatusDictList" :key="item.id" :label="item.taskStatusName"
:value="item.taskStatusCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="二级分类描述" prop="">
<el-input
v-model="form.secondClassifyDescribe"
style="width: 110px"
></el-input>
<el-input v-model="form.secondClassifyDescribe" style="width: 110px"></el-input>
</el-form-item>
<el-form-item label="执行时间" prop="">
<el-time-select
v-model="form.executionTime"
style="width: 120px"
placeholder="选择时间"
>
<el-time-select v-model="form.executionTime" style="width: 120px" placeholder="选择时间">
</el-time-select>
</el-form-item>
<el-form-item
label="问卷库模板选择"
prop=""
v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'"
>
<question
@on-template="questionontemplate"
:templateId="form.templateId"
:templateName="form.templateName"
></question>
<el-form-item label="问卷库模板选择" prop="" v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'">
<question @on-template="questionontemplate" :templateId="form.templateId"
:templateName="form.templateName"></question>
</el-form-item>
<el-form-item
label="宣教库模板选择"
prop=""
v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA'"
>
<propaganda
@on-template="propagandaontemplate"
:templateId="form.templateId"
:templateName="form.templateName"
></propaganda>
<el-form-item label="宣教库模板选择" prop="" v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA'">
<propaganda @on-template="propagandaontemplate" :templateId="form.templateId"
:templateName="form.templateName"></propaganda>
</el-form-item>
</el-form>
</div>
<div class="bottomform">
<wangeditor
style="width: 100%"
:nodeContent="form.nodeContent"
@on-nodeContent="onNodeContent"
ref="wangeditor"
/>
<wangeditor style="width: 100%" :nodeContent="form.nodeContent" @on-nodeContent="onNodeContent"
ref="wangeditor" />
<div class="card">
<div class="flex">
<div class="pushMethod">
@ -195,29 +113,17 @@
</div>
<div class="pushMethod">
模板
<message
@on-template="messageontemplate"
:templateId="form.messageTemplateId"
:templateName="form.messageTemplateName"
></message>
<message @on-template="messageontemplate" :templateId="form.messageTemplateId"
:templateName="form.messageTemplateName"></message>
</div>
<div class="pushMethod">
<el-switch
v-model="form.messagePushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
<el-switch v-model="form.messagePushSign" active-color="#13ce66" active-value="1" inactive-value="0">
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">短信预览</div>
<el-input
class="textarea"
v-model="form.messagePreview"
disabled
></el-input>
<el-input class="textarea" v-model="form.messagePreview" disabled></el-input>
</div>
</div>
<div class="card">
@ -229,31 +135,19 @@
<div class="pushMethod">
模板
<span>
<officialAccount
@on-template="officialAccountontemplate"
:templateId="form.officialTemplateId"
:templateName="form.officialTemplateName"
>
<officialAccount @on-template="officialAccountontemplate" :templateId="form.officialTemplateId"
:templateName="form.officialTemplateName">
</officialAccount>
</span>
</div>
<div class="pushMethod">
<el-switch
v-model="form.officialPushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
<el-switch v-model="form.officialPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">提醒内容</div>
<el-input
v-model="form.officialRemindContent"
class="textarea"
disabled
></el-input>
<el-input v-model="form.officialRemindContent" class="textarea" disabled></el-input>
</div>
</div>
<div class="card">
@ -265,39 +159,23 @@
<div class="pushMethod">
模板
<span>
<miniProgram
@on-template="miniProgramtemplate"
:templateId="form.appletTemplateId"
:templateName="form.appletTemplateName"
>
<miniProgram @on-template="miniProgramtemplate" :templateId="form.appletTemplateId"
:templateName="form.appletTemplateName">
</miniProgram>
</span>
</div>
<div class="pushMethod">
<el-switch
v-model="form.appletPushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
<el-switch v-model="form.appletPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
</el-switch>
</div>
</div>
<div class="flextwo">
<div class="text">提醒内容</div>
<el-input
v-model="form.appletRemindContent"
class="textarea"
disabled
></el-input>
<el-input v-model="form.appletRemindContent" class="textarea" disabled></el-input>
</div>
<div class="flextwo">
<div class="text">提示说明</div>
<el-input
v-model="form.appletPromptDescription"
class="textarea"
disabled
></el-input>
<el-input v-model="form.appletPromptDescription" class="textarea" disabled></el-input>
</div>
</div>
<!-- <div class="card" style="height: 250px;">
@ -370,41 +248,18 @@
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="TemporaryStorage"> </el-button>
<el-button
type="primary"
@click="dialogVisible = true"
v-if="form.specialDiseaseNodeId"
>审核完成 {{ agreeNumber ? agreeNumber : "0" }} /
{{ totalNumber ? totalNumber : "0" }}</el-button
>
<el-button type="primary" @click="dialogVisible = true" v-if="form.specialDiseaseNodeId">审核完成 {{ agreeNumber ?
agreeNumber : "0" }} /
{{ totalNumber ? totalNumber : "0" }}</el-button>
</div>
<el-dialog
title="提交审核完成"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose"
>
<el-form
ref="routeform"
:model="routeform"
label-width="120px"
:rules="rules"
>
<el-dialog title="提交审核完成" :visible.sync="dialogVisible" width="30%" :before-close="handleClose">
<el-form ref="routeform" :model="routeform" label-width="120px" :rules="rules">
<el-form-item label="节点审核状态" prop="routeCheckStatus">
<el-radio v-model="routeform.routeCheckStatus" label="AGREE"
>同意</el-radio
>
<el-radio v-model="routeform.routeCheckStatus" label="DISAGREE"
>不同意</el-radio
>
<el-radio v-model="routeform.routeCheckStatus" label="AGREE">同意</el-radio>
<el-radio v-model="routeform.routeCheckStatus" label="DISAGREE">不同意</el-radio>
</el-form-item>
<el-form-item label="节点审核备注">
<el-input
type="textarea"
:rows="2"
placeholder="请输入节点审核备注"
v-model="routeform.routeCheckRemark"
>
<el-input type="textarea" :rows="2" placeholder="请输入节点审核备注" v-model="routeform.routeCheckRemark">
</el-input>
</el-form-item>
</el-form>
@ -503,9 +358,9 @@ export default {
this.infolist();
this.taskinfo();
},
beforeDestroy() {},
beforeDestroy() { },
watch: {},
mounted() {},
mounted() { },
methods: {
changeoptions(e) {
console.log(e);
@ -678,10 +533,10 @@ export default {
this.lists.forEach((e) => {
e.list.length > 0
? e.list.forEach((el) => {
el.routeNodeDay = e.routeNodeDay;
el.routeNodeName = e.routeNodeName;
this.updata.specialDiseaseNodeList.push(el);
})
el.routeNodeDay = e.routeNodeDay;
el.routeNodeName = e.routeNodeName;
this.updata.specialDiseaseNodeList.push(el);
})
: "";
});
this.updata.specialDiseaseNodeList =
@ -714,14 +569,17 @@ export default {
this.form.templateName = item.templateName;
},
bottomclickevent(uitem, index, uindex) {
console.log(this.form, uitem, index, uindex)
this.$refs.wangeditor.emit();
this.form = uitem;
this.taskPartitionList = [];
if (this.form.taskType) {
this.changeTaskType(this.form.taskType, this.form.taskSubdivision);
}
this.listindex = index;
this.itemindex = uindex;
setTimeout(() => {
this.form = uitem;
this.taskPartitionList = [];
if (this.form.taskType) {
this.changeTaskType(this.form.taskType, this.form.taskSubdivision);
}
this.listindex = index;
this.itemindex = uindex;
}, 100);
},
handleStep() {
this.active = 2;