From b850b4ca43f2ae66586bd875bd453061752d5e5a Mon Sep 17 00:00:00 2001 From: heimawl <1785969728@qq.com> Date: 星期一, 12 六月 2023 18:05:44 +0800 Subject: [PATCH] 完成题库管理页面路由设置,问卷查看页面布局 --- src/views/knowledge/questionnaire/compilequer/index.vue | 211 +++++-- src/views/knowledge/questionnaire/examine/index.vue | 301 ++++++++++ src/views/knowledge/questionbank/index.vue | 987 ++++++++++++++++++++++++++++++++++++ src/views/knowledge/questionnaire/index.vue | 107 ++- 4 files changed, 1,488 insertions(+), 118 deletions(-) diff --git a/src/views/knowledge/questionbank/index.vue b/src/views/knowledge/questionbank/index.vue new file mode 100644 index 0000000..8836c47 --- /dev/null +++ b/src/views/knowledge/questionbank/index.vue @@ -0,0 +1,987 @@ +<template> + <div class="app-container"> + <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-form-item label="棰樼洰鍚嶇О" prop="userName"> + <el-input + v-model="queryParams.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> + + <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-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" + size="medium" + @click="handleExport" + v-hasPermi="['system:user:export']" + >瀵煎嚭</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" + v-if="columns[0].visible" + /> + <el-table-column + label="濮撳悕" + align="center" + key="userName" + prop="userName" + v-if="columns[1].visible" + :show-overflow-tooltip="true" + /> + <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="璇佷欢绫诲瀷" + 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="phonenumber" + prop="phonenumber" + v-if="columns[4].visible" + width="120" + /> + <el-table-column + label="寤烘。鏃ユ湡" + align="center" + prop="createTime" + v-if="columns[6].visible" + width="160" + > + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.createTime) }}</span> + </template> + </el-table-column> + <el-table-column + label="鏇存柊鏃ユ湡" + align="center" + prop="createTime" + v-if="columns[6].visible" + 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="$router.push('/patient/patient/profile/')" + v-hasPermi="['system:user:edit']" + >鏌ョ湅</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-dialog :title="title" :visible.sync="open" 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-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鎬у埆" prop="deptId"> + <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆"> + <el-option + v-for="dict in dict.type.sys_user_sex" + :key="dict.value" + :label="dict.label" + :value="dict.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-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-cascader + :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-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-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-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-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="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 + > + </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> + </el-dialog> + </div> +</template> + +<script> +import { + listUser, + getUser, + delUser, + addUser, + 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"; + +export default { + name: "User", + dicts: ["sys_normal_disable", "sys_user_sex"], + components: { Treeselect }, + data() { + return { + // 閬僵灞� + loading: true, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 鐢ㄦ埛琛ㄦ牸鏁版嵁 + userList: null, + // 寮瑰嚭灞傛爣棰� + title: "", + // 閮ㄩ棬鏍戦�夐」 + deptOptions: undefined, + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 閮ㄩ棬鍚嶇О + deptName: undefined, + // 榛樿瀵嗙爜 + initPassword: undefined, + // 鏃ユ湡鑼冨洿 + dateRange: [], + // 宀椾綅閫夐」 + postOptions: [], + // 瑙掕壊閫夐」 + roleOptions: [], + // 琛ㄥ崟鍙傛暟 + form: {}, + //瀵煎叆杩涘害 + dractive: 1, + // 瀵煎叆灞曠ず琛ㄥ崟 + uploadingData: {}, + total: 0, // 鎬绘潯鏁� + ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲� + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + jobName: undefined, + jobGroup: undefined, + status: undefined, + }, + propss: { multiple: true }, + optionss: [ + { + value: 1, + label: "涓滃崡", + }, + { + value: 2, + label: "瑗垮寳", + }, + { + value: 3, + label: "浠ㄤ花浠�", + }, + { + value: 4, + 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 }, + ], + // 琛ㄥ崟鏍¢獙 + 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", + }, + ], + }, + }; + }, + watch: { + // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 + deptName(val) { + this.$refs.tree.filter(val); + }, + }, + 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( + (response) => { + this.userList = response.rows; + this.total = response.total; + this.loading = false; + } + ); + }, + // 鏌ヨ瀵煎叆灞曠ず鍒楄〃 + geterryList() { + this.loading = true; + listJob(this.queryParams).then((response) => { + this.jobList = 1; + this.total = 1; + this.loading = false; + }); + }, + /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ + 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 + .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"; + }); + }, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + userId: undefined, + deptId: undefined, + userName: undefined, + nickName: undefined, + password: undefined, + phonenumber: undefined, + email: undefined, + sex: undefined, + status: "0", + remark: undefined, + postIds: [], + roleIds: [], + }; + this.resetForm("form"); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.dateRange = []; + this.resetForm("queryForm"); + this.queryParams.deptId = undefined; + this.$refs.tree.setCurrentKey(null); + this.handleQuery(); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.userId); + 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; + } + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.reset(); + getUser().then((response) => { + this.postOptions = response.posts; + this.roleOptions = response.roles; + this.open = true; + this.title = "鏂板鎮h��"; + this.form.password = this.initPassword; + }); + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + 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.open = 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(() => {}); + }, + /** 鍒嗛厤瑙掕壊鎿嶄綔 */ + handleAuthRole: function (row) { + const userId = row.userId; + this.$router.push("/system/user-auth/role/" + userId); + }, + /** 鎻愪氦鎸夐挳 */ + 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; + this.$modal + .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') + .then(function () { + return delUser(userIds); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download( + "system/user/export", + { + ...this.queryParams, + }, + `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; + }, + }, +}; +</script> + +<style lang="scss" scoped> +.el-button--primary.is-plain { + color: #ffffff; + background: #409eff; + border-color: #4fabe9; +} +.document { + width: 100px; + height: 50px; +} +.documentf { + display: flex; + justify-content: flex-end; +} +.download { + text-align: center; + .el-upload__tip { + font-size: 23px; + } + .el-upload__text { + font-size: 23px; + } +} +.uploading { + margin-top: 20px; + margin: 20px; + padding: 30px; + background: #ffffff; + 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); +} +.drexamine { + display: flex; + align-items: center; + justify-content: center; + padding: 30px; + background: #daeaf5; + img { + width: 100px; + height: 100px; + } +} +</style> diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue index 2bb899e..2532afb 100644 --- a/src/views/knowledge/questionnaire/compilequer/index.vue +++ b/src/views/knowledge/questionnaire/compilequer/index.vue @@ -19,6 +19,7 @@ </div> <!-- 鍙充晶鏁版嵁 --> <div class="leftvlue"> + <!-- 鍩烘湰淇℃伅 --> <div v-if="Editprogress == 1"> <div class="leftvlue-jbxx"> 鍩烘湰淇℃伅<span>褰撳墠鐗堟湰:{{ currentVersion }}</span> @@ -66,6 +67,7 @@ </el-form-item> </el-form> </div> + <!-- 闂嵎璁剧疆 --> <div v-if="Editprogress == 2"> <div class="leftvlue-jbxx">闂嵎璁剧疆</div> <el-form @@ -112,73 +114,58 @@ </el-form-item> </el-form> </div> + <!-- 闂嵎棰勮 --> <div v-if="Editprogress == 3"> - <el-form - :model="ruleForm" - :rules="rules" - ref="ruleForm" - label-width="100px" - class="demo-ruleForm" + <div class="preview-left"> + <!-- 鍗曢�� --> + <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div class="dev-text"> + {{ item.idd }}銆乕鍗曢�塢<span>{{ item.wssd }}</span> + </div> + <div class="dev-xx"> + <el-radio-group v-model="radio"> + <el-radio + v-for="(items, index) in item.sdadd" + :key="index" + :label="index" + >{{ items }}</el-radio + > + </el-radio-group> + </div> + </div> + <!-- 澶氶�� --> + <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div class="dev-text"> + {{ item.idd }}銆乕澶氶�塢<span>{{ item.wssd }}</span> + </div> + <div class="dev-xx"> + <el-checkbox-group v-model="radios"> + <el-checkbox + v-for="(items, index) in item.sdadd" + :key="index" + :label="index" + > + {{ items }} + </el-checkbox> + </el-checkbox-group> + </div> + </div> + <!-- 濉┖ --> + <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div class="dev-text"> + {{ item.idd }}銆乕濉┖]<span>{{ item.wssd }}</span> + </div> + <div class="dev-xx"> + <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> + </el-input> + </div> + </div> + </div> + <el-button type="success" @click="submitForm('ruleForm')" + >涓嬩竴姝�</el-button > - <el-form-item label="娲诲姩鍚嶇О" prop="name"> - <el-input v-model="ruleForm.name"></el-input> - </el-form-item> - <el-form-item label="娲诲姩鍖哄煙" prop="region"> - <el-select v-model="ruleForm.region" placeholder="璇烽�夋嫨娲诲姩鍖哄煙"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option label="鍖哄煙浜�" value="beijing"></el-option> - </el-select> - </el-form-item> - <el-form-item label="娲诲姩鏃堕棿" required> - <el-col :span="11"> - <el-form-item prop="date1"> - <el-date-picker - type="date" - placeholder="閫夋嫨鏃ユ湡" - v-model="ruleForm.date1" - style="width: 100%" - ></el-date-picker> - </el-form-item> - </el-col> - <el-col class="line" :span="2">-</el-col> - <el-col :span="11"> - <el-form-item prop="date2"> - <el-time-picker - placeholder="閫夋嫨鏃堕棿" - v-model="ruleForm.date2" - style="width: 100%" - ></el-time-picker> - </el-form-item> - </el-col> - </el-form-item> - <el-form-item label="鍗虫椂閰嶉��" prop="delivery"> - <el-switch v-model="ruleForm.delivery"></el-switch> - </el-form-item> - <el-form-item label="娲诲姩鎬ц川" prop="type"> - <el-checkbox-group v-model="ruleForm.type"> - <el-checkbox label="缇庨/椁愬巺绾夸笂娲诲姩" name="type"></el-checkbox> - <el-checkbox label="鍦版帹娲诲姩" name="type"></el-checkbox> - <el-checkbox label="绾夸笅涓婚娲诲姩" name="type"></el-checkbox> - <el-checkbox label="鍗曠函鍝佺墝鏇濆厜" name="type"></el-checkbox> - </el-checkbox-group> - </el-form-item> - <el-form-item label="鐗规畩璧勬簮" prop="resource"> - <el-radio-group v-model="ruleForm.resource"> - <el-radio label="绾夸笂鍝佺墝鍟嗚禐鍔�"></el-radio> - <el-radio label="绾夸笅鍦哄湴鍏嶈垂"></el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="娲诲姩褰㈠紡" prop="desc"> - <el-input type="textarea" v-model="ruleForm.desc"></el-input> - </el-form-item> - <el-form-item> - <el-button type="success" @click="submitForm('ruleForm')" - >涓嬩竴姝�</el-button - > - <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> - </el-form-item> - </el-form> + <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> + <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> --> </div> <div v-if="Editprogress == 4"> <el-form @@ -250,11 +237,56 @@ </div> </div> <el-drawer - title="鎴戞槸鏍囬" + title="闂嵎棰勮" :visible.sync="drawer" - :before-close="handleClose" + custom-class="demo-drawer" + width="50%" > - <span>鎴戞潵鍟�!</span> + <div class="preview-left"> + <!-- 鍗曢�� --> + <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div class="dev-text"> + {{ item.idd }}銆乕鍗曢�塢  <span>{{ item.wssd }}</span> + </div> + <div class="dev-xx"> + <el-radio-group v-model="radio"> + <el-radio + v-for="(items, index) in item.sdadd" + :key="index" + :label="index" + >{{ items }}</el-radio + > + </el-radio-group> + </div> + </div> + <!-- 澶氶�� --> + <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div class="dev-text"> + {{ item.idd }}銆乕澶氶�塢  <span>{{ item.wssd }}</span> + </div> + <div class="dev-xx"> + <el-checkbox-group v-model="radios"> + <el-checkbox + v-for="(items, index) in item.sdadd" + :key="index" + :label="index" + > + {{ items }} + </el-checkbox> + </el-checkbox-group> + </div> + </div> + <!-- 濉┖ --> + <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div class="dev-text"> + {{ item.idd }}銆乕濉┖]  <span>{{ item.wssd }}</span> + </div> + <div class="dev-xx"> + <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> + </el-input> + </div> + </div> + </div> </el-drawer> </div> </template> @@ -267,6 +299,9 @@ Editprogress: 1, //缂栬緫杩涘害 currentVersion: "1.2.3", //褰撳墠鐗堟湰 drawer: false, //鎺у埗灞曞紑 + radio: "false", //鍗曢�夐閫変腑 + radios: [], //澶氶�夐閫変腑 + radioas: "", //濉┖棰樼瓟妗� ruleForm: { name: "", region: "", @@ -607,6 +642,13 @@ ], }, ], + valssu: [ + { + idd: 1, + wssd: "浣犳渶杩戞�庝箞鏍�", + sdadd: ["sss", "ssccss", "ssaas", "ss"], + }, + ], }; }, @@ -692,6 +734,22 @@ margin: 0 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); + .topic-dev { + margin-bottom: 25px; + font-size: 20px !important; + .dev-text { + margin-bottom: 10px; + } + } +} ::v-deep.el-step.is-vertical .el-step__title { font-size: 25px; } @@ -707,4 +765,21 @@ font-size: 20px; max-width: 888px !important; } +::v-deep.el-radio__inner { + width: 22px; + height: 22px; +} +// ::v-deep.topic-dev.el-radio__label { +// font-size: 24px; +// } +::v-deep.el-radio-group { + span { + font-size: 24px; + } +} +::v-deep.el-checkbox-group { + span { + font-size: 24px; + } +} </style> diff --git a/src/views/knowledge/questionnaire/examine/index.vue b/src/views/knowledge/questionnaire/examine/index.vue index 3e0c8c8..4c840fc 100644 --- a/src/views/knowledge/questionnaire/examine/index.vue +++ b/src/views/knowledge/questionnaire/examine/index.vue @@ -1,21 +1,310 @@ <template> <div class="examineemanagement"> - <div>鏌ョ湅璇︽儏W</div> - <div></div> - <div></div> + <!-- 宸︿晶鏍� --> + + <div class="sidecolumn"> + <div class="sidecolumn-top"> + <div class="top-wj">鍘嗗彶鐗堟湰</div> + <!-- <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div> --> + </div> + <div class="bottom-fl"> + <el-tabs tab-position="right" v-model="activeName"> + <el-tab-pane + class="tab-paness" + :key="index" + v-for="(item, index) in editableTabs" + > + <div class="mulsz" slot="label"> + {{ item.versionsac + }}<span style="margin-left: 30px">{{ + item.startUsing ? "鍚敤" : "绂佺敤" + }}</span> + </div> + </el-tab-pane> + </el-tabs> + </div> + </div> + <!-- 鍙充晶鏁版嵁 --> + + <div class="leftvlue"> + <div v-if="activeName == '0'"> + <div class="examine-top"> + <span>缂栬緫浜猴細{{ basicInformation.name }}</span> + <span>缂栬緫鏃堕棿锛歿{ basicInformation.day }}</span> + <span class="ewmyl">浜岀淮鐮侀瑙�</span> + </div> + <!-- 鍩虹淇℃伅 --> + <div class="examine-jic"> + <div class="headline">鍩虹淇℃伅</div> + <div class="jic-value"> + <div> + 闂嵎鍚嶇О锛歿{ basicInformation.wname + }}<span>閫傜敤鐤剧梾锛歿{ basicInformation.jbname }}</span> + </div> + <div>琛ㄥ崟鎻忚堪锛歿{ basicInformation.miaosname }}</div> + </div> + </div> + <!-- 闂嵎棰勮 --> + <div class="examine-jic"> + <div class="headline">闂嵎棰勮</div> + <div class="jic-value"> + <div> + 闂嵎浠嬬粛锛�<span class="wenjuanjs" + >闈炲父濂介潪甯稿ソ闈炲父濂介潪甯稿ソ闈炲父濂介潪甯稿ソ闈炲父濂介潪甯稿ソ</span + > + </div> + <div> + 闂嵎浠嬬粛锛�<span class="wenjuanjs" + >闈炲父濂介潪甯稿ソ闈炲父濂介潪甯稿ソ闈炲父濂介潪甯稿ソ</span + > + </div> + </div> + <div class="preview-left"> + <!-- 鍗曢�� --> + <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div class="dev-text"> + {{ item.idd }}銆乕鍗曢�塢  <span>{{ item.wssd }}</span> + </div> + <div class="dev-xx"> + <el-radio-group v-model="radio"> + <el-radio + v-for="(items, index) in item.sdadd" + :key="index" + :label="index" + >{{ items }}</el-radio + > + </el-radio-group> + </div> + </div> + <!-- 澶氶�� --> + <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div class="dev-text"> + {{ item.idd }}銆乕澶氶�塢  <span>{{ item.wssd }}</span> + </div> + <div class="dev-xx"> + <el-checkbox-group v-model="radios"> + <el-checkbox + v-for="(items, index) in item.sdadd" + :key="index" + :label="index" + > + {{ items }} + </el-checkbox> + </el-checkbox-group> + </div> + </div> + <!-- 濉┖ --> + <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <div class="dev-text"> + {{ item.idd }}銆乕濉┖]  <span>{{ item.wssd }}</span> + </div> + <div class="dev-xx"> + <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> + </el-input> + </div> + </div> + </div> + </div> + <div class="examine-jieg"> + <div class="headline">缁撴灉鍙嶉</div> + <div></div> + <div></div> + </div> + </div> + <div v-else-if="activeName == '1'">bbb</div> + <div v-else-if="activeName == '2'">ccc</div> + </div> </div> </template> <script> export default { data() { - return {}; + return { + activeName: "0", + radios: [], //澶氶�夐閫変腑 + + basicInformation: { + name: "鑰佸惔", + day: "2023骞�12鏈�11鏃�16鏃�12鍒�11绉�", + wname: "澶уぇ澶�", + jbname: "灏忓皬灏�", + miaosname: "闈炲父濂藉ぇ澶уぇ", + }, + valssu: [ + { + idd: 1, + wssd: "浣犳渶杩戞�庝箞鏍�", + sdadd: ["sss", "ssccss", "ssaas", "ss"], + }, + ], + editableTabs: [ + { + versionsac: "1.0.3", + startUsing: true, + }, + { + versionsac: "1.0.2", + startUsing: false, + }, + { + versionsac: "1.0.1", + startUsing: false, + }, + ], + }; }, created() {}, - methods: {}, + methods: { + handleClick() {}, + }, }; </script> -<style lang="scss" scoped></style> +<style lang="scss" scoped> +.examineemanagement { + display: flex; + .sidecolumn { + width: 300px; + min-height: 100vh; + text-align: center; + // display: flex; + margin-top: 20px; + 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); + .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; + } + } + .leftvlue { + 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; + span { + margin-left: 30px; + } + } + .examine-top { + font-size: 20px; + margin-bottom: 40px; + span { + margin-right: 30px; + } + .ewmyl { + color: rgb(0, 81, 255); + cursor: pointer; + } + } + .examine-jic { + .headline { + font-size: 28px; + border-left: 8px solid #41a1be; + padding-left: 5px; + margin-bottom: 15px; + } + .jic-value { + font-size: 20px; + border-top: 1px solid #a7abac; + padding: 20px; + div { + margin-bottom: 15px; + span { + margin-left: 180px; + } + } + .wenjuanjs { + margin-left: 15px; + padding-bottom: 5px; + border-bottom: 1px solid #a7abac; + } + } + .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); + .topic-dev { + margin-bottom: 25px; + font-size: 20px !important; + .dev-text { + margin-bottom: 10px; + } + } + } + } + .examine-jieg { + .headline { + font-size: 28px; + padding-left: 5px; + border-left: 8px solid #41a1be; + // border-bottom: 1px solid #41a1be; + margin-bottom: 15px; + } + } + } +} +::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; +} +::v-deep.el-radio-group { + span { + font-size: 24px; + } +} +::v-deep.el-checkbox-group { + span { + font-size: 24px; + } +} +</style> diff --git a/src/views/knowledge/questionnaire/index.vue b/src/views/knowledge/questionnaire/index.vue index 1fac129..824de78 100644 --- a/src/views/knowledge/questionnaire/index.vue +++ b/src/views/knowledge/questionnaire/index.vue @@ -105,18 +105,7 @@ >鏂板</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" @@ -202,30 +191,39 @@ <el-button size="medium" type="text" - @click="$router.push('/patient/patient/profile/')" + @click="goQRCode(scope.row)" v-hasPermi="['system:user:edit']" - > <span class="button-text"><i class="el-icon-edit"></i>浜岀淮鐮�</span></el-button + > + <span class="button-text" + ><i class="el-icon-edit"></i>浜岀淮鐮�</span + ></el-button > <el-button size="medium" type="text" @click="ViewQuestionnaire(scope.row)" v-hasPermi="['system:user:edit']" - ><span class="button-textck"><i class="el-icon-edit"></i>鏌ョ湅</span></el-button + ><span class="button-textck" + ><i class="el-icon-edit"></i>鏌ョ湅</span + ></el-button > <el-button size="medium" type="text" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']" - ><span class="button-textxg"><i class="el-icon-edit"></i>淇敼</span></el-button + ><span class="button-textxg" + ><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-edit"></i>鍒犻櫎</span></el-button + ><span class="button-textsc" + ><i class="el-icon-edit"></i>鍒犻櫎</span + ></el-button > </template> </el-table-column> @@ -346,7 +344,7 @@ </div> </div> <!-- 娣诲姞绫诲埆寮规 --> - <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible"> + <el-dialog width="30%" :visible.sync="dialogFormVisible"> <el-form :model="sidecolumnform"> <el-form-item label="璇疯緭鍏ョ被鍒悕绉�"> <el-input v-model="form.name" autocomplete="off"></el-input> @@ -355,6 +353,15 @@ <div slot="footer" class="dialog-footer"> <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button> + </div> + </el-dialog> + <!-- 浜岀淮鐮佸睍绀哄脊妗� --> + <el-dialog width="30%" :visible.sync="goQRCodeVisible"> + <div class="qrcode-dialo"> + <div class="qrcode-text"> + {{ namequestionnaire }}<span>{{ haoquestionnaire }}</span> + </div> + <div class="qrcode-img"></div> </div> </el-dialog> </div> @@ -390,6 +397,8 @@ showSearch: true, // 鎬绘潯鏁� total: 0, + namequestionnaire: "", + haoquestionnaire: "", // 鐢ㄦ埛琛ㄦ牸鏁版嵁 userList: [ { @@ -417,6 +426,7 @@ numberlbs: 2, sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 dialogFormVisible: false, //娣诲姞绫诲埆寮规 + goQRCodeVisible: false, //浜岀淮鐮佸脊妗� sidecolumnval: "", //绫诲埆鎼滅储 propss: { multiple: true }, optionss: [ @@ -561,6 +571,11 @@ this.open = false; this.reset(); }, + goQRCode(row) { + this.goQRCodeVisible = true; + this.namequestionnaire = row.userName; + this.haoquestionnaire = row.nickName; + }, // 琛ㄥ崟閲嶇疆 reset() { this.form = { @@ -600,12 +615,8 @@ }, /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { - this.reset(); - getUser().then((response) => { - this.postOptions = response.posts; - this.roleOptions = response.roles; - this.open = true; - this.title = "鏂板鎮h��"; + this.$router.push({ + path: "/knowledge/questionnaire/compilequer/", }); }, /** 淇敼鎸夐挳鎿嶄綔 */ @@ -614,18 +625,6 @@ path: "/knowledge/questionnaire/compilequer/", query: { id: "1" }, }); - // 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.open = true; - // this.title = "淇敼鐢ㄦ埛"; - // this.form.password = ""; - // }); }, // 鏌ョ湅闂嵎 ViewQuestionnaire() { @@ -713,6 +712,26 @@ display: center !important; } } +.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); + .qrcode-text { + font-size: 20px; + span { + margin-left: 20px; + } + } + .qrcode-img { + width: 300px; + height: 400px; + } +} ::v-deep.el-tabs--left, .el-tabs--right { overflow: hidden; @@ -746,16 +765,16 @@ font-size: 20px; } } -.button-text{ - color: rgb(70, 204, 238) +.button-text { + color: rgb(70, 204, 238); } -.button-textck{ - color: rgb(39, 167, 67) +.button-textck { + color: rgb(39, 167, 67); } -.button-textxg{ - color: rgb(35, 81, 233) +.button-textxg { + color: rgb(35, 81, 233); } -.button-textsc{ - color: rgb(235, 23, 23) +.button-textsc { + color: rgb(235, 23, 23); } </style> -- Gitblit v1.9.3