From 8ec6407cf76c1f8d7e08e5456018aaafc93f0556 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 31 七月 2024 18:30:20 +0800 Subject: [PATCH] 测试完成 --- src/views/knowledge/questionbank/index.vue | 1558 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 857 insertions(+), 701 deletions(-) diff --git a/src/views/knowledge/questionbank/index.vue b/src/views/knowledge/questionbank/index.vue index c80f732..2b6348f 100644 --- a/src/views/knowledge/questionbank/index.vue +++ b/src/views/knowledge/questionbank/index.vue @@ -1,393 +1,439 @@ <template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" + <div class="Questionnairemanagement"> + <!-- 宸︿晶鏍� --> + <div class="sidecolumn"> + <div class="sidecolumn-top"> + <div class="top-wj">闂绫诲瀷</div> + <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div> + </div> + <div class="center-ss"> + <el-input + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="sidecolumnval" + class="input-with-select" + size="medium " > - <el-form-item label="棰樼洰鍚嶇О" prop="userName"> - <el-input - v-model="topqueryParams.userName" - placeholder="璇疯緭鍏�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - - <el-form-item label="棰樼洰鏍囩" prop="status"> - <el-cascader - v-model="topqueryParams.tagid" - :options="optionss" - :props="propss" - clearable - ></el-cascader> - </el-form-item> - <el-form-item label="棰樼洰绫诲瀷" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" + </el-input> + </div> + <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)" > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button + </el-button> + </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="leftvlue"> + <div class="leftvlue-bg"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + <el-col :span="24" :xs="24"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="98px" > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="medium" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="19"> - <div class="documentf"> - <div class="document"> + <el-form-item label="闂鏍囬" prop="userName"> + <el-input + v-model="queryParams.scriptTopic" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="闂鍐呭" prop="userName"> + <el-input + v-model="queryParams.scriptContent" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="鎸囨爣鍚嶇О" prop="targetname"> + <el-input + v-model="queryParams.targetname" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="鏄惁鍙敤" prop="isavailable"> + <el-select + v-model="queryParams.isavailable" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in qyoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + + <el-form-item> <el-button - type="warning" - plain - icon="el-icon-download" + type="primary" + icon="el-icon-search" size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button + @click="handleQuery" + >鎼滅储</el-button > - </div> - </div> - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="userId" - prop="userId" - /> + <el-button + icon="el-icon-refresh" + size="medium" + @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> - <el-table-column - label="棰樼洰" - align="center" - key="userName" - prop="userName" - :show-overflow-tooltip="true" - /> - <el-table-column - label="棰樼洰绫诲埆" - align="center" - key="types" - prop="types" - /> - <el-table-column - label="鍒涘缓浜�" - align="center" - key="nickName" - prop="nickName" - /> - <el-table-column - label="鏄惁蹇呭~" - align="center" - key="phonenumber" - prop="phonenumber" - 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> - </template> - </el-table-column> + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="medium" + @click="compileUpdate" + v-hasPermi="['system:user:add']" + >鏂板</el-button + > + </el-col> - <el-table-column - label="棰樼洰鏍囩" - align="center" - key="topicnumber" - prop="topicnumber" - width="120" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鍒涘缓鏃ユ湡" - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鏈�杩戞洿鏂版棩鏈�" - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="160" - class-name="small-padding fixed-width" - > - <template slot-scope="scope" v-if="scope.row.userId !== 1"> - <el-button - size="medium" - type="text" - icon="el-icon-edit" - @click="Referencequestion(scope.row)" - v-hasPermi="['system:user:edit']" - >棰勮</el-button - > - <el-button - size="medium" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - - <!-- 娣诲姞鎴栦慨鏀归鐩厤缃璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="900px" - append-to-body - > - <el-form ref="form" :model="form" :rules="rules" label-width="100px"> - <el-row> - <el-col :span="12"> - <el-form-item label="棰樼洰鍚嶇О" prop="nickName"> - <el-input - v-model="form.nickName" - placeholder="璇疯緭鍏�" - maxlength="30" + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="medium" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:user:remove']" + >鍒犻櫎</el-button + > + </el-col> + </el-row> + <el-table + v-loading="loading" + :data="userList" + :border="true" + @selection-change="handleSelectionChange" + > + <el-table-column + type="selection" + fixed + width="50" + align="center" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="棰樼洰绫诲瀷" prop="deptId"> - <el-select v-model="form.types" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> + <!-- <el-table-column + label="搴忓彿" + fixed + align="center" + key="id" + prop="id" + /> --> + <el-table-column + label="棰樼洰鏍囬" + fixed + align="center" + key="scriptTopic" + prop="scriptTopic" + width="200" + :show-overflow-tooltip="true" + /> + <el-table-column + label="棰樺瀷" + align="center" + key="scriptType" + prop="scriptType" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="askvaluetype" + :value="scope.row.scriptType" + /> + </template> + </el-table-column> + <el-table-column + label="鎸囨爣鍚嶇О" + fixed + align="center" + key="targetname" + prop="targetname" + width="200" + :show-overflow-tooltip="true" + /> + <el-table-column + label="棰樼洰鍐呭" + align="center" + key="scriptContent" + prop="scriptContent" + width="200" + :show-overflow-tooltip="true" + /> + + /><el-table-column + label="閫傜敤鏂瑰紡" + align="center" + key="suitway" + prop="suitway" + width="120" + > + <template slot-scope="scope"> + <dict-tag :options="mode" :value="scope.row.suitway" /> + </template> + </el-table-column> + /><el-table-column + label="閫傜敤鐤剧梾" + align="center" + key="Applicable" + prop="Applicable" + width="120" + > + <template slot-scope="scope"> + <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="tagList" + prop="tagList" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span v-for="item in scope.row.svyLibScriptTagList" + >{{ item.tagname }}銆� + </span> + </template> + </el-table-column> + + <el-table-column + label="鍙敤" + align="center" + key="isavailable" + prop="isavailable" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="qyoptions" + :value="scope.row.isavailable" + /> + </template> + </el-table-column> + <el-table-column + label="鏈�杩戜慨鏀�" + align="center" + key="updateTime" + prop="updateTime" + width="120" + /> + + <el-table-column + label="鎿嶄綔" + fixed="right" + align="center" + width="250" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button + size="medium" + type="text" + @click="compileUpdate(scope.row)" + v-hasPermi="['system:user:edit']" + ><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="topicpreview(scope.row)" + v-hasPermi="['system:user:remove']" + ><span class="button-text" + ><i class="el-icon-view"></i>棰勮</span + ></el-button + > + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> </el-col> </el-row> - <el-row> - <el-form-item label="绛旀閫夐」" prop="email"> - <el-tag - :key="tag" - v-for="tag in dynamicTags" - closable - :disable-transitions="false" - @close="handleClose(tag)" + </div> + </div> + <!-- 娣诲姞绫诲埆寮规 --> + <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible"> + <div style="text-align: center; margin-bottom: 20px"> + <el-radio-group v-model="radio"> + <el-radio-button label="涓诲垎绫�"></el-radio-button> + <el-radio-button label="瀛愬垎绫�"></el-radio-button> + </el-radio-group> + </div> + <el-divider></el-divider> + <el-form :model="classifyform"> + <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.name" + :value="item.id" > - {{ tag }} - </el-tag> - <el-input - class="input-new-tag" - v-if="inputVisible" - v-model="inputValue" - ref="saveTagInput" - size="small" - @keyup.enter.native="handleInputConfirm" - @blur="handleInputConfirm" - > - </el-input> - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板閫夐」</el-button - > - </el-form-item> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="棰樼洰鏍囩" prop="email"> - <el-cascader - v-model="form.totagid" - :options="optionss" - :props="propss" - clearable - ></el-cascader> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="鏄惁鍚敤"> - <el-radio-group v-model="form.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-col :span="12"> - <el-form-item label="鏄惁蹇呭~"> - <el-radio-group v-model="form.btstatus"> - <el-radio - v-for="item in btoptions" - :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="form.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> - </el-row> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="璇疯緭鍏ョ被鍒悕绉�"> + <el-input v-model="classifyform.name" autocomplete="off"></el-input> + </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> + <el-button @click="getDeptTree()">鍙� 娑�</el-button> + <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button> </div> </el-dialog> - <!-- 棰樼洰棰勮寮规 --> - <el-dialog width="30%" title="棰樼洰棰勮" :visible.sync="previewVisible"> - <div class="qrcode-dialo"> - <!-- 鍗曢�� --> - <div class="topic-dev" v-if="previewtype == 1"> - <div class="dev-text"> - [鍗曢�塢  <span>{{ previewvalue.username }}</span> - </div> - <div class="dev-xx"> - <el-radio-group v-model="radio"> - <el-radio - v-for="(items, index) in dynamicTags" - :key="index" - :label="index" - >{{ items }}</el-radio - > - </el-radio-group> - </div> + <!-- 娣诲姞鐤剧梾瀵硅瘽妗� --> + <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 class="topic-dev" v-else-if="previewtype == 2"> - <div class="dev-text"> - [澶氶�塢  <span>{{ previewvalue.username }}</span> - </div> - <div class="dev-xx"> - <el-checkbox-group v-model="radios"> - <el-checkbox - v-for="(items, index) in dynamicTags" - :key="index" - :label="index" - > - {{ items }} - </el-checkbox> - </el-checkbox-group> - </div> + </div> + <span slot="footer" class="dialog-footer"> + <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="dev-text"> + <span>{{ topicform.scriptContent }}</span> </div> - <!-- 濉┖ --> - <div class="topic-dev" v-if="previewtype == 3"> - <div class="dev-text"> - [濉┖]  <span>{{ previewvalue.username }}</span> - </div> - <div class="dev-xx"> - <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> - </el-input> - </div> + + <div + class="dev-xx" + v-if="topicform.scriptType != 3 && topicform.scriptType != 4" + > + <el-radio-group v-model="topicform.asrtext"> + <el-radio + v-for="(topicforms, index) in topicform.svyLibScriptOptions" + :key="topicforms.optioncontent" + :label="topicforms.optioncontent" + >{{ topicforms.optioncontent }}</el-radio + > + </el-radio-group> + </div> + <div v-else> + <el-input + type="textarea" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model.sync="topicform.asrtext" + :rows="2" + /> </div> </div> </el-dialog> @@ -395,26 +441,34 @@ </template> <script> +import store from "@/store"; import { - listUser, - getUser, - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; + getissueclassify, + delissueclassify, + addissueclassify, + editissueclassify, + getissuelist, + issueinfo, + compileissue, + delissueinfo, + Followupinfo, + deltargetillness, + addtargetillness, + getillnesslist, + illnesslistget, + getillness, +} from "@/api/AiCentre/index"; +import { getToken } from "@/utils/auth"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], + name: "questionnaire", components: { Treeselect }, data() { return { + topactiveName: "Local", //椤堕儴閫夋嫨 // 閬僵灞� - loading: true, + loading: false, // 閫変腑鏁扮粍 ids: [], // 闈炲崟涓鐢� @@ -425,205 +479,273 @@ showSearch: true, // 鎬绘潯鏁� total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, + namequestionnaire: "", + haoquestionnaire: "", + askvaluetype: "", + idds: "", + topicform: { + scriptContent: "", + }, + amendtag: false, //鏄惁淇敼绫诲埆 + dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 + deleteVisible: false, //鍒嗙被鍒犻櫎寮规 + topicVisible: false, //棰勮寮规 + deletefenl: "楂樿鍘�", //鍒犻櫎椤� + classifyform: { + name: "", + }, //绫诲埆琛ㄥ崟 + // 琛ㄦ牸鏁版嵁 + userList: [], // 寮瑰嚭灞傛爣棰� + tag: "", title: "", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, // 鏃ユ湡鑼冨洿 dateRange: [], // 宀椾綅閫夐」 postOptions: [], // 瑙掕壊閫夐」 roleOptions: [], - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, + // 娣诲姞銆佷慨鏀瑰弬鏁� + indexform: {}, + numberlb: 22, + numberlbs: 2, + sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 + dialogFormVisible: false, //娣诲姞绫诲埆寮规 + sidecolumnval: "", //绫诲埆鎼滅储 + indexopen: false, //寮规灞曠ず鍚� + propss: { multiple: true }, + indexid: null, inputValue: "", - previewVisible: false, //棰樼洰棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮棰樼洰绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸鐩暟閲� - //棰勮棰樼洰淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", + radio: "涓诲垎绫�", + inputVisible: false, + illnessVisible: false, //鎸囨爣鐤剧梾寮规 + deptOptions: [], + optionsillness: [], + illnesslistapi: [], + illnesslist: [], + defaultProps: { + children: "svyLibScriptCategoryList", + label: "name", }, - // 琛ㄥ崟鍙傛暟 - form: { - phonenumber: "", - totagid: "", - types: "", - nickName: "", - qystatus: "", - btstatus: "", - }, - //瀵煎叆杩涘害 - dractive: 1, - // 瀵煎叆灞曠ず琛ㄥ崟 - uploadingData: {}, + mode: [], + languagelist: [], + qyoptions: [], // 鏌ヨ鍙傛暟 - topqueryParams: { + queryParams: { pageNum: 1, pageSize: 10, - userName: undefined, - tagid: undefined, - topic: undefined, + isavailable: "", }, - propss: { multiple: true }, - optionss: [ - { - value: 1, - label: "涓滃崡", - }, - { - value: 2, - label: "瑗垮寳", - }, - { - value: 3, - label: "浠ㄤ花浠�", - }, - { - value: 4, - label: "鍏椋掗", - }, - ], - qyoptions: [ - { - value: 1, - label: "鍚敤", - }, - { - value: 2, - label: "鍏抽棴", - }, - ], - btoptions: [ - { - value: 1, - label: "蹇呭~", - }, - { - value: 2, - label: "闈炲繀濉�", - }, - ], - topicoptions: [ - { - value: 1, - label: "鍗曢��", - }, - { - value: 2, - label: "澶氶��", - }, - { - value: 3, - label: "濉┖", - }, - ], // 琛ㄥ崟鏍¢獙 - 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: {}, }; }, watch: {}, created() { this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); + this.getDeptTree(); + this.mode = store.getters.mode; + this.languagelist = store.getters.languagelist; + this.qyoptions = store.getters.usable; + this.askvaluetype = store.getters.askvaluetype; }, + methods: { - /** 鏌ヨ棰樼洰鍒楄〃 */ + /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ getList() { this.loading = true; - listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( - (response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - } - ); - }, - // 鏌ョ湅棰樼洰璇︽儏 - Referencequestion(row) { - this.previewVisible = true; + getissuelist(this.queryParams).then((res) => { + this.loading = false; + this.userList = res.rows; + this.total = res.total; + console.log(this.userList); + }); }, - // 棰樼洰鐘舵�佷慨鏀� - 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"; + compileUpdate(row) { + this.$router.push({ + path: "/knowledge/questionbank/particulars/", + query: { id: row.id }, + }); + }, + // 鐤剧梾----------------------- + 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: 4 }).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); }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); + illnessConfirm(item) { + let opeavalue = {}; + let tagname = this.inputValue; + illnesslistget(item).then((res) => { + opeavalue = res.data; + opeavalue.outid = this.indexid; + opeavalue.type = 4; + 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; + }, + + // 鍒嗙被鏍�----------------------------------------- + // 淇敼鍒嗙被寮规 + popoveramend(tagcategoryid) { + this.idds = tagcategoryid; + this.amendtag = true; + this.dialogFormVisible = true; + }, + // 鏌ヨ鏍� + getDeptTree() { + getissueclassify({}).then((res) => { + this.deptOptions = res.rows; + this.dialogFormVisible = false; + }); + }, + + // 娣诲姞绫诲埆鏍� + submitsidecolumn() { + if (this.classifyform.id) { + editissueclassify(this.classifyform).then((res) => { + this.getDeptTree(); + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; + }); + return; + } + let calssvalue = {}; + if ( + this.classifyform.pid && + this.classifyform.name && + this.radio == "瀛愬垎绫�" + ) { + const index = this.deptOptions.findIndex( + (obj) => obj.id == this.classifyform.pid + ); + calssvalue = this.deptOptions[index]; + console.log(calssvalue, "calssvalue"); + calssvalue.svyLibScriptCategoryList.push(this.classifyform); + } else if (this.radio == "涓诲垎绫�" && this.classifyform.name) { + this.classifyform.pid = null; + this.classifyform.svyLibScriptCategoryList = []; + } else { + return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�"); + } + addissueclassify(this.classifyform).then((res) => { + this.getDeptTree(); + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; + }); + }, + remove(a, b) { + if (b.pid) { + this.$modal + .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.name + '"鐨勬暟鎹」锛�') + .then(function () { + return delissueclassify(b.id); + }) + .then(() => { + this.getDeptTree(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + } else { + this.$modal + .confirm( + '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + b.name + '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' + ) + .then(() => { + return delissueclassify(b.id); + }) + .then(() => { + this.getDeptTree(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + } + }, + altertag(a, b) { + this.dialogFormVisible = true; + if (!b.pid) { + this.radio = "涓诲垎绫�"; + } else { + this.radio = "瀛愬垎绫�"; + } + this.classifyform = b; + this.dialogFormVisible = true; + }, + + // 绛涢�夎妭鐐� + filterNode(value, data) { + if (!value) return true; + return data.name.indexOf(value) !== -1; + }, + handleNodeClick(data) { + this.queryParams.categoryid = data.id; + this.getList(); + }, + // 琛ㄥ崟閲嶇疆 reset() { this.form = { - userId: undefined, + id: undefined, deptId: undefined, userName: undefined, nickName: undefined, @@ -640,113 +762,45 @@ }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { - this.topqueryParams.pageNum = 1; + this.queryParams.pageNum = 1; this.getList(); }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.dateRange = []; this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; + this.queryParams.deptId = undefined; this.$refs.tree.setCurrentKey(null); this.handleQuery(); }, // 澶氶�夋閫変腑鏁版嵁 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; }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { - this.reset(); - getUser().then((response) => { - this.postOptions = response.posts; - this.roleOptions = response.roles; - this.addalteropen = true; - this.title = "鏂板棰樼洰"; - this.form.password = this.initPassword; + this.$router.push({ + path: "/knowledge/verbaltrick/particulars/", + query: { id: "" }, }); }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const userId = row.userId || this.ids; - getUser(userId).then((response) => { - this.form = response.data; - this.postOptions = response.posts; - this.roleOptions = response.roles; - this.$set(this.form, "postIds", response.postIds); - this.$set(this.form, "roleIds", response.roleIds); - this.addalteropen = true; - this.title = "淇敼鐢ㄦ埛"; - this.form.password = ""; - }); - }, - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); + // 淇敼鍒嗙被寮规 + 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.open = false; - this.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { - const userIds = row.userId || this.ids; + console.log(this.ids); + const topicids = row.id || this.ids; this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') + .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + topicids + '"鐨勬暟鎹」锛�') .then(function () { - return delUser(userIds); + return delissueinfo(topicids); }) .then(() => { this.getList(); @@ -754,80 +808,56 @@ }) .catch(() => {}); }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); + topicpreview(row) { + this.topicform = row; + this.topicVisible = true; }, }, }; </script> <style lang="scss" scoped> -.el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; -} -.document { - width: 100px; - height: 50px; -} -.documentf { +.Questionnairemanagement { display: flex; - justify-content: flex-end; } -.download { +.sidecolumn { + width: 300px; + min-height: 100vh; text-align: center; - .el-upload__tip { - font-size: 23px; - } - .el-upload__text { - font-size: 23px; - } -} -.uploading { + // display: flex; margin-top: 20px; margin: 20px; padding: 30px; - background: #ffffff; + 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); -} -.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; -} -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - img { - width: 100px; - height: 100px; + .sidecolumn-top { + display: flex; + justify-content: space-between; + .top-wj { + font-size: 20px; + } + .top-tj { + font-size: 18px; + + color: rgb(0, 89, 255); + cursor: pointer; + } + } + .center-ss { + margin-top: 30px; + .input-with-select { + height: 40px !important; + } + } + .bottom-fl { + margin-top: 30px; + display: center !important; } } .qrcode-dialo { - // text-align: center; + text-align: center; // display: flex; margin: 20px; padding: 30px; @@ -835,22 +865,148 @@ border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - .dev-text { - margin-bottom: 10px; + .qrcode-text { + font-size: 20px; + span { + margin-left: 20px; } } -} -::v-deep.el-radio-group { - span { - font-size: 24px; + .qrcode-img { + width: 300px; + height: 400px; } } -::v-deep.el-checkbox-group { - span { - font-size: 24px; +.tsgname { + width: 90px; + margin-right: 10px; + text-align: center; + cursor: pointer; + height: 40px; + line-height: 40px; + background: #7799fa; + color: #ffff; + font-size: 18px; + border-radius: 5px; +} +.tsgname:hover { + background: #3366f5; +} +::v-deep.el-tabs--left, +.el-tabs--right { + overflow: hidden; + align-items: center; + display: flex; +} +::v-deep.el-input--medium .el-input__inner { + height: 40px !important; +} +::v-deep.el-tabs--right .el-tabs__active-bar.is-right { + height: 40px; + width: 5px; + left: 0; +} +::v-deep.el-tabs--right .el-tabs__item.is-right { + display: block; + font-size: 20px; +} +.leftvlue { + // display: flex; + // flex: 1; + width: 80%; + margin-top: 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); + .mulsz { + 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; + } +} +.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); + + .dev-text { + margin-bottom: 10px; + text-align: left; + font-size: 22px; + } +} + +::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); +} +.button-bji { + color: rgb(39, 167, 67); +} +.button-textxg { + color: rgb(35, 81, 233); +} +.button-textsc { + color: rgb(235, 23, 23); +} </style> -- Gitblit v1.9.3