From 3dcfdb6a9a1035cc3c4ff34d29f7af0ee2534068 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期五, 10 一月 2025 13:47:27 +0800 Subject: [PATCH] 丽水提交 --- src/views/repositoryai/templateku/configurat/index.vue | 1438 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 1,012 insertions(+), 426 deletions(-) diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index 1d68f79..93e2318 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -14,13 +14,13 @@ <el-step> <template slot="title"> <span style="cursor: pointer" @click="Editprogress = 2" - >闅忚妯$増棰樼洰</span + >闅忚妯℃澘棰樼洰</span > </template> </el-step> - <el-step description="鏌ョ湅闅忚妯$増棰勮锛屽彲瀵煎嚭PDF"> + <el-step description="鏌ョ湅闅忚妯℃澘棰勮锛屽彲瀵煎嚭PDF"> <template slot="title"> - <span style="cursor: pointer" @click="preview">闅忚妯$増棰勮</span> + <span style="cursor: pointer" @click="preview">闅忚妯℃澘棰勮</span> </template> </el-step> </el-steps> @@ -41,7 +41,7 @@ > <el-row> <el-col :span="12"> - <el-form-item label="妯$増鍚嶇О" prop="region"> + <el-form-item label="妯℃澘鍚嶇О" prop="region"> <div> <el-input v-model="ruleForm.templateName" @@ -51,7 +51,7 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="闅忚妯$増鍒嗙被" prop="region"> + <el-form-item label="闅忚妯℃澘鍒嗙被" prop="region"> <el-select v-model="ruleForm.assortid" size="medium" @@ -75,16 +75,20 @@ </el-form-item> </el-col> </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="妯℃澘绠�浠�" prop="note"> + <div> + <el-input + type="textarea" + placeholder="璇疯緭鍏ョ畝浠�" + v-model="ruleForm.note" + ></el-input> + </div> + </el-form-item> + </el-col> + </el-row> - <el-form-item label="妯$増绠�浠�" prop="note"> - <div style="width: 50%"> - <el-input - type="textarea" - placeholder="璇疯緭鍏ョ畝浠�" - v-model="ruleForm.note" - ></el-input> - </div> - </el-form-item> <el-row :gutter="20"> <el-col :span="12"> <el-form-item label="鐗堟湰鍙�" prop="version"> @@ -97,7 +101,7 @@ <el-col :span="12"> <el-form-item label="鍙敤鐘舵��" prop="region"> <el-select - v-model="ruleForm.usestate" + v-model="ruleForm.isenable" size="medium" placeholder="璇烽�夋嫨" > @@ -230,6 +234,25 @@ >鐤剧梾璇︽儏</el-button > </div> + <el-form-item label="閫傜敤閫氱敤搴�" prop="region"> + <el-select + style="width: 500px" + v-model="ruleForm.submoduleID" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨閫氱敤搴�" + > + <el-option + class="ruleFormaa" + v-for="item in generallist" + :key="item.id" + :label="item.extName" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> <el-form-item label="閫傜敤闄㈠尯" prop="region"> <el-select style="width: 500px" @@ -249,58 +272,73 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="閫傜敤绉戝" prop="region"> - <el-cascader - style="width: 500px" - v-model="tempDetpRelevanceslist" - :options="deptList" - :props="props" - :show-all-levels="false" - clearable - > - <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.submoduleID" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨搴擄紙澶氶�夛級" - > - <el-option - class="ruleFormaa" - 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="12"> - <el-form-item label="闅忚鍓嶅鐞�" prop="name"> - <el-input - type="textarea" - show-word-limit - v-model="ruleForm.revisitBefore" - ></el-input></el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="闅忚鍚庡鐞�" prop="region"> - <el-input - type="textarea" - show-word-limit - v-model="ruleForm.revisitAfter" - ></el-input> </el-form-item + <el-row> + <el-col :span="20" + ><el-form-item label="閫傜敤绉戝" prop="region"> + <el-select + v-model="tempDetpRelevanceslist" + @remove-tag="removetag" + style="width: 55vw" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨绉戝" + > + <el-option + class="ruleFormaa" + v-for="item in flatArray" + :key="item.deptCode" + :label="item.label" + :value="item.deptCode" + > + </el-option> + </el-select> </el-form-item ></el-col> </el-row> + <el-row> + <el-col :span="20" + ><el-form-item label="閫傜敤鐥呭尯" prop="region"> + <el-select + v-model="tempbelongWards" + @remove-tag="removehpsp" + style="width: 55vw" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨绉戝" + > + <el-option + class="ruleFormaa" + v-for="item in flatArray" + :key="item.deptCode" + :label="item.label" + :value="item.deptCode" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="12" + ><el-form-item label="寮�鍦虹櫧" prop="revisitBefore"> + <el-input + type="textarea" + :rows="3" + v-model="ruleForm.revisitBefore" + placeholder="璇疯緭鍏ュ紑鍦虹櫧" + /> </el-form-item + ></el-col> + <el-col :span="12" + ><el-form-item label="缁撴潫璇�" prop="revisitAfter"> + <el-input + type="textarea" + :rows="3" + v-model="ruleForm.revisitAfter" + placeholder="璇疯緭鍏ョ粨鏉熻" + /> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="20"> <el-col :span="8"> <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="name"> @@ -331,14 +369,14 @@ <el-button type="success" @click="Departmenttreatment('ruleForm')" - >{{ task ? "淇濆瓨鍒颁换鍔℃ā鐗�" : "淇濆瓨闅忚妯$増鍩虹淇℃伅" }}</el-button + >{{ task ? "淇濆瓨鍒颁换鍔℃ā鏉�" : "淇濆瓨闅忚妯℃澘鍩虹淇℃伅" }}</el-button > </el-form-item> </el-form> </div> - <!-- 闅忚妯$増璁剧疆 --> + <!-- 闅忚妯℃澘璁剧疆 --> <div v-if="Editprogress == 2"> - <div class="leftvlue-jbxx">闅忚妯$増棰樼洰璁剧疆</div> + <div class="leftvlue-jbxx">闅忚妯℃澘棰樼洰璁剧疆</div> <el-divider></el-divider> <div class="addtopic"> <el-button @@ -348,9 +386,16 @@ @click="getaddtopiclist" >娣诲姞棰樼洰</el-button > + <el-button + type="success" + icon="el-icon-edit-outline" + round + @click="Operateit = !Operateit" + >{{ !Operateit ? "缂栬緫棰樼洰" : "瀹屾暣淇℃伅灞曠ず" }}</el-button + > </div> <div class="presentation"> - <div class="presentation-left"> + <div :class="Operateit ? 'presentation-left' : 'spresentation-left'"> <el-card class="box-card" style="min-height: 688px"> <el-table v-loading="loading" @@ -359,8 +404,8 @@ <el-table-column label="缂栧彿" align="center" - key="targetid" - prop="targetid" + key="sort" + prop="sort" /> <el-table-column label="鏍囬" @@ -370,15 +415,40 @@ :show-overflow-tooltip="true" /> <el-table-column + v-if="!Operateit" label="闂璇濇湳" align="center" key="scriptContent" prop="scriptContent" :show-overflow-tooltip="true" /> + <el-table-column + v-if="!Operateit" + label="闂璇濇湳" + align="center" + key="scriptContent" + prop="scriptContent" + :show-overflow-tooltip="true" + /> + <el-table-column + label="涓嬮璺宠浆" + align="center" + key="nextScriptno" + prop="nextScriptno" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span>{{ + scope.row.nextScriptno == 0 + ? "宸叉槸鏈�鍚庝竴棰�" + : scope.row.nextScriptno + }}</span> + </template> + </el-table-column> <el-table-column label="鎿嶄綔" + v-if="Operateit" align="center" width="250" class-name="small-padding fixed-width" @@ -413,34 +483,52 @@ </el-table> </el-card> </div> - <div class="presentation-right"> + <div class="presentation-right" v-if="Operateit"> <el-card class="box-card"> <el-form - :inline="true" :model="topicobj" + :inline="true" class="demo-form-inline" > - <div class="headline"> - 棰樼洰璁剧疆璇︽儏 - <!-- <span style="margin-left: 30px" - ><el-button type="primary" @click="Submittopicobj" - >淇濆瓨</el-button - ></span - > --> - </div> - <el-form-item label="棰樼洰鏍囬"> - <el-input - 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> + <div class="headline">棰樼洰璁剧疆璇︽儏</div> + <el-row> + <el-col :span="24" + ><el-form-item label="棰樼洰鏍囬"> + <el-input + v-model="topicobj.scriptTopic" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></el-input> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="24" + ><el-form-item label="闂璇濇湳"> + <el-input + type="textarea" + style="width: 600px" + v-model="topicobj.scriptContent" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item label="闂鑺傜偣"> + <el-input + v-model="topicobj.sort" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + :disabled="true" + ></el-input> </el-form-item + ></el-col> + <el-col :span="12" + ><el-form-item label="涓嬮璺宠浆"> + <el-input + v-model="topicobj.nextScriptno" + placeholder="璇疯緭鍏ラ鍙�" + ></el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="10"> <el-col :span="12" ><el-form-item label="鏄惁蹇呭~"> @@ -458,14 +546,14 @@ </el-select> </el-form-item ></el-col> <el-col :span="12" - ><el-form-item label="鍙栧�肩被鍨�"> + ><el-form-item label="棰樼洰绫诲瀷"> <el-select - v-model="topicobj.valueType" + v-model="topicobj.scriptType" placeholder="璇烽�夋嫨" :disabled="true" > <el-option - v-for="item in valuetype" + v-for="item in askvaluetype" :key="item.value" :label="item.label" :value="item.value" @@ -474,14 +562,78 @@ </el-select> </el-form-item ></el-col> </el-row> - <el-form-item label="闂璇煶" v-if="topicobj.scriptVoice"> - <mini-audio :audio-source="topicobj.scriptVoice"></mini-audio> - </el-form-item> - - <div - class="topicxq" - v-if="topicobj.valueType == 2 || topicobj.valueType == 3" + <el-form-item + label="鏄惁鐢遍�夐」閰嶇疆璺宠浆" + v-if="topicobj.scriptType == 1" > + <el-radio-group v-model="topicobj.branchFlag"> + <el-radio :label="'1'">鏄�</el-radio> + <el-radio :label="'0'">鍚�</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="閫変腑鎻愮ず" v-if="topicobj.scriptType != 1"> + <el-input + style="width: 24vw" + type="textarea" + autosize + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="topicobj.prompt" + > + </el-input + ></el-form-item> + <el-row> + <el-col :span="24" + ><el-form-item label="璇煶鏂囨湰"> + <el-input + type="textarea" + style="width: 600px" + v-model="topicobj.ivrtext" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></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" + :headers="headers" + :show-file-list="false" + :on-success=" + (response, file) => handleChanges(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="topicobj.ivrVoice" + >{{ + topicobj.ivrVoice.substring( + topicobj.ivrVoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + topicobj.ivrVoice + ? topicobj.ivrVoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + <div class="topicxq" v-if="topicobj.scriptType == 4"> <el-row> <el-col :span="20"> <el-form-item label="鏀堕泦鍐呭"> @@ -511,7 +663,10 @@ <Regular :TargetoptionList="topicobj.ivrLibaScriptTargetoptionList" @deloption="deloption" + @branchFlagfn="branchFlagfn" + :branchFlag="topicobj.branchFlag ? true : false" :controlsc="false" + :scriptType="topicobj.scriptType" /> <!-- 鏃犲尮閰嶇被鍨� --> <div class="topicxq"> @@ -528,16 +683,47 @@ </el-input> </el-form-item ></el-col> </el-row> - <el-row :gutter="10"> - <el-col :span="16"> - <el-form-item - label="鏃犲尮閰嶈闊�" + <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) => + handleChanges(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="topicobj.nomatchvoice" + >{{ + topicobj.nomatchvoice.substring( + topicobj.nomatchvoice.lastIndexOf("/") + 1 + ) + }}</span > - <mini-audio - :audio-source="topicobj.nomatchvoice" - ></mini-audio> </el-form-item - ></el-col> + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + topicobj.nomatchvoice + ? topicobj.nomatchvoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> </el-row> </div> <div class="topicxq"> @@ -555,20 +741,47 @@ ></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' + <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) => + handleChanges(response, file, 4) " - ></mini-audio> </el-form-item - ></el-col> + 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="topicobj.noclearlyvoice" + >{{ + topicobj.noclearlyvoice.substring( + topicobj.noclearlyvoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + topicobj.noclearlyvoice + ? topicobj.noclearlyvoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> </el-row> </div> <div class="topicxq"> @@ -586,20 +799,47 @@ ></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' + <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) => + handleChanges(response, file, 3) " - ></mini-audio> </el-form-item - ></el-col> + 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="topicobj.sliencevoice" + >{{ + topicobj.sliencevoice.substring( + topicobj.sliencevoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + topicobj.sliencevoice + ? topicobj.sliencevoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> </el-row> </div> </div> @@ -609,7 +849,7 @@ </div> <el-button type="success" @click="Departmenttreatment('ruleForm')">{{ - task ? "淇濆瓨鍒颁换鍔℃ā鐗�" : "淇濆瓨棰樼洰鏁版嵁" + task ? "淇濆瓨鍒颁换鍔℃ā鏉�" : "淇濆瓨棰樼洰鏁版嵁" }}</el-button> <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> <el-button type="success" plain @click="preview('ruleForm')" @@ -617,68 +857,67 @@ > <el-button type="info" @click="closeFm('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="scriptTopic-dev" - v-for="item in valssu" - :key="item.targetid" - v-if="item.valueType == 1" - > - <div class="dev-text"> - {{ item.targetid }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> + <div v-for="item in valssu"> + <!-- 鍗曢�� --> + <div + class="scriptTopic-dev" + :key="item.sort" + v-if="item.valueType == 1" + > + <div class="dev-text"> + {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-radio-group v-model="item.remark"> + <el-radio + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" + :key="index" + :label="index" + >{{ items.targetvalue }}</el-radio + > + </el-radio-group> + </div> </div> - <div class="dev-xx"> - <el-radio-group v-model="item.remark"> - <el-radio - v-for="(items, index) in item.ivrLibaScriptTargetoptionList" - :key="index" - :label="index" - >{{ items.targetvalue }}</el-radio - > - </el-radio-group> + <!-- 澶氶�� --> + <div + class="scriptTopic-dev" + :key="item.sort" + v-if="item.valueType == 2" + > + <div class="dev-text"> + {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-checkbox-group v-model="item.remark"> + <el-checkbox + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" + :key="index" + :label="index" + > + {{ items.targetvalue }} + </el-checkbox> + </el-checkbox-group> + </div> </div> - </div> - <!-- 澶氶�� --> - <div - class="scriptTopic-dev" - v-for="item in valssu" - :key="item.targetid" - v-if="item.valueType == 2" - > - <div class="dev-text"> - {{ item.targetid }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-checkbox-group v-model="item.remark"> - <el-checkbox - v-for="(items, index) in item.ivrLibaScriptTargetoptionList" - :key="index" - :label="index" - > - {{ items.targetvalue }} - </el-checkbox> - </el-checkbox-group> - </div> - </div> - <!-- 濉┖ --> - <div - class="scriptTopic-dev" - v-for="item in valssu" - :key="item.targetid" - v-if="item.valueType == 3" - > - <div class="dev-text"> - {{ item.targetid }}銆乕濉┖]<span>{{ item.scriptContent }}</span> - </div> - <div class="dev-xx"> - <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> - </el-input> + <!-- 濉┖ --> + <div + class="scriptTopic-dev" + :key="item.sort" + v-if="item.valueType == 3" + > + <div class="dev-text"> + {{ item.sort }}銆乕濉┖]<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> + </el-input> + </div> </div> </div> </div> @@ -690,6 +929,8 @@ <!-- 娣诲姞棰樼洰寮圭獥 --> <el-drawer title="娣诲姞棰樼洰" + @close="$forceUpdate()" + @closed="$forceUpdate()" :visible.sync="drawer" custom-class="demo-drawer" size="50%" @@ -748,6 +989,20 @@ :show-overflow-tooltip="true" /> <el-table-column + label="闂绫诲瀷" + align="center" + key="valueType" + prop="valueType" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="valuetypes" + :value="scope.row.valueType" + /> + </template> + </el-table-column> + <el-table-column label="閫夐」鍐呭" align="center" key="targetoptions" @@ -797,92 +1052,135 @@ > </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" + <div> + <el-row :gutter="10"> + <el-col :span="12"> + <el-form-item label="棰樼洰鏍囬"> + <el-input + v-model="indexform.scriptTopic" + placeholder="璇疯緭鍏ラ鐩爣棰�" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="闂鑺傜偣"> + <el-input + v-model="indexform.sort" + placeholder="璇疯緭鍏ラ棶棰樿妭鐐�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="10"> + <el-col :span="18" + ><el-form-item label="闂璇濇湳"> + <el-input + style="width: 600px" + type="textarea" + v-model="indexform.scriptContent" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item label="鏄惁蹇呭~"> + <el-select + v-model="indexform.isMust" + placeholder="榛樿蹇呭~" > - </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 + 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> - </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-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-form-item + label="閫変腑鎻愮ず" + v-if="topicobj.scriptType != 1" + > + <el-input + style="width: 24vw" + type="textarea" + autosize + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="indexform.prompt" > - </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> + </el-input + ></el-form-item> + <el-row :gutter="10"> + <el-col :span="18" + ><el-form-item label="璇煶鏂囨湰"> + <el-input + style="width: 600px" + type="textarea" + v-model="indexform.ivrtext" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></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" + :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.ivrVoice" + >{{ + indexform.ivrVoice.substring( + indexform.ivrVoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + indexform.ivrVoice + ? indexform.ivrVoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> <div> <el-form-item label="鎸囨爣鍚嶇О" prop="deptId"> <el-input @@ -925,7 +1223,7 @@ </el-col> </el-row> </div> - <div class="topicxq" v-if="indexform.scriptType == 2"> + <div class="topicxq" v-show="indexform.scriptType == 4"> <el-row> <el-col :span="20"> <el-form-item label="鏀堕泦鍐呭"> @@ -940,7 +1238,7 @@ </el-row> </div> - <div v-else> + <div v-show="indexform.scriptType == 1"> <div class="headline"> <div class="basics">閫夐」璁剧疆</div> </div> @@ -948,7 +1246,9 @@ <Regular :TargetoptionList="indexform.ivrLibaScriptTargetoptionList" @deloption="deloption" + @addoption="addoptionson" :controlsc="false" + :addoption="true" /> <!-- 鏃犲尮閰嶇被鍨� --> <div class="topicxq"> @@ -1002,6 +1302,65 @@ :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 + 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> @@ -1066,64 +1425,6 @@ </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> @@ -1161,15 +1462,19 @@ getFollowuplist, deltargetillness, getillnesslist, + depthospgetson, + depthospgetsonlist, illnesslistget, getillness, getgenerallist, + depthospgetsondel } from "@/api/AiCentre/index"; import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 import { getToken } from "@/utils/auth"; +import { deptTreeSelect } from "@/api/system/user"; export default { - name: "Tpuconfigurat", + name: "tpuconfigurat", components: { Regular, OptionalForm }, data() { return { @@ -1184,6 +1489,7 @@ radioas: "", //濉┖棰樼瓟妗� task: null, //鏄惁鏉ヨ嚜浠诲姟 taskform: null, //浠诲姟淇℃伅 + Operateit: true, indexform: { ivrLibaScriptTargetoptionList: [], }, @@ -1195,14 +1501,18 @@ inputValue: "", inputValueillness: "", topicobj: { - noMatchText: "", - noClearlyText: "", - slienceText: "", + noMatchText: "鎶辨瓑锛屾垜娌℃湁鍚噦锛屾偍鑳藉啀璇翠竴閬嶅悧?", + noClearlyText: "鎶辨瓑锛屾垜娌℃湁鍚竻鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?", + slienceText: "鎶辨瓑锛屾垜娌℃湁鍚埌鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?", }, total: 1, id: "", ruleForm: { templateName: "", + revisitBefore: + "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄櫙瀹佷汉姘戝尰闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�", + revisitAfter: + "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", ivrLibaTemplateTagList: [], ivrLibaTemplateScriptVOList: [], tempDetpRelevances: [], @@ -1211,6 +1521,10 @@ optionstag: [], prefollowuplist: [], postfollowuplist: [], + tempDetpRelevanceslist: [], //绉戝鏁版嵁 + tempDetpRelevanceslistform: [], //绉戝鏁版嵁 + tempbelongWards: [], //鐥呭尯鏁版嵁 + tempbelongWardsform: [], //鐥呭尯鏁版嵁 generallist: [ { value: "1", label: "闅忚閫氱敤搴撲竴" }, { value: "2", label: "闅忚浜屽簱" }, @@ -1234,6 +1548,8 @@ usable: [], required: [], valuetype: [], + valuetypes: [], + askvaluetype: [], mode: [], inputVisible: false, inputVisibleillness: false, @@ -1255,7 +1571,9 @@ { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, ], - deptList: [], + deptlist: [], + hosplist: [], + flatArray: [], props: { multiple: true, value: "deptId", label: "deptName" }, variablelist: [ @@ -1264,12 +1582,18 @@ value: "琛ㄧず鎮h�呯殑鏍囪瘑", }, ], + queryParamsdept: { + tempid: "", + type: 2, + }, valssu: [], radio: "", addvalue: "娣诲姞棰樼洰", // 棰樼洰琛ㄦ牸鏁版嵁 userList: [], + belongWards: [], + belongDepts: [], // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -1282,19 +1606,38 @@ }, }; }, + activated() { + if (this.id != this.$route.query.id) { + console.log(1); + + this.RoutingDataProcessing(); + this.gettabList(); + this.getvFollowup(); + this.auxiliary(); + } else { + this.tempDetpRelevanceslistform = []; + this.tempbelongWardsform = []; + } + }, created() { this.RoutingDataProcessing(); this.gettabList(); this.getvFollowup(); this.auxiliary(); + this.getDeptTree(); this.mode = store.getters.mode; + console.log(this.mode,'this.mode'); this.usable = store.getters.usable; this.required = store.getters.required; this.valuetype = store.getters.valuetype; + this.valuetypes = store.getters.valuetypelb; + this.askvaluetype = store.getters.askvaluetype; this.languagelist = store.getters.languagelist; this.courtyardlist = store.getters.courtyardlist; this.precedencetype = store.getters.precedencetype; + this.belongWards = store.getters.belongWards; + this.belongDepts = store.getters.belongDepts; }, mounted() {}, computed: { @@ -1324,11 +1667,34 @@ RoutingDataProcessing() { this.id = this.$route.query.id; this.task = this.$route.query.task; + this.queryParamsdept.tempid = this.id; + }, + // 鑾峰彇绉戝鏍� + getDeptTree() { + // 绉戝鍒楄〃 + deptTreeSelect().then((response) => { + this.deptOptions = response.data; + this.flatArray = this.flattenArray(response.data); + }); + }, + flattenArray(multiArray) { + let result = []; - // console.log(this.task, "task"); - // if (this.task) { - // this.id = this.$route.query.id; - // } + // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁勶紝鍙寘鍚渶搴曞眰鐨勫厓绱� + function flatten(element) { + // 濡傛灉褰撳墠鍏冪礌鏈夊瓙鍏冪礌锛岀户缁�掑綊 + if (element.children && element.children.length > 0) { + element.children.forEach((child) => flatten(child)); + } else { + // 鍏嬮殕鍏冪礌浠ラ伩鍏嶄慨鏀瑰師濮嬫暟鎹� + let item = JSON.parse(JSON.stringify(element)); + result.push(item); // 灏嗘渶搴曞眰鐨勫厓绱犳坊鍔犲埌缁撴灉鏁扮粍 + } + } + + // 浠庨《灞傚厓绱犲紑濮嬮�掑綊 + multiArray.forEach((element) => flatten(element)); + return result; // 杩斿洖鍙寘鍚渶搴曞眰鍏冪礌鐨勪竴缁存暟缁� }, // 鑾峰彇琛ㄥ崟鏁版嵁 getvFollowup() { @@ -1337,23 +1703,23 @@ if (res.code == 200) { console.log(2211); this.ruleForm = res.data; - this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); + if (this.ruleForm.deptNames) + console.log(this.ruleForm.suitway,'suitway'); this.ruleForm.suitway = this.ruleForm.suitway.split(","); - this.ruleForm.campus = this.ruleForm.campus.split(","); + console.log(this.ruleForm.suitway,'suitway'); + if (this.ruleForm.campus) + 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); + this.sortFn(); } }); getillness({ outid: this.id, type: 3 }).then((res) => { @@ -1362,25 +1728,52 @@ item.icdname = item.icd10name; }); }); + } else { + this.ruleForm = { + templateName: "", + ivrLibaTemplateTagList: [], + ivrLibaTemplateScriptVOList: [], + tempDetpRelevances: [], + }; + this.deptOptions = []; + this.optionsillness = []; + this.illnesslistapi = []; + this.illnesslist = []; + this.dynamicTags = []; + this.tempDetpRelevanceslist = []; } - - 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"); - }); + this.tempDetpRelevanceslist = []; + this.tempbelongWards = []; + + if (this.id) { + depthospgetsonlist(this.queryParamsdept).then((res) => { + if (res.code == 200) { + let arr = res.rows; + console.log(arr, "arr"); + + arr.forEach((item) => { + if (item.deptType == 1) { + console.log(this.deptlist, "11"); + this.deptlist.push(item); + console.log("22"); + this.tempDetpRelevanceslist.push(item.deptCode); + } else if (item.deptType == 2) { + this.hosplist.push(item); + this.tempbelongWards.push(item.deptCode); + console.log("33"); + } + }); + } + }); + } + // 鐤剧梾 getillnesslist({ pageNum: 1, @@ -1396,17 +1789,30 @@ }); // 鐤剧梾鍒� }, - // + // 閫夐」閰嶇疆璺宠浆瑙﹀彂 + branchFlagfn(row) { + if (this.topicobj.branchFlag == 1 && this.topicobj.nextScriptno != 0) { + this.topicobj.nextScriptno = + this.topicobj.ivrLibaScriptTargetoptionList[0].nextQuestion; + } + }, + //淇濆瓨 submitForm(formName) { if (this.ruleForm.id) { this.ruleForm.isoperation = 2; } else { this.ruleForm.isoperation = 1; } + if (!this.ruleForm.assortid) { + this.ruleForm.assortid = -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(","); + if (Array.isArray(this.ruleForm.suitway)) + this.ruleForm.suitway = this.ruleForm.suitway.join(","); + if (Array.isArray(this.ruleForm.campus)) + this.ruleForm.campus = this.ruleForm.campus.join(","); + if (Array.isArray(this.ruleForm.submoduleID)) + this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(","); // 鎻愪氦 this.ruleForm.ivrLibaTemplateScriptVOList.forEach((res) => { @@ -1422,11 +1828,55 @@ return item; }); }); - compileFollowup(this.ruleForm).then((res) => { - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - this.confirmillness(res.data); - this.$router.go(-1); + this.delScriptVOList.forEach((item) => { + this.ruleForm.ivrLibaTemplateScriptVOList.push(item); }); + // compileFollowup(this.ruleForm).then((res) => { + // if (res.code == 200) { + // this.$modal.msgSuccess("缂栬緫鎴愬姛"); + // this.$modal.closeLoading(); + // this.confirmillness(res.data); + // // window.location.reload(); + // // const obj = { path: "/knowledge/tpuconfigurat/?id=" + this.id }; + // // this.$tab.closeOpenPage(obj); + // } else { + // this.$modal.msgError("淇濆瓨澶辫触"); + // this.$modal.closeLoading(); + // } + // }); + if (this.id) { + this.ruleForm.isoperation = 2; + this.ruleForm.tempDetpRelevances = []; + compileFollowup(this.ruleForm).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.confirmillness(); + this.putbelongDepts(this.id); + // this.$modal.closeLoading(); + // this.$router.go(-1); + window.location.reload(); + } else { + this.$modal.closeLoading(); + } + }); + } else { + this.ruleForm.isoperation = 1; + this.ruleForm.version = this.ruleForm.version + ? this.ruleForm.version + : "1.0"; + this.ruleForm.tempDetpRelevances = []; + compileFollowup(this.ruleForm).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.confirmillness(res.data); + this.putbelongDepts(res.data); + this.$modal.closeLoading(); + this.$router.go(-1); + } else { + this.$modal.closeLoading(); + } + }); + } }, confirmillness(guid) { this.illnesslist.forEach((item, index) => { @@ -1448,38 +1898,61 @@ }, // 绉戝澶勭悊 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]); + this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��..."); + this.tempDetpRelevanceslist.forEach((item) => { + let result = this.deptlist.some((obj) => obj.deptCode == item); + + if (!result) { + this.tempDetpRelevanceslistform.push({ + deptType: 1, + longTemp: this.ruleForm.longTemp, + deptCode: item, + tempid: this.id, + type: 2, }); } }); - 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; + this.tempbelongWards.forEach((item) => { + let result = this.hosplist.some((obj) => obj.deptCode == item); + if (!result) { + this.tempbelongWardsform.push({ + deptType: 2, + longTemp: this.ruleForm.longTemp, + deptCode: item, + tempid: this.id, + type: 2, + // 1 : 闂嵎妯℃澘搴搃d銆�11锛氶棶鍗蜂换鍔℃ā鏉垮簱id锛�2 :璇煶闂嵎搴搃d銆�21锛氳闊充换鍔℃ā鏉垮簱id锛�3 : 瀹f暀妯℃澘搴搃d锛�33锛氬鏁欎换鍔℃ā鏉垮簱id + }); } }); - console.log(this.ruleForm.tempDetpRelevances); setTimeout(() => { this.submitForm(); }, 1000); // this.submitForm(); + }, + // 淇濆瓨绉戝/鐥呭尯 + putbelongDepts(id) { + this.tempDetpRelevanceslistform.forEach((item) => { + if (!item.tempid) item.tempid = id; + }); + + this.tempbelongWardsform.forEach((item) => { + if (!item.tempid) item.tempid = id; + }); + if (this.tempDetpRelevanceslistform.length > 0) { + depthospgetson(this.tempDetpRelevanceslistform).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("绉戝鏂板鎴愬姛"); + } + }); + } + if (this.tempbelongWardsform.length > 0) { + depthospgetson(this.tempbelongWardsform).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("闄㈠尯鏂板鎴愬姛"); + } + }); + } }, // 涓嬩竴姝� nextstep() { @@ -1499,7 +1972,8 @@ type: "warning", }) .then(() => { - this.$router.go(-1); + const obj = { path: "/knowledge/templateku/" }; + this.$tab.closeOpenPage(obj); }) .catch(() => { this.$message({ @@ -1508,20 +1982,33 @@ }); }); }, - //鎺у埗璇煶鏂囦欢 + //鎺у埗璇煶鏂囦欢(鏂�) handleChange(response, file, additionalParam) { console.log(response); console.log(additionalParam); if (additionalParam == 1) { - this.indexform.scriptVoice = response.url; - console.log(this.indexform.scriptVoice); + this.indexform.ivrVoice = response.url; } 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; + } + this.$forceUpdate(); + }, + //鎺у埗璇煶鏂囦欢 + handleChanges(response, file, additionalParam) { + console.log(response); + console.log(additionalParam); + if (additionalParam == 1) { + this.topicobj.ivrVoice = response.url; + } else if (additionalParam == 2) { + this.topicobj.nomatchvoice = response.url; + } else if (additionalParam == 3) { + this.topicobj.sliencevoice = response.url; + } else if (additionalParam == 4) { + this.topicobj.noclearlyvoice = response.url; } this.$forceUpdate(); }, @@ -1541,13 +2028,10 @@ tagcategoryid: "0", }; listtag(tagqueryParams).then((response) => { - console.log(response); this.optionstag = response.rows; }); }, 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; @@ -1570,6 +2054,13 @@ tagname: tagname, isoperation: 1, }; + } + const exists = this.dynamicTags.some( + (department) => department.tagname === tagname + ); + if (exists) { + this.$modal.msgError("鏍囩閲嶅"); + return; } this.ruleForm.ivrLibaTemplateTagList.push(tagvalue); this.dynamicTags.push(tagvalue); @@ -1610,7 +2101,6 @@ }); }, addtopic(row) { - console.log(row); if ( this.ruleForm.ivrLibaTemplateScriptVOList.some( (obj) => obj.scriptTopic == row.scriptTopic @@ -1633,15 +2123,18 @@ }, handleDelete(row) { this.$modal - .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.scriptTopic + '"锛�') + .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.scriptTopic + '?') .then(() => { this.ruleForm.ivrLibaTemplateScriptVOList.splice( this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row), 1 ); row.isoperation = 3; - this.delScriptVOList.push(row); - this.$modal.msgSuccess("宸插垹闄わ紝淇濆瓨妯$増鐢熸晥"); + if (row.id) { + this.delScriptVOList.push(row); + } + this.sortFn(); + this.$modal.msgSuccess("宸插垹闄わ紝淇濆瓨妯℃澘鐢熸晥"); }) .catch(() => {}); }, @@ -1690,33 +2183,97 @@ }, // 闂鎺掑簭 sortFn() { - 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.ruleForm.ivrLibaTemplateScriptVOList); + + this.ruleForm.ivrLibaTemplateScriptVOList.forEach((item, index) => { + item.sort = Number(index) + 1; + console.log(this.ruleForm.ivrLibaTemplateScriptVOList.length); + console.log(item.sort); + + if (item.sort == this.ruleForm.ivrLibaTemplateScriptVOList.length) { + item.nextScriptno = 0; + } else { + item.nextScriptno = item.sort + 1; + } + if (item.ivrLibaScriptTargetoptionList&&!item.branchFlag) { + item.ivrLibaScriptTargetoptionList.forEach((items) => { + items.nextQuestion = Number(item.sort) + 1; }); + } }); + this.$forceUpdate(); + console.log(this.ruleForm.ivrLibaTemplateScriptVOList); }, // -----------------------璇濇湳閫夐」 - deloption() {}, + deloption(item) { + const index = this.topicobj.ivrLibaScriptTargetoptionList.indexOf(item); + if (index != -1) { + if (item.id) { + console.log(item, "chunz"); + item.isoperation = 3; + console.log(this.topicobj.ivrLibaScriptTargetoptionList); + this.$forceUpdate(); + } else { + this.topicobj.ivrLibaScriptTargetoptionList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� + } + // this.sortFn(); + } else { + console.log("鏈壘鍒拌瀵硅薄"); + } + }, // 淇敼棰樼洰淇℃伅 Submittopicobj() { - this.ruleForm.ivrLibaTemplateScriptVOList[this.optionIndex] = - this.topicobj; - this.$modal.msgSuccess("鏆傚瓨閫夐」鎴愬姛"); + this.$modal + .confirm( + '鏄惁纭鏂板鍚嶇О涓�"' + this.indexform.scriptTopic + '"鐨勯棶棰樻暟鎹紵' + ) + .then(() => { + this.indexform.isoperation = 1; + this.indexform.pid = this.ruleForm.id; + this.indexform.ivrLibaScriptTargetoptionList.forEach((item) => { + item.isoperation = 1; + }); + this.ruleForm.ivrLibaTemplateScriptVOList.push(this.indexform); + this.indexform = { + ivrLibaScriptTargetoptionList: [], + }; + this.drawer = false; + + this.sortFn(); + this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鏉跨敓鏁�"); + }); }, // --------------------- resetForm(formName) { this.$refs[formName].resetFields(); }, - + // 绉戝鍒犻櫎瑙﹀彂 + removetag(row) { + let result = this.deptlist + .filter((item) => item.deptCode == row) + .map((item) => item.id); + console.log(result.length); + if (result.length) { + depthospgetsondel(result).then((res) => { + if (res.code) { + } + }); + } + }, + // 鍒犻櫎鍒犻櫎瑙﹀彂 + removehpsp(row) { + let result = this.hosplist + .filter((item) => item.deptCode == row) + .map((item) => item.id); + if (result.length) { + depthospgetsondel(result).then((res) => { + if (res.code) { + } + }); + } + }, // 棰勮--------------- preview() { console.log(this.ruleForm); @@ -1726,16 +2283,20 @@ // 鍓嶅線娴嬭瘯 measurement() { this.$modal - .confirm("鍗冲皢鍓嶅線妯$増娴嬭瘯椤甸潰锛岃纭妯$増鏁版嵁宸蹭繚瀛樸��") + .confirm("鍗冲皢鍓嶅線妯℃澘娴嬭瘯椤甸潰锛岃纭妯℃澘鏁版嵁宸蹭繚瀛樸��") .then((res) => { this.$router.push({ - path: "/knowledge/tpuconfigurat/measurement", - query: { id: this.id, name: this.ruleForm.templateName }, + path: "/knowledge/templateku/configurat/measurement", + query: { + id: this.id, + name: this.ruleForm.templateName, + timeout: this.ruleForm.silencetime, + }, }); }) .catch(() => {}); }, - // 鏂板缓妯$増涓复鏃堕鐩� + // 鏂板缓妯℃澘涓复鏃堕鐩� // 棰樼洰绫诲瀷鏇存崲 typeselection(row) { if (row == 1 && !this.indexform.ivrLibaScriptTargetoptionList.length) { @@ -1751,6 +2312,20 @@ nodynamiccruxsJson: "", }); } + this.$forceUpdate(); + }, + addoptionson() { + this.indexform.ivrLibaScriptTargetoptionList.push({ + guid: 1, + isoperation: 1, + targetvalue: "", + targetregex: "", + targetregex2: "", + dynamiccruxs: [], + nodynamiccruxs: [], + dynamiccruxsJson: "", + nodynamiccruxsJson: "", + }); }, }, }; @@ -1853,6 +2428,7 @@ vertical-align: bottom; } } + .xinz-infs { font-size: 18px; line-height: 48px; @@ -1877,6 +2453,16 @@ color: #f52727; } } + .spresentation-left { + width: 100%; + // height: 500px; + .button-textxg { + color: #024df0; + } + .button-textsc { + color: #f52727; + } + } .presentation-right { width: 55%; max-height: 688px; -- Gitblit v1.9.3