From 9bc27231d681cbc1bae6d8f199521d332c9c23f7 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期一, 19 八月 2024 11:14:23 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/templateku/configurat/index.vue | 1936 ++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 1,349 insertions(+), 587 deletions(-) diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index 97892d0..1d68f79 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -2,14 +2,27 @@ <div class="Questionnairemanagement"> <!-- 宸︿晶鏍� --> <div class="sidecolumn"> - <div style="height: 400px"> - <el-steps direction="vertical" :active="Editprogress"> - <el-step title="鍩虹淇℃伅"></el-step> - <el-step title="闅忚妯$増棰樼洰"></el-step> - <el-step - title="闅忚妯$増棰勮" - description="鏌ョ湅闅忚妯$増棰勮锛屽彲瀵煎嚭PDF" - ></el-step> + <div> + <el-steps finish-status="success" :active="Editprogress" simple> + <el-step> + <template slot="title"> + <span style="cursor: pointer" @click="Editprogress = 1" + >鍩虹淇℃伅</span + > + </template> + </el-step> + <el-step> + <template slot="title"> + <span style="cursor: pointer" @click="Editprogress = 2" + >闅忚妯$増棰樼洰</span + > + </template> + </el-step> + <el-step description="鏌ョ湅闅忚妯$増棰勮锛屽彲瀵煎嚭PDF"> + <template slot="title"> + <span style="cursor: pointer" @click="preview">闅忚妯$増棰勮</span> + </template> + </el-step> </el-steps> </div> </div> @@ -29,55 +42,68 @@ <el-row> <el-col :span="12"> <el-form-item label="妯$増鍚嶇О" prop="region"> - <div style="width: 30%"> - <el-input v-model="ruleForm.name"></el-input> + <div> + <el-input + v-model="ruleForm.templateName" + placeholder="璇疯緭鍏ュ悕绉�" + ></el-input> </div> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="闅忚妯$増鍒嗙被" prop="region"> <el-select - v-model="ruleForm.classify" + v-model="ruleForm.assortid" size="medium" - multiple filterable placeholder="璇烽�夋嫨鍒嗙被" > - <el-option - class="ruleFormaa" - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" + <el-option-group + v-for="group in indexAssortlist" + :key="group.id" + :label="group.indexAssortName" > - </el-option> + <el-option + v-for="item in group.ivrLibaTemplateAssortList" + :key="item.id" + :label="item.indexAssortName" + :value="item.id" + > + </el-option> + </el-option-group> </el-select> </el-form-item> </el-col> </el-row> - <el-form-item label="妯$増绠�浠�" prop="name"> + <el-form-item label="妯$増绠�浠�" prop="note"> <div style="width: 50%"> - <el-input type="textarea" v-model="ruleForm.name"></el-input> + <el-input + type="textarea" + placeholder="璇疯緭鍏ョ畝浠�" + v-model="ruleForm.note" + ></el-input> </div> </el-form-item> <el-row :gutter="20"> - <el-col :span="6"> - <el-form-item label="鐗堟湰鍙�" prop="name"> - <el-input v-model="currentVersion"></el-input> </el-form-item + <el-col :span="12"> + <el-form-item label="鐗堟湰鍙�" prop="version"> + <el-input + style="width: 220px" + v-model="ruleForm.version" + placeholder="榛樿1.0.1" + ></el-input> </el-form-item ></el-col> - <el-col :span="9"> + <el-col :span="12"> <el-form-item label="鍙敤鐘舵��" prop="region"> <el-select - v-model="ruleForm.classify" + v-model="ruleForm.usestate" size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" + placeholder="璇烽�夋嫨" > <el-option class="ruleFormaa" - v-for="item in options" + v-for="item in usable" :key="item.value" :label="item.label" :value="item.value" @@ -86,57 +112,94 @@ </el-select> </el-form-item ></el-col> </el-row> - <el-form-item label="閫氱煡鍙橀噺" prop="name"> - <el-row v-for="item in variablelist"> - <el-col :span="4"> - <el-input v-model="item.variable"></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-input v-model="item.value"></el-input> - </el-col> - <el-col :span="4" :offset="1"> - <el-button - type="success" - icon="el-icon-plus" - circle - @click="addvariable(item)" - ></el-button> - <el-button - type="danger" - icon="el-icon-delete" - circle - @click="delvariable(item)" - ></el-button> - </el-col> - </el-row> - </el-form-item> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="璇█" prop="name"> + <el-select + v-model="ruleForm.language" + size="medium" + filterable + placeholder="璇烽�夋嫨璇█" + > + <el-option + class="ruleFormaa" + v-for="item in languagelist" + :key="item.label" + :label="item.label" + :value="item.label" + > + </el-option> + </el-select> </el-form-item + ></el-col> + <el-col :span="12"> + <el-form-item label="鎾姤浼樺厛" prop="playType"> + <el-select + v-model="ruleForm.playType" + size="medium" + filterable + placeholder="璇烽�夋嫨璇█" + > + <el-option + class="ruleFormaa" + v-for="item in precedencetype" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-form-item label="闅忚鏂瑰紡" prop="region"> + <el-select + style="width: 500px" + v-model="ruleForm.suitway" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨鍒嗙被锛堝閫夛級" + > + <el-option + class="ruleFormaa" + v-for="item in mode" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> <el-form-item label="鏍囩" prop="desc"> <div class="xinz-inf"> <el-tag - :key="tag" + :key="tag.tagname" type="success" v-for="tag in dynamicTags" closable :disable-transitions="false" - @close="handleClose(tag)" + @close="handleClosetag(tag)" > - {{ tag }} + {{ tag.tagname }} </el-tag> <el-select v-model="inputValue" v-if="inputVisible" @change="handleInputConfirm" filterable - allow-create - default-first-option + remote + allow-create + reserve-keyword + default-first-option + :remote-method="remoteMethodtag" + :loading="loading" placeholder="璇烽�夋嫨" > <el-option - v-for="item in optionstag" - :key="item.tagname" - :label="item.tagname" - :value="item.tagname" + v-for="item in optionstag" + :key="item.tagid" + :label="item.tagname" + :value="item.tagname" > </el-option> </el-select> @@ -149,112 +212,62 @@ > </div> </el-form-item> - <el-row :gutter="20"> - <el-col :span="6"> - <el-form-item label="璇█" prop="name"> - <el-select - v-model="ruleForm.language" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in languagelist" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item - ></el-col> - <el-col :span="9"> - <el-form-item label="鎾姤浼樺厛" prop="region"> - <el-radio-group v-model="ruleForm.classify"> - <el-radio :label="3">璇█鍚堟垚浼樺厛</el-radio> - <el-radio :label="6">璇█鏂囦欢浼樺厛</el-radio> - </el-radio-group> - </el-form-item></el-col - > - </el-row> - <el-form-item label="闅忚鏂瑰紡" prop="region"> - <el-select - style="width: 500px" - v-model="ruleForm.way" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被锛堝閫夛級" - > - <el-option - class="ruleFormaa" - v-for="item in xjxsoptions" - :key="item.value" - :label="item.label" - :value="item.value" + <div class="xinz-infs"> + <el-form-item label="閫傜敤鐤剧梾" prop="region"> + <el-tag + v-for="tag in displayedTags" + :key="tag.icdid" + type="warning" + :disable-transitions="false" > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="閫傜敤鐤剧梾" prop="region"> - <el-select - style="width: 500px" - v-model="ruleForm.illness" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被锛堝閫夛級" + {{ tag.icdname }} + </el-tag> + <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> + </el-form-item> + </div> + <div style="margin-left: 120px; margin-bottom: 10px"> + <el-button type="warning" @click="$refs.child.handleAddpatient()" + >鐤剧梾璇︽儏</el-button > - <el-option - class="ruleFormaa" - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> + </div> <el-form-item label="閫傜敤闄㈠尯" prop="region"> <el-select - v-model="ruleForm.courtyard" + style="width: 500px" + v-model="ruleForm.campus" size="medium" + multiple filterable placeholder="璇烽�夋嫨鍒嗙被" > <el-option class="ruleFormaa" - v-for="item in options" - :key="item.value" + v-for="item in courtyardlist" + :key="item.label" :label="item.label" - :value="item.value" + :value="item.label" > </el-option> </el-select> </el-form-item> <el-form-item label="閫傜敤绉戝" prop="region"> - <el-select + <el-cascader style="width: 500px" - v-model="ruleForm.administrative" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被锛堝閫夛級" + v-model="tempDetpRelevanceslist" + :options="deptList" + :props="props" + :show-all-levels="false" + clearable > - <el-option - class="ruleFormaa" - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> + <template slot-scope="{ node, data }"> + <span>{{ data.deptName }}</span> + <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> + </template> + </el-cascader> </el-form-item> <el-form-item label="閫氱敤搴�" prop="region"> <el-select style="width: 500px" - v-model="ruleForm.way" + v-model="ruleForm.submoduleID" size="medium" multiple filterable @@ -262,50 +275,30 @@ > <el-option class="ruleFormaa" - v-for="item in xjxsoptions" - :key="item.value" - :label="item.label" - :value="item.value" + v-for="item in generallist" + :key="item.id" + :label="item.extName" + :value="item.id" > </el-option> </el-select> </el-form-item> <el-row :gutter="20"> - <el-col :span="8"> + <el-col :span="12"> <el-form-item label="闅忚鍓嶅鐞�" prop="name"> - <el-select - v-model="ruleForm.languageq" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in xjxsoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item + <el-input + type="textarea" + show-word-limit + v-model="ruleForm.revisitBefore" + ></el-input></el-form-item ></el-col> - <el-col :span="9"> + <el-col :span="12"> <el-form-item label="闅忚鍚庡鐞�" prop="region"> - <el-select - v-model="ruleForm.languageh" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in xjxsoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> </el-form-item + <el-input + type="textarea" + show-word-limit + v-model="ruleForm.revisitAfter" + ></el-input> </el-form-item ></el-col> </el-row> <el-row :gutter="20"> @@ -313,23 +306,32 @@ <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="name"> <div style="width: 40%"> <el-input - v-model="ruleForm.name" + v-model="ruleForm.silencetime" + ></el-input></div></el-form-item + ></el-col> + <el-col :span="8"> + <el-form-item label="闈欓粯娆℃暟" prop="name"> + <div style="width: 40%"> + <el-input + v-model="ruleForm.noVoiceNum" ></el-input></div></el-form-item ></el-col> <el-col :span="8"> <el-form-item label="鏃犲尮閰嶉噸澶�(娆�)" prop="region"> <div style="width: 40%"> - <el-input v-model="ruleForm.name"></el-input> + <el-input v-model="ruleForm.mateNum"></el-input> </div> </el-form-item ></el-col> </el-row> <el-form-item> - <el-button type="success" @click="nextstep('ruleForm')" + <el-button type="success" plain @click="nextstep('ruleForm')" >涓嬩竴姝�</el-button > <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button @click="submitForm('ruleForm')" - >淇濆瓨闅忚妯$増鍩虹淇℃伅</el-button + <el-button + type="success" + @click="Departmenttreatment('ruleForm')" + >{{ task ? "淇濆瓨鍒颁换鍔℃ā鐗�" : "淇濆瓨闅忚妯$増鍩虹淇℃伅" }}</el-button > </el-form-item> </el-form> @@ -343,32 +345,35 @@ type="primary" icon="el-icon-plus" round - @click="drawer = true" + @click="getaddtopiclist" >娣诲姞棰樼洰</el-button > </div> <div class="presentation"> <div class="presentation-left"> <el-card class="box-card" style="min-height: 688px"> - <el-table v-loading="loading" :data="userList"> + <el-table + v-loading="loading" + :data="ruleForm.ivrLibaTemplateScriptVOList" + > <el-table-column label="缂栧彿" align="center" - key="userid" - prop="userid" + key="targetid" + prop="targetid" /> <el-table-column label="鏍囬" align="center" - key="userName" - prop="userName" + key="scriptTopic" + prop="scriptTopic" :show-overflow-tooltip="true" /> <el-table-column label="闂璇濇湳" align="center" - key="verbaltrick" - prop="verbaltrick" + key="scriptContent" + prop="scriptContent" :show-overflow-tooltip="true" /> @@ -389,7 +394,7 @@ type="danger" icon="el-icon-delete" circle - @click="deloption(scope.row)" + @click="handleDelete(scope.row)" ></el-button> <el-button @click="syioption(scope.row)" @@ -407,14 +412,6 @@ </el-table-column> </el-table> </el-card> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> </div> <div class="presentation-right"> <el-card class="box-card"> @@ -425,181 +422,259 @@ > <div class="headline"> 棰樼洰璁剧疆璇︽儏 - <span style="margin-left: 30px" + <!-- <span style="margin-left: 30px" ><el-button type="primary" @click="Submittopicobj" >淇濆瓨</el-button ></span - > + > --> </div> <el-form-item label="棰樼洰鏍囬"> <el-input - v-model="topicobj.title" - placeholder="璇疯緭鍏ユ爣棰�" + v-model="topicobj.scriptTopic" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></el-input> + </el-form-item> + <el-form-item label="闂鑺傜偣"> + <el-input + v-model="topicobj.targetid" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + :disabled="true" ></el-input> </el-form-item> <el-row :gutter="10"> <el-col :span="12" - ><el-form-item label="鏄惁蹇呯瓟"> - <el-radio-group v-model="topicobj.resource"> - <el-radio label="鏄�"></el-radio> - <el-radio label="鍚�"></el-radio> - </el-radio-group> </el-form-item + ><el-form-item label="鏄惁蹇呭~"> + <el-select + v-model="topicobj.isMust" + placeholder="榛樿蹇呭~" + > + <el-option + v-for="item in required" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item ></el-col> <el-col :span="12" - ><el-form-item label="鏄惁闅愯棌"> - <el-radio-group v-model="topicobj.resourcea"> - <el-radio label="鏄�"></el-radio> - <el-radio label="鍚�"></el-radio> - </el-radio-group> </el-form-item + ><el-form-item label="鍙栧�肩被鍨�"> + <el-select + v-model="topicobj.valueType" + placeholder="璇烽�夋嫨" + :disabled="true" + > + <el-option + v-for="item in valuetype" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item ></el-col> </el-row> - <div class="headline"> - <div class="basics">閫夐」璁剧疆</div> - <div class="headbottom"> - <el-button - type="primary" - icon="el-icon-circle-plus-outline" - @click="addzbiao" - >娣诲姞鎸囨爣</el-button - > - </div> - </div> - <div class="topicxq" v-for="item in 2"> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="澶勭悊"> - <el-input - type="text" - placeholder="(榛樿)鏃犲0" - v-model="queryParams.text" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="鑺傜偣ID"> - <el-input - type="text" - placeholder="璇疯緭鍏ュ垎鍊�" - v-model="queryParams.text" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="閫変腑鎻愮ず"> - <el-input - type="text" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="queryParams.text" - maxlength="10" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - <el-col :span="12" - ><el-form-item label="閫変腑璺宠浆"> - <el-input - type="text" - placeholder="璇疯緭鍏ラ鍙�" - v-model="queryParams.text" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-form-item label="璇煶鏂囨湰"> - <el-input - style="width: 24vw" - type="textarea" - placeholder="璇疯緭鍏ラ鍙�" - v-model="queryParams.text" - show-word-limit - > - </el-input> - </el-form-item> + <el-form-item label="闂璇煶" v-if="topicobj.scriptVoice"> + <mini-audio :audio-source="topicobj.scriptVoice"></mini-audio> + </el-form-item> - <el-row :gutter="10"> - <el-col :span="16"> - <el-form-item label="璇煶鏂囦欢"> - <el-upload - class="upload-demo" - style="display: flex" - action="https://jsonplaceholder.typicode.com/posts/" - :on-change="handleChange" - :file-list="fileList" - :limit="1" - :on-exceed="handleExceed" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item></el-col - > - <el-col :span="8"> - <div style="text-align: right; padding-right: 10px"> - <el-button type="danger" round>鍒犻櫎</el-button> - </div> + <div + class="topicxq" + v-if="topicobj.valueType == 2 || topicobj.valueType == 3" + > + <el-row> + <el-col :span="20"> + <el-form-item label="鏀堕泦鍐呭"> + <el-input + style="width: 400px" + type="textarea" + v-model="topicobj.value" + placeholder="闂鏀堕泦鍐呭" + ></el-input> + </el-form-item> </el-col> </el-row> + </div> + <div v-else> + <div class="headline"> + <div class="basics">閫夐」璁剧疆</div> + <!-- <div class="headbottom"> + <el-button + type="primary" + icon="el-icon-circle-plus-outline" + @click="addzbiao" + >娣诲姞鎸囨爣</el-button + > + </div> --> + </div> + + <Regular + :TargetoptionList="topicobj.ivrLibaScriptTargetoptionList" + @deloption="deloption" + :controlsc="false" + /> + <!-- 鏃犲尮閰嶇被鍨� --> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="鏃犲尮閰嶈瘽鏈�"> + <el-input + type="textarea" + style="width: 400px" + placeholder="璇疯緭鍏�" + v-model="topicobj.noMatchText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="10"> + <el-col :span="16"> + <el-form-item + label="鏃犲尮閰嶈闊�" + v-if="topicobj.nomatchvoice" + > + <mini-audio + :audio-source="topicobj.nomatchvoice" + ></mini-audio> </el-form-item + ></el-col> + </el-row> + </div> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="鍚笉娓呰瘽鏈�"> + <el-input + style="width: 400px" + type="textarea" + placeholder="璇疯緭鍏�" + v-model="topicobj.noClearlyText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <el-row :gutter="10"> + <el-col :span="16"> + <el-form-item + label="璇煶鏂囦欢" + v-if="topicobj.noclearlyvoice" + > + <mini-audio + :audio-source=" + topicobj.noclearlyvoice + ? topicobj.noclearlyvoice + : 'https://example.com/example.mp3' + " + ></mini-audio> </el-form-item + ></el-col> + </el-row> + </div> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="闈欓粯璇濇湳"> + <el-input + type="textarea" + style="width: 400px" + placeholder="璇疯緭鍏�" + v-model="topicobj.slienceText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <el-row :gutter="10"> + <el-col :span="16"> + <el-form-item + label="璇煶鏂囦欢" + v-if="topicobj.sliencevoice" + > + <mini-audio + :audio-source=" + topicobj.sliencevoice + ? topicobj.sliencevoice + : 'https://example.com/example.mp3' + " + ></mini-audio> </el-form-item + ></el-col> + </el-row> + </div> </div> </el-form> </el-card> </div> </div> - <el-button type="success" @click="nextstep('ruleForm')" - >涓嬩竴姝�</el-button + <el-button type="success" @click="Departmenttreatment('ruleForm')">{{ + task ? "淇濆瓨鍒颁换鍔℃ā鐗�" : "淇濆瓨棰樼洰鏁版嵁" + }}</el-button> + <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> + <el-button type="success" plain @click="preview('ruleForm')" + >鏌ョ湅棰勮</el-button > - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button @click="Saveproblem('ruleForm')">淇濆瓨棰樼洰鏁版嵁</el-button> </div> <!-- 闅忚妯$増棰勮 --> <div v-if="Editprogress == 3"> - <div class="leftvlue-jbxx">闅忚妯$増棰勮</div> + <div class="leftvlue-jbxx">闅忚妯$増闂棰勮</div> <el-divider></el-divider> + <div class="preview-left"> <!-- 鍗曢�� --> - <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div + class="scriptTopic-dev" + v-for="item in valssu" + :key="item.targetid" + v-if="item.valueType == 1" + > <div class="dev-text"> - {{ item.idd }}銆乕鍗曢�塢<span>{{ item.wssd }}</span> + {{ item.targetid }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> - <el-radio-group v-model="radio"> + <el-radio-group v-model="item.remark"> <el-radio - v-for="(items, index) in item.sdadd" + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" :key="index" :label="index" - >{{ items }}</el-radio + >{{ items.targetvalue }}</el-radio > </el-radio-group> </div> </div> <!-- 澶氶�� --> - <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div + class="scriptTopic-dev" + v-for="item in valssu" + :key="item.targetid" + v-if="item.valueType == 2" + > <div class="dev-text"> - {{ item.idd }}銆乕澶氶�塢<span>{{ item.wssd }}</span> + {{ item.targetid }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> - <el-checkbox-group v-model="radios"> + <el-checkbox-group v-model="item.remark"> <el-checkbox - v-for="(items, index) in item.sdadd" + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" :key="index" :label="index" > - {{ items }} + {{ items.targetvalue }} </el-checkbox> </el-checkbox-group> </div> </div> <!-- 濉┖ --> - <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div + class="scriptTopic-dev" + v-for="item in valssu" + :key="item.targetid" + v-if="item.valueType == 3" + > <div class="dev-text"> - {{ item.idd }}銆乕濉┖]<span>{{ item.wssd }}</span> + {{ item.targetid }}銆乕濉┖]<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> @@ -607,9 +682,9 @@ </div> </div> </div> + <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> + <el-button type="warning" @click="measurement()">鍓嶅線娴嬭瘯</el-button> <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button>瀵煎嚭涓簆df</el-button> - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> </div> </div> <!-- 娣诲姞棰樼洰寮圭獥 --> @@ -617,182 +692,572 @@ title="娣诲姞棰樼洰" :visible.sync="drawer" custom-class="demo-drawer" - width="50%" + size="50%" > - <div class="preview-left"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - label-width="98px" - > - <el-form-item label="鏍囬" prop="userName"> - <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="涓婚" prop="sickness"> - <el-select - v-model="ruleForm.classify" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" + <div style="margin: 0 25px"> + <el-tabs v-model="activeName"> + <el-tab-pane label="棰樺簱閫夊彇" name="first"> + <div class="preview-left"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + label-width="98px" > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-table v-loading="loading" :data="userList"> - <el-table-column - label="鏍囬" - align="center" - key="userName" - prop="userName" - width="100" - /> - <el-table-column - label="闂璇濇湳" - align="center" - key="verbaltrick" - prop="verbaltrick" - width="200" - :show-overflow-tooltip="true" - /> + <el-form-item label="鏍囬" prop="userName"> + <el-input + v-model="queryParams.scriptTopic" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="getaddtopiclist" + /> + </el-form-item> - <el-table-column - label="鎿嶄綔" - align="center" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - ><span class="button-textxg" - ><i class="el-icon-circle-plus-outline"></i>娣诲姞</span - ></el-button + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="getaddtopiclist" + >鎼滅储</el-button + > + <el-button + icon="el-icon-refresh" + size="medium" + @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + <el-table v-loading="loading" :data="userList"> + <el-table-column + label="鏍囬" + align="center" + key="scriptTopic" + prop="scriptTopic" + width="100" + /> + <el-table-column + label="闂璇濇湳" + align="center" + key="scriptContent" + prop="scriptContent" + width="200" + :show-overflow-tooltip="true" + /> + <el-table-column + label="閫夐」鍐呭" + align="center" + key="targetoptions" + prop="targetoptions" + width="200" + :show-overflow-tooltip="true" + /> + + <el-table-column + label="鎿嶄綔" + align="center" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button + size="medium" + type="text" + @click="addtopic(scope.row)" + ><span class="button-textxg" + ><i class="el-icon-circle-plus-outline"></i>娣诲姞</span + ></el-button + > + </template> + </el-table-column> + </el-table> + <pagination + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getaddtopiclist" + /> + </div> + </el-tab-pane> + <el-tab-pane label="鎵嬪姩閰嶇疆" name="second"> + <div class="preview-left"> + <el-form + :inline="true" + :model="indexform" + class="demo-form-inline" > - </template> - </el-table-column> - </el-table> + <div class="headline"> + 棰樼洰璁剧疆璇︽儏 + <span style="margin-left: 30px" + ><el-button type="primary" @click="Submittopicobj" + >淇濆瓨鏂板</el-button + ></span + > + </div> + <el-divider></el-divider> + <el-form-item label="棰樼洰鏍囬"> + <el-input + v-model="indexform.scriptTopic" + placeholder="璇疯緭鍏ラ鐩爣棰�" + ></el-input> + </el-form-item> + <el-form-item label="闂鑺傜偣"> + <el-input + v-model="indexform.targetid" + placeholder="璇疯緭鍏ラ棶棰樿妭鐐�" + ></el-input> + </el-form-item> + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item label="鏄惁蹇呭~"> + <el-select + v-model="indexform.isMust" + placeholder="榛樿蹇呭~" + > + <el-option + v-for="item in required" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + <!-- <el-col :span="12" + ><el-form-item label="鍙栧�肩被鍨�"> + <el-select + v-model="indexform.valueType" + placeholder="璇烽�夋嫨" + :disabled="true" + > + <el-option + v-for="item in valuetype" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> --> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="闂璇煶" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :headers="headers" + :show-file-list="false" + :on-success=" + (response, file) => handleChange(response, file, 1) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 18px; margin-top: 10px" + v-if="indexform.scriptVoice" + >{{ + indexform.scriptVoice.substring( + indexform.scriptVoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + indexform.scriptVoice + ? indexform.scriptVoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + <div> + <el-form-item label="鎸囨爣鍚嶇О" prop="deptId"> + <el-input + v-model="indexform.targetname" + placeholder="璇疯緭鍏ユ寚鏍囧悕绉�" + maxlength="20" + /> + </el-form-item> + <el-form-item label="鎸囨爣鎻忚堪" prop="deptId"> + <el-input + v-model="indexform.targetdesc" + placeholder="璇疯緭鍏ユ寚鏍囨弿杩�" + maxlength="60" + /> + </el-form-item> + + <el-row> + <el-col :span="20"> + <el-form-item label="鍊肩被鍨�"> + <el-radio-group v-model="indexform.valueType"> + <el-radio :label="1">閫夐」</el-radio> + <el-radio :label="2">鏂囨湰</el-radio> + <el-radio :label="3">鏁板��</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item label="棰樼洰绫诲瀷"> + <el-radio-group + @input="typeselection" + v-model="indexform.scriptType" + > + <el-radio :label="1">鍗曢��</el-radio> + <!-- <el-radio :label="2">澶氶��</el-radio> --> + <el-radio :label="4">闂瓟</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + </div> + <div class="topicxq" v-if="indexform.scriptType == 2"> + <el-row> + <el-col :span="20"> + <el-form-item label="鏀堕泦鍐呭"> + <el-input + style="width: 400px" + type="textarea" + v-model="indexform.value" + placeholder="闂鏀堕泦鍐呭" + ></el-input> + </el-form-item> + </el-col> + </el-row> + </div> + + <div v-else> + <div class="headline"> + <div class="basics">閫夐」璁剧疆</div> + </div> + <el-divider></el-divider> + <Regular + :TargetoptionList="indexform.ivrLibaScriptTargetoptionList" + @deloption="deloption" + :controlsc="false" + /> + <!-- 鏃犲尮閰嶇被鍨� --> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="鏃犲尮閰嶈瘽鏈�"> + <el-input + type="textarea" + style="width: 400px" + placeholder="璇疯緭鍏�" + v-model="indexform.noMatchText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="鏃犲尮閰嶈闊�" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :show-file-list="false" + :headers="headers" + :on-success=" + (response, file) => + handleChange(response, file, 2) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 12px" + v-if="indexform.nomatchvoice" + >{{ + indexform.nomatchvoice.substring( + indexform.nomatchvoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + indexform.nomatchvoice + ? indexform.nomatchvoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="鍚笉娓呰瘽鏈�"> + <el-input + style="width: 400px" + type="textarea" + placeholder="璇疯緭鍏�" + v-model="indexform.noClearlyText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <el-row> + <el-col :span="6"> + <el-form-item label="鍚笉娓呰闊�" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :show-file-list="false" + :headers="headers" + :on-success=" + (response, file) => + handleChange(response, file, 4) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 12px" + v-if="indexform.noclearlyvoice" + >{{ + indexform.noclearlyvoice.substring( + indexform.noclearlyvoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + indexform.noclearlyvoice + ? indexform.noclearlyvoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="闈欓粯璇濇湳"> + <el-input + type="textarea" + style="width: 400px" + placeholder="璇疯緭鍏�" + v-model="indexform.slienceText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <el-row> + <el-col :span="6"> + <el-form-item label="闈欓粯璇煶" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :show-file-list="false" + :headers="headers" + :on-success=" + (response, file) => + handleChange(response, file, 3) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 12px" + v-if="indexform.sliencevoice" + >{{ + indexform.sliencevoice.substring( + indexform.sliencevoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + indexform.sliencevoice + ? indexform.sliencevoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> + </div> + </el-form> + </div> + </el-tab-pane> + </el-tabs> </div> </el-drawer> + <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 --> + <Optional-Form + ref="child" + :dialogVisiblepatient="dialogVisiblepatient" + :overallCase="illnesslist" + @addoption="dialogVisiblepatient = false" + @kkoption="dialogVisiblepatient = true" + /> </div> </template> <script> import { listtag } from "@/api/system/label"; +import store from "@/store"; +import { listDept } from "@/api/system/dept"; +import Regular from "@/components/Regular"; //姝e垯缁勪欢 +import { + getFollowupclassify, + delFollowupclassify, + addFollowupclassify, + addtargetillness, + getvFollowup, + compileFollowup, + getverbaltricklist, + getverbaltrick, + delFollowupinfo, + Followupinfo, + getFollowuplist, + deltargetillness, + getillnesslist, + illnesslistget, + getillness, + getgenerallist, +} from "@/api/AiCentre/index"; +import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 +import { getToken } from "@/utils/auth"; export default { + name: "Tpuconfigurat", + components: { Regular, OptionalForm }, data() { return { - sidecolumnrabs: "left", //鏂瑰悜 - Editprogress: 2, //缂栬緫杩涘害 - currentVersion: "1.2.3", //褰撳墠鐗堟湰 + headers: { + Authorization: "Bearer " + getToken(), + }, + uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", + Editprogress: 1, //缂栬緫杩涘害 loading: false, // 閬僵灞� drawer: false, //鎺у埗灞曞紑 - radio: "false", //鍗曢�夐閫変腑 radios: [], //澶氶�夐閫変腑 radioas: "", //濉┖棰樼瓟妗� - dynamicTags: ["鏍囩涓�", "鏍囩浜�", "鏍囩涓�"], - inputVisible: false, + task: null, //鏄惁鏉ヨ嚜浠诲姟 + taskform: null, //浠诲姟淇℃伅 + indexform: { + ivrLibaScriptTargetoptionList: [], + }, + labelInfovalue: [], //鏍囩涓存椂瀛樺偍 + deptNamesvalue: [], //绉戝涓存椂瀛樺偍 + dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛 + dynamicTags: [], + indexAssortlist: [], inputValue: "", - topicobj: {}, - // 鎬绘潯鏁� + inputValueillness: "", + topicobj: { + noMatchText: "", + noClearlyText: "", + slienceText: "", + }, total: 1, + id: "", ruleForm: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - desc: "", - templatevalue: "", - data2: "", + templateName: "", + ivrLibaTemplateTagList: [], + ivrLibaTemplateScriptVOList: [], + tempDetpRelevances: [], }, rules: {}, - rulesa: {}, - optionstag:[], - xjxsoptions: [ - { - value: "閫夐」1", - label: "鍥炬枃", - }, - { - value: "閫夐」2", - label: "瑙嗛", - }, - { - value: "閫夐」3", - label: "闊抽", - }, + optionstag: [], + prefollowuplist: [], + postfollowuplist: [], + generallist: [ + { value: "1", label: "闅忚閫氱敤搴撲竴" }, + { value: "2", label: "闅忚浜屽簱" }, ], + fileList: [ { name: "food.jpeg", url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", }, ], - options: [ - { - value: "閫夐」1", - label: "鐤剧梾闅忚妯$増", - }, - { - value: "閫夐」2", - label: "鍏ラ櫌闅忚妯$増", - }, - { - value: "閫夐」3", - label: "鎵嬫湳闅忚妯$増", - }, - { - value: "閫夐」4", - label: "鎶ょ悊闅忚妯$増", - }, + administrativelist: [ + { value: "1", label: "蹇冨绉�" }, + { value: "2", label: "蹇冨唴绉�" }, ], - languagelist: [ - { - value: "1", - label: "鏅�氳瘽", - }, - { - value: "2", - label: "绮よ", - }, - { - value: "3", - label: "鑻辨枃", - }, + standbylist: [], + themelist: [], + languagelist: [], + courtyardlist: [], + precedencetype: [], + usable: [], + required: [], + valuetype: [], + mode: [], + inputVisible: false, + inputVisibleillness: false, + illnessVisible: false, //鎸囨爣鐤剧梾寮规 + deptOptions: [], + optionsillness: [], + illnesslistapi: [], + illnesslist: [], + defaultProps: { + children: "ivrLibaTemplateAssortList", + label: "indexAssortName", + }, + tempDetpRelevanceslist: [], + delScriptVOList: [], + optionIndex: "", + activeName: "first", + variablelist: [ + { variatename: "濮撳悕", variate: "${name}", default: 1 }, + { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, + { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, ], + deptList: [], + props: { multiple: true, value: "deptId", label: "deptName" }, + variablelist: [ { variable: "paitent", @@ -800,37 +1265,11 @@ }, ], - valssu: [ - { - idd: 1, - wssd: "浣犳渶杩戞�庝箞鏍�", - sdadd: ["sss", "ssccss", "ssaas", "ss"], - }, - ], + valssu: [], + radio: "", addvalue: "娣诲姞棰樼洰", // 棰樼洰琛ㄦ牸鏁版嵁 - userList: [ - { - userid: "1", - userName: "涓�鍙烽殢璁挎ā鐗�", - verbaltrick: "涓�鍙烽殢璁挎ā鐗�", - }, - { - userid: "2", - userName: "浜屽彿闅忚妯$増", - verbaltrick: "涓�鍙烽殢璁挎ā鐗�", - }, - { - userid: "3", - userName: "涓夊彿闅忚妯$増", - verbaltrick: "涓�鍙烽殢璁挎ā鐗�", - }, - { - userid: "4", - userName: "鍥涘彿闅忚妯$増", - verbaltrick: "涓�鍙烽殢璁挎ā鐗�", - }, - ], + userList: [], // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -845,25 +1284,202 @@ }, created() { + this.RoutingDataProcessing(); this.gettabList(); - + this.getvFollowup(); + this.auxiliary(); + this.mode = store.getters.mode; + this.usable = store.getters.usable; + this.required = store.getters.required; + this.valuetype = store.getters.valuetype; + this.languagelist = store.getters.languagelist; + this.courtyardlist = store.getters.courtyardlist; + this.precedencetype = store.getters.precedencetype; + }, + mounted() {}, + computed: { + displayedTags() { + // 杩斿洖鍓�10涓猼ag + return this.illnesslist.slice(0, 10); + }, + hasMore() { + // 鍒ゆ柇鏄惁鏈夋洿澶氱殑tag + return this.illnesslist.length > 10; + }, + remaining() { + // 璁$畻鍓╀綑鐨則ag鏁伴噺 + return this.illnesslist.length - 10; + }, }, methods: { + //鍏叡鏂规硶-------------------- getIndexInArray(arr, obj) { return arr.indexOf(obj); }, - submitForm(formName) { - this.rules = this.rulesa; - // 鎻愪氦 - this.$refs[formName].validate((valid) => { - if (valid) { - alert("submit!"); - } else { - console.log("error submit!!"); - return false; + processElement(element) { + return { ...element, isoperation: 0 }; + }, + // 璺敱鏁版嵁澶勭悊 + RoutingDataProcessing() { + this.id = this.$route.query.id; + this.task = this.$route.query.task; + + // console.log(this.task, "task"); + // if (this.task) { + // this.id = this.$route.query.id; + // } + }, + // 鑾峰彇琛ㄥ崟鏁版嵁 + getvFollowup() { + if (this.id) { + getvFollowup({ id: this.id }).then((res) => { + if (res.code == 200) { + console.log(2211); + this.ruleForm = res.data; + this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); + this.ruleForm.suitway = this.ruleForm.suitway.split(","); + this.ruleForm.campus = this.ruleForm.campus.split(","); + this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(","); + this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => { + return Number(res); + }); + console.log( + this.ruleForm.submoduleID, + "this.ruleForm.submoduleID鍙�" + ); + this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; + + this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( + this.processElement + ); + console.log(this.ruleForm.suitway); + } + }); + getillness({ outid: this.id, type: 3 }).then((res) => { + this.illnesslist = res.rows; + this.illnesslist.forEach((item) => { + item.icdname = item.icd10name; + }); + }); + } + + listDept(this.queryParams).then((response) => { + this.deptList = this.handleTree(response.data, "deptId"); + }); + }, + // 闄勫睘鏁版嵁琛� + auxiliary() { + // 鍒嗙被 + getFollowupclassify({}).then((res) => { + this.indexAssortlist = res.rows; + if (this.$route.query.assortid) { + this.ruleForm.assortid = Number(this.$route.query.assortid); } }); + // 绉戝 + listDept(this.queryParams).then((response) => { + this.deptList = this.handleTree(response.data, "deptId"); + }); + // 鐤剧梾 + getillnesslist({ + pageNum: 1, + pageSize: 100, + }).then((response) => { + this.optionsillness = response.rows; + }); + getgenerallist({ + pageNum: 1, + pageSize: 100, + }).then((res) => { + this.generallist = res.rows; + }); + // 鐤剧梾鍒� + }, + // + submitForm(formName) { + if (this.ruleForm.id) { + this.ruleForm.isoperation = 2; + } else { + this.ruleForm.isoperation = 1; + } + this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags); + this.ruleForm.suitway = this.ruleForm.suitway.join(","); + this.ruleForm.campus = this.ruleForm.campus.join(","); + this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(","); + + // 鎻愪氦 + this.ruleForm.ivrLibaTemplateScriptVOList.forEach((res) => { + if (!res.isoperation) { + res.isoperation = 2; + } + res.ivrLibaScriptTargetoptionList = + res.ivrLibaScriptTargetoptionList.map((item) => { + if (!item.isoperation) { + item.isoperation = 2; + item.templateID = this.ruleForm.id; + } + return item; + }); + }); + compileFollowup(this.ruleForm).then((res) => { + this.$modal.msgSuccess("缂栬緫鎴愬姛"); + this.confirmillness(res.data); + this.$router.go(-1); + }); + }, + confirmillness(guid) { + this.illnesslist.forEach((item, index) => { + if (guid) { + item.outid = guid; + } else { + console.log(this.ruleForm); + item.outid = this.ruleForm.id; + } + item.icd10name = item.icdname; + item.icd10code = item.icdcode; + item.type = 3; + if (!item.id) { + addtargetillness(item).then((res) => {}); + } + }); + this.illnessVisible = false; + this.$modal.msgSuccess("缂栬緫鎴愬姛"); + }, + // 绉戝澶勭悊 + Departmenttreatment() { + this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); + this.ruleForm.ivrLibaTemplateScriptVOList = + this.ruleForm.ivrLibaTemplateScriptVOList.concat(this.delScriptVOList); + const result = this.tempDetpRelevanceslist.map( + (subArr) => subArr[subArr.length - 1] + ); + // id鏁扮粍鏌ユ暟缁勫璞� + result.forEach((item) => { + const condition = this.ruleForm.tempDetpRelevances.some( + (obj) => obj.deptId === item + ); + if (!condition) { + listDept({ deptId: item }).then((res) => { + res.data[0].type = 2; + this.ruleForm.tempDetpRelevances.push(res.data[0]); + }); + } + }); + console.log(this.ruleForm.tempDetpRelevances); + // 鏁扮粍瀵硅薄鏌d鏁扮粍 + this.ruleForm.tempDetpRelevances.forEach((item) => { + const condition = result.some((obj) => obj === item.deptId); + if (!condition) { + const index = this.ruleForm.tempDetpRelevances.indexOf(item); + this.ruleForm.tempDetpRelevances[index].delFlag = 1; + } + }); + console.log(this.ruleForm.tempDetpRelevances); + setTimeout(() => { + this.submitForm(); + }, 1000); + // this.submitForm(); }, // 涓嬩竴姝� nextstep() { @@ -892,43 +1508,22 @@ }); }); }, - // 淇濆瓨棰樼洰淇℃伅 - Saveproblem() {}, - /** 鏌ヨ棰樼洰鍒楄〃 */ - getList() { - // this.loading = true; - listUser().then((response) => { - console.log(response); - // this.userList = response.data; - // this.total = response.total; - // this.loading = false; - console.log(this.userList); - }); - // const { rows } = await listUser(); - // console.log(rows); - // this.list = rows; - }, - // 淇敼棰樼洰淇℃伅 - Submittopicobj() {}, - // 鏂板鍙橀噺 - addvariable() { - this.variablelist.push({ - variable: "", - value: "", - }); - }, - // 鍒犻櫎鍙橀噺 - delvariable(item) { - const index = this.variablelist.indexOf(item); - if (index !== -1) { - this.variablelist.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� - } else { - console.log("鏈壘鍒拌瀵硅薄"); + //鎺у埗璇煶鏂囦欢 + handleChange(response, file, additionalParam) { + console.log(response); + console.log(additionalParam); + if (additionalParam == 1) { + this.indexform.scriptVoice = response.url; + console.log(this.indexform.scriptVoice); + } else if (additionalParam == 2) { + this.indexform.nomatchvoice = response.url; + console.log(this.indexform.nomatchvoice); + } else if (additionalParam == 3) { + this.indexform.sliencevoice = response.url; + } else if (additionalParam == 4) { + this.indexform.noclearlyvoice = response.url; } - }, - // 鎺у埗鏂囦欢 - handleChange(file, fileList) { - this.fileList = fileList.slice(-3); + this.$forceUpdate(); }, // 鏂囦欢瓒呭嚭涓暟闄愬埗鏃剁殑閽╁瓙 handleExceed(files, fileList) { @@ -950,64 +1545,212 @@ this.optionstag = response.rows; }); }, - handleClose(tag) { + handleClosetag(tag) { + console.log(tag); + console.log(this.dynamicTags.indexOf(tag)); + const lindex = this.dynamicTags.indexOf(tag); this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); + this.ruleForm.ivrLibaTemplateTagList[lindex].isoperation = 3; }, handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); + let tagvalue = {}; + let tagname = this.inputValue; + if (tagname) { + listtag({ + pageNum: 1, + pageSize: 1000, + tagcategoryid: "0", + tagname: tagname, + }).then((res) => { + if (res.rows[0]) { + tagvalue = res.rows[0]; + tagvalue.isoperation = 1; + } else { + tagvalue = { + tagname: tagname, + isoperation: 1, + }; + } + this.ruleForm.ivrLibaTemplateTagList.push(tagvalue); + this.dynamicTags.push(tagvalue); + }); } this.inputVisible = false; this.inputValue = ""; }, + remoteMethodtag(query) { + if (query !== "") { + this.loading = true; + setTimeout(() => { + this.loading = false; + listtag({ tagname: query, tagcategoryid: "0" }).then((res) => { + this.optionstag = res.rows; + }); + }, 200); + } else { + this.optionstag = []; + } + }, showInput() { this.inputVisible = true; - // 鑷姩鑾峰彇鐒︾偣 - // this.$nextTick((_) => { - // this.$refs.saveTagInput.$refs.input.focus(); - // }); }, - //娴嬭瘯琛ㄥ崟 --------------------------------- + //璇濇湳棰樼洰---------------- addzbiao() {}, - handleUpdate() {}, - deloption(item) { - const index = this.userList.indexOf(item); - if (index !== -1) { - this.userList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� + resetQuery() { + this.queryParams = { pageNum: 1, pageSize: 10 }; + this.getaddtopiclist(); + }, + getaddtopiclist() { + this.drawer = true; + getverbaltricklist(this.queryParams).then((res) => { + this.loading = false; + this.userList = res.rows; + this.total = res.total; + console.log(this.userList); + }); + }, + addtopic(row) { + console.log(row); + if ( + this.ruleForm.ivrLibaTemplateScriptVOList.some( + (obj) => obj.scriptTopic == row.scriptTopic + ) + ) { + this.$modal.msgError("璇ラ鐩凡瀛樺湪"); + return; + } + getverbaltrick({ id: row.id }).then((res) => { + console.log(res, "璇︽儏"); + res.data.isoperation = 1; + res.data.pid = this.ruleForm.id; + res.data.ivrLibaScriptTargetoptionList.forEach((item) => { + item.isoperation = 1; + }); + this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data); this.sortFn(); + this.$modal.msgSuccess("娣诲姞鎴愬姛"); + }); + }, + handleDelete(row) { + this.$modal + .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.scriptTopic + '"锛�') + .then(() => { + this.ruleForm.ivrLibaTemplateScriptVOList.splice( + this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row), + 1 + ); + row.isoperation = 3; + this.delScriptVOList.push(row); + this.$modal.msgSuccess("宸插垹闄わ紝淇濆瓨妯$増鐢熸晥"); + }) + .catch(() => {}); + }, + handleUpdate(row) { + console.log(row); + this.optionIndex = this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row); + if (row.ivrLibaScriptTargetoptionList.length) { + console.log(11); + this.topicobj = row; + this.topicobj.valueType = row.valueType; } else { - console.log("鏈壘鍒拌瀵硅薄"); + getverbaltrick({ id: row.id }).then((res) => { + if (res.data) { + this.topicobj = res.data; + console.log(res.data, "topicobj"); + } else { + this.topicobj = row; + console.log("娌℃壘鍒伴�夐」锛岃鏌ョ湅闂搴撴槸鍚︽纭厤缃�"); + } + }); } }, syioption(row) { - const index = this.getIndexInArray(this.userList, row); - const item = this.userList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.userList.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + const index = this.getIndexInArray( + this.ruleForm.ivrLibaTemplateScriptVOList, + row + ); + const item = this.ruleForm.ivrLibaTemplateScriptVOList.splice( + index, + 1 + )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.ruleForm.ivrLibaTemplateScriptVOList.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� this.sortFn(); }, xiayioption(row) { - const index = this.getIndexInArray(this.userList, row); - const item = this.userList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� - this.userList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + const index = this.getIndexInArray( + this.ruleForm.ivrLibaTemplateScriptVOList, + row + ); + const item = this.ruleForm.ivrLibaTemplateScriptVOList.splice( + index, + 1 + )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.ruleForm.ivrLibaTemplateScriptVOList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� this.sortFn(); }, + // 闂鎺掑簭 sortFn() { - this.userList = this.userList.map((item, index) => { - return { - userid: index + 1, - userName: item.userName, - verbaltrick: item.verbaltrick, - }; + this.ruleForm.ivrLibaTemplateScriptVOList = + this.ruleForm.ivrLibaTemplateScriptVOList.map((item, index) => { + return Object.assign({}, item, { targetid: (index + 1).toString() }); + }); + this.ruleForm.ivrLibaTemplateScriptVOList.forEach((question, index) => { + question.ivrLibaScriptTargetoptionList = + question.ivrLibaScriptTargetoptionList.map((option) => { + option.nextQuestion = Number(question.targetid) + 1; + return option; + }); }); - console.log(this.userList); + console.log(this.ruleForm.ivrLibaTemplateScriptVOList); }, + // -----------------------璇濇湳閫夐」 + deloption() {}, + // 淇敼棰樼洰淇℃伅 + Submittopicobj() { + this.ruleForm.ivrLibaTemplateScriptVOList[this.optionIndex] = + this.topicobj; + this.$modal.msgSuccess("鏆傚瓨閫夐」鎴愬姛"); + }, + // --------------------- - // 鏌ヨ棰樺簱 - handleQuery() {}, - resetQuery() {}, resetForm(formName) { this.$refs[formName].resetFields(); + }, + + // 棰勮--------------- + preview() { + console.log(this.ruleForm); + this.valssu = this.ruleForm.ivrLibaTemplateScriptVOList; + this.Editprogress = 3; + }, + // 鍓嶅線娴嬭瘯 + measurement() { + this.$modal + .confirm("鍗冲皢鍓嶅線妯$増娴嬭瘯椤甸潰锛岃纭妯$増鏁版嵁宸蹭繚瀛樸��") + .then((res) => { + this.$router.push({ + path: "/knowledge/tpuconfigurat/measurement", + query: { id: this.id, name: this.ruleForm.templateName }, + }); + }) + .catch(() => {}); + }, + // 鏂板缓妯$増涓复鏃堕鐩� + // 棰樼洰绫诲瀷鏇存崲 + typeselection(row) { + if (row == 1 && !this.indexform.ivrLibaScriptTargetoptionList.length) { + this.indexform.ivrLibaScriptTargetoptionList.push({ + guid: 1, + isoperation: 1, + targetvalue: "", + targetregex: "", + targetregex2: "", + dynamiccruxs: [], + nodynamiccruxs: [], + dynamiccruxsJson: "", + nodynamiccruxsJson: "", + }); + } }, }, }; @@ -1015,14 +1758,9 @@ <style lang="scss" scoped> .Questionnairemanagement { - display: flex; + // display: flex; } .sidecolumn { - width: 300px; - min-height: 100vh; - text-align: center; - // display: flex; - // margin-top: 20px; margin: 20px; margin-bottom: 0; padding: 30px; @@ -1034,9 +1772,8 @@ .leftvlue { // display: flex; // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; + // width: 80%; + margin: 20px; padding: 30px; background: #ffff; border: 1px solid #dcdfe6; @@ -1069,12 +1806,27 @@ border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); - .topic-dev { + .scriptTopic-dev { margin-bottom: 25px; font-size: 20px !important; .dev-text { margin-bottom: 10px; } + } + .headline { + display: flex; + justify-content: space-between; + font-size: 20px; + border-left: 3px solid #41a1be; + padding-left: 5px; + margin: 15px 0; + } + .topicxq { + background-color: #e2f5fc; + border-radius: 4px; + margin-top: 10px; + padding-left: 10px; + padding-top: 15px; } } .xinz-inf { @@ -1101,6 +1853,14 @@ vertical-align: bottom; } } +.xinz-infs { + font-size: 18px; + line-height: 48px; + + .el-tag + .el-tag { + margin-left: 10px; + } +} .addtopic { margin-top: 30px; } @@ -1120,8 +1880,10 @@ .presentation-right { width: 55%; max-height: 688px; - padding: 0 20px; + margin: 0 20px; font-size: 18px; + -webkit-box-shadow: 0 2px 4px 0 rgba(32, 32, 32, 0.12), + 0 0 6px 0 rgba(58, 57, 57, 0.04); overflow: auto; .headline { display: flex; -- Gitblit v1.9.3