From cf9259c2ebee0e82c32864a1ee91d96c403b9099 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期日, 04 二月 2024 13:42:04 +0800 Subject: [PATCH] 指标完成 --- src/views/repositoryai/templateku/configurat/index.vue | 1131 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 748 insertions(+), 383 deletions(-) diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index 97892d0..a9d910a 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -2,14 +2,29 @@ <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="Editprogress = 3" + >闅忚妯$増棰勮</span + > + </template> + </el-step> </el-steps> </div> </div> @@ -29,55 +44,67 @@ <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="10"> + <el-form-item label="鐗堟湰鍙�" prop="version"> + <el-input + 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 +113,93 @@ </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="10"> + <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 + 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,84 @@ > </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" - > - </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="璇烽�夋嫨鍒嗙被锛堝閫夛級" - > - <el-option - class="ruleFormaa" - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" + <div class="xinz-inf"> + <el-tag + :key="item.icd10name" + type="warning" + v-for="item in illnesslist" + closable + :disable-transitions="false" + @close="handleCloseillness(item)" > - </el-option> - </el-select> + {{ item.icd10name }} + </el-tag> + <el-select + v-model="inputValueillness" + v-if="inputVisibleillness" + @change="illnessConfirm" + :remote-method="remoteMethod" + filterable + remote + allow-create + default-first-option + placeholder="璇烽�夋嫨/鏌ヨ" + :loading="loading" + > + <el-option + v-for="item in optionsillness" + :key="item.icdid" + :label="item.icdname" + :value="item.icdid" + > + </el-option> + </el-select> + <el-button + v-else + class="button-new-tag" + size="small" + @click="inputVisibleillness = true" + >+ 鏂板鐤剧梾</el-button + > + </div> </el-form-item> <el-form-item label="閫傜敤闄㈠尯" prop="region"> <el-select - v-model="ruleForm.courtyard" + 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 - style="width: 500px" - v-model="ruleForm.administrative" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被锛堝閫夛級" + <el-cascader + 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,7 +297,7 @@ > <el-option class="ruleFormaa" - v-for="item in xjxsoptions" + v-for="item in generallist" :key="item.value" :label="item.label" :value="item.value" @@ -272,16 +307,16 @@ </el-form-item> <el-row :gutter="20"> <el-col :span="8"> - <el-form-item label="闅忚鍓嶅鐞�" prop="name"> + <el-form-item label="闅忚鍓嶅鐞嗭紙鏄惁闇�瑕侊級" prop="name"> <el-select - v-model="ruleForm.languageq" + v-model="ruleForm.prefollowup" size="medium" filterable - placeholder="璇烽�夋嫨鍒嗙被" + placeholder="璇烽�夋嫨" > <el-option class="ruleFormaa" - v-for="item in xjxsoptions" + v-for="item in prefollowuplist" :key="item.value" :label="item.label" :value="item.value" @@ -290,16 +325,16 @@ </el-select> </el-form-item ></el-col> <el-col :span="9"> - <el-form-item label="闅忚鍚庡鐞�" prop="region"> + <el-form-item label="闅忚鍚庡鐞嗭紙鏄惁闇�瑕侊級" prop="region"> <el-select - v-model="ruleForm.languageh" + v-model="ruleForm.postfollowup" size="medium" filterable placeholder="璇烽�夋嫨鍒嗙被" > <el-option class="ruleFormaa" - v-for="item in xjxsoptions" + v-for="item in postfollowuplist" :key="item.value" :label="item.label" :value="item.value" @@ -309,14 +344,14 @@ ></el-col> </el-row> <el-row :gutter="20"> - <el-col :span="8"> + <el-col :span="10"> <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-col :span="10"> <el-form-item label="鏃犲尮閰嶉噸澶�(娆�)" prop="region"> <div style="width: 40%"> <el-input v-model="ruleForm.name"></el-input> @@ -328,7 +363,7 @@ >涓嬩竴姝�</el-button > <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button @click="submitForm('ruleForm')" + <el-button @click="Departmenttreatment('ruleForm')" >淇濆瓨闅忚妯$増鍩虹淇℃伅</el-button > </el-form-item> @@ -343,32 +378,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="guid" + prop="guid" /> <el-table-column label="鏍囬" align="center" - key="userName" - prop="userName" + key="questiontitle" + prop="questiontitle" :show-overflow-tooltip="true" /> <el-table-column label="闂璇濇湳" align="center" - key="verbaltrick" - prop="verbaltrick" + key="questionText" + prop="questionText" :show-overflow-tooltip="true" /> @@ -389,7 +427,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 +445,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"> @@ -433,24 +463,41 @@ </div> <el-form-item label="棰樼洰鏍囬"> <el-input - v-model="topicobj.title" - placeholder="璇疯緭鍏ユ爣棰�" + v-model="topicobj.questiontitle" + 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.ismandatory" + 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.isavailable" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in usable" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item ></el-col> </el-row> <div class="headline"> @@ -464,14 +511,17 @@ > </div> </div> - <div class="topicxq" v-for="item in 2"> + <!-- <div + class="topicxq" + v-for="item in topicobj.ivrLibaScriptTargetoptionList" + > <el-row :gutter="10"> <el-col :span="12" - ><el-form-item label="澶勭悊"> + ><el-form-item label="閫夐」鍚�"> <el-input type="text" - placeholder="(榛樿)鏃犲0" - v-model="queryParams.text" + placeholder="璇疯緭鍏�" + v-model="item.targetvalue" show-word-limit > </el-input> </el-form-item @@ -480,8 +530,8 @@ ><el-form-item label="鑺傜偣ID"> <el-input type="text" - placeholder="璇疯緭鍏ュ垎鍊�" - v-model="queryParams.text" + placeholder="璇疯緭鍏ヨ妭鐐�" + v-model="item.targetid" show-word-limit > </el-input> </el-form-item @@ -489,38 +539,37 @@ </el-row> <el-row :gutter="10"> <el-col :span="12" - ><el-form-item label="閫変腑鎻愮ず"> + ><el-form-item label="澶勭悊"> <el-input type="text" - placeholder="璇疯緭鍏ュ唴瀹�" - v-model="queryParams.text" + placeholder="(榛樿)鏃犲0" + v-model="item.text" maxlength="10" show-word-limit > </el-input> </el-form-item ></el-col> <el-col :span="12" - ><el-form-item label="閫変腑璺宠浆"> + ><el-form-item label="閫変腑璺宠浆(缂�)"> <el-input type="text" - placeholder="璇疯緭鍏ラ鍙�" - v-model="queryParams.text" + placeholder="璇疯緭鍏ラ鐩妭鐐�" + v-model="item.jump" show-word-limit > </el-input> </el-form-item ></el-col> </el-row> - <el-form-item label="璇煶鏂囨湰"> + <el-form-item label="鍖归厤姝e垯"> <el-input style="width: 24vw" type="textarea" placeholder="璇疯緭鍏ラ鍙�" - v-model="queryParams.text" + v-model="item.targetregex" show-word-limit > </el-input> </el-form-item> - <el-row :gutter="10"> <el-col :span="16"> <el-form-item label="璇煶鏂囦欢"> @@ -541,9 +590,156 @@ > <el-col :span="8"> <div style="text-align: right; padding-right: 10px"> - <el-button type="danger" round>鍒犻櫎</el-button> + <el-button type="danger" @click="" round>鍒犻櫎</el-button> </div> </el-col> + </el-row> + </div> --> + <Regular + :TargetoptionList="topicobj.ivrLibaScriptTargetoptionList" + @deloption="deloption" + :controlsc="false" + /> + <!-- 鏃犲尮閰嶇被鍨� --> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item label="鏃犲尮閰嶈瘽鏈�"> + <el-input + type="text" + placeholder="璇疯緭鍏�" + v-model="topicobj.nomatchtext" + 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="(榛樿)鏃犲0" + v-model="topicobj.text" + maxlength="10" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <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-row> + </div> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item label="鍚笉娓呰瘽鏈�"> + <el-input + type="text" + placeholder="璇疯緭鍏�" + v-model="topicobj.noclearlytext" + 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="(榛樿)鏃犲0" + v-model="topicobj.text" + maxlength="10" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <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-row> + </div> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item label="闈欓粯璇濇湳"> + <el-input + type="text" + placeholder="璇疯緭鍏�" + v-model="topicobj.sliencetext" + 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="(榛樿)鏃犲0" + v-model="topicobj.text" + maxlength="10" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <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-row> </div> </el-form> @@ -556,7 +752,9 @@ > <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button @click="Saveproblem('ruleForm')">淇濆瓨棰樼洰鏁版嵁</el-button> + <el-button @click="Departmenttreatment('ruleForm')" + >淇濆瓨棰樼洰鏁版嵁</el-button + > </div> <!-- 闅忚妯$増棰勮 --> <div v-if="Editprogress == 3"> @@ -629,37 +827,20 @@ > <el-form-item label="鏍囬" prop="userName"> <el-input - v-model="queryParams.userName" + v-model="queryParams.questiontitle" placeholder="璇疯緭鍏�" clearable style="width: 200px" - @keyup.enter.native="handleQuery" + @keyup.enter.native="getaddtopiclist" /> </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" - > - </el-option> - </el-select> - </el-form-item> + <el-form-item> <el-button type="primary" icon="el-icon-search" size="medium" - @click="handleQuery" + @click="getaddtopiclist" >鎼滅储</el-button > <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" @@ -671,15 +852,15 @@ <el-table-column label="鏍囬" align="center" - key="userName" - prop="userName" + key="questiontitle" + prop="questiontitle" width="100" /> <el-table-column label="闂璇濇湳" align="center" - key="verbaltrick" - prop="verbaltrick" + key="questionText" + prop="questionText" width="200" :show-overflow-tooltip="true" /> @@ -690,10 +871,7 @@ class-name="small-padding fixed-width" > <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" + <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 @@ -708,91 +886,96 @@ <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, +} from "@/api/AiCentre/index"; export default { + name: "SpeechTemplates", + components: { Regular }, data() { return { - sidecolumnrabs: "left", //鏂瑰悜 - Editprogress: 2, //缂栬緫杩涘害 - currentVersion: "1.2.3", //褰撳墠鐗堟湰 + Editprogress: 1, //缂栬緫杩涘害 loading: false, // 閬僵灞� drawer: false, //鎺у埗灞曞紑 - radio: "false", //鍗曢�夐閫変腑 radios: [], //澶氶�夐閫変腑 radioas: "", //濉┖棰樼瓟妗� - dynamicTags: ["鏍囩涓�", "鏍囩浜�", "鏍囩涓�"], - inputVisible: false, + labelInfovalue: [], //鏍囩涓存椂瀛樺偍 + deptNamesvalue: [], //绉戝涓存椂瀛樺偍 + dynamicTags: [], + indexAssortlist: [], inputValue: "", + inputValueillness: "", topicobj: {}, - // 鎬绘潯鏁� total: 1, - ruleForm: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - desc: "", - templatevalue: "", - data2: "", - }, + id: "", + ruleForm: {}, 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: [], + mode: [], + inputVisible: false, + inputVisibleillness: false, + illnessVisible: false, //鎸囨爣鐤剧梾寮规 + deptOptions: [], + optionsillness: [], + illnesslistapi: [], + illnesslist: [], + defaultProps: { + children: "ivrLibaTemplateAssortList", + label: "indexAssortName", + }, + tempDetpRelevanceslist: [], + delScriptVOList: [], + optionIndex:'', + 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", @@ -846,24 +1029,120 @@ created() { this.gettabList(); - + this.getvFollowup(); + this.auxiliary(); + this.mode = store.getters.mode; + this.usable = store.getters.usable; + this.required = store.getters.required; + this.languagelist = store.getters.languagelist; + this.courtyardlist = store.getters.courtyardlist; + this.precedencetype = store.getters.precedencetype; }, methods: { getIndexInArray(arr, obj) { return arr.indexOf(obj); }, + processElement(element) { + return { ...element, isoperation: 0 }; + }, + // 鑾峰彇琛ㄥ崟鏁版嵁 + getvFollowup() { + this.id = this.$route.query.id; + + getvFollowup({ id: this.id }).then((res) => { + 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.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; + this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( + this.processElement + ); + console.log(this.ruleForm.suitway); + }); + getillnesslist({ + pageNum: 1, + pageSize: 100, + }).then((response) => { + this.optionsillness = response.rows; + }); + getillness({ outid: this.id, type: 3 }).then((res) => { + this.illnesslist = res.rows; + }); + listDept(this.queryParams).then((response) => { + this.deptList = this.handleTree(response.data, "deptId"); + }); + }, + // 闄勫睘鏁版嵁琛� + auxiliary() { + // 鍒嗙被 + getFollowupclassify({}).then((res) => { + this.indexAssortlist = res.rows; + }); + // 鐤剧梾鍒� + }, submitForm(formName) { - this.rules = this.rulesa; + 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.$refs[formName].validate((valid) => { - if (valid) { - alert("submit!"); - } else { - console.log("error submit!!"); - return false; + + this.illnesslist.forEach((item, index) => { + if (!item.id) { + addtargetillness(item).then((res) => {}); } }); + if (this.illnesslistapi.length) { + deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); + } + compileFollowup(this.ruleForm).then((res) => { + this.$modal.msgSuccess("缂栬緫鎴愬姛"); + this.$router.go(-1); + }); + }, + // 绉戝澶勭悊 + 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,40 +1171,7 @@ }); }); }, - // 淇濆瓨棰樼洰淇℃伅 - 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(file, fileList) { this.fileList = fileList.slice(-3); @@ -950,64 +1196,187 @@ 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); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� - this.sortFn(); + 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); + getverbaltrick({ id: row.id }).then((res) => { + console.log(res, "璇︽儏"); + res.data.isoperation = 1; + res.data.id = null; + res.data.ivrLibaScriptTargetoptionList.forEach((item) => { + item.isoperation = 1; + }); + this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data); + }); + }, + handleDelete(row) { + let index = this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row); + this.ruleForm.ivrLibaTemplateScriptVOList.splice( + this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row), + 1 + ); + row.isoperation = 3; + this.delScriptVOList.push(row); + }, + handleUpdate(row) { + console.log(row); + this.optionIndex = this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row); + if (row.ivrLibaScriptTargetoptionList.length) { + this.topicobj = row; } else { - console.log("鏈壘鍒拌瀵硅薄"); + getverbaltrick({ id: row.id }).then((res) => { + this.topicobj = res.data; + console.log(res.data, "topicobj"); + }); } }, 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, - }; - }); - console.log(this.userList); + this.ruleForm.ivrLibaTemplateScriptVOList = + this.ruleForm.ivrLibaTemplateScriptVOList.map((item, index) => { + return Object.assign({}, item, { guid: (index + 1).toString() }); + }); + 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(); + }, + + // 鐤剧梾----------------------- + + handleCloseillness(tag) { + this.illnesslist.splice(this.illnesslist.indexOf(tag), 1); + if (tag.id) { + this.illnesslistapi.push(tag.id); + } + }, + remoteMethod(value) { + console.log(value); + const illnessqueryParams = { + pageNum: 1, + pageSize: 100, + icdname: value, + }; + this.loading = true; + setTimeout(() => { + this.loading = false; + getillnesslist(illnessqueryParams).then((response) => { + this.optionsillness = response.rows; + }); + }, 200); + }, + illnessConfirm(item) { + let opeavalue = {}; + let tagname = this.inputValueillness; + illnesslistget(item).then((res) => { + opeavalue = res.data; + opeavalue.outid = this.id; + opeavalue.type = 3; + opeavalue.icd10id = opeavalue.icdid; + opeavalue.icd10name = opeavalue.icdname; + opeavalue.icd10code = opeavalue.icdcode; + if (tagname) { + this.illnesslist.push(opeavalue); + } + }); + console.log(this.illnesslist); + this.inputVisibleillness = false; + this.inputValueillness = ""; }, }, }; @@ -1015,14 +1384,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 +1398,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; @@ -1120,8 +1483,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