From 26ac0c266ae778635c5497b53d9fb61457db7115 Mon Sep 17 00:00:00 2001 From: heimawl <1785969728@qq.com> Date: 星期四, 15 六月 2023 10:15:02 +0800 Subject: [PATCH] 封装api接口,宣教管理模块搭建 --- src/api/knowledge/questionnaire.js | 11 src/views/knowledge/education/examine/index.vue | 304 +++++++ src/views/system/label/index.vue | 141 -- src/views/patient/patient/index.vue | 3 src/api/knowledge/education.js | 62 + src/api/knowledge/questionbank.js | 11 src/views/knowledge/education/index.vue | 809 ++++++++++++++++++++ src/api/patient/homepage.js | 65 + src/api/system/label.js | 62 + src/views/knowledge/education/compilequer/index.vue | 866 ++++++++++++++++++++++ 10 files changed, 2,215 insertions(+), 119 deletions(-) diff --git a/src/api/knowledge/education.js b/src/api/knowledge/education.js new file mode 100644 index 0000000..077319f --- /dev/null +++ b/src/api/knowledge/education.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' +import { parseStrEmpty } from "@/utils/ruoyi";//澶勭悊瀛楃涓�,und,null杞崲涓�''; + +// 淇敼瀹f暀鍒嗙被 +export function amendtag(data) { + return request({ + url: '/smartor/hecategory', + method: 'put', + data: data + }) +}; +// 鏂板瀹f暀鍒嗙被 +export function addapitag(data) { + return request({ + url: '/smartor/hecategory', + method: 'post', + data: data + }) + }; + +/** + * + * @param {鏍囩id} userId + * 鑾峰彇瀹f暀璇︽儏 + * @returns + */ +export function detailstag(userId) { + return request({ + url: '/smartor/hecategory/'+ userId, + method: 'get', + }) + }; + + + /** + * + * @param {鏍囩id} userId + * 鍒犻櫎鏍囩 + * @returns + */ +export function deletetag(userId) { + return request({ + url: '/smartor/hecategory/' + userId, + method: 'delete', + }) + }; + // 瀵煎嚭鏍囩鍒楄〃 +export function exporttag(data) { + return request({ + url: '/smartor/hecategory/export', + method: 'post', + data: data + }) + }; + // 鏌ヨ鏍囩鍒楄〃 +export function listtag(query) { + return request({ + url: '/smartor/hecategory/list', + method: 'get', + params: query + }) + }; \ No newline at end of file diff --git a/src/api/knowledge/questionbank.js b/src/api/knowledge/questionbank.js new file mode 100644 index 0000000..66c03f7 --- /dev/null +++ b/src/api/knowledge/questionbank.js @@ -0,0 +1,11 @@ +import request from '@/utils/request' +import { parseStrEmpty } from "@/utils/ruoyi";//澶勭悊瀛楃涓�,und,null杞崲涓�''; + +// 鏌ヨ棰樺簱鍒楄〃 +export function listpatient(query) { + return request({ + url: '/smartor/patarchive/list', + method: 'get', + params: query + }) +}; \ No newline at end of file diff --git a/src/api/knowledge/questionnaire.js b/src/api/knowledge/questionnaire.js new file mode 100644 index 0000000..1edcc38 --- /dev/null +++ b/src/api/knowledge/questionnaire.js @@ -0,0 +1,11 @@ +import request from '@/utils/request' +import { parseStrEmpty } from "@/utils/ruoyi";//澶勭悊瀛楃涓�,und,null杞崲涓�''; + +// 鏌ヨ闂嵎鍒楄〃 +export function listpatient(query) { + return request({ + url: '/smartor/patarchive/list', + method: 'get', + params: query + }) +}; \ No newline at end of file diff --git a/src/api/patient/homepage.js b/src/api/patient/homepage.js index 713159b..6f3bf90 100644 --- a/src/api/patient/homepage.js +++ b/src/api/patient/homepage.js @@ -1,5 +1,5 @@ import request from '@/utils/request' -import { parseStrEmpty } from "@/utils/ruoyi"; +import { parseStrEmpty } from "@/utils/ruoyi";//澶勭悊瀛楃涓�,und,null杞崲涓�''; // 鏌ヨ鎮h�呭垪琛� export function listpatient(query) { @@ -8,4 +8,65 @@ method: 'get', params: query }) -} \ No newline at end of file +}; +// 鐢ㄦ埛淇℃伅鏌ヨ鎮h�呭垪琛� +export function messagelistpatient(data) { + return request({ + url: '/smartor/patarchive/patInfoByContion', + method: 'post', + data: data + }) +}; +// 鏍囩鏌ヨ鎮h�呭垪琛� +export function taglistpatient(data) { + return request({ + url: '/smartor/patarchive/patTagByContion', + method: 'post', + data: data + }) +}; +// 淇敼鎮h�呮。妗� +export function alterpatient(data) { + return request({ + url: '/smartor/patarchive', + method: 'put', + data: data + }) +}; +// 鏂板鎮h�� +export function addpatient(data) { + return request({ + url: '/smartor/patarchive', + method: 'post', + data: data + }) +}; +// 鎮h�呰鎯� +export function particularpatient(userId) { + return request({ + url: '/smartor/patarchive/' + userId, + method: 'get', + }) +}; +// 鍒犻櫎鎮h�呭垪琛� +export function deletepatient(userId) { + return request({ + url: '/smartor/patarchive/' + userId, + method: 'delete', + }) +}; + +// 瀵煎嚭鎮h�呴敊璇俊鎭� +export function Exporterrorpatient(userId) { + return request({ + url: '/smartor/patarchive/patTagByContion/'+userId, + method: 'get', + }) +}; +// 瀵煎叆鎮h�呮枃浠跺鐞� +export function toleadpatient(userId) { + return request({ + url: '/smartor/patarchive/patTagByContion/'+userId, + method: 'get', + }) +}; diff --git a/src/api/system/label.js b/src/api/system/label.js new file mode 100644 index 0000000..6e68fc6 --- /dev/null +++ b/src/api/system/label.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' +import { parseStrEmpty } from "@/utils/ruoyi";//澶勭悊瀛楃涓�,und,null杞崲涓�''; + +// 淇敼鏍囩 +export function amendtag(data) { + return request({ + url: '/base/tag', + method: 'put', + data: data + }) +}; +// 鏂板鏍囩 +export function addapitag(data) { + return request({ + url: '/base/tag', + method: 'post', + data: data + }) + }; + +/** + * + * @param {鏍囩id} userId + * 鑾峰彇鏍囩璇︽儏 + * @returns + */ +export function detailstag(userId) { + return request({ + url: '/base/tag/'+ userId, + method: 'get', + }) + }; + + + /** + * + * @param {鏍囩id} userId + * 鍒犻櫎鏍囩 + * @returns + */ +export function deletetag(userId) { + return request({ + url: '/base/tag/' + userId, + method: 'delete', + }) + }; + // 瀵煎嚭鏍囩鍒楄〃 +export function exporttag(data) { + return request({ + url: '/base/tag/export', + method: 'post', + data: data + }) + }; + // 鏌ヨ鏍囩鍒楄〃 +export function listtag(query) { + return request({ + url: '/base/tag/list', + method: 'get', + params: query + }) + }; \ No newline at end of file diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue new file mode 100644 index 0000000..81ced24 --- /dev/null +++ b/src/views/knowledge/education/compilequer/index.vue @@ -0,0 +1,866 @@ +<template> + <div class="Questionnairemanagement"> + <!-- 宸︿晶鏍� --> + <div class="sidecolumn"> + <div style="height: 200px"> + <el-steps direction="vertical" :active="Editprogress"> + <el-step title="鍩虹淇℃伅璁剧疆"></el-step> + <el-step title="瀹f暀鍐呭"></el-step> + </el-steps> + </div> + </div> + <!-- 鍙充晶鏁版嵁 --> + <div class="leftvlue"> + <!-- 鍩烘湰淇℃伅 --> + <div v-if="Editprogress == 1"> + <div class="leftvlue-jbxx"> + 鍩烘湰淇℃伅<span>褰撳墠鐗堟湰:{{ currentVersion }}</span> + </div> + <el-form + :model="ruleForm" + :rules="rules" + ref="ruleForm" + label-width="100px" + class="demo-ruleForm" + > + <el-form-item label="瀹f暀鍚嶇О" prop="name"> + <el-input v-model="ruleForm.name"></el-input> + </el-form-item> + <el-form-item label="瀹f暀褰㈠紡" prop="name"> + <el-select v-model="ruleForm.shape" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in xjxsoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="瀹f暀鍒嗙被" prop="region"> + <el-select + v-model="ruleForm.classify" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option + class="ruleFormaa" + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="閫傜敤鐤剧梾" prop="sickness"> + <el-select + v-model="ruleForm.sickness" + filterable + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in sicknessoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="娲诲姩褰㈠紡" prop="desc"> + <el-input + :rows="4" + type="textarea" + v-model="ruleForm.desc" + maxlength="400" + show-word-limit + ></el-input> + </el-form-item> + <el-form-item> + <el-button type="success" @click="submitForm('ruleForm')" + >涓嬩竴姝�</el-button + > + <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> + </el-form-item> + </el-form> + </div> + <!-- 瀹f暀鍐呭 --> + <div v-if="Editprogress == 2"> + <div class="leftvlue-jbxx">瀹f暀鍐呭</div> + <el-form + :model="ruleForm" + :rules="rules" + ref="ruleForm" + label-width="100px" + class="demo-ruleForm" + > + <el-form-item label="瀹f暀浠嬬粛" prop="desc"> + <el-cascader + class="demo-cascader" + v-model="ruleForm.templatevalue" + :options="asoptions" + :props="{ expandTrigger: 'hover' }" + ></el-cascader> + <el-select v-model="ruleForm.data2" placeholder="鎻愪氦鎻愮ず"> + <el-option + v-for="item in asoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + <div style="display: flex; margin-top: 20px"> + <div class="PreviewTemplate" @click="PreviewTemplate()"> + 棰勮妯$増 + </div> + <el-button type="primary">纭寮曠敤</el-button> + </div> + </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 label="娲诲姩褰㈠紡" prop="desc"> + <el-input type="textarea" v-model="ruleForm.desc"></el-input> + <div class="addtopic"> + <el-select + v-model="addvalue" + @change="changeaddtopic" + class="addtopic-input" + > + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </div> + + <div class="presentation"> + <div class="presentation-left"> + <el-table v-loading="loading" :data="userList"> + <el-table-column + label="搴忓彿" + align="center" + key="userid" + prop="userid" + /> + <el-table-column + label="棰樼洰" + align="center" + key="userName" + prop="userName" + :show-overflow-tooltip="true" + /> + + <el-table-column + label="鎿嶄綔" + align="center" + width="300" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <!-- <el-button + size="medium" + type="text" + @click="goQRCode(scope.row)" + v-hasPermi="['system:user:edit']" + > + <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 + > --> + <el-button + size="medium" + type="text" + @click="handleUpdate(scope.row)" + v-hasPermi="['system:user:edit']" + ><span class="button-textxg" + ><i class="el-icon-scissors"></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"></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" + /> + </div> + <div class="presentation-right"> + <div class="headline">棰樼洰璁剧疆璇︽儏</div> + <div>棰樼洰鏍囬锛�<span>杩欏鏈烘瀯鎬庝箞鏍�</span></div> + <div>鏄惁蹇呯瓟锛�<span>鏄�</span> 鏄惁闅愯棌锛�<span>鍚�</span></div> + <div class="headline">閫夐」璁剧疆</div> + <div> + <p>閫夐」1:<span>鍖荤枟鏈烘瀯</span></p> + <p> + 濉啓鏄庣粏锛�<span>鏃�</span> 寮傚父閫夐」锛�<span>鏃�</span> + 鍒嗗�硷細<span>3</span> + </p> + <p>閫変腑鎻愮ず锛�<span>杩欎釜棰樻湁鐐归毦璇锋敞鎰�</span></p> + <p>閫変腑璺宠浆锛�<span>鏃�</span></p> + </div> + </div> + </div> + </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> + </div> + </div> + </div> +</template> + +<script> +export default { + data() { + return { + sidecolumnrabs: "left", //鏂瑰悜 + Editprogress: 1, //缂栬緫杩涘害 + currentVersion: "1.2.3", //褰撳墠鐗堟湰 + loading: false, // 閬僵灞� + drawer: false, //鎺у埗灞曞紑 + radio: "false", //鍗曢�夐閫変腑 + radios: [], //澶氶�夐閫変腑 + radioas: "", //濉┖棰樼瓟妗� + // 鎬绘潯鏁� + total: 1, + ruleForm: { + name: "", + shape: "", + classify: "", + region: "", + date1: "", + date2: "", + delivery: false, + type: [], + resource: "", + desc: "", + templatevalue: "", + data2: "", + }, + rules: {}, + rulesa: { + name: [ + { required: true, message: "璇疯緭鍏ユ椿鍔ㄥ悕绉�", trigger: "blur" }, + { min: 3, max: 5, message: "闀垮害鍦� 3 鍒� 5 涓瓧绗�", trigger: "blur" }, + ], + region: [ + { required: true, message: "璇烽�夋嫨娲诲姩鍖哄煙", trigger: "change" }, + ], + date1: [ + { + type: "date", + required: true, + message: "璇烽�夋嫨鏃ユ湡", + trigger: "change", + }, + ], + date2: [ + { + type: "date", + required: true, + message: "璇烽�夋嫨鏃堕棿", + trigger: "change", + }, + ], + type: [ + { + type: "array", + required: true, + message: "璇疯嚦灏戦�夋嫨涓�涓椿鍔ㄦ�ц川", + trigger: "change", + }, + ], + resource: [ + { required: true, message: "璇烽�夋嫨娲诲姩璧勬簮", trigger: "change" }, + ], + desc: [{ required: true, message: "璇峰~鍐欐椿鍔ㄥ舰寮�", trigger: "blur" }], + }, + options: [ + { + value: "閫夐」1", + label: "鐤剧梾瀹f暀", + }, + { + value: "閫夐」2", + label: "鍏ラ櫌瀹f暀", + }, + { + value: "閫夐」3", + label: "鎵嬫湳瀹f暀", + }, + { + value: "閫夐」4", + label: "鎶ょ悊瀹f暀", + }, + ], + xjxsoptions: [ + { + value: "閫夐」1", + label: "鍥炬枃", + }, + { + value: "閫夐」2", + label: "瑙嗛", + }, + { + value: "閫夐」3", + label: "闊抽", + }, + ], + sicknessoptions: [ + { + value: 1, + label: "楂樿鍘�", + }, + { + value: 2, + label: "蹇冭剰鐥�", + }, + { + value: 3, + label: "绯栧翱鐥�", + }, + { + value: 4, + label: "鑴婃鐐�", + }, + ], + asoptions: [ + { + value: "zhinan", + label: "鎸囧崡", + children: [ + { + value: "shejiyuanze", + label: "璁捐鍘熷垯", + children: [ + { + value: "yizhi", + label: "涓�鑷�", + }, + { + value: "fankui", + label: "鍙嶉", + }, + { + value: "xiaolv", + label: "鏁堢巼", + }, + { + value: "kekong", + label: "鍙帶", + }, + ], + }, + { + value: "daohang", + label: "瀵艰埅", + children: [ + { + value: "cexiangdaohang", + label: "渚у悜瀵艰埅", + }, + { + value: "dingbudaohang", + label: "椤堕儴瀵艰埅", + }, + ], + }, + ], + }, + { + value: "zujian", + label: "缁勪欢", + children: [ + { + value: "basic", + label: "Basic", + children: [ + { + value: "layout", + label: "Layout 甯冨眬", + }, + { + value: "color", + label: "Color 鑹插僵", + }, + { + value: "typography", + label: "Typography 瀛椾綋", + }, + { + value: "icon", + label: "Icon 鍥炬爣", + }, + { + value: "button", + label: "Button 鎸夐挳", + }, + ], + }, + { + value: "form", + label: "Form", + children: [ + { + value: "radio", + label: "Radio 鍗曢�夋", + }, + { + value: "checkbox", + label: "Checkbox 澶氶�夋", + }, + { + value: "input", + label: "Input 杈撳叆妗�", + }, + { + value: "input-number", + label: "InputNumber 璁℃暟鍣�", + }, + { + value: "select", + label: "Select 閫夋嫨鍣�", + }, + { + value: "cascader", + label: "Cascader 绾ц仈閫夋嫨鍣�", + }, + { + value: "switch", + label: "Switch 寮�鍏�", + }, + { + value: "slider", + label: "Slider 婊戝潡", + }, + { + value: "time-picker", + label: "TimePicker 鏃堕棿閫夋嫨鍣�", + }, + { + value: "date-picker", + label: "DatePicker 鏃ユ湡閫夋嫨鍣�", + }, + { + value: "datetime-picker", + label: "DateTimePicker 鏃ユ湡鏃堕棿閫夋嫨鍣�", + }, + { + value: "upload", + label: "Upload 涓婁紶", + }, + { + value: "rate", + label: "Rate 璇勫垎", + }, + { + value: "form", + label: "Form 琛ㄥ崟", + }, + ], + }, + { + value: "data", + label: "Data", + children: [ + { + value: "table", + label: "Table 琛ㄦ牸", + }, + { + value: "tag", + label: "Tag 鏍囩", + }, + { + value: "progress", + label: "Progress 杩涘害鏉�", + }, + { + value: "tree", + label: "Tree 鏍戝舰鎺т欢", + }, + { + value: "pagination", + label: "Pagination 鍒嗛〉", + }, + { + value: "badge", + label: "Badge 鏍囪", + }, + ], + }, + { + value: "notice", + label: "Notice", + children: [ + { + value: "alert", + label: "Alert 璀﹀憡", + }, + { + value: "loading", + label: "Loading 鍔犺浇", + }, + { + value: "message", + label: "Message 娑堟伅鎻愮ず", + }, + { + value: "message-box", + label: "MessageBox 寮规", + }, + { + value: "notification", + label: "Notification 閫氱煡", + }, + ], + }, + { + value: "navigation", + label: "Navigation", + children: [ + { + value: "menu", + label: "NavMenu 瀵艰埅鑿滃崟", + }, + { + value: "tabs", + label: "Tabs 鏍囩椤�", + }, + { + value: "breadcrumb", + label: "Breadcrumb 闈㈠寘灞�", + }, + { + value: "dropdown", + label: "Dropdown 涓嬫媺鑿滃崟", + }, + { + value: "steps", + label: "Steps 姝ラ鏉�", + }, + ], + }, + { + value: "others", + label: "Others", + children: [ + { + value: "dialog", + label: "Dialog 瀵硅瘽妗�", + }, + { + value: "tooltip", + label: "Tooltip 鏂囧瓧鎻愮ず", + }, + { + value: "popover", + label: "Popover 寮瑰嚭妗�", + }, + { + value: "card", + label: "Card 鍗$墖", + }, + { + value: "carousel", + label: "Carousel 璧伴┈鐏�", + }, + { + value: "collapse", + label: "Collapse 鎶樺彔闈㈡澘", + }, + ], + }, + ], + }, + { + value: "ziyuan", + label: "璧勬簮", + children: [ + { + value: "axure", + label: "Axure Components", + }, + { + value: "sketch", + label: "Sketch Templates", + }, + { + value: "jiaohu", + label: "缁勪欢浜や簰鏂囨。", + }, + ], + }, + ], + valssu: [ + { + idd: 1, + wssd: "浣犳渶杩戞�庝箞鏍�", + sdadd: ["sss", "ssccss", "ssaas", "ss"], + }, + ], + addvalue: "娣诲姞棰樼洰", + // 棰樼洰琛ㄦ牸鏁版嵁 + userList: [ + { + userid: "1", + userName: "涓�鍙峰鏁�", + }, + { + userid: "2", + userName: "浜屽彿瀹f暀", + }, + { + userid: "3", + userName: "涓夊彿瀹f暀", + }, + { + userid: "4", + userName: "鍥涘彿瀹f暀", + }, + ], + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + userName: undefined, + phonenumber: undefined, + status: undefined, + deptId: undefined, + IDnumber: undefined, + }, + }; + }, + + created() {}, + + methods: { + submitForm(formName) { + if (this.Editprogress <= 3) { + return this.Editprogress++; + } + this.rules = this.rulesa; + // 鎻愪氦 + this.$refs[formName].validate((valid) => { + if (valid) { + alert("submit!"); + } else { + console.log("error submit!!"); + return false; + } + }); + }, + /** 鏌ヨ棰樼洰鍒楄〃 */ + getList() { + // this.loading = true; + listUser().then((response) => { + console.log(response); + // this.userList = response.data; + // this.total = response.total; + // this.loading = false; + console.log(this.userList); + }); + // const { rows } = await listUser(); + // console.log(rows); + // this.list = rows; + }, + changeaddtopic(val) { + console.log(11); + console.log(val); + this.addvalue = "娣诲姞棰樼洰"; + }, + // 棰勮妯$増 + PreviewTemplate() { + this.drawer = true; + }, + laststep() { + this.Editprogress--; + }, + resetForm(formName) { + this.$refs[formName].resetFields(); + }, + }, +}; +</script> + +<style lang="scss" scoped> +.Questionnairemanagement { + display: flex; +} +.sidecolumn { + width: 300px; + min-height: 100vh; + text-align: center; + // display: flex; + // margin-top: 20px; + margin: 20px; + margin-bottom: 0; + 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); +} +.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; + } + .leftvlue-jbxx { + margin-bottom: 50px; + font-size: 20px; + span { + position: absolute; + right: 80px; + } + } + .demo-cascader { + margin-right: 20px; + } + .PreviewTemplate { + color: #02a7f0; + cursor: pointer; + font-size: 20px; + 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; + } + } +} +.addtopic { + margin-top: 30px; +} +.presentation { + margin: 20px 0; + display: flex; + .presentation-left { + width: 50%; + height: 500px; + .button-textxg { + color: #024df0; + } + .button-textsc { + color: #f52727; + } + } + .presentation-right { + width: 50%; + height: 500px; + padding: 20px; + font-size: 18px; + border: 1px solid #909091; + span { + padding: 0 35px; + margin-right: 10px; + border-bottom: 1px solid #909091; + } + .headline { + font-size: 20px; + border-left: 3px solid #41a1be; + padding-left: 5px; + margin: 15px 0; + } + } +} +::v-deep .addtopic-input { + input { + background: #02a7f0; + color: #edf1f7; + width: 150px; + } +} +::v-deep.el-step.is-vertical .el-step__title { + font-size: 25px; +} +::v-deep.el-input--medium { + font-size: 24px !important; +} +::v-deep.ruleFormaa.el-select { + display: inline-block; + position: relative; + width: 700px; +} +.el-select__tags { + 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; + } +} +// ::v-deep.el-form-item--medium .el-form-item__content { +// line-height: 36px; +// display: flex; +// } +</style> diff --git a/src/views/knowledge/education/examine/index.vue b/src/views/knowledge/education/examine/index.vue new file mode 100644 index 0000000..4813531 --- /dev/null +++ b/src/views/knowledge/education/examine/index.vue @@ -0,0 +1,304 @@ +<template> + <div class="examineemanagement"> + <!-- 宸︿晶鏍� --> + + <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> + 瀹f暀鍚嶇О锛歿{ basicInformation.wname + }}<span>閫傜敤鐤剧梾锛歿{ basicInformation.jbname }}</span> + </div> + <div> + 瀹f暀褰㈠紡锛歿{ basicInformation.wname + }}<span>閫傜敤鍒嗙被锛歿{ basicInformation.jbname }}</span> + </div> + <div>琛ㄥ崟鎻忚堪锛歿{ basicInformation.miaosname }}</div> + </div> + </div> + <!-- 瀹f暀棰勮 --> + <div class="examine-jic"> + <div class="headline">瀹f暀鍐呭</div> + <div class="jic-value"> + <div> + 瀹f暀浠嬬粛锛�<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> + <div v-else-if="activeName == '1'">bbb</div> + <div v-else-if="activeName == '2'">ccc</div> + </div> + </div> +</template> + +<script> +export default { + data() { + 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: { + handleClick() {}, + }, +}; +</script> + +<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 #42b983; + 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/education/index.vue b/src/views/knowledge/education/index.vue index 3dc5259..c837000 100644 --- a/src/views/knowledge/education/index.vue +++ b/src/views/knowledge/education/index.vue @@ -1,17 +1,816 @@ <template> - <div>瀹f暀绠$悊</div> + <div class="educationmanagement"> + <!-- 宸︿晶鏍� --> + <div class="sidecolumn"> + <div class="sidecolumn-top"> + <div class="top-wj">瀹f暀绫诲瀷</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-button + @click="sidecolumnss" + slot="append" + icon="el-icon-search" + ></el-button> + </el-input> + </div> + <div class="bottom-fl"> + <el-tabs tab-position="right"> + <el-tab-pane :label="`鍏ㄩ儴 (${numberlb})`"></el-tab-pane> + <el-tab-pane + class="tab-paness" + :key="item.name" + v-for="(item, index) in editableTabs" + :label="item.title + ' (' + item.number + ')'" + ></el-tab-pane> + + <el-tab-pane :label="`鏈垎缁�(${numberlbs})`"></el-tab-pane> + </el-tabs> + </div> + </div> + <!-- 鍙充晶鏁版嵁 --> + <div class="leftvlue"> + <div class="leftvlue-top"> + <el-tabs v-model="topactiveName" @tab-click="tophandleClick"> + <el-tab-pane name="Local"> + <span class="mulsz" slot="label">鏈湴瀹f暀搴� </span> + </el-tab-pane> + <el-tab-pane name="sharing"> + <span class="mulsz" slot="label">鍏变韩瀹f暀搴� </span> + </el-tab-pane> + </el-tabs> + </div> + <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-form-item label="瀹f暀鍚嶇О" 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="sickness"> + <el-cascader + v-model="queryParams.sickness" + :options="optionss" + :props="propss" + clearable + ></el-cascader> + </el-form-item> + <el-form-item label="瀹f暀褰㈠紡" prop="shape"> + <el-select + v-model="queryParams.shapevalue" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in xjxsoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="瀹f暀鍒嗙被" prop="classify"> + <el-select + v-model="queryParams.classifyvalue" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="(item, index) in editableTabs" + :key="index++" + :label="item.title" + :value="index++" + > + </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"> + <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="danger" + plain + icon="el-icon-delete" + size="medium" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:user:remove']" + >鍒犻櫎</el-button + > + </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" + border="true" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="50" align="center" /> + <el-table-column + label="搴忓彿" + align="center" + key="userid" + prop="userid" + /> + <el-table-column + label="瀹f暀鍚嶇О" + align="center" + key="userName" + prop="userName" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鐗堟湰" + align="center" + key="nickName" + prop="nickName" + :show-overflow-tooltip="true" + /> + + <el-table-column + label="閫傜敤鐤剧梾" + align="center" + key="aphonenumber" + prop="aphonenumber" + width="120" + /><el-table-column + label="瀹f暀鎻忚堪" + align="center" + key="bphonenumber" + prop="bphonenumber" + width="120" + /> + <el-table-column + label="鏈�杩戠紪杈�" + align="center" + key="cphonenumber" + prop="cphonenumber" + width="120" + /> + + <el-table-column + label="鎿嶄綔" + align="center" + width="300" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button + size="medium" + type="text" + @click="goQRCode(scope.row)" + v-hasPermi="['system:user:edit']" + > + <span class="button-text" + ><i class="el-icon-edit"></i>浜岀淮鐮�</span + ></el-button + > + <el-button + size="medium" + type="text" + @click="Vieweducation(scope.row)" + v-hasPermi="['system:user:edit']" + ><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 + > + <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 + > + </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-cascader + :options="optionss" + :props="propss" + clearable + ></el-cascader> + </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> + </div> + </div> + <!-- 娣诲姞绫诲埆寮规 --> + <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> + </el-form-item> + </el-form> + <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"> + {{ nameeducation }}<span>{{ haoeducation }}</span> + </div> + <div class="qrcode-img"></div> + </div> + </el-dialog> + </div> </template> <script> +import { + listUser, + getUser, + delUser, + addUser, + updateUser, +} 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: "education", + dicts: ["sys_normal_disable", "sys_user_sex"], + components: { Treeselect }, data() { - return {}; + return { + topactiveName: "Local", //椤堕儴閫夋嫨 + // 閬僵灞� + loading: false, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + nameeducation: "", + haoeducation: "", + // 鐢ㄦ埛琛ㄦ牸鏁版嵁 + userList: [ + { + userid: 1, + userName: "涓夊彿瀹f暀", + nickName: "1.2.4", + + aphonenumber: "鍏宠妭鐐庣棁", + bphonenumber: "寰堟", + cphonenumber: "2022-12-12", + }, + ], + // 寮瑰嚭灞傛爣棰� + title: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 鏃ユ湡鑼冨洿 + dateRange: [], + // 宀椾綅閫夐」 + postOptions: [], + // 瑙掕壊閫夐」 + roleOptions: [], + // 琛ㄥ崟鍙傛暟 + form: {}, + numberlb: 22, + numberlbs: 2, + sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 + dialogFormVisible: false, //娣诲姞绫诲埆寮规 + goQRCodeVisible: false, //浜岀淮鐮佸脊妗� + sidecolumnval: "", //绫诲埆鎼滅储 + propss: { multiple: true }, + optionss: [ + { + value: 1, + label: "涓滃崡", + }, + { + value: 2, + label: "瑗垮寳", + }, + { + value: 3, + label: "浠ㄤ花浠�", + }, + { + value: 4, + label: "鍏椋掗", + }, + ], + xjxsoptions: [ + { + value: 1, + label: "瑙嗛", + }, + { + value: 2, + label: "璁插骇", + }, + { + value: 3, + label: "璇煶", + }, + ], + //绫诲埆鍒楄〃 + editableTabs: [ + { + title: "瀹f暀鍒嗙被涓�", + number: "1", + }, + { + title: "瀹f暀鍒嗙被浜�", + number: "2", + }, + { + title: "瀹f暀鍒嗙被涓�", + number: "2", + }, + { + title: "瀹f暀鍒嗙被鍥�", + number: "2", + }, + { + title: "瀹f暀鍒嗙被浜�", + number: "2", + }, + ], + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + sickness: "", + classifyvalue: "", + shapevalue: "", + userName: 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: {}, + created() { + this.getList(); }, - created() {}, + methods: { + /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ + getList() { + // this.loading = true; + listUser().then((response) => { + console.log(response); + // this.userList = response.data; + // this.total = response.total; + // this.loading = false; + console.log(this.userList); + }); + // const { rows } = await listUser(); + // console.log(rows); + // this.list = rows; + }, + // 娣诲姞绫诲埆 + submitsidecolumn() { + this.dialogFormVisible = false; + }, + //鎼滅储绫诲埆 + sidecolumnss() {}, + // 鍒囨崲鍏变韩/鏈湴 + tophandleClick() {}, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + goQRCode(row) { + this.goQRCodeVisible = true; + this.nameeducation = row.userName; + this.haoeducation = row.nickName; + }, + // 琛ㄥ崟閲嶇疆 + 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; + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.$router.push({ + path: "/knowledge/education/compilequer/", + }); + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.$router.push({ + path: "/knowledge/education/compilequer/", + query: { id: "1" }, + }); + }, + // 鏌ョ湅瀹f暀 + Vieweducation() { + this.$router.push({ + path: "/knowledge/education/examine/", + query: { id: "1" }, + }); + }, - methods: {}, + /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */ + 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(() => {}); + }, + }, }; </script> -<style lang="scss" scoped></style> +<style lang="scss" scoped> +.educationmanagement { + 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; + } +} +.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; + 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; + } +} +.button-text { + color: rgb(70, 204, 238); +} +.button-textck { + color: rgb(39, 167, 67); +} +.button-textxg { + color: rgb(35, 81, 233); +} +.button-textsc { + color: rgb(235, 23, 23); +} +</style> diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue index 29c10a1..487ba90 100644 --- a/src/views/patient/patient/index.vue +++ b/src/views/patient/patient/index.vue @@ -622,6 +622,7 @@ // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, + name: "鐜嬪ぇ", pageSize: 10, userName: undefined, phonenumber: undefined, @@ -890,7 +891,7 @@ /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { this.download( - "system/user/export", + "smartor/patarchive/export", { ...this.queryParams, }, diff --git a/src/views/system/label/index.vue b/src/views/system/label/index.vue index 4204ac5..a5f3a42 100644 --- a/src/views/system/label/index.vue +++ b/src/views/system/label/index.vue @@ -171,9 +171,7 @@ > <template slot-scope="scope"> <el-switch - v-model="scope.row.status" - active-value="0" - inactive-value="1" + v-model="scope.row.delivery" @change="handleStatusChange(scope.row)" ></el-switch> </template> @@ -217,109 +215,6 @@ /> </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-cascader - :options="optionss" - :props="propss" - clearable - ></el-cascader> - </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> </div> </div> <!-- 娣诲姞绫诲埆寮规 --> @@ -332,7 +227,10 @@ <el-form-item :label="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'" > - <el-input v-model="form.name" autocomplete="off"></el-input> + <el-input + v-model="sidecolumnform.classesname" + autocomplete="off" + ></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> @@ -418,18 +316,20 @@ scavisible: false, //鍒犻櫎寮规 deleteVisible: false, //鍒嗙被鍒犻櫎寮规 deletefenl: "楂樿鍘�", //鍒犻櫎椤� + //淇敼娣诲姞鏍囩寮规鏁版嵁 tagform: { delivery: "", name: "", desc: "", }, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 + // 鏍囩琛ㄦ牸鏁版嵁 userList: [ { - userid: 1, + userId: 1, userName: "涓夊彿", nickName: "1.2.4", aphonenumber: "鍏宠妭鐐庣棁", + delivery: true, aphonenumbers: "", bphonenumber: "寰堟", cphonenumber: "2022-12-12 ", @@ -449,7 +349,9 @@ form: {}, numberlb: 22, numberlbs: 2, - sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 + sidecolumnform: { + classesname: "", + }, //娣诲姞绫诲埆琛ㄥ崟 dialogFormVisible: false, //娣诲姞銆佷慨鏀圭被鍒脊妗� lstamendtagVisible: false, //娣诲姞銆佷慨鏀规爣绛惧脊妗� goQRCodeVisible: false, //浜岀淮鐮佸脊妗� @@ -583,6 +485,11 @@ // 娣诲姞绫诲埆 submitsidecolumn() { this.dialogFormVisible = false; + this.tagform = { + delivery: "", + name: "", + desc: "", + }; }, // 淇敼寮规 popoveramend() { @@ -652,8 +559,14 @@ }, /** 淇敼鏍囩 */ handleUpdate(row) { + console.log(row, "淇敼鏍囩"); this.lstamendtagVisible = true; this.lstamendtag = true; + this.tagform = { + delivery: row.delivery, + name: row.userName, + desc: row.bphonenumber, + }; }, // 鏌ョ湅闂嵎 ViewQuestionnaire() { @@ -685,9 +598,15 @@ }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { + console.log(row, "鍒犻櫎寮圭獥"); const userIds = row.userId || this.ids; + const aphonenumber = row.aphonenumber; this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') + .confirm( + aphonenumber + ? '鏄惁纭鍒犻櫎鏍囩鍚嶇О涓�"' + aphonenumber + '"鐨勬暟鎹」锛�' + : "鏄惁纭鍒犻櫎閫変腑鐨勬暟鎹」锛�" + ) .then(function () { return delUser(userIds); }) -- Gitblit v1.9.3