修改
This commit is contained in:
parent
abda5eaa0a
commit
5b26dd3740
@ -97,14 +97,14 @@
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.portaitCheckStatus == "AGREE" ? "审核通过" : "" }}
|
||||
{{ scope.row.portaitCheckStatus == "DISAGREE" ? "已忽略" : "" }}
|
||||
{{ scope.row.portaitCheckStatus == "" ? "未审核" : "" }}
|
||||
{{ scope.row.portaitCheckStatus ==null ? "未审核" : "" }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="路径审核状态" align="center" prop="routeCheckStatus" width="100">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.routeCheckStatus == "AGREE" ? "审核通过" : "" }}
|
||||
{{ scope.row.routeCheckStatus == "DISAGREE" ? "已忽略" : "" }}
|
||||
{{ scope.row.routeCheckStatus == "" ? "未审核" : "" }}
|
||||
{{ scope.row.routeCheckStatus == null ? "未审核" : "" }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
|
||||
|
||||
@ -137,7 +137,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="短信内容" prop="textMessageContent">
|
||||
<el-input v-model="form.textMessageContent" placeholder="请输入短信内容" type="textarea" maxlength="300" />
|
||||
<el-input v-model="form.textMessageContent" placeholder="请输入短信内容" type="textarea" maxlength="300" :rows="10" />
|
||||
</el-form-item>
|
||||
<el-form-item label="适用任务类型" prop="suitTaskTypeIds">
|
||||
<el-select v-model="form.suitTaskTypeIds" placeholder="请选择适用任务类型" style="width: 350px" multiple>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -123,6 +123,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
// console.log(111111111111)
|
||||
const editor = this.$refs.editor;
|
||||
this.Quill = new Quill(editor, this.options);
|
||||
// 如果设置了上传地址则自定义图片上传事件
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -6,6 +6,12 @@ import propaganda from "../components/propaganda.vue";
|
||||
import officialAccount from "../components/officialAccount.vue";
|
||||
import miniProgram from "../components/miniProgram.vue";
|
||||
import { getAgencytype } from "@/api/system/agency";
|
||||
import Scriptpreview from ".././components/Scriptpreviewopen.vue";
|
||||
import Editorxj from "../Editorxj/index.vue";
|
||||
import {
|
||||
getPropaganda,
|
||||
} from "@/api/manage/propaganda";
|
||||
|
||||
import {
|
||||
selectTaskTypeList,
|
||||
taskPartitionList,
|
||||
@ -18,21 +24,25 @@ import {
|
||||
triggerConditionList,
|
||||
getList,
|
||||
} from "@/api/system/specialDiseaseNode";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
wangeditor,
|
||||
Editorxj,
|
||||
question,
|
||||
propaganda,
|
||||
message,
|
||||
scripts,
|
||||
officialAccount,
|
||||
miniProgram,
|
||||
Scriptpreview
|
||||
},
|
||||
name: "specialDiseaseNode",
|
||||
data() {
|
||||
return {
|
||||
formview: {},
|
||||
baseUrl: process.env.VUE_APP_BASE_API,
|
||||
|
||||
value: 1,
|
||||
ConditionValue: [],
|
||||
dictDataType: "",
|
||||
@ -83,6 +93,7 @@ export default {
|
||||
agreeNumber: 0,
|
||||
value: "",
|
||||
input: "",
|
||||
phoneNodeContent: '',
|
||||
//任务类型
|
||||
selectTaskTypeList: [],
|
||||
//任务状态
|
||||
@ -116,7 +127,6 @@ export default {
|
||||
this.$set(this.openlist, "suitRange", this.$route.query.suitRange);
|
||||
this.openlist.routeId = this.$route.query.id;
|
||||
this.itemlist.routeName = this.$route.query.routeName
|
||||
|
||||
}
|
||||
this.taskinfo();
|
||||
this.infolistname();
|
||||
@ -138,19 +148,7 @@ export default {
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
// "openlist.triggerConditionList": {
|
||||
// handler(newValue, oldValue) {
|
||||
// // console.log(newValue,'newValue')
|
||||
// newValue.forEach(e=>{
|
||||
// console.log(e,'e')
|
||||
// })
|
||||
// // if (newValue == "NOT_SEND_MESSAGE") {
|
||||
// // this.form.phoneMessageTemplateId = "";
|
||||
// // this.form.phoneMessageTemplateName = "";
|
||||
// // }
|
||||
// },
|
||||
// deep: true,
|
||||
// },
|
||||
|
||||
},
|
||||
mounted() {
|
||||
// this.form = this.lists[0].list[0];
|
||||
@ -189,7 +187,6 @@ export default {
|
||||
});
|
||||
delete this.openlist.triggerConditionList.optionstriggerConditionOperator
|
||||
loading.close();
|
||||
console.log(this.openlist.triggerConditionList, 'this.openlist.triggerConditionList')
|
||||
// return;
|
||||
triggerCondition(this.openlist).then((res) => {
|
||||
if (res.code == 200) {
|
||||
@ -339,8 +336,15 @@ export default {
|
||||
)?.dictCode;
|
||||
setTimeout(() => {
|
||||
this.changelisy();
|
||||
}, 1000);
|
||||
}, 3000);
|
||||
this.itemlist.specialDiseaseRouteId = this.$route.query.id;
|
||||
console.log(this.form.templateId, 'this.form.templateId')
|
||||
if (this.form.templateId) {
|
||||
getPropaganda(this.form.templateId).then((response) => {
|
||||
this.formview = response.data;
|
||||
});
|
||||
}
|
||||
|
||||
selectSpecialDisease(this.$route.query.id).then((res) => {
|
||||
loading.close();
|
||||
this.agreeNumber = res.data.agreeNumber;
|
||||
@ -449,7 +453,6 @@ export default {
|
||||
optiononditionOperator() {
|
||||
var dictType = "trigger_condition_operator";
|
||||
getAgencytype(dictType).then((res) => {
|
||||
// console.log(res, 'redsssssssss')
|
||||
this.openlist.triggerConditionList.optionstriggerConditionOperator = res.data;
|
||||
|
||||
});
|
||||
@ -489,7 +492,6 @@ export default {
|
||||
// this.openlist.triggerConditionList[index].optionstriggerConditionOperator=[]
|
||||
getList(dictType, this.dictDataType).then((res) => {
|
||||
this.$set(this.openlist.triggerConditionList[index], 'optionstriggerConditionOperator', res.data)
|
||||
console.log(this.openlist.triggerConditionList[index].optionstriggerConditionOperator, 'this.openlist')
|
||||
this.$forceUpdate();
|
||||
});
|
||||
},
|
||||
@ -601,25 +603,28 @@ export default {
|
||||
},
|
||||
// 话术
|
||||
messageontemplateword(item) {
|
||||
console.log(item, 'item')
|
||||
this.form.phoneTemplateId = item.templateId;
|
||||
this.form.phoneTemplateName = item.templateName;
|
||||
console.log(this.form.phoneTemplateId, ' this.form.phoneTemplateId')
|
||||
|
||||
// this.form.messagePreview = item.templateContent;
|
||||
this.phoneNodeContent = item.phoneNodeContent;
|
||||
},
|
||||
changephoneDialMethod(e){
|
||||
console.log(e,'e')
|
||||
if(e=='AI'){
|
||||
changephoneDialMethod(e) {
|
||||
console.log(e)
|
||||
if (e == 'AI') {
|
||||
// this.form.templateId=''
|
||||
this.form.phoneTemplateId=''
|
||||
this.form.phoneTemplateName=''
|
||||
this.form.phoneTemplateId = ''
|
||||
this.form.phoneTemplateName = ''
|
||||
this.phoneNodeContent = ''
|
||||
|
||||
}else if(e=='COMMON'){
|
||||
this.form.templateId=''
|
||||
this.form.templateName=''
|
||||
} else if (e == 'COMMON') {
|
||||
this.form.templateId = ''
|
||||
this.form.templateName = ''
|
||||
|
||||
this.form.phoneTemplateId = ''
|
||||
this.form.phoneTemplateName = ''
|
||||
this.phoneNodeContent = ''
|
||||
|
||||
this.form.phoneTemplateId=''
|
||||
this.form.phoneTemplateName=''
|
||||
}
|
||||
},
|
||||
//短信传值
|
||||
@ -669,13 +674,12 @@ export default {
|
||||
? e.list.forEach((el) => {
|
||||
el.routeNodeDay = e.routeNodeDay;
|
||||
el.routeNodeName = e.routeNodeName;
|
||||
console.log(el, 'el')
|
||||
if (el.phoneDialMethod == 'COMMON' && el.templateId) {
|
||||
el.templateType = 'QUESTIONNAIRE'
|
||||
} else if (el.phoneDialMethod == 'COMMON' && el.phoneTemplateId) {
|
||||
el.templateType = 'SCRIPT'
|
||||
|
||||
}else if (el.phoneDialMethod == "AI" && el.phoneTemplateId) {
|
||||
|
||||
} else if (el.phoneDialMethod == "AI" && el.phoneTemplateId) {
|
||||
el.templateType = "SCRIPT";
|
||||
}
|
||||
this.itemlist.specialDiseaseNodeList.push(el);
|
||||
@ -691,9 +695,8 @@ export default {
|
||||
// !e.taskSubdivision &&
|
||||
// !e.taskStatus
|
||||
// );
|
||||
console.log(this.itemlist, 'itemlist')
|
||||
// return
|
||||
|
||||
|
||||
|
||||
specialDiseaseNode(this.itemlist).then((res) => {
|
||||
this.info();
|
||||
@ -712,20 +715,41 @@ export default {
|
||||
},
|
||||
//宣教传值
|
||||
propagandaontemplate(item) {
|
||||
// console.log(item, 'item')
|
||||
this.form.templateId = item.templateId;
|
||||
this.form.templateName = item.templateName;
|
||||
// if(item){
|
||||
this.formview = item.formview
|
||||
|
||||
// }else{
|
||||
// getPropaganda( this.form.templateId).then((response) => {
|
||||
// this.formview = response.data;
|
||||
// });
|
||||
// }
|
||||
|
||||
},
|
||||
|
||||
bottomclickevent(uitem, index, uindex) {
|
||||
console.log(uitem, 'this.form.templateId')
|
||||
if (uitem.templateId && uitem.taskSubdivisiontemplateType == "PROPAGANDA") {
|
||||
getPropaganda(uitem.templateId).then((response) => {
|
||||
this.formview = response.data;
|
||||
console.log(this.formview,'this.formview')
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
if (
|
||||
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
|
||||
this.form.taskSubdivisiontemplateType != "PROPAGANDA" &&
|
||||
this.form.taskSubdivisiontemplateType != 'SCRIPT'
|
||||
this.form.taskSubdivisiontemplateType != "SCRIPT"
|
||||
) {
|
||||
this.$refs.wangeditor.emit();
|
||||
}
|
||||
setTimeout(() => {
|
||||
this.form = uitem;
|
||||
// console.log( this.form,'this.form')
|
||||
|
||||
this.taskPartitionList = [];
|
||||
if (this.form.taskType) {
|
||||
this.changeTaskType(this.form.taskType, this.form.taskSubdivision);
|
||||
|
||||
@ -24,52 +24,154 @@
|
||||
> -->
|
||||
<!-- <font-awesome-icon icon="heart" /> -->
|
||||
<!-- <FontAwesomeIcon icon="far fa-copy" /> -->
|
||||
<font-awesome-icon data-command="save" class="command fa fa-floppy-o" icon="command far far fa-copy"
|
||||
title="保存"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-reply-all" title="历史数据"
|
||||
@click="readHistoryData"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" class="fa fa-hdd-o" icon="fas fa-file" title="上传数据"
|
||||
@click="readUploadData"></font-awesome-icon>
|
||||
<font-awesome-icon icon="fas fa-download" style="margin-left: 10px" title="另存为文件"
|
||||
@click="saveAsFile">文件</font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
data-command="save"
|
||||
class="command fa fa-floppy-o"
|
||||
icon="command far far fa-copy"
|
||||
title="保存"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-reply-all"
|
||||
title="历史数据"
|
||||
@click="readHistoryData"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
class="fa fa-hdd-o"
|
||||
icon="fas fa-file"
|
||||
title="上传数据"
|
||||
@click="readUploadData"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
icon="fas fa-download"
|
||||
style="margin-left: 10px"
|
||||
title="另存为文件"
|
||||
@click="saveAsFile"
|
||||
>文件</font-awesome-icon
|
||||
>
|
||||
<!-- <FontAwesomeIcon icon="fas fa-image" /> -->
|
||||
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-image" title="另存为图片"
|
||||
@click="openSaveAsImageDialog"></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-image"
|
||||
title="另存为图片"
|
||||
@click="openSaveAsImageDialog"
|
||||
></font-awesome-icon>
|
||||
|
||||
<font-awesome-icon style="margin-left: 10px" data-command="undo" icon="fas fa-undo" class="command fa fa-undo"
|
||||
title="撤销"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" data-command="redo" class="command fa fa-repeat"
|
||||
icon="fas fa-repeat" title="重做"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" data-command="delete" class="command fa fa-trash-o"
|
||||
icon="fas fa-trash-alt" title="删除"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" data-command="zoomOut" class="command fa fa-search-minus"
|
||||
icon="fas fa-search-minus" title="缩小"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" data-command="zoomIn" icon="fas fa-search-plus"
|
||||
class="command fa fa-search-plus" title="放大"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-eraser" data-command="clear"
|
||||
class="command fa fa-eraser" title="清除画布"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-arrow-up" data-command="toFront"
|
||||
class="command fa fa-arrow-up" title="提升层级"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-arrow-down" data-command="toBack"
|
||||
class="command fa fa-arrow-down" title="下降层级"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-check-square" data-command="selectAll"
|
||||
class="command fa fa-check-square-o" title="全选"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="far fa-copy" data-command="copy"
|
||||
class="command fa fa-files-o" title="复制"></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
data-command="undo"
|
||||
icon="fas fa-undo"
|
||||
class="command fa fa-undo"
|
||||
title="撤销"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
data-command="redo"
|
||||
class="command fa fa-repeat"
|
||||
icon="fas fa-repeat"
|
||||
title="重做"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
data-command="delete"
|
||||
class="command fa fa-trash-o"
|
||||
icon="fas fa-trash-alt"
|
||||
title="删除"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
data-command="zoomOut"
|
||||
class="command fa fa-search-minus"
|
||||
icon="fas fa-search-minus"
|
||||
title="缩小"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
data-command="zoomIn"
|
||||
icon="fas fa-search-plus"
|
||||
class="command fa fa-search-plus"
|
||||
title="放大"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-eraser"
|
||||
data-command="clear"
|
||||
class="command fa fa-eraser"
|
||||
title="清除画布"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-arrow-up"
|
||||
data-command="toFront"
|
||||
class="command fa fa-arrow-up"
|
||||
title="提升层级"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-arrow-down"
|
||||
data-command="toBack"
|
||||
class="command fa fa-arrow-down"
|
||||
title="下降层级"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-check-square"
|
||||
data-command="selectAll"
|
||||
class="command fa fa-check-square-o"
|
||||
title="全选"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="far fa-copy"
|
||||
data-command="copy"
|
||||
class="command fa fa-files-o"
|
||||
title="复制"
|
||||
></font-awesome-icon>
|
||||
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-clone" data-command="paste"
|
||||
class="command fa fa-clipboard" title="粘贴"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-expand" data-command="autoZoom"
|
||||
class="command fa fa-expand" title="实际大小"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-compress" data-command="resetZoom"
|
||||
class="command fa fa-compress" title="适应页面"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-object-group" data-command="addGroup"
|
||||
class="command fa fa-object-group" title="组合"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-object-ungroup" data-command="unGroup"
|
||||
class="command fa fa-object-ungroup" title="取消组合"></font-awesome-icon>
|
||||
<font-awesome-icon style="margin-left: 10px" icon="fas fa-crop" data-command="multiSelect"
|
||||
class="command fa fa fa-crop" title="多选"></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-clone"
|
||||
data-command="paste"
|
||||
class="command fa fa-clipboard"
|
||||
title="粘贴"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-expand"
|
||||
data-command="autoZoom"
|
||||
class="command fa fa-expand"
|
||||
title="实际大小"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-compress"
|
||||
data-command="resetZoom"
|
||||
class="command fa fa-compress"
|
||||
title="适应页面"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-object-group"
|
||||
data-command="addGroup"
|
||||
class="command fa fa-object-group"
|
||||
title="组合"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-object-ungroup"
|
||||
data-command="unGroup"
|
||||
class="command fa fa-object-ungroup"
|
||||
title="取消组合"
|
||||
></font-awesome-icon>
|
||||
<font-awesome-icon
|
||||
style="margin-left: 10px"
|
||||
icon="fas fa-crop"
|
||||
data-command="multiSelect"
|
||||
class="command fa fa fa-crop"
|
||||
title="多选"
|
||||
></font-awesome-icon>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -101,23 +203,33 @@
|
||||
<article>
|
||||
<!-- 下载图片 -->
|
||||
<section class="save-as-image-dialog">
|
||||
<el-dialog title="下载图片" :visible.sync="saveAsImageDialogVisible" width="360px">
|
||||
<el-dialog
|
||||
title="下载图片"
|
||||
:visible.sync="saveAsImageDialogVisible"
|
||||
width="360px"
|
||||
>
|
||||
<el-form label-width="100px" label-position="top">
|
||||
<el-form-item label="选择图片格式">
|
||||
<el-select v-model="saveAsImageFormat">
|
||||
<el-option label="jpg" value="jpg">
|
||||
<span style="float: left">jpg</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">白色背景</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px"
|
||||
>白色背景</span
|
||||
>
|
||||
</el-option>
|
||||
<el-option label="png" value="png">
|
||||
<span style="float: left">png</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">透明背景</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px"
|
||||
>透明背景</span
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer">
|
||||
<el-button @click="saveAsImageDialogVisible = false">取 消</el-button>
|
||||
<el-button @click="saveAsImageDialogVisible = false"
|
||||
>取 消</el-button
|
||||
>
|
||||
<el-button type="primary" @click="saveAsImage">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
@ -142,7 +254,9 @@
|
||||
</div>
|
||||
<div data-status="canvas-selected" class="menu">
|
||||
<el-button data-command="undo" class="command">撤销</el-button>
|
||||
<el-button data-command="redo" class="command disable">重做</el-button>
|
||||
<el-button data-command="redo" class="command disable"
|
||||
>重做</el-button
|
||||
>
|
||||
</div>
|
||||
<div data-status="multi-selected" class="menu">
|
||||
<el-button data-command="copy" class="command">复制</el-button>
|
||||
@ -160,7 +274,7 @@ import { getFlowScheme } from "@/api/system/preview";
|
||||
import { construct } from "netflix-conductor-json-tree/dist/index";
|
||||
export default {
|
||||
name: "VueG6Editor",
|
||||
props: ['phoneNodeContent'],
|
||||
props: ["phoneNodeContent"],
|
||||
mixins: [mixin],
|
||||
data() {
|
||||
return {
|
||||
@ -497,52 +611,57 @@ export default {
|
||||
nodeAttributeForm: {
|
||||
label: "",
|
||||
width: "",
|
||||
height: ""
|
||||
height: "",
|
||||
},
|
||||
// 节点属性表单
|
||||
edgeAttributeForm: {
|
||||
label: ""
|
||||
label: "",
|
||||
},
|
||||
// 画布属性栏表单
|
||||
canvasAttributeForm: {
|
||||
grid: true,
|
||||
cell: 20
|
||||
cell: 20,
|
||||
},
|
||||
// SVG节点图片URL地址
|
||||
startNodeSVGUrl: require("@/views/system/mianview/start-node.svg"),
|
||||
endNodeSVGUrl: require("@/views/system/mianview/end-node.svg"),
|
||||
regularNodeSVGUrl: require("@/views/system/mianview/regular-node.svg"),
|
||||
conditionNodeSVGUrl: require("@/views/system/mianview/condition-node.svg"),
|
||||
nNodeSVGUrl: "https://gw.alipayobjects.com/zos/rmsportal/rQMUhHHSqwYsPwjXxcfP.svg",
|
||||
modelNodeSVGUrl: "https://gw.alipayobjects.com/zos/rmsportal/rQMUhHHSqwYsPwjXxcfP.svg",
|
||||
nNodeSVGUrl:
|
||||
"https://gw.alipayobjects.com/zos/rmsportal/rQMUhHHSqwYsPwjXxcfP.svg",
|
||||
modelNodeSVGUrl:
|
||||
"https://gw.alipayobjects.com/zos/rmsportal/rQMUhHHSqwYsPwjXxcfP.svg",
|
||||
// 编辑器
|
||||
editor: null,
|
||||
saveAsImageDialogVisible: false,
|
||||
saveAsImageFormat: "jpg"
|
||||
saveAsImageFormat: "jpg",
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
console.log()
|
||||
this.initG6Editor();
|
||||
this.getlist();
|
||||
// this.editor.getCurrentPage().save()
|
||||
this.editor.getCurrentPage().hideGrid();
|
||||
this.editor.getCurrentPage().read(this.form);
|
||||
},
|
||||
watch: {
|
||||
phoneNodeContent(newValue, oldValue) {
|
||||
this.phoneNodeContent = newValue;
|
||||
this.getlist();
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
getlist() {
|
||||
// console.log(this.$route.query)
|
||||
// console.log(this.phoneNodeContent)
|
||||
// getFlowScheme(this.$route.query.id).then(res => {
|
||||
// this.form = JSON.parse(this.$route.query.id)
|
||||
this.form = JSON.parse(this.phoneNodeContent)
|
||||
this.form = JSON.parse(this.phoneNodeContent);
|
||||
this.editor.getCurrentPage().read(this.form);
|
||||
// })
|
||||
},
|
||||
// 初始化
|
||||
initG6Editor() {
|
||||
console.log(2222222222)
|
||||
|
||||
const _this = this;
|
||||
const editor = new G6Editor();
|
||||
this.editor = editor;
|
||||
@ -559,10 +678,10 @@ export default {
|
||||
// 正向命令
|
||||
execute(editor) {
|
||||
let needSaveData = editor.getCurrentPage().save();
|
||||
console.log(needSaveData, 'needSaveData');
|
||||
console.log(needSaveData, "needSaveData");
|
||||
// JSON.parse(JSON.stringify(needSaveData))
|
||||
const text = JSON.stringify(needSaveData)
|
||||
console.log(JSON.parse(JSON.stringify(text)), 'text');
|
||||
const text = JSON.stringify(needSaveData);
|
||||
console.log(JSON.parse(JSON.stringify(text)), "text");
|
||||
localStorage.setItem("flowData", JSON.stringify(needSaveData));
|
||||
_this.save(needSaveData);
|
||||
},
|
||||
@ -574,65 +693,67 @@ export default {
|
||||
// 快捷键:Ctrl + S
|
||||
shortcutCodes: [
|
||||
["metaKey", "s"],
|
||||
["ctrlKey", "s"]
|
||||
]
|
||||
["ctrlKey", "s"],
|
||||
],
|
||||
});
|
||||
// 画布
|
||||
const flow = new G6Editor.Flow({
|
||||
graph: {
|
||||
container: "page"
|
||||
container: "page",
|
||||
},
|
||||
align: {
|
||||
line: {
|
||||
// 对齐线颜色
|
||||
stroke: "#FA8C16",
|
||||
// 对齐线粗细
|
||||
lineWidth: 1
|
||||
lineWidth: 1,
|
||||
},
|
||||
// 开启全方位对齐
|
||||
item: true,
|
||||
// 网格对齐
|
||||
grid: true
|
||||
grid: true,
|
||||
},
|
||||
grid: {
|
||||
// 网孔尺寸
|
||||
cell: 18
|
||||
cell: 18,
|
||||
},
|
||||
shortcut: {
|
||||
// 开启自定义命令保存的快捷键
|
||||
save: true
|
||||
}
|
||||
save: true,
|
||||
},
|
||||
});
|
||||
window.flow = flow;
|
||||
|
||||
// 设置边
|
||||
flow.getGraph().edge({
|
||||
shape: "flow-polyline"
|
||||
shape: "flow-polyline",
|
||||
});
|
||||
|
||||
// 元素面板栏
|
||||
const itempannel = new G6Editor.Itempannel({
|
||||
container: "itempannel"
|
||||
container: "itempannel",
|
||||
});
|
||||
// 工具栏
|
||||
const toolbar = new G6Editor.Toolbar({
|
||||
container: "toolbar"
|
||||
container: "toolbar",
|
||||
});
|
||||
// 属性栏
|
||||
// const detailpannel = new G6Editor.Detailpannel({
|
||||
// container: "detailpannel"
|
||||
// });
|
||||
// 缩略图
|
||||
let minimapWidth = getComputedStyle(document.querySelector(".right-part")).width;
|
||||
let minimapWidth = getComputedStyle(
|
||||
document.querySelector(".right-part")
|
||||
).width;
|
||||
minimapWidth = Number(minimapWidth.replace(/px$/, ""));
|
||||
const minimap = new G6Editor.Minimap({
|
||||
container: "minimap",
|
||||
width: minimapWidth,
|
||||
height: 200
|
||||
height: 200,
|
||||
});
|
||||
// 右键菜单
|
||||
const contextmenu = new G6Editor.Contextmenu({
|
||||
container: "contextmenu"
|
||||
container: "contextmenu",
|
||||
});
|
||||
// 挂载以上组件到Editor
|
||||
editor.add(flow);
|
||||
@ -648,10 +769,16 @@ export default {
|
||||
const currentPage = editor.getCurrentPage();
|
||||
currentPage.on("afterchange", (e) => {
|
||||
if (e.action === "add") {
|
||||
if (e.model.nodetype === "startNode" || e.model.nodetype === "endNode") {
|
||||
if (
|
||||
e.model.nodetype === "startNode" ||
|
||||
e.model.nodetype === "endNode"
|
||||
) {
|
||||
let nodes = this.editor.getCurrentPage().getNodes();
|
||||
for (const item of nodes) {
|
||||
if (item.model.nodetype === e.model.nodetype && item.model.id !== e.model.id) {
|
||||
if (
|
||||
item.model.nodetype === e.model.nodetype &&
|
||||
item.model.id !== e.model.id
|
||||
) {
|
||||
this.editor.getCurrentPage().remove(e.item);
|
||||
this.$message.warning("只能有一个开始节点或结束节点");
|
||||
}
|
||||
@ -667,21 +794,23 @@ export default {
|
||||
// 如果选择的对象是节点
|
||||
if (ev.item.isNode) {
|
||||
this.nodeAttributeForm.label = selectedItemDataModel.label;
|
||||
this.nodeAttributeForm.width = selectedItemDataModel.size.split("*")[0];
|
||||
this.nodeAttributeForm.height = selectedItemDataModel.size.split("*")[1];
|
||||
this.nodeAttributeForm.width =
|
||||
selectedItemDataModel.size.split("*")[0];
|
||||
this.nodeAttributeForm.height =
|
||||
selectedItemDataModel.size.split("*")[1];
|
||||
this.nodeAttributeForm.color = selectedItemDataModel.color;
|
||||
}
|
||||
// 如果选择的对象是边
|
||||
if (ev.item.isEdge) {
|
||||
ev.item.graph.edge({
|
||||
shape: "flow-polyline-round"
|
||||
shape: "flow-polyline-round",
|
||||
});
|
||||
this.edgeAttributeForm.label = selectedItemDataModel.label;
|
||||
this.edgeAttributeForm.shape = selectedItemDataModel.shape;
|
||||
}
|
||||
});
|
||||
// 监听(删除后)事件
|
||||
currentPage.on("afterdelete", (ev) => { });
|
||||
currentPage.on("afterdelete", (ev) => {});
|
||||
},
|
||||
// 打开保存为图片弹窗
|
||||
openSaveAsImageDialog() {
|
||||
@ -724,16 +853,15 @@ export default {
|
||||
submitForm() {
|
||||
const _this = this;
|
||||
let needSaveData = editor.getCurrentPage().save();
|
||||
console.log(needSaveData, 'needSaveData');
|
||||
console.log(needSaveData, "needSaveData");
|
||||
localStorage.setItem("flowData", JSON.stringify(needSaveData));
|
||||
_this.save(needSaveData);
|
||||
_this.$message.success("数据已保存");
|
||||
|
||||
},
|
||||
// 保存为文件
|
||||
saveAsFile() {
|
||||
let sub = this.editor.getCurrentPage().save()
|
||||
console.log(sub, 'sub')
|
||||
let sub = this.editor.getCurrentPage().save();
|
||||
console.log(sub, "sub");
|
||||
let jsonString = JSON.stringify(this.editor.getCurrentPage().save());
|
||||
let blob = new Blob([jsonString]);
|
||||
let blobURL = URL.createObjectURL(blob);
|
||||
@ -784,9 +912,9 @@ export default {
|
||||
},
|
||||
handledel() {
|
||||
this.$store.dispatch("tagsView/delView", this.$route);
|
||||
this.$router.go(-1)
|
||||
this.$router.go(-1);
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
@ -367,6 +367,7 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.app-container {
|
||||
display: inline-block;
|
||||
padding: 0 !important;
|
||||
|
||||
@ -142,6 +142,13 @@
|
||||
align="center"
|
||||
prop="diseaseTypeName"
|
||||
/>
|
||||
<el-table-column
|
||||
label="模板内容"
|
||||
align="center"
|
||||
prop="templateContent"
|
||||
:show-overflow-tooltip="true"
|
||||
|
||||
/>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
|
||||
@ -61,6 +61,9 @@
|
||||
<el-table-column label="适用任务类型" align="center" prop="suitTaskTypeName"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="病种名称" align="center" prop="diseaseTypeName" />
|
||||
<el-table-column label="模板内容" align="center" prop="templateContent" />
|
||||
|
||||
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" @click="handleselect(scope.row)"
|
||||
@ -181,6 +184,7 @@ export default {
|
||||
this.loading = true;
|
||||
this.queryParams.templateSource = "WE_CHAT_OFFICIAL_ACCOUNT"
|
||||
listTemplate(this.queryParams).then(response => {
|
||||
console.log(response.rows)
|
||||
this.templateList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,255 +1,429 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-button size="small" @click="classificationOpen = true"
|
||||
style="width: 200px;font-size:14px;text-align:left;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;"
|
||||
:style="handleselectName ? 'color:black' : 'color:#C0C4CC'">{{ handleselectName ? handleselectName :
|
||||
'选择问卷模板' }}</el-button>
|
||||
<el-dialog title="问卷库模板选择" :visible.sync="classificationOpen" width="70%"
|
||||
:before-close="classificationOpenfalse">
|
||||
<el-row :gutter="20">
|
||||
<!--部门数据-->
|
||||
<el-col :span="6" :xs="24">
|
||||
<div class="left" ref="box">
|
||||
<div class="name">科室名称</div>
|
||||
<div style="padding: 10px 0;">
|
||||
<el-input v-model="departmentName" placeholder="请输入科室名称" clearable
|
||||
@keyup.enter.native="getTreeselect" />
|
||||
</div>
|
||||
<div class="listitem" v-for="(item, index) in deptOptions" :key="index"
|
||||
@click="clickDepartmenitem(item)">
|
||||
<div :class="queryParams.departmentId == item.id ? 'allactive' : 'all'">
|
||||
{{ item.departmentName }}
|
||||
</div>
|
||||
<span class="count">{{ item.countNum }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<!--用户数据-->
|
||||
<el-col :span="18" :xs="24">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="70px">
|
||||
<el-form-item label="问卷标题" prop="questionnaireName">
|
||||
<el-input v-model="queryParams.questionnaireName" placeholder="请输入问卷标题" clearable
|
||||
@keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="病种名称" prop="diseaseTypeName">
|
||||
<el-input v-model="queryParams.diseaseTypeName" placeholder="请输入病种名称" clearable
|
||||
@keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini"
|
||||
@click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="loading" :data="questionList" @row-dblclick="handleselect">
|
||||
<el-table-column label="序号" type="index" width="55" align="center" />
|
||||
<el-table-column label="问卷模板名称" align="center" prop="questionnaireName" />
|
||||
<el-table-column label="问题个数" align="center" prop="questionCount" />
|
||||
<el-table-column label="问卷模板ID" align="center" prop="questionnaireId" />
|
||||
<el-table-column label="问卷状态" align="center" prop="questionnaireStatus">
|
||||
<template slot-scope="scope">
|
||||
<el-switch v-model="scope.row.questionnaireStatus" active-color="#13ce66"
|
||||
inactive-color="#ff4949" active-value="PUBLISHED" inactive-value="UNPUBLISHED"
|
||||
disabled @change="switchstatus($event, scope.row)">
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="病种名称" align="center" prop="diseaseTypeName" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" @click="handleselect(scope.row)"
|
||||
v-if="handleselectId != scope.row.id">选择</el-button>
|
||||
<el-button size="mini" type="text" @click="nohandleselect(scope.row)"
|
||||
v-if="handleselectId == scope.row.id">取消选择</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||
</el-dialog>
|
||||
<div class="app-container">
|
||||
<el-button
|
||||
size="small"
|
||||
@click="classificationOpen = true"
|
||||
style="
|
||||
width: 200px;
|
||||
font-size: 14px;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
"
|
||||
:style="handleselectName ? 'color:black' : 'color:#C0C4CC'"
|
||||
>{{ handleselectName ? handleselectName : "选择问卷模板" }}</el-button
|
||||
>
|
||||
<el-dialog
|
||||
title="问卷库模板选择"
|
||||
:visible.sync="classificationOpen"
|
||||
width="70%"
|
||||
:before-close="classificationOpenfalse"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<!--部门数据-->
|
||||
<el-col :span="6" :xs="24">
|
||||
<div class="left" ref="box">
|
||||
<div class="name">科室名称</div>
|
||||
<div style="padding: 10px 0">
|
||||
<el-input
|
||||
v-model="departmentName"
|
||||
placeholder="请输入科室名称"
|
||||
clearable
|
||||
@keyup.enter.native="getTreeselect"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="listitem"
|
||||
v-for="(item, index) in deptOptions"
|
||||
:key="index"
|
||||
@click="clickDepartmenitem(item)"
|
||||
>
|
||||
<div
|
||||
:class="
|
||||
queryParams.departmentId == item.id ? 'allactive' : 'all'
|
||||
"
|
||||
>
|
||||
{{ item.departmentName }}
|
||||
</div>
|
||||
<span class="count">{{ item.countNum }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<!--用户数据-->
|
||||
<el-col :span="18" :xs="24">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
label-width="70px"
|
||||
>
|
||||
<el-form-item label="问卷标题" prop="questionnaireName">
|
||||
<el-input
|
||||
v-model="queryParams.questionnaireName"
|
||||
placeholder="请输入问卷标题"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="病种名称" prop="diseaseTypeName">
|
||||
<el-input
|
||||
v-model="queryParams.diseaseTypeName"
|
||||
placeholder="请输入病种名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
size="mini"
|
||||
@click="handleQuery"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="questionList"
|
||||
@row-dblclick="handleselect"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
width="55"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
label="问卷模板名称"
|
||||
align="center"
|
||||
prop="questionnaireName"
|
||||
/>
|
||||
<el-table-column
|
||||
label="问题个数"
|
||||
align="center"
|
||||
prop="questionCount"
|
||||
/>
|
||||
<el-table-column
|
||||
label="问卷模板ID"
|
||||
align="center"
|
||||
prop="questionnaireId"
|
||||
/>
|
||||
<el-table-column
|
||||
label="问卷状态"
|
||||
align="center"
|
||||
prop="questionnaireStatus"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.questionnaireStatus"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949"
|
||||
active-value="PUBLISHED"
|
||||
inactive-value="UNPUBLISHED"
|
||||
disabled
|
||||
@change="switchstatus($event, scope.row)"
|
||||
>
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="病种名称"
|
||||
align="center"
|
||||
prop="diseaseTypeName"
|
||||
/>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" @click="handlesee(scope.row)"
|
||||
>预览</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="handleselect(scope.row)"
|
||||
v-if="handleselectId != scope.row.id"
|
||||
>选择</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="nohandleselect(scope.row)"
|
||||
v-if="handleselectId == scope.row.id"
|
||||
>取消选择</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</el-dialog>
|
||||
<el-dialog title="问卷预览" :visible.sync="showquestion" width="90%">
|
||||
<div class="righttextarea">
|
||||
<questionopennew v-if="showquestion"></questionopennew>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listQuestion, getQuestion, delQuestion, addQuestion, updateQuestion, getDepartmentList, selectUserDepartment, diseaseList, updateclassification } from "@/api/system/question";
|
||||
|
||||
import {
|
||||
listQuestion,
|
||||
getQuestion,
|
||||
delQuestion,
|
||||
addQuestion,
|
||||
updateQuestion,
|
||||
getDepartmentList,
|
||||
selectUserDepartment,
|
||||
diseaseList,
|
||||
updateclassification,
|
||||
} from "@/api/system/question";
|
||||
import questionopennew from "./questionopennew.vue";
|
||||
import { selectPatientQuestionSubmit } from "@/api/system/taskExecuteRecord";
|
||||
export default {
|
||||
name: "Question",
|
||||
props: ['templateId', 'templateName'],
|
||||
data() {
|
||||
return {
|
||||
classificationOpen: false,
|
||||
//科室名称
|
||||
departmentName: '',
|
||||
defaultProps: {
|
||||
children: "children",
|
||||
label: "label"
|
||||
},
|
||||
// 部门树选项
|
||||
deptOptions: undefined,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 问卷基本信息表格数据
|
||||
questionList: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
departmentId: null,
|
||||
departmentName: null,
|
||||
diseaseTypeName: null,
|
||||
questionnaireName: null,
|
||||
questionnaireStatus: "PUBLISHED",
|
||||
// questionType: "REGULAR_QUESTIONNAIRE"
|
||||
},
|
||||
handleselectId: '',
|
||||
handleselectName: null,
|
||||
};
|
||||
name: "Question",
|
||||
props: ["templateId", "templateName", questionopennew],
|
||||
data() {
|
||||
return {
|
||||
showquestion: false,
|
||||
classificationOpen: false,
|
||||
//科室名称
|
||||
departmentName: "",
|
||||
defaultProps: {
|
||||
children: "children",
|
||||
label: "label",
|
||||
},
|
||||
// 部门树选项
|
||||
deptOptions: undefined,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 问卷基本信息表格数据
|
||||
questionList: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
departmentId: null,
|
||||
departmentName: null,
|
||||
diseaseTypeName: null,
|
||||
questionnaireName: null,
|
||||
questionnaireStatus: "PUBLISHED",
|
||||
// questionType: "REGULAR_QUESTIONNAIRE"
|
||||
},
|
||||
handleselectId: "",
|
||||
handleselectName: null,
|
||||
questiondata:[],
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
// 根据名称筛选部门树
|
||||
departmentName(val) {
|
||||
// this.getTreeselect()
|
||||
},
|
||||
watch: {
|
||||
// 根据名称筛选部门树
|
||||
departmentName(val) {
|
||||
// this.getTreeselect()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getTreeselect();
|
||||
this.getList();
|
||||
},
|
||||
mounted() {
|
||||
this.handleselectId = this.templateId;
|
||||
this.handleselectName = this.templateName;
|
||||
},
|
||||
watch: {
|
||||
templateId(newValue, oldValue) {
|
||||
this.handleselectId = newValue;
|
||||
},
|
||||
created() {
|
||||
this.getTreeselect();
|
||||
this.getList();
|
||||
templateName(newValue, oldValue) {
|
||||
this.handleselectName = newValue;
|
||||
},
|
||||
mounted() {
|
||||
this.handleselectId = this.templateId
|
||||
this.handleselectName = this.templateName
|
||||
},
|
||||
methods: {
|
||||
handlesee(row) {
|
||||
console.log(row, "row");
|
||||
|
||||
this.showquestion = true;
|
||||
selectPatientQuestionSubmit(row.id).then((res) => {
|
||||
console.log(res, "res");
|
||||
this.questiondata = res.data;
|
||||
// if (this.$route.query.routeHandleRemark) {
|
||||
// this.questiondata.routeHandleRemark =
|
||||
// this.$route.query.routeHandleRemark;
|
||||
// }
|
||||
|
||||
// this.questiondata.subjectResultList.forEach((e) => {
|
||||
// e.optionResults.forEach((el) => {
|
||||
// // console.log(el, "el");
|
||||
// if (
|
||||
// (el.optionChooseSign == "0" &&
|
||||
// e.questionType == "MULTIPLE_CHOICE") ||
|
||||
// e.questionType == "COMBINATION_RADIO_SUBJECT"
|
||||
// ) {
|
||||
// e.checked = el.id;
|
||||
// } else if (
|
||||
// el.optionChooseSign == "0" &&
|
||||
// e.questionType == "MULTIPLE_CHOICE_QUESTIONS"
|
||||
// ) {
|
||||
// this.checkeddata.push(el.id);
|
||||
// } else if (
|
||||
// el.optionChooseSign == "0" &&
|
||||
// e.questionType == "SCORING_QUESTIONS"
|
||||
// ) {
|
||||
// e.checked = el.id;
|
||||
// } else if (
|
||||
// e.questionType == "COMBINATION_MULTIPLE_SUBJECT" &&
|
||||
// el.optionChooseSign == "0"
|
||||
// ) {
|
||||
// this.checkeddata.push(el.id);
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
});
|
||||
},
|
||||
watch: {
|
||||
templateId(newValue, oldValue) {
|
||||
this.handleselectId = newValue;
|
||||
},
|
||||
templateName(newValue, oldValue) {
|
||||
this.handleselectName = newValue;
|
||||
}
|
||||
clickDepartmenitem(item) {
|
||||
this.loading = true;
|
||||
this.queryParams.departmentId = item.id;
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
clickDepartmenitem(item) {
|
||||
this.loading = true;
|
||||
this.queryParams.departmentId = item.id;
|
||||
this.getList();
|
||||
},
|
||||
nohandleselect() {
|
||||
this.handleselectId = ''
|
||||
this.handleselectName = ''
|
||||
this.$emit("on-template", { templateId: '', templateName: '' });
|
||||
},
|
||||
handleselect(item) {
|
||||
this.handleselectId = item.id
|
||||
this.handleselectName = item.questionnaireName
|
||||
this.$emit("on-template", { templateId: item.id, templateName: item.questionnaireName });
|
||||
this.classificationOpen = false
|
||||
},
|
||||
classificationOpenfalse() {
|
||||
this.classificationOpen = false
|
||||
},
|
||||
// 节点单击事件
|
||||
handleNodeClick(data) {
|
||||
this.queryParams.departmentId = data.id;
|
||||
this.handleQuery();
|
||||
},
|
||||
// 筛选节点
|
||||
filterNode(value, data) {
|
||||
if (!value) return true;
|
||||
return data.label.indexOf(value) !== -1;
|
||||
},
|
||||
/** 查询科室下拉树结构 */
|
||||
getTreeselect() {
|
||||
getDepartmentList({
|
||||
departmentName: this.departmentName,
|
||||
questionnaireStatus: "PUBLISHED",
|
||||
// questionType: "REGULAR_QUESTIONNAIRE",
|
||||
}).then(response => {
|
||||
// console.log('0000000000')
|
||||
// response.data.forEach(e => {
|
||||
// e.label = e.departmentName
|
||||
// })
|
||||
this.deptOptions = response.data;
|
||||
});
|
||||
},
|
||||
/** 查询问卷基本信息列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.queryParams.questionnaireStatus = "PUBLISHED"
|
||||
// this.queryParams.questionType = "REGULAR_QUESTIONNAIRE"
|
||||
listQuestion(this.queryParams).then(response => {
|
||||
this.questionList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
}
|
||||
nohandleselect() {
|
||||
this.handleselectId = "";
|
||||
this.handleselectName = "";
|
||||
this.$emit("on-template", { templateId: "", templateName: "" });
|
||||
},
|
||||
handleselect(item) {
|
||||
this.handleselectId = item.id;
|
||||
this.handleselectName = item.questionnaireName;
|
||||
this.$emit("on-template", {
|
||||
templateId: item.id,
|
||||
templateName: item.questionnaireName,
|
||||
});
|
||||
this.classificationOpen = false;
|
||||
},
|
||||
classificationOpenfalse() {
|
||||
this.classificationOpen = false;
|
||||
},
|
||||
// 节点单击事件
|
||||
handleNodeClick(data) {
|
||||
this.queryParams.departmentId = data.id;
|
||||
this.handleQuery();
|
||||
},
|
||||
// 筛选节点
|
||||
filterNode(value, data) {
|
||||
if (!value) return true;
|
||||
return data.label.indexOf(value) !== -1;
|
||||
},
|
||||
/** 查询科室下拉树结构 */
|
||||
getTreeselect() {
|
||||
getDepartmentList({
|
||||
departmentName: this.departmentName,
|
||||
questionnaireStatus: "PUBLISHED",
|
||||
// questionType: "REGULAR_QUESTIONNAIRE",
|
||||
}).then((response) => {
|
||||
// console.log('0000000000')
|
||||
// response.data.forEach(e => {
|
||||
// e.label = e.departmentName
|
||||
// })
|
||||
this.deptOptions = response.data;
|
||||
});
|
||||
},
|
||||
/** 查询问卷基本信息列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.queryParams.questionnaireStatus = "PUBLISHED";
|
||||
// this.queryParams.questionType = "REGULAR_QUESTIONNAIRE"
|
||||
listQuestion(this.queryParams).then((response) => {
|
||||
this.questionList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
::v-deep .el-dialog__body {
|
||||
padding-bottom: 60px;
|
||||
padding-bottom: 60px;
|
||||
}
|
||||
.righttextarea {
|
||||
// height: 200px;
|
||||
padding: 10px;
|
||||
// width: 90%;
|
||||
// height: 100%;
|
||||
border: 1.5px solid #c7c7c7;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.app-container {
|
||||
padding: 0 !important;
|
||||
display: inline-block;
|
||||
// background: red;
|
||||
height: 42px;
|
||||
padding: 0 !important;
|
||||
display: inline-block;
|
||||
// background: red;
|
||||
height: 42px;
|
||||
}
|
||||
|
||||
.left {
|
||||
height: 500px;
|
||||
overflow: auto;
|
||||
height: 500px;
|
||||
overflow: auto;
|
||||
|
||||
.name {
|
||||
font-weight: 700;
|
||||
margin-bottom: 10px;
|
||||
.name {
|
||||
font-weight: 700;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.listitem {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
border-bottom: 1px solid #dcdfe6;
|
||||
position: relative;
|
||||
|
||||
.count {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
left: 210px;
|
||||
color: #a4a6aa;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.listitem {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
border-bottom: 1px solid #dcdfe6;
|
||||
position: relative;
|
||||
|
||||
.count {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
left: 210px;
|
||||
color: #a4a6aa;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.all {
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
padding-left: 13px;
|
||||
}
|
||||
|
||||
.allactive {
|
||||
background: #e8f4ff;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
padding-left: 13px;
|
||||
border-left: 3px solid #4d9de7;
|
||||
}
|
||||
.all {
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
padding-left: 13px;
|
||||
}
|
||||
|
||||
.allactive {
|
||||
background: #e8f4ff;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
padding-left: 13px;
|
||||
border-left: 3px solid #4d9de7;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -1,30 +1,53 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-button size="small" @click="classificationOpen = true" style="
|
||||
<el-button
|
||||
size="small"
|
||||
@click="classificationOpen = true"
|
||||
style="
|
||||
width: 200px;
|
||||
font-size: 14px;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
" :style="handleselectName ? 'color:black' : 'color:#C0C4CC'">{{ handleselectName ? handleselectName : "请选择"
|
||||
}}</el-button>
|
||||
<el-dialog title="话书库模板选择" :visible.sync="classificationOpen" width="70%" :before-close="classificationOpenfalse">
|
||||
"
|
||||
:style="handleselectName ? 'color:black' : 'color:#C0C4CC'"
|
||||
>{{ handleselectName ? handleselectName : "请选择" }}</el-button
|
||||
>
|
||||
<el-dialog
|
||||
title="话书库模板选择"
|
||||
:visible.sync="classificationOpen"
|
||||
width="70%"
|
||||
:before-close="classificationOpenfalse"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<!--部门数据-->
|
||||
<el-col :span="6" :xs="24">
|
||||
<div class="leftscript" ref="box">
|
||||
<div class="name">科室名称</div>
|
||||
<div>
|
||||
<el-input v-model="name" placeholder="请输入科室名称" clearable @keyup.enter.native="handleQuery" />
|
||||
<el-input
|
||||
v-model="name"
|
||||
placeholder="请输入科室名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</div>
|
||||
<div class="listitem">
|
||||
<div :class="itemname == null ? 'allactive' : 'all'" @click="itemdata()">
|
||||
<div
|
||||
:class="itemname == null ? 'allactive' : 'all'"
|
||||
@click="itemdata()"
|
||||
>
|
||||
全部
|
||||
</div>
|
||||
<span class="count">{{ count }}</span>
|
||||
</div>
|
||||
<div class="listitem" v-for="(item, index) in DepartmentoList" :key="index" @click="itemdata(item)">
|
||||
<div
|
||||
class="listitem"
|
||||
v-for="(item, index) in DepartmentoList"
|
||||
:key="index"
|
||||
@click="itemdata(item)"
|
||||
>
|
||||
<div :class="itemname == item.id ? 'allactive' : 'all'">
|
||||
{{ item.departmentName }}
|
||||
</div>
|
||||
@ -34,55 +57,158 @@
|
||||
</el-col>
|
||||
<!--用户数据-->
|
||||
<el-col :span="18" :xs="24">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
|
||||
label-width="100px">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="通用话术名称" prop="commonScriptName">
|
||||
<el-input v-model="queryParams.commonScriptName" placeholder="请输入通用话术名称" clearable
|
||||
@keyup.enter.native="handleQuery" />
|
||||
<el-input
|
||||
v-model="queryParams.commonScriptName"
|
||||
placeholder="请输入通用话术名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="话术名称" prop="scriptName">
|
||||
<el-input v-model="queryParams.scriptName" placeholder="请输入话术名称" clearable
|
||||
@keyup.enter.native="handleQuery" />
|
||||
<el-input
|
||||
v-model="queryParams.scriptName"
|
||||
placeholder="请输入话术名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="话术ID" prop="scriptId">
|
||||
<el-input v-model="queryParams.scriptId" placeholder="请输入话术ID" clearable
|
||||
@keyup.enter.native="handleQuery" />
|
||||
<el-input
|
||||
v-model="queryParams.scriptId"
|
||||
placeholder="请输入话术ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="平台ID" prop="platformId">
|
||||
<el-input v-model="queryParams.platformId" placeholder="请输入平台ID" clearable
|
||||
@keyup.enter.native="handleQuery" />
|
||||
<el-input
|
||||
v-model="queryParams.platformId"
|
||||
placeholder="请输入平台ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
size="mini"
|
||||
@click="handleQuery"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="loading" :data="scriptList" @row-dblclick="handleselect">
|
||||
<el-table-column label="序号" align="center" prop="sort" type="index" />
|
||||
<el-table-column label="通用话术名称" align="center" prop="commonScriptName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="话术名称" align="center" prop="scriptName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="话术ID" align="center" prop="scriptId" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="平台ID" align="center" prop="platformId" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="话术简介" align="center" prop="scriptIntroduction" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="病种名称" align="center" prop="diseaseTypeName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="scriptList"
|
||||
@row-dblclick="handleselect"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
align="center"
|
||||
prop="sort"
|
||||
type="index"
|
||||
/>
|
||||
<el-table-column
|
||||
label="通用话术名称"
|
||||
align="center"
|
||||
prop="commonScriptName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="话术名称"
|
||||
align="center"
|
||||
prop="scriptName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="话术ID"
|
||||
align="center"
|
||||
prop="scriptId"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="平台ID"
|
||||
align="center"
|
||||
prop="platformId"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="话术简介"
|
||||
align="center"
|
||||
prop="scriptIntroduction"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="病种名称"
|
||||
align="center"
|
||||
prop="diseaseTypeName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" @click="handleselect(scope.row)"
|
||||
v-if="handleselectId != scope.row.id">选择</el-button>
|
||||
<el-button size="mini" type="text" @click="nohandleselect(scope.row)"
|
||||
v-if="handleselectId == scope.row.id">取消选择</el-button>
|
||||
<el-button size="mini" type="text" @click="handlesee(scope.row)"
|
||||
>预览</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="handleselect(scope.row)"
|
||||
v-if="handleselectId != scope.row.id"
|
||||
>选择</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="nohandleselect(scope.row)"
|
||||
v-if="handleselectId == scope.row.id"
|
||||
>取消选择</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||
@pagination="getList" />
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</el-dialog>
|
||||
<el-dialog title="话术预览" :visible.sync="lookshow" width="90%">
|
||||
<Scriptpreview
|
||||
:phoneNodeContent="phoneNodeContent"
|
||||
v-if="lookshow"
|
||||
></Scriptpreview>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="lookshow = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Scriptpreview from ".././components/Scriptpreviewopen.vue";
|
||||
|
||||
import {
|
||||
listScript,
|
||||
getScript,
|
||||
@ -97,10 +223,17 @@ import {
|
||||
import stationAcatar from "../../system/stationAvatar/index.vue";
|
||||
export default {
|
||||
props: ["templateId", "templateName"],
|
||||
components: { stationAcatar },
|
||||
components: { stationAcatar, Scriptpreview },
|
||||
name: "Script",
|
||||
data() {
|
||||
return {
|
||||
lookshow: false,
|
||||
phoneNodeContent: {
|
||||
scriptInfoId: null,
|
||||
flowScheme: null,
|
||||
nodes: [],
|
||||
edges: [],
|
||||
},
|
||||
handleselectName: "",
|
||||
handleselectId: "",
|
||||
classificationOpen: false,
|
||||
@ -175,6 +308,16 @@ export default {
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handlesee(row) {
|
||||
console.log(row, "eeeeee");
|
||||
if (row.flowScheme == null || row.flowScheme == "") {
|
||||
this.$message.error("暂无话术图");
|
||||
} else {
|
||||
this.phoneNodeContent = row.flowScheme;
|
||||
this.lookshow = true;
|
||||
}
|
||||
},
|
||||
|
||||
nohandleselect() {
|
||||
this.handleselectId = "";
|
||||
this.handleselectName = "";
|
||||
@ -187,11 +330,11 @@ export default {
|
||||
handleselect(item) {
|
||||
this.handleselectId = item.id;
|
||||
this.handleselectName = item.commonScriptName;
|
||||
console.log(this.handleselectName, "this.handleselectName");
|
||||
this.$emit("on-template", {
|
||||
templateId: item.id,
|
||||
templateName: item.commonScriptName,
|
||||
templateContent: item.scriptIntroduction,
|
||||
phoneNodeContent: item.flowScheme,
|
||||
});
|
||||
this.classificationOpen = false;
|
||||
},
|
||||
@ -283,7 +426,7 @@ export default {
|
||||
display: inline-block;
|
||||
padding: 0 !important;
|
||||
// background: red;
|
||||
height: 42px;
|
||||
height: 42px;
|
||||
}
|
||||
|
||||
::v-deep .el-textarea__inner {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user