From 41b1f5280255ac539e40d4cd794532ae1829ce17 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 01 八月 2024 18:25:36 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/templateku/index.vue | 1334 +++++++++++++++++++++++++++------------------------------ 1 files changed, 626 insertions(+), 708 deletions(-) diff --git a/src/views/repositoryai/templateku/index.vue b/src/views/repositoryai/templateku/index.vue index c43d358..75e0cd4 100644 --- a/src/views/repositoryai/templateku/index.vue +++ b/src/views/repositoryai/templateku/index.vue @@ -1,7 +1,7 @@ <template> <div class="Questionnairemanagement"> <!-- 宸︿晶鏍� --> - <div class="sidecolumn" v-show="topactiveName == 'Local'"> + <div class="sidecolumn"> <div class="sidecolumn-top"> <div class="top-wj">妯$増绫诲瀷</div> <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div> @@ -13,56 +13,49 @@ class="input-with-select" size="medium " > - <el-button - @click="sidecolumnss" - slot="append" - icon="el-icon-search" - ></el-button> </el-input> </div> - <div class="bottom-fl"> - <el-tabs tab-position="right"> - <el-tab-pane :label="`鍏ㄩ儴 (${numberlb})`"></el-tab-pane> - <el-tab-pane - class="tab-paness" - :key="item.title" - v-for="(item, index) in editableTabs" - > - <span slot="label"> - {{ - item.title + " (" + item.number + ")" - }}   <el-popover - placement="top-start" - width="100" - trigger="hover" + <div class="head-container" style="margin-top: 20px"> + <el-tree + :data="deptOptions" + :props="defaultProps" + :expand-on-click-node="false" + :filter-node-method="filterNode" + ref="tree" + node-key="id" + default-expand-all + highlight-current + @node-click="handleNodeClick" + > + <span class="custom-tree-node" slot-scope="{ node, data }"> + <span>{{ node.label }}</span> + <span v-if="data.id > 0"> + <el-button + type="text" + icon="el-icon-delete" + circle + size="mini" + @click="() => remove(node, data)" > - <div style="text-align: center"> - <el-button type="text" @click="popoveramend(item)" - >淇敼</el-button - ><el-button type="text" @click="deletefenlei(item)" - ><span style="color: rgb(173, 55, 55)" - >鍒犻櫎</span - ></el-button - > - </div> - <i slot="reference" class="el-icon-share"></i> </el-popover - ></span> - </el-tab-pane> - </el-tabs> + </el-button> + </span> + <span v-if="data.id > 0"> + <el-button + type="text" + circle + size="mini" + @click="() => altertag(node, data)" + ><span class="button-textxg" + ><i class="el-icon-edit-outline"></i + ></span> + </el-button> + </span> + </span> + </el-tree> </div> </div> <!-- 鍙充晶鏁版嵁 --> - <div :class="topactiveName == 'Local' ? 'leftvlue' : 'leftvlues'"> - <div class="leftvlue-top"> - <el-tabs v-model="topactiveName" @tab-click="tophandleClick"> - <el-tab-pane name="Local"> - <span class="mulsz" slot="label">鏅�氭ā鐗堝簱 </span> - </el-tab-pane> - <el-tab-pane name="sharing"> - <span class="mulsz" slot="label">閫氱敤妯$増搴� </span> - </el-tab-pane> - </el-tabs> - </div> + <div class="leftvlue"> <div class="leftvlue-bg"> <el-row :gutter="20"> <!--鐢ㄦ埛鏁版嵁--> @@ -75,28 +68,35 @@ v-show="showSearch" label-width="98px" > - <el-form-item label="妯$増鍚嶇О" prop="userName"> + <el-form-item label="妯$増鏍囬" prop="templateName"> <el-input - v-model="queryParams.userName" + v-model="queryParams.templateName" placeholder="璇疯緭鍏�" clearable style="width: 200px" @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="璇█" prop="status"> - <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨"> + <el-form-item label="閫傜敤闄㈠尯" prop="region"> + <el-select + v-model="queryParams.campus" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > <el-option - v-for="item in languagelist" - :key="item.value" + class="ruleFormaa" + 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="status"> - <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨"> + <el-form-item label="鍙敤鐘舵��" prop="usestate"> + <el-select v-model="queryParams.usestate" placeholder="璇烽�夋嫨"> <el-option v-for="item in qyoptions" :key="item.value" @@ -153,7 +153,6 @@ </el-row> <!-- 鏍囧噯妯$増 --> <el-table - v-if="topactiveName == 'Local'" v-loading="loading" :data="userList" :border="true" @@ -162,66 +161,124 @@ <el-table-column type="selection" width="50" align="center" /> <el-table-column label="搴忓彿" + fixed align="center" - key="userId" - prop="userId" + key="id" + prop="id" /> <el-table-column label="妯$増鍚嶇О" + fixed align="center" - key="userName" - prop="userName" + key="templateName" + prop="templateName" + width="200" :show-overflow-tooltip="true" /> <el-table-column - label="闈欓粯鏃堕棿" + label="涓昏鍐呭" align="center" - key="nickName" - prop="nickName" - width="400" + key="note" + prop="note" + width="200" :show-overflow-tooltip="true" /> <el-table-column - label="鏃犲0閲嶅娆℃暟" + label="閫傜敤鐤剧梾" align="center" key="aphonenumber" prop="aphonenumber" - width="400" - /><el-table-column - label="鏃犲0鍖归厤閲嶅娆℃暟" - align="center" - key="bphonenumber" - prop="bphonenumber" - width="120" - /> - <el-table-column - label="閫氱敤搴�" - align="center" - key="bphonenumbear" - prop="bphonenumbear" - width="120" - /> - <el-table-column - label="璇█" - align="center" - key="indicator" - prop="indicator" - width="120" - /> - <el-table-column label="鏄惁鍚敤" align="center" key="status"> + > <template slot-scope="scope"> - <el-switch - v-model="scope.row.status" - active-value="0" - inactive-value="1" - @change="handleStatusChange(scope.row)" - ></el-switch> + <el-button + size="medium" + type="text" + @click="illnessUpdate(scope.row)" + v-hasPermi="['system:user:edit']" + ><span class="button-textxg" + ><i class="el-icon-date"></i>璇︽儏</span + ></el-button + > + </template> + </el-table-column> + + <el-table-column + label="鏍囩" + align="center" + key="labelInfo" + prop="labelInfo" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <div v-if="scope.row.labelInfo"> + <span v-for="item in JSON.parse(scope.row.labelInfo)">{{ + item.tagname + }}</span> + </div> + <div v-else> + <span>鏃�</span> + </div> + </template> + </el-table-column> + <el-table-column + label="閫傜敤闄㈠尯" + align="center" + key="campus" + prop="campus" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <div v-if="scope.row.campus"> + <span v-for="item in scope.row.campus.split(',')" + >{{ item }}銆� + </span> + </div> + <div v-else> + <span>鏃�</span> + </div> + </template> + </el-table-column> + + <el-table-column + label="璧勬枡褰㈠紡" + align="center" + key="playType" + prop="playType" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="precedencetype" + :value="scope.row.playType" + /> + </template> + </el-table-column> + <el-table-column + label="鐗堟湰鍙�" + align="center" + key="versions" + prop="versions" + width="120" + /> + <el-table-column + label="鏈�杩戜慨鏀�" + align="center" + key="updateTime" + prop="updateTime" + width="120" + /> + <el-table-column label="鍙敤鐘舵��" align="center" key="usestate"> + <template slot-scope="scope"> + <dict-tag :options="qyoptions" :value="scope.row.usestate" /> </template> </el-table-column> <el-table-column label="鎿嶄綔" + fixed="right" align="center" width="200" class-name="small-padding fixed-width" @@ -230,17 +287,9 @@ <el-button size="medium" type="text" - @click="handleUpdate(scope.row)" - ><span class="button-textxg" - ><i class="el-icon-edit-outline"></i>淇敼</span - ></el-button - > - <el-button - size="medium" - type="text" @click="compileUpdate(scope.row)" ><span class="button-bji" - ><i class="el-icon-edit"></i>缂栬緫璇濇湳</span + ><i class="el-icon-edit"></i>缂栬緫</span ></el-button > <el-button @@ -255,109 +304,17 @@ <el-button size="medium" type="text" - @click="handleDelete(scope.row)" + @click="preview(scope.row)" v-hasPermi="['system:user:remove']" ><span class=".button-xiazai" - ><i class="el-icon-s-management"></i>澶嶅埗妯$増</span + ><i class="el-icon-s-management"></i>棰勮</span ></el-button > </template> </el-table-column> </el-table> <!-- 閫氱敤妯$増 --> - <el-table - v-else - v-loading="loading" - :data="userList" - :border="true" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="userId" - prop="userId" - /> - <el-table-column - label="閫氱敤妯$増鍚嶇О" - align="center" - key="userName" - prop="userName" - :show-overflow-tooltip="true" - /> - <el-table-column - label="璇█" - align="center" - key="nickName" - prop="nickName" - width="400" - :show-overflow-tooltip="true" - /> - <el-table-column label="鏄惁鍚敤" align="center" key="status"> - <template slot-scope="scope"> - <el-switch - v-model="scope.row.status" - active-value="0" - inactive-value="1" - @change="handleStatusChange(scope.row)" - ></el-switch> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="200" - 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-edit-outline"></i>淇敼</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="compileUpdate(scope.row)" - ><span class="button-bji" - ><i class="el-icon-edit"></i>缂栬緫璇濇湳</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleDelete(scope.row)" - v-hasPermi="['system:user:remove']" - ><span class="button-textsc" - ><i class="el-icon-delete-solid"></i>鍒犻櫎</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="downloadfn(scope.row)" - v-hasPermi="['system:user:remove']" - ><span class="button-xiazai" - ><i class="el-icon-download"></i>涓嬭浇</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="copyfn(scope.row)" - v-hasPermi="['system:user:remove']" - ><span class=".button-xiazai" - ><i class="el-icon-s-management"></i>澶嶅埗妯$増</span - ></el-button - > - </template> - </el-table-column> - </el-table> <!-- 搴曢儴鍒嗛〉 --> <pagination v-show="total > 0" @@ -368,301 +325,182 @@ /> </el-col> </el-row> - - <!-- 娣诲姞鎴栦慨鏀规爣鍑嗘ā鐗堝璇濇 --> - <el-dialog - v-if="topactiveName == 'Local'" - :title="title" - :visible.sync="indexopen" - width="900px" - append-to-body - > - <el-form - ref="form" - :model="indexform" - :rules="rules" - label-width="110px" - > - <el-row> - <el-col :span="24"> - <el-form-item label="璇█" prop="deptId"> - <el-select - v-model="indexform.language" - placeholder="璇烽�夋嫨璇█" - > - <el-option - v-for="index in languagelist" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="妯$増鍚嶇О" prop="nickName"> - <el-input - v-model="indexform.nickName" - placeholder="璇疯緭鍏ユā鐗堝悕绉�" - maxlength="80" - /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="verbaltricktext"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鏃犲0閲嶅娆℃暟" prop="verbaltrickyy"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鏃犲尮閰嶉噸澶嶆鏁�" prop="matchtext"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鍚姩浠诲姟" prop="matchyy"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="閫氱敤搴�" prop="deptId"> - <el-select v-model="indexform.language" placeholder="璇烽�夋嫨"> - <el-option - v-for="index in languagelist" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="绉戝" prop="deptId"> - <el-select v-model="indexform.language" placeholder="璇烽�夋嫨"> - <el-option - v-for="index in languagelist" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="璇婃柇绫诲瀷鍏抽敭瀛�" prop="librarytext"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="璇婃柇绫诲瀷" prop="deptId"> - <el-select v-model="indexform.language" placeholder="璇烽�夋嫨"> - <el-option - v-for="index in languagelist" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="闅忚鎺ㄥ欢澶╂暟" prop="vaguetext"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="妯$増鏍囩淇℃伅" prop="vagueyy"> - <el-input v-model="indexform.userName" maxlength="30" /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鎾姤鏂瑰紡"> - <el-radio-group v-model="indexform.qystatus"> - <el-radio - v-for="item in qyoptionbo" - :key="item.value" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鏄惁鍚敤"> - <el-radio-group v-model="indexform.qystatus"> - <el-radio - v-for="item in qyoptions" - :key="item.value" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - - <el-row> - <el-col :span="24"> - <el-form-item label="澶囨敞"> - <el-input - v-model="indexform.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - <!-- 娣诲姞鎴栦慨鏀归�氱敤妯$増瀵硅瘽妗� --> - <el-dialog - :title="title" - :visible.sync="indexopenty" - width="900px" - append-to-body - > - <el-form - ref="form" - :model="indexform" - :rules="rules" - label-width="100px" - > - <el-row> - <el-col :span="24"> - <el-form-item label="璇█" prop="deptId"> - <el-select - v-model="indexform.language" - placeholder="璇烽�夋嫨璇█" - > - <el-option - v-for="index in languagelist" - :key="index.value" - :label="index.label" - :value="index.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="妯$増鍚嶇О" prop="nickName"> - <el-input - v-model="indexform.nickName" - placeholder="璇疯緭鍏ユā鐗堜富鏃�" - maxlength="80" - /> - </el-form-item> </el-col - ></el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鏄惁鍚敤"> - <el-radio-group v-model="indexform.qystatus"> - <el-radio - v-for="item in qyoptions" - :key="item.value" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - </el-row> - - <el-row> - <el-col :span="24"> - <el-form-item label="澶囨敞"> - <el-input - v-model="indexform.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> </div> </div> <!-- 娣诲姞绫诲埆寮规 --> <el-dialog - :title="amendtag ? '淇敼绫诲埆' : '鏂板绫诲埆'" + :title="title" width="30%" + :close-on-click-modal="false" :visible.sync="dialogFormVisible" > + <div style="text-align: center; margin-bottom: 20px"> + <el-radio-group v-model="radio"> + <el-radio-button label="涓诲垎绫�" v-show="zifon"></el-radio-button> + <el-radio-button label="瀛愬垎绫�" v-show="zufon"></el-radio-button> + </el-radio-group> + </div> + <el-divider></el-divider> <el-form :model="classifyform"> - <el-form-item - :label="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'" - > + <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'"> + <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in deptOptions" + :key="item.id" + :label="item.indexAssortName" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="璇疯緭鍏ョ被鍒悕绉�"> <el-input - v-model="classifyform.categoryname" + v-model="classifyform.indexAssortName" autocomplete="off" ></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> - <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> + <el-button @click="getDeptTree()">鍙� 娑�</el-button> <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button> </div> </el-dialog> - <!-- 鍒犻櫎绫诲埆纭妗� --> - <el-dialog title="璀﹀憡" :visible.sync="deleteVisible" width="40%"> - <div style="font-size: 20px; color: rgb(247, 76, 76)"> - 鏄惁纭鍒犻櫎鍒嗙被锛歔<span>{{ deletefenl }}</span - >]? - </div> - <div style="font-size: 20px"> - 姝ゆ搷浣滀細灏嗚绫诲埆涓嬫墍鏈夋ā鍧楄浆绉昏嚦[鏈垎绫籡锛屾槸鍚︾户缁垹闄ゆ鍒嗙被锛� + <!-- 娣诲姞鐤剧梾瀵硅瘽妗� --> + <el-dialog title="鎸囨爣鐤剧梾" :visible.sync="illnessVisible" width="50%"> + <div> + <div class="xinz-infs"> + <el-tag + :key="item.icd10name" + type="warning" + v-for="item in illnesslist" + closable + :disable-transitions="false" + @close="handleCloseillness(item)" + > + {{ item.icd10name }} + </el-tag> + <el-select + v-model="inputValue" + v-if="inputVisible" + @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="showInput" + >+ 鏂板鐤剧梾</el-button + > + </div> </div> <span slot="footer" class="dialog-footer"> - <el-button @click="deleteVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="deletefenlei">纭� 瀹�</el-button> + <el-button @click="illnessVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button> </span> + </el-dialog> + <!-- 闅忚棰樼洰棰勮 --> + <el-dialog title="闅忚棰樼洰棰勮" :visible.sync="topicVisible" width="50%"> + <div class="preview-left"> + <!-- 鍗曢�� --> + <div + class="scriptTopic-dev" + v-for="item in topicform.ivrLibaTemplateScriptVOList" + :key="item.targetid" + v-if="item.valueType == 1" + > + <div class="dev-text"> + {{ item.targetid }}銆乕鍗曢�塢<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="scriptTopic-dev" + v-for="item in topicform.ivrLibaTemplateScriptVOList" + :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 topicform.ivrLibaTemplateScriptVOList" + :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> + </div> + </div> </el-dialog> </div> </template> <script> +import store from "@/store"; + import { - listUser, - getUser, - delUser, - addUser, - updateUser, -} from "@/api/system/user"; + getFollowupclassify, + delFollowupclassify, + addFollowupclassify, + editFollowupclassify, + addtargetillness, + getvFollowup, + compileFollowup, + delFollowupinfo, + getverbaltricklist, + Followupinfo, + getFollowuplist, + getillnesslist, + illnesslistget, + getillness, +} from "@/api/AiCentre/index"; +import { listDept } from "@/api/system/dept"; export default { - name: "questionnaire", - dicts: ["sys_normal_disable", "sys_user_sex"], + name: "templateku", data() { return { topactiveName: "Local", //椤堕儴閫夋嫨 @@ -680,6 +518,8 @@ total: 0, namequestionnaire: "", haoquestionnaire: "", + topicform: {}, + topicVisible: false, idds: "", amendtag: false, //鏄惁淇敼绫诲埆 dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 @@ -689,19 +529,9 @@ categoryname: "", }, //绫诲埆琛ㄥ崟 // 琛ㄦ牸鏁版嵁 - userList: [ - { - userid: 1, - userName: "琛�甯歌銆佸翱甯歌", - nickName: "璐", - aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10", - bphonenumber: "閫夋嫨", - cphonenumber: "鏅�氳瘽", - status: "0", - }, - ], + userList: [], // 寮瑰嚭灞傛爣棰� - title: "", + title: "鏂板绫诲埆", // 鏄惁鏄剧ず寮瑰嚭灞� open: false, // 鏃ユ湡鑼冨洿 @@ -710,6 +540,7 @@ postOptions: [], // 瑙掕壊閫夐」 roleOptions: [], + precedencetype: [], // 娣诲姞銆佷慨鏀瑰弬鏁� indexform: {}, numberlb: 22, @@ -717,211 +548,86 @@ sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 dialogFormVisible: false, //娣诲姞绫诲埆寮规 sidecolumnval: "", //绫诲埆鎼滅储 - indexopen: false, //寮规灞曠ず鍚� - indexopenty: false, //寮规灞曠ず鍚� - propss: { multiple: true }, - languagelist: [ - { - value: 1, - label: "鏅�氳瘽", - }, - { - value: 2, - label: "绮よ", - }, - { - value: 3, - label: "鑻辫", - }, - ], //璇█鍒楄〃 - qyoptions: [ - { - value: 1, - label: "鍚敤", - }, - { - value: 2, - label: "鍏抽棴", - }, - ], // 鎾姤鏂瑰紡 - qyoptionbo: [ - { - value: 1, - label: "璇煶浼樺厛", - }, - { - value: 2, - label: "鏂囧瓧浼樺厛", - }, - ], + qyoptionbo: [], //绫诲埆鍒楄〃 - editableTabs: [ - { - title: "妯$増鍒嗙被涓�", - number: "1", - }, - { - title: "妯$増鍒嗙被浜�", - number: "2", - }, - { - title: "妯$増鍒嗙被涓�", - number: "2", - }, - { - title: "妯$増鍒嗙被鍥�", - number: "2", - }, - { - title: "妯$増鍒嗙被浜�", - number: "2", - }, - ], + editableTabs: [], // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - IDnumber: undefined, }, // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "涓绘棬涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 5, - max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - IDnumber: [ - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], + rules: {}, + indexid: null, + inputValue: "", + radio: "涓诲垎绫�", + zufon: true, + zifon: true, + inputVisible: false, + illnessVisible: false, //鎸囨爣鐤剧梾寮规 + deptOptions: [], + optionsillness: [], + illnesslistapi: [], + illnesslist: [], + defaultProps: { + children: "ivrLibaTemplateAssortList", + label: "indexAssortName", }, + deptList: [], + props: { multiple: true, value: "deptId", label: "deptName" }, + mode: [], + languagelist: [], + qyoptions: [], + courtyardlist: [], }; }, - watch: {}, + watch: { + // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 + sidecolumnval(val) { + this.$refs.tree.filter(val); + }, + }, created() { this.getList(); + this.getDeptTree(); + this.zufon = true; + this.zifon = true; + this.mode = store.getters.mode; + this.languagelist = store.getters.languagelist; + this.qyoptions = store.getters.usable; + this.precedencetype = store.getters.precedencetype; + this.courtyardlist = store.getters.courtyardlist; }, methods: { - /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ + /** 鏌ヨ淇℃伅 */ getList() { - // this.loading = true; - listUser().then((response) => { - console.log(response); + getFollowuplist(this.queryParams).then((res) => { + console.log(res); console.log(this.userList); + this.userList = res.rows; + this.total = res.total; + + console.log(this.userList[0].campus.split(",")); + }); + listDept({ pageNum: 1, pageSize: 10 }).then((response) => { + this.deptList = this.handleTree(response.data, "deptId"); }); }, - // 娣诲姞銆佷慨鏀圭被鍒� - submitsidecolumn() { - if (this.amendtag) { - this.classifyform.tagcategoryid = this.idds; - // toamendtagcategory(this.addDateRange(this.classifyform)).then( - // (response) => { - // console.log(response); - // this.gitclasify(); - // } - // ); - } else { - // addtagcategory(this.addDateRange(this.classifyform)).then( - // (response) => { - // console.log(response); - // this.gitclasify(); - // } - // ); - } - this.classifyform = { - categoryname: "", - }; - this.idds = ""; - this.dialogFormVisible = false; - }, - //鍒犻櫎鍒嗙被 - deletefenlei(row) { - if (this.deleteVisible) { - // deletetagcategory(this.idds).then((response) => { - // console.log(response); - // this.gitclasify(); - // }); - this.deleteVisible = false; - this.idds = ""; - } else { - this.deleteVisible = true; - this.idds = row.tagcategoryid; - this.deletefenl = row.title; - } - }, + // 澶嶅埗妯$増 copyfn() {}, // 涓嬭浇妯$増 downloadfn() {}, // 璺宠浆缂栬緫璇濇湳椤甸潰 compileUpdate(row) { - if (this.topactiveName == "Local") { - this.$router.push({ - path: "/repositoryai/templateku/configurat/", - query: { id: "1" }, - }); - } else { - this.$router.push({ - path: "/repositoryai/templateku/particulars/", - query: { id: "1" }, - }); - } + this.$router.push({ + path: "/knowledge/templateku/configurat/", + query: { id: row.id }, + }); }, - // 棰樼洰鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, + //鎼滅储绫诲埆 sidecolumnss() {}, // 渚挎嵎鏍囩 @@ -930,8 +636,6 @@ tophandleClick() {}, // 鍙栨秷鎸夐挳 cancel() { - this.indexopen = false; - this.indexopenty = false; this.reset(); }, @@ -968,73 +672,214 @@ }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); + this.ids = selection.map((item) => item.id); this.single = selection.length != 1; this.multiple = !selection.length; }, /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { - this.reset(); - this.title = "鏂板妯$増"; - if (this.topactiveName == "Local") { - this.indexopen = true; - } else { - this.indexopenty = true; - } - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - this.title = "淇敼妯$増"; - if (this.topactiveName == "Local") { - this.indexopen = true; - } else { - this.indexopenty = true; - } - }, - // 淇敼鍒嗙被寮规 - popoveramend(tagcategoryid) { - this.idds = tagcategoryid; - this.amendtag = true; - this.dialogFormVisible = true; - }, - - /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */ - submitForm: function () { - this.$refs["form"].validate((valid) => { - if (valid) { - if (this.form.userId != undefined) { - updateUser(this.form).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.indexopen = false; - this.indexopenty = false; - this.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.indexopen = false; - this.indexopenty = false; - - this.getList(); - }); - } - } + this.$router.push({ + path: "/knowledge/templateku/configurat/", + query: { id: null, assortid: this.queryParams.assortid }, }); }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { - const userIds = row.userId || this.ids; + const userids = row.id || this.ids; this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') + .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userids + '"鐨勬暟鎹」锛�') .then(function () { - return delUser(userIds); + return delFollowupinfo(userids); }) .then(() => { this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) .catch(() => {}); + }, + // 鍒嗙被鏍�----------------------------------------- + // 淇敼鍒嗙被寮规 + popoveramend(tagcategoryid) { + this.idds = tagcategoryid; + this.amendtag = true; + this.dialogFormVisible = true; + }, + // 鏌ヨ鏍� + getDeptTree() { + getFollowupclassify({}).then((res) => { + this.deptOptions = res.rows; + this.dialogFormVisible = false; + }); + }, + + // 娣诲姞绫诲埆鏍� + submitsidecolumn() { + if (this.classifyform.id) { + editFollowupclassify(this.classifyform).then((res) => { + this.getDeptTree(); + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; + }); + return; + } + let calssvalue = {}; + if ( + this.classifyform.pid && + this.classifyform.indexAssortName && + this.radio == "瀛愬垎绫�" + ) { + const index = this.deptOptions.findIndex( + (obj) => obj.id == this.classifyform.pid + ); + calssvalue = this.deptOptions[index]; + calssvalue.ivrLibaTemplateAssortList.push(this.classifyform); + } else if (this.radio == "涓诲垎绫�" && this.classifyform.indexAssortName) { + this.classifyform.pid = null; + this.classifyform.ivrLibaTemplateAssortList = []; + } else { + return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�"); + } + addFollowupclassify(this.classifyform).then((res) => { + this.getDeptTree(); + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; + }); + }, + remove(a, b) { + if (b.pid) { + this.$modal + .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.indexAssortName + '"鐨勬暟鎹」锛�') + .then(function () { + return delFollowupclassify(b.id); + }) + .then(() => { + this.getDeptTree(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + } else { + this.$modal + .confirm( + '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + + b.indexAssortName + + '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' + ) + .then(() => { + return delFollowupclassify(b.id); + }) + .then(() => { + this.getDeptTree(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + } + }, + altertag(a, b) { + this.dialogFormVisible = true; + if (!b.pid) { + this.radio = "涓诲垎绫�"; + this.title = "淇敼涓诲垎绫�"; + this.zufon = false; + } else { + this.radio = "瀛愬垎绫�"; + this.title = "淇敼瀛愬垎绫�"; + this.zifon = false; + } + this.classifyform = b; + this.dialogFormVisible = true; + }, + // 棰勮 + preview(row) { + getvFollowup({ id: row.id }).then((res) => { + this.topicform = res.data; + console.log(this.topicform); + this.topicVisible = true; + }); + }, + + // 绛涢�夎妭鐐� + filterNode(value, data) { + if (!value) return true; + return data.indexAssortName.indexOf(value) !== -1; + }, + handleNodeClick(data) { + this.queryParams.assortid = data.id; + this.getList(); + }, + // 鐤剧梾----------------------- + illnessUpdate(row) { + this.illnessVisible = true; + this.indexid = row.id; + this.illnesslistapi = []; + const illnessqueryParams = { + pageNum: 1, + pageSize: 100, + }; + getillnesslist(illnessqueryParams).then((response) => { + console.log(response); + this.optionsillness = response.rows; + }); + getillness({ outid: row.id, type: 3 }).then((res) => { + this.illnesslist = res.rows; + console.log(res); + }); + }, + 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.inputValue; + illnesslistget(item).then((res) => { + opeavalue = res.data; + opeavalue.outid = this.indexid; + 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.inputVisible = false; + this.inputValue = ""; + }, + confirmillness() { + this.illnesslist.forEach((item, index) => { + if (!item.id) { + addtargetillness(item).then((res) => {}); + } + }); + if (this.illnesslistapi.length) { + deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); + } + this.illnessVisible = false; + this.$modal.msgSuccess("缂栬緫鎴愬姛"); + }, + showInput() { + this.inputVisible = true; }, }, }; @@ -1051,8 +896,8 @@ // display: flex; margin-top: 20px; margin: 20px; - padding: 30px; - background: #edf1f7; + padding: 20px; + background: #fff; 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); @@ -1148,6 +993,29 @@ font-size: 20px; } } +.xinz-infs { + font-size: 18px; + overflow: hidden; + text-overflow: ellipsis; + + line-height: 48px; + + .el-tag + .el-tag { + margin-left: 10px; + } + .button-new-tag { + margin-left: 10px; + height: 32px; + line-height: 30px; + padding-top: 0; + padding-bottom: 0; + } + .input-new-tag { + width: 90px; + margin-left: 10px; + vertical-align: bottom; + } +} .leftvlues { // display: flex; // flex: 1; @@ -1163,6 +1031,56 @@ font-size: 20px; } } +.preview-left { + margin: 20px; + // margin: 20px; + padding: 30px; + background: #ffff; + 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); + .scriptTopic-dev { + margin-bottom: 25px; + font-size: 20px !important; + .dev-text { + margin-bottom: 10px; + } + } +} +::v-deep .el-tree-node__content { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + height: 46px; + font-size: 20px; + cursor: pointer; +} +::v-deep .el-tree { + position: relative; + cursor: default; + border-radius: 5px; + background: #eff8fe; + color: #606266; + border: 1px solid #bbe1fa; + // 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); +} +::v-deep + .el-tree--highlight-current + .el-tree-node.is-current + > .el-tree-node__content { + background-color: #7799fb; + color: #fff; +} +::v-deep .el-button--mini.is-circle { + padding: 7px; + margin: 0; + color: red; +} .button-text { color: rgb(70, 204, 238); } -- Gitblit v1.9.3