From f98059f7c23be9269795002ffb36e65347ce5d03 Mon Sep 17 00:00:00 2001 From: heimawl <1785969728@qq.com> Date: 星期五, 16 六月 2023 10:06:23 +0800 Subject: [PATCH] 完成题库管理模块搭建 --- package.json | 2 src/views/knowledge/questionbank/index.vue | 773 ++++++++++++++++++++++++---------------------------------- 2 files changed, 322 insertions(+), 453 deletions(-) diff --git a/package.json b/package.json index 69e215e..6aab3ec 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@riophae/vue-treeselect": "0.4.0", "axios": "0.24.0", "clipboard": "2.0.8", - "core-js": "3.25.3", + "core-js": "^3.25.3", "cos-js-sdk-v5": "^1.4.18", "dayjs": "^1.11.7", "echarts": "^5.4.2", diff --git a/src/views/knowledge/questionbank/index.vue b/src/views/knowledge/questionbank/index.vue index c16345f..51b92df 100644 --- a/src/views/knowledge/questionbank/index.vue +++ b/src/views/knowledge/questionbank/index.vue @@ -4,7 +4,7 @@ <!--鐢ㄦ埛鏁版嵁--> <el-col :span="24" :xs="24"> <el-form - :model="queryParams" + :model="topqueryParams" ref="queryForm" size="small" :inline="true" @@ -13,57 +13,45 @@ > <el-form-item label="棰樼洰鍚嶇О" prop="userName"> <el-input - v-model="queryParams.userName" + v-model="topqueryParams.userName" placeholder="璇疯緭鍏�" clearable style="width: 200px" @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="韬唤璇佸彿鐮�" prop="IDnumber"> - <el-input - v-model="queryParams.IDnumber" - placeholder="璇疯緭鍏ヨ韩浠借瘉鍙风爜" - clearable - style="width: 250px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鑱旂郴鏂瑰紡" prop="phonenumber"> - <el-input - v-model="queryParams.phonenumber" - placeholder="璇疯緭鍏ヨ仈绯绘柟寮�" - clearable - style="width: 280px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-row> - <el-form-item label="鎮h�呮爣绛�" prop="status"> - <el-cascader - v-model="queryParams.status" - :options="optionss" - :props="propss" - clearable - ></el-cascader> - </el-form-item> - </el-row> - <!-- <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="medium" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> --> + <el-form-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-option> + </el-select> + </el-form-item> + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="handleQuery" + >鎼滅储</el-button + > + <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> </el-form> <el-row :gutter="10" class="mb8"> @@ -106,17 +94,6 @@ <div class="documentf"> <div class="document"> <el-button - type="info" - plain - icon="el-icon-upload2" - size="medium" - @click="handleImport" - v-hasPermi="['system:user:import']" - >瀵煎叆</el-button - > - </div> - <div class="document"> - <el-button type="warning" plain icon="el-icon-download" @@ -146,84 +123,57 @@ align="center" key="userId" prop="userId" - v-if="columns[0].visible" /> + <el-table-column - label="濮撳悕" + label="棰樼洰" align="center" key="userName" prop="userName" - v-if="columns[1].visible" :show-overflow-tooltip="true" /> <el-table-column - label="鎬у埆" + label="棰樼洰绫诲埆" + align="center" + key="types" + prop="types" + /> + <el-table-column + label="鍒涘缓浜�" align="center" key="nickName" prop="nickName" - v-if="columns[2].visible" - :show-overflow-tooltip="true" /> <el-table-column - label="鎮h�呮爣绛�" - align="center" - key="deptName" - prop="dept.deptName" - v-if="columns[3].visible" - :show-overflow-tooltip="true" - /> - <el-table-column - label="璇佷欢绫诲瀷" + label="鏄惁蹇呭~" align="center" key="phonenumber" prop="phonenumber" - v-if="columns[4].visible" - width="120" - /><el-table-column - label="璇佷欢鍙风爜" - align="center" - key="phonenumber" - prop="phonenumber" - v-if="columns[4].visible" width="120" /> - <el-table-column - label="骞撮緞" - align="center" - key="phonenumber" - prop="phonenumber" - v-if="columns[4].visible" - width="120" - /> - <!-- <el-table-column - label="鐘舵��" - align="center" - key="status" - v-if="columns[5].visible" - > - <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" 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="鑱旂郴鏂瑰紡" + label="棰樼洰鏍囩" align="center" - key="phonenumber" - prop="phonenumber" - v-if="columns[4].visible" + key="topicnumber" + prop="topicnumber" width="120" + :show-overflow-tooltip="true" /> <el-table-column - label="寤烘。鏃ユ湡" + label="鍒涘缓鏃ユ湡" align="center" prop="createTime" - v-if="columns[6].visible" width="160" > <template slot-scope="scope"> @@ -231,10 +181,9 @@ </template> </el-table-column> <el-table-column - label="鏇存柊鏃ユ湡" + label="鏈�杩戞洿鏂版棩鏈�" align="center" prop="createTime" - v-if="columns[6].visible" width="160" > <template slot-scope="scope"> @@ -252,9 +201,17 @@ size="medium" type="text" icon="el-icon-edit" - @click="$router.push('/patient/patient/profile/')" + @click="Referencequestion(scope.row)" v-hasPermi="['system:user:edit']" - >鏌ョ湅</el-button + >棰勮</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> @@ -263,142 +220,112 @@ <pagination v-show="total > 0" :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" + :page.sync="topqueryParams.pageNum" + :limit.sync="topqueryParams.pageSize" @pagination="getList" /> </el-col> </el-row> - <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body> + <!-- 娣诲姞鎴栦慨鏀归鐩厤缃璇濇 --> + <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-form-item label="棰樼洰鍚嶇О" prop="nickName"> <el-input v-model="form.nickName" - placeholder="璇疯緭鍏ュ鍚�" + placeholder="璇疯緭鍏�" maxlength="30" /> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鎬у埆" prop="deptId"> - <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆"> + <el-form-item label="棰樼洰绫诲瀷" prop="deptId"> + <el-select v-model="form.types" placeholder="璇烽�夋嫨"> <el-option - v-for="dict in dict.type.sys_user_sex" - :key="dict.value" - :label="dict.label" - :value="dict.value" + v-for="item in topicoptions" + :key="item.value" + :label="item.label" + :value="item.value" ></el-option> </el-select> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="12"> - <el-form-item label="璇佷欢绫诲瀷" prop="phonenumber"> - <el-input - v-model="form.phonenumber" - placeholder="璇烽�夋嫨璇佷欢绫诲瀷" - maxlength="11" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="璇佷欢鍙�" prop="email"> - <el-input - v-model="form.email" - placeholder="璇疯緭鍏ヨ瘉浠跺彿" - maxlength="50" - /> - </el-form-item> - </el-col> + <el-form-item label="绛旀閫夐」" prop="email"> + <el-tag + :key="tag" + v-for="tag in dynamicTags" + closable + :disable-transitions="false" + @close="handleClose(tag)" + > + {{ 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="userName"> - <el-input - v-model="form.userName" - placeholder="璇疯緭鍏ユ墜鏈哄彿" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="浜插睘鎵嬫満鍙�" prop="password"> - <el-input - v-model="form.password" - placeholder="璇疯緭鍏ヤ翰灞炴墜鏈哄彿" - type="password" - maxlength="20" - show-password - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="鎮h�呮爣绛�"> - <!-- <el-select v-model="form.sex" placeholder="璇烽�夋嫨"> --> + <el-form-item label="棰樼洰鏍囩" prop="email"> <el-cascader + v-model="form.totagid" :options="optionss" :props="propss" clearable ></el-cascader> - <!-- </el-select> --> </el-form-item> </el-col> - <!-- <el-col :span="12"> - <el-form-item label="鐘舵��"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.value" - >{{ dict.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> --> </el-row> - <!-- <el-row> - <el-col :span="12"> - <el-form-item label="宀椾綅"> - <el-select - v-model="form.postIds" - multiple - placeholder="璇烽�夋嫨宀椾綅" + <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-option - v-for="item in postOptions" - :key="item.postId" - :label="item.postName" - :value="item.postId" - :disabled="item.status == 1" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="瑙掕壊"> - <el-select - v-model="form.roleIds" - multiple - placeholder="璇烽�夋嫨瑙掕壊" + </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-option - v-for="item in roleOptions" - :key="item.roleId" - :label="item.roleName" - :value="item.roleId" - :disabled="item.status == 1" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> --> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> <el-row> <el-col :span="24"> <el-form-item label="澶囨敞"> @@ -416,93 +343,52 @@ <el-button @click="cancel">鍙� 娑�</el-button> </div> </el-dialog> - - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <el-dialog - :title="upload.title" - :visible.sync="upload.open" - width="70%" - append-to-body - > - <el-steps :active="dractive" simple> - <el-step title="涓婁紶瀵煎叆鏂囦欢" icon="el-icon-upload"></el-step> - <el-step title="瀵煎叆妫�鏌�" icon="el-icon-picture"></el-step> - <el-step title="瀵煎叆缁撴灉" icon="el-icon-picture"></el-step> - </el-steps> - <!-- 涓婁紶瀵煎叆鏂囦欢 --> - <div class="download" v-if="dractive == 1"> - <el-upload - class="upload-demo" - ref="upload" - :limit="1" - accept=".xlsx, .xls" - :headers="upload.headers" - :action="upload.url + '?updateSupport=' + upload.updateSupport" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - :auto-upload="false" - drag - > - <i class="el-icon-upload"></i> - <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> - <div class="el-upload__tip text-center" slot="tip"> - <div class="el-upload__tip" slot="tip"> - <el-checkbox v-model="upload.updateSupport" /> - 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - </div> - <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span> - <el-link - type="primary" - :underline="false" - style="font-size: 24px; vertical-align: baseline" - @click="importTemplate" - >涓嬭浇妯℃澘</el-link - > + <!-- 棰樼洰棰勮寮规 --> + <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> - </el-upload> - </div> - <!-- 瀵煎叆妫�鏌� --> - <div class="uploading" v-else-if="dractive == 2"> - <el-table :data="uploadingData" style="width: 100%"> - <el-table-column prop="serial" label="搴忓彿"> </el-table-column> - <el-table-column prop="name" label="濮撳悕"> </el-table-column> - <el-table-column prop="sex" label="鎬у埆"> </el-table-column> - <el-table-column prop="certificate" label="璇佷欢绫诲瀷"> - </el-table-column> - <el-table-column prop="certificatenum" label="璇佷欢鍙风爜"> - </el-table-column> - <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column> - <el-table-column prop="menum" label="鏈汉鑱旂郴鏂瑰紡"> </el-table-column> - <el-table-column prop="younum" label="浜插睘鑱旂郴鏂瑰紡"> - </el-table-column> - <el-table-column prop="tag" label="鎮h�呮爣绛�"> </el-table-column> - <el-table-column prop="erry" label="閿欒鍘熷洜"> </el-table-column> - </el-table> - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="geterryList" - /> - </div> - <!-- 瀹屾垚 --> - <div class="drexamine" v-else-if="dractive == 3"> - <img - src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" - /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p>鏈鍏辫瀵煎叆{{ ImportQuantity }}浣嶆偅鑰�</p> - </div> - - <div slot="footer" class="dialog-footer" v-if="dractive == 3"> - <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> --> - <el-button @click="submitclose">瀹屾垚</el-button> - </div> - <div slot="footer" v-else> - <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> - <el-button @click="submitclose">鍙� 娑�</el-button> + <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> + </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> + <!-- 濉┖ --> + <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> </div> </el-dialog> </div> @@ -517,9 +403,7 @@ updateUser, resetUserPwd, changeUserStatus, - deptTreeSelect, } from "@/api/system/user"; -import { getToken } from "@/utils/auth"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; @@ -545,10 +429,8 @@ userList: null, // 寮瑰嚭灞傛爣棰� title: "", - // 閮ㄩ棬鏍戦�夐」 - deptOptions: undefined, - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, + // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 + addalteropen: false, // 閮ㄩ棬鍚嶇О deptName: undefined, // 榛樿瀵嗙爜 @@ -559,21 +441,39 @@ postOptions: [], // 瑙掕壊閫夐」 roleOptions: [], + dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 + inputVisible: false, + inputValue: "", + previewVisible: false, //棰樼洰棰勮寮规 + radio: "", + radios: [], + previewtype: 2, //棰勮棰樼洰绫诲瀷 + total: 0, // 鎬绘潯鏁� + ImportQuantity: 999, //瀵奸鐩暟閲� + //棰勮棰樼洰淇℃伅 + previewvalue: { + username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", + }, // 琛ㄥ崟鍙傛暟 - form: {}, + form: { + phonenumber: "", + totagid: "", + types: "", + nickName: "", + qystatus: "", + btstatus: "", + }, //瀵煎叆杩涘害 dractive: 1, // 瀵煎叆灞曠ず琛ㄥ崟 uploadingData: {}, - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲� // 鏌ヨ鍙傛暟 - queryParams: { + topqueryParams: { pageNum: 1, pageSize: 10, - jobName: undefined, - jobGroup: undefined, - status: undefined, + userName: undefined, + tagid: undefined, + topic: undefined, }, propss: { multiple: true }, optionss: [ @@ -594,44 +494,39 @@ label: "鍏椋掗", }, ], - defaultProps: { - children: "children", - label: "label", - }, - // 鐢ㄦ埛瀵煎叆鍙傛暟 - upload: { - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� - open: false, - // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� - title: "", - // 鏄惁绂佺敤涓婁紶 - isUploading: false, - // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - updateSupport: 0, - // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, - // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/system/user/importData", - }, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - IDnumber: undefined, - }, - // 鍒椾俊鎭� - columns: [ - { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true }, - { key: 1, label: `鐢ㄦ埛鍚嶇О`, visible: true }, - { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true }, - { key: 3, label: `閮ㄩ棬`, visible: true }, - { key: 4, label: `鎵嬫満鍙风爜`, visible: true }, - { key: 5, label: `鐘舵�乣, visible: true }, - { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }, + 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: { @@ -681,24 +576,18 @@ }, }; }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - }, - }, + watch: {}, created() { this.getList(); - this.getDeptTree(); this.getConfigKey("sys.user.initPassword").then((response) => { this.initPassword = response.msg; }); }, methods: { - /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ + /** 鏌ヨ棰樼洰鍒楄〃 */ getList() { this.loading = true; - listUser(this.addDateRange(this.queryParams, this.dateRange)).then( + listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( (response) => { this.userList = response.rows; this.total = response.total; @@ -706,32 +595,12 @@ } ); }, - // 鏌ヨ瀵煎叆灞曠ず鍒楄〃 - geterryList() { - this.loading = true; - listJob(this.queryParams).then((response) => { - this.jobList = 1; - this.total = 1; - this.loading = false; - }); + // 鏌ョ湅棰樼洰璇︽儏 + Referencequestion(row) { + this.previewVisible = true; }, - /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - getDeptTree() { - deptTreeSelect().then((response) => { - this.deptOptions = response.data; - }); - }, - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.label.indexOf(value) !== -1; - }, - // 鑺傜偣鍗曞嚮浜嬩欢 - handleNodeClick(data) { - this.queryParams.deptId = data.id; - this.handleQuery(); - }, - // 鐢ㄦ埛鐘舵�佷慨鏀� + + // 棰樼洰鐘舵�佷慨鏀� handleStatusChange(row) { let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; this.$modal @@ -748,7 +617,7 @@ }, // 鍙栨秷鎸夐挳 cancel() { - this.open = false; + this.addalteropen = false; this.reset(); }, // 琛ㄥ崟閲嶇疆 @@ -771,14 +640,14 @@ }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { - this.queryParams.pageNum = 1; + this.topqueryParams.pageNum = 1; this.getList(); }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.dateRange = []; this.resetForm("queryForm"); - this.queryParams.deptId = undefined; + this.topqueryParams.deptId = undefined; this.$refs.tree.setCurrentKey(null); this.handleQuery(); }, @@ -788,18 +657,25 @@ this.single = selection.length != 1; this.multiple = !selection.length; }, - // 鏇村鎿嶄綔瑙﹀彂 - handleCommand(command, row) { - switch (command) { - case "handleResetPwd": - this.handleResetPwd(row); - break; - case "handleAuthRole": - this.handleAuthRole(row); - break; - default: - break; + //鍒犻櫎閫夐」 + 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() { @@ -807,8 +683,8 @@ getUser().then((response) => { this.postOptions = response.posts; this.roleOptions = response.roles; - this.open = true; - this.title = "鏂板鎮h��"; + this.addalteropen = true; + this.title = "鏂板棰樼洰"; this.form.password = this.initPassword; }); }, @@ -822,7 +698,7 @@ this.roleOptions = response.roles; this.$set(this.form, "postIds", response.postIds); this.$set(this.form, "roleIds", response.roleIds); - this.open = true; + this.addalteropen = true; this.title = "淇敼鐢ㄦ埛"; this.form.password = ""; }); @@ -843,11 +719,7 @@ }) .catch(() => {}); }, - /** 鍒嗛厤瑙掕壊鎿嶄綔 */ - handleAuthRole: function (row) { - const userId = row.userId; - this.$router.push("/system/user-auth/role/" + userId); - }, + /** 鎻愪氦鎸夐挳 */ submitForm: function () { this.$refs["form"].validate((valid) => { @@ -887,55 +759,10 @@ this.download( "system/user/export", { - ...this.queryParams, + ...this.topqueryParams, }, `user_${new Date().getTime()}.xlsx` ); - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - /** 涓嬭浇妯℃澘鎿嶄綔 */ - importTemplate() { - this.download( - "system/user/importTemplate", - {}, - `user_template_${new Date().getTime()}.xlsx` - ); - }, - // 鏂囦欢涓婁紶涓鐞� - handleFileUploadProgress(event, file, fileList) { - this.upload.isUploading = true; - }, - // 鏂囦欢涓婁紶鎴愬姛澶勭悊 - handleFileSuccess(response, file, fileList) { - this.upload.open = false; - this.upload.isUploading = false; - this.$refs.upload.clearFiles(); - this.$alert( - "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + - response.msg + - "</div>", - "瀵煎叆缁撴灉", - { dangerouslyUseHTMLString: true } - ); - this.getList(); - }, - // 鎻愪氦涓婁紶鏂囦欢 - submitFileForm() { - // 涓婁紶 - if (this.dractive == 1) { - this.$refs.upload.submit(); - this.dractive++; - } else { - this.dractive++; - } - }, - submitclose() { - this.upload.open = false; - this.dractive = 1; }, }, }; @@ -973,6 +800,21 @@ -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; @@ -984,4 +826,31 @@ height: 100px; } } +.qrcode-dialo { + // text-align: center; + // display: flex; + margin: 20px; + padding: 30px; + background: #edf1f7; + 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; + } + } +} +::v-deep.el-radio-group { + span { + font-size: 24px; + } +} +::v-deep.el-checkbox-group { + span { + font-size: 24px; + } +} </style> -- Gitblit v1.9.3