| | |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | } |
| | | // 新增或修改删除单一任务 |
| | | export function getTasklist(data) { |
| | | return request({ |
| | | url: "/smartor/taskcall/list", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="usable" :value="scope.row.isavailable" /> |
| | | <dict-tag :options="qyoptions" :value="scope.row.usestate" /> |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | mode: [], |
| | | languagelist: [], |
| | | editabshape: [], |
| | | usable: [], |
| | | qyoptions: [], |
| | | precedencetype: [], |
| | | }; |
| | | }, |
| | |
| | | created() { |
| | | this.mode = store.getters.mode; |
| | | this.languagelist = store.getters.languagelist; |
| | | this.usable = store.getters.usable; |
| | | this.qyoptions = store.getters.usable; |
| | | this.precedencetype = store.getters.precedencetype; |
| | | this.editabshape = store.getters.editabshape; |
| | | }, |
| | |
| | | |
| | | <script> |
| | | import { |
| | | listUser, |
| | | getUser, |
| | | delUser, |
| | | addUser, |
| | |
| | | resetUserPwd, |
| | | changeUserStatus, |
| | | } from "@/api/system/user"; |
| | | import { getTasklist, getlibrarylist } from "@/api/AiCentre/index"; |
| | | |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | |
| | | // 查询参数 |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | pageSize: 1000, |
| | | userName: undefined, |
| | | tagid: undefined, |
| | | topic: undefined, |
| | |
| | | }); |
| | | }, |
| | | methods: { |
| | | /** 查询门诊随访列表 */ |
| | | /** 查询任务列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( |
| | | (response) => { |
| | | console.log(response); |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | } |
| | | ); |
| | | // this.loading = true; |
| | | getTasklist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 查看门诊随访详情 |
| | | Referencequestion(row) { |
| | |
| | | ></el-step> |
| | | <el-step |
| | | icon="el-icon-user" |
| | | title="宣教对象" |
| | | description="在本部选择宣教病人" |
| | | title="任主体" |
| | | description="在本部选择服务患者" |
| | | ></el-step> |
| | | <el-step icon="el-icon-user" title="模版确认"></el-step> |
| | | </el-steps> |
| | |
| | | <el-radio :label="3">即刻发送</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="发送日期:" |
| | | v-if="currenttype != 2 && form.sendType == 1" |
| | | > |
| | | <el-form-item label="发送日期:" v-if="form.sendType == 1"> |
| | | <el-date-picker |
| | | v-model="daytime" |
| | | @change="changeTimeday" |
| | |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="发送时间段:" |
| | | v-if="currenttype != 2 && form.sendType == 1" |
| | | > |
| | | <el-form-item label="发送时间段:" v-if="form.sendType == 1"> |
| | | <div style="display: flex"> |
| | | <div style="margin-right: 10px"> |
| | | <span style="font-size: 18px; margin-right: 10px" |
| | |
| | | <el-row :gutter="20"> |
| | | <el-table :data="variableList" style="width: 100%"> |
| | | <el-table-column |
| | | prop="variablename" |
| | | prop="name" |
| | | align="center" |
| | | label="变量名称" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="character" |
| | | align="center" |
| | | label="匹配符" |
| | | > |
| | | <el-table-column prop="value" align="center" label="匹配符"> |
| | | </el-table-column> |
| | | <el-table-column label="替换值" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.Replacementvalue" |
| | | :disabled="scope.row.default" |
| | | v-model="scope.row.fill" |
| | | placeholder="请输入内容" |
| | | ></el-input> |
| | | </template> |
| | |
| | | gethetaskinfo, |
| | | delhetaskinfo, |
| | | Editsingletask, |
| | | getvFollowup, |
| | | } from "@/api/AiCentre/index"; |
| | | import SFtable from "@/components/SFtable"; //表格组件 |
| | | |
| | |
| | | { label: "宣教描述", width: "", prop: "note" }, |
| | | { label: "宣教形式", width: "", prop: "playType" }, |
| | | { label: "适用方式", width: "", prop: "suitway" }, |
| | | { label: "创建日期", width: "", prop: "uploadTime" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | ], |
| | | tableLabelmz: [ |
| | | { label: "随访名称", width: "118", prop: "templateName" }, |
| | | { label: "随访模版", width: "130", prop: "impTemplate" }, |
| | | { label: "创建日期", width: "136", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "130", prop: "update_by" }, |
| | | { label: "随访名称", width: "", prop: "templateName" }, |
| | | { label: "主要内容", width: "", prop: "note" }, |
| | | { label: "修改日期", width: "", prop: "updateTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | ], |
| | | tableLabelcy: [ |
| | | { label: "随访名称", width: "118", prop: "templateName" }, |
| | | { label: "随访计划", width: "130", prop: "impTemplate" }, |
| | | { label: "创建日期", width: "136", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "130", prop: "update_by" }, |
| | | { label: "随访名称", width: "", prop: "templateName" }, |
| | | { label: "随访计划", width: "", prop: "impTemplate" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | ], |
| | | tableLabelfz: [ |
| | | { label: "通知名称", width: "118", prop: "templateName" }, |
| | | { label: "通知模版", width: "130", prop: "impTemplate" }, |
| | | { label: "创建日期", width: "136", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "130", prop: "update_by" }, |
| | | { label: "通知名称", width: "", prop: "templateName" }, |
| | | { label: "通知模版", width: "", prop: "impTemplate" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | ], |
| | | tableLabeltj: [ |
| | | { label: "通知名称", width: "118", prop: "name" }, |
| | | { label: "通知模版", width: "130", prop: "impTemplate" }, |
| | | { label: "创建日期", width: "136", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "130", prop: "update_by" }, |
| | | { label: "通知名称", width: "", prop: "name" }, |
| | | { label: "通知模版", width: "", prop: "impTemplate" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | ], |
| | | tableLabelwj: [ |
| | | { label: "问卷名称", width: "118", prop: "name" }, |
| | | { label: "问卷模版", width: "130", prop: "impTemplate" }, |
| | | { label: "创建日期", width: "136", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "130", prop: "update_by" }, |
| | | { label: "问卷名称", width: "", prop: "name" }, |
| | | { label: "问卷模版", width: "", prop: "impTemplate" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | ], |
| | | // 变量 |
| | | tableLabelvariable: [ |
| | |
| | | sonuserList: [], //选中患者列表 |
| | | variableList: [ |
| | | { |
| | | variablename: "姓名", |
| | | character: "${name}", |
| | | Replacementvalue: "龙傲天", |
| | | name: "姓名", |
| | | value: "${name}", |
| | | fill: "派发时自动匹配", |
| | | default: true, |
| | | }, |
| | | { |
| | | variablename: "地址", |
| | | character: "${dzz}", |
| | | Replacementvalue: "龙宫", |
| | | name: "地址", |
| | | value: "${dzz}", |
| | | fill: "派发时自动匹配", |
| | | default: true, |
| | | }, |
| | | { |
| | | variablename: "电话", |
| | | character: "${dhh}", |
| | | Replacementvalue: "八个八", |
| | | name: "电话", |
| | | value: "${dhh}", |
| | | fill: "派发时自动匹配", |
| | | default: true, |
| | | }, |
| | | ], //变量列表 |
| | | transitionList: [ |
| | | { |
| | | name: "姓名", |
| | | value: "${name}", |
| | | fill: "派发时自动匹配", |
| | | default: true, |
| | | }, |
| | | { |
| | | name: "地址", |
| | | value: "${dzz}", |
| | | fill: "派发时自动匹配", |
| | | default: true, |
| | | }, |
| | | { |
| | | name: "电话", |
| | | value: "${dhh}", |
| | | fill: "派发时自动匹配", |
| | | default: true, |
| | | }, |
| | | ], |
| | | variableListTime: [], |
| | | tasktopic: null, //新增类型 |
| | | SelectPatientslist: [], |
| | |
| | | // 保存 |
| | | submitForm(formName) { |
| | | this.form.serviceform = this.checkList.join(","); |
| | | this.form.textParam = { |
| | | 姓名: { "${name}": "龙傲天" }, |
| | | 地址: { "${dzz}": "龙宫" }, |
| | | 电话: { "${dhh}": "八个八" }, |
| | | }; |
| | | const filteredArray = this.variableList.filter( |
| | | (item) => |
| | | item.name !== "姓名" && item.name !== "电话" && item.name !== "地址" |
| | | ); |
| | | console.log(filteredArray, "存前变量"); |
| | | this.form.textParam = this.convertFormat2ToFormat1(filteredArray); |
| | | |
| | | |
| | | if (this.form.id) { |
| | | this.form.isoperation = 2; |
| | | } else { |
| | |
| | | // }); |
| | | }, |
| | | // ----------------------表格子组件事件 |
| | | // 选择 |
| | | // 选择模版 |
| | | selectfn(row, type) { |
| | | console.log(row); |
| | | console.log(type); |
| | | // 模版情况下获取模版信息 |
| | | if (type == 1) { |
| | | this.form.templatename = row.preachname; |
| | | this.form.templateid = row.templateid; |
| | | if ( |
| | | this.currenttype == 2 || |
| | | this.currenttype == 4 || |
| | | this.currenttype == 3 |
| | | ) { |
| | | this.form.templatename = row.templateName; |
| | | this.form.templateid = row.id; |
| | | } else if (this.currenttype == 1) { |
| | | this.form.templatename = row.preachname; |
| | | this.form.templateid = row.id; |
| | | } |
| | | getvFollowup({ id: row.id }).then((res) => { |
| | | if (res.code == 200) { |
| | | const data = res.data; |
| | | this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1); |
| | | } |
| | | }); |
| | | } else if (type == 2) { |
| | | } else if (type == 3) { |
| | | } |
| | | }, |
| | | // 处理问题层变量 |
| | | Variablehandling(arr, type) { |
| | | let Variablist = []; |
| | | if (type == 1) { |
| | | console.log(arr); |
| | | // 循环问题 |
| | | arr.forEach((res) => { |
| | | console.log(JSON.parse(res.otherdata), "ss"); |
| | | // 循环选项 |
| | | JSON.parse(res.otherdata).forEach((item) => { |
| | | if (item.default != 1) { |
| | | Variablist.push({ |
| | | value: item.variate, |
| | | fill: "", |
| | | name: item.variatename, |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | console.log(Variablist, "Variablist"); |
| | | const Aarr = Variablist.filter( |
| | | (obj, index, self) => |
| | | index === |
| | | self.findIndex((t) => t.name === obj.name && t.value === obj.value) |
| | | ); |
| | | this.variableList = this.transitionList.concat(Aarr); |
| | | // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); |
| | | } |
| | | }, |
| | | // 子任务二级弹框 |
| | | handleAddpatient(row) { |
| | | getTaskpatient(this.patientqueryParams).then((response) => { |
| | |
| | | item.isoperation = 1; |
| | | }); |
| | | this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data); |
| | | this.sortFn(); |
| | | }); |
| | | }, |
| | | handleDelete(row) { |
| | |
| | | testgovalue: "", |
| | | topicobj: {}, |
| | | indexform: { |
| | | ivrLibaScriptTargetoptionList:[], |
| | | ivrLibaScriptTagList:[] |
| | | ivrLibaScriptTargetoptionList: [], |
| | | ivrLibaScriptTagList: [], |
| | | }, |
| | | mode: [], |
| | | questionclass: [], |
| | |
| | | |
| | | // 保存详细信息 |
| | | Saveproblem() { |
| | | console.log(this.variablelist); |
| | | console.log(this.indexform); |
| | | this.indexform.otherdata = JSON.stringify(this.variablelist); |
| | | this.indexform.suitway = this.indexform.suitway.join(","); |
| | | |
| | | if (this.indexform.suitway) { |
| | | this.indexform.suitway = this.indexform.suitway.join(","); |
| | | } |
| | | |
| | | if (this.indexform.id) { |
| | | this.indexform.ivrLibaScriptTargetoptionList = |
| | | this.indexform.ivrLibaScriptTargetoptionList.map((res) => { |
| | | if (res.isoperation!=1) { |
| | | res.isoperation = 2; |
| | | } |
| | | return res; |
| | | }); |
| | | this.indexform.ivrLibaScriptTargetoptionList.map((res) => { |
| | | if (res.isoperation != 1) { |
| | | res.isoperation = 2; |
| | | } |
| | | return res; |
| | | }); |
| | | this.indexform.isoperation = 2; |
| | | compileverbaltrick(this.indexform).then((res) => { |
| | | if (res.code == 200) { |