Merge branch 'develop' of http://116.62.18.175:6699/r/~yxh/smartor-web into yxh01
|  |  |  | 
|---|
|  |  |  | "@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", | 
|---|
|  |  |  | 
|---|
|  |  |  | "file-saver": "^2.0.5", | 
|---|
|  |  |  | "fuse.js": "6.4.3", | 
|---|
|  |  |  | "highlight.js": "9.18.5", | 
|---|
|  |  |  | "jquery": "^3.7.0", | 
|---|
|  |  |  | "js-beautify": "1.13.0", | 
|---|
|  |  |  | "js-cookie": "3.0.1", | 
|---|
|  |  |  | "jsencrypt": "3.0.0-rc.1", | 
|---|
|  |  |  | "nprogress": "0.2.0", | 
|---|
|  |  |  | "quill": "1.3.7", | 
|---|
|  |  |  | "quill-image-drop-module": "^1.0.3", | 
|---|
|  |  |  | "quill-image-resize": "^3.0.9", | 
|---|
|  |  |  | "quill-image-resize-module": "^3.0.0", | 
|---|
|  |  |  | "screenfull": "5.0.2", | 
|---|
|  |  |  | "sortablejs": "1.10.2", | 
|---|
|  |  |  | "vue": "2.6.12", | 
|---|
|  |  |  | 
|---|
|  |  |  | "vue-count-to": "1.0.13", | 
|---|
|  |  |  | "vue-cropper": "0.5.5", | 
|---|
|  |  |  | "vue-meta": "2.4.0", | 
|---|
|  |  |  | "vue-quill-editor": "^3.0.6", | 
|---|
|  |  |  | "vue-router": "3.4.9", | 
|---|
|  |  |  | "vuedraggable": "2.24.3", | 
|---|
|  |  |  | "vuex": "3.6.0", | 
|---|
|  |  |  | 
|---|
|  |  |  | data: data | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | // æ ç¾æ¥è¯¢æ£è
å表 | 
|---|
|  |  |  | export function taglistpatient(data) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/smartor/patarchive/patTagByContion', | 
|---|
|  |  |  | method: 'post', | 
|---|
|  |  |  | data: data | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | // ä¿®æ¹æ£è
æ¡£æ¡ | 
|---|
|  |  |  | export function alterpatient(data) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | 
|---|
|  |  |  | import { parseStrEmpty } from "@/utils/ruoyi";//å¤çå符串,und,null转æ¢ä¸º''; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // ä¿®æ¹æ ç¾ | 
|---|
|  |  |  | export function amendtag(data) { | 
|---|
|  |  |  | export function toamendtag(data) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/base/tag', | 
|---|
|  |  |  | method: 'put', | 
|---|
|  |  |  | data: data | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | // æ ç¾ç¶æä¿®æ¹ | 
|---|
|  |  |  | export function changetagcategory(tagid, isupload) { | 
|---|
|  |  |  | const data = { | 
|---|
|  |  |  | tagid, | 
|---|
|  |  |  | isupload | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/base/tag', | 
|---|
|  |  |  | method: 'put', | 
|---|
|  |  |  | data: data | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // ä¿®æ¹æ ç¾ç±»å« | 
|---|
|  |  |  | export function toamendtagcategory(data) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/system/tagcategory', | 
|---|
|  |  |  | method: 'put', | 
|---|
|  |  |  | data: data | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | 
|---|
|  |  |  | data: data | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | // æ°å¢æ ç¾ç±»å« | 
|---|
|  |  |  | export function addtagcategory(data) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/system/tagcategory', | 
|---|
|  |  |  | method: 'post', | 
|---|
|  |  |  | data: data | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param {æ ç¾id} userId | 
|---|
|  |  |  | * @param {æ ç¾id} tagid | 
|---|
|  |  |  | * è·åæ ç¾è¯¦æ | 
|---|
|  |  |  | * @returns | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | export function detailstag(userId) { | 
|---|
|  |  |  | export function detailstag(tagid) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/base/tag/'+ userId, | 
|---|
|  |  |  | url: '/base/tag/'+ tagid, | 
|---|
|  |  |  | method: 'get', | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param {æ ç¾id} userId | 
|---|
|  |  |  | * @param {æ ç¾id} tagid | 
|---|
|  |  |  | * å é¤æ ç¾ | 
|---|
|  |  |  | * @returns | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | export function deletetag(userId) { | 
|---|
|  |  |  | export function deletetag(tagids) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/base/tag/' + userId, | 
|---|
|  |  |  | url: '/base/tag/' + tagids, | 
|---|
|  |  |  | method: 'delete', | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | // å¯¼åºæ ç¾å表 | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param {æ ç¾id} tagid | 
|---|
|  |  |  | * å é¤æ ç¾åç±» | 
|---|
|  |  |  | * @returns | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | export function deletetagcategory(tagid) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/system/tagcategory/' + tagid, | 
|---|
|  |  |  | method: 'delete', | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param {*} data | 
|---|
|  |  |  | * å¯¼åºæ ç¾å表 | 
|---|
|  |  |  | * @returns | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | export function exporttag(data) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/base/tag/export', | 
|---|
|  |  |  | 
|---|
|  |  |  | data: data | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | // æ¥è¯¢æ ç¾å表 | 
|---|
|  |  |  | export function listtag(query) { | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param {object} | 
|---|
|  |  |  | * æ¥è¯¢æ ç¾å表 | 
|---|
|  |  |  | * @returns | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | export function listtag(data) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/base/tag/list', | 
|---|
|  |  |  | method: 'get', | 
|---|
|  |  |  | params: query | 
|---|
|  |  |  | method: 'post', | 
|---|
|  |  |  | data: data | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @param {name} | 
|---|
|  |  |  | * è·åæ ç¾åç±»å表 | 
|---|
|  |  |  | * @returns | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | export function tagclassifylist(params) { | 
|---|
|  |  |  | return request({ | 
|---|
|  |  |  | url: '/system/tagcategory/baseTagCategoryByName', | 
|---|
|  |  |  | method: 'post', | 
|---|
|  |  |  | params: params, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | 
|---|
|  |  |  | import directive from './directive' // directive | 
|---|
|  |  |  | import plugins from './plugins' // plugins | 
|---|
|  |  |  | import { download } from '@/utils/request' | 
|---|
|  |  |  | //å¼å
¥quill-editorç¼è¾å¨ | 
|---|
|  |  |  | import VueQuillEditor from 'vue-quill-editor' | 
|---|
|  |  |  | // require styles å¼å
¥æ ·å¼ | 
|---|
|  |  |  | import 'quill/dist/quill.core.css' | 
|---|
|  |  |  | import 'quill/dist/quill.snow.css' | 
|---|
|  |  |  | import 'quill/dist/quill.bubble.css' | 
|---|
|  |  |  | Vue.use(VueQuillEditor) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //å®ç°quill-editorç¼è¾å¨ææ½ä¸ä¼ å¾ç | 
|---|
|  |  |  | //  import Quill from 'quill' | 
|---|
|  |  |  | import {Quill} from 'vue-quill-editor' | 
|---|
|  |  |  | window.Quill = Quill; | 
|---|
|  |  |  | import imageResize from 'quill-image-resize' | 
|---|
|  |  |  | //  const scriptEl = document.createElement('script'); | 
|---|
|  |  |  | //     scriptEl.charset = 'utf-8' | 
|---|
|  |  |  | //     scriptEl.src =  './image-resize.min.js' | 
|---|
|  |  |  | //     const head = document.head || document.getElementsByTagName('head')[0]; | 
|---|
|  |  |  | //     head.appendChild(scriptEl); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import { ImageDrop } from 'quill-image-drop-module' | 
|---|
|  |  |  | //  import imageResize from 'quill-image-resize' | 
|---|
|  |  |  | Quill.register('modules/imageDrop', ImageDrop) | 
|---|
|  |  |  | //  import imageResize from 'quill-image-resize-module' | 
|---|
|  |  |  | Quill.register('modules/imageResize', imageResize) | 
|---|
|  |  |  | //å®ç°quill-editorç¼è¾å¨è°æ´å¾ç尺寸 | 
|---|
|  |  |  | //  Quill.register('modules/imageResize', ImageResize) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import './assets/icons' // icon | 
|---|
|  |  |  | import './permission' // permission control | 
|---|
|  |  |  | 
|---|
|  |  |  | Vue.use(VueMeta) | 
|---|
|  |  |  | DictData.install() | 
|---|
|  |  |  | Vue.use(components) | 
|---|
|  |  |  | // Vue.use(VueQuillEditor) | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * If you don't want to use mock-server | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <div class="educationmanagement"> | 
|---|
|  |  |  | <!-- å·¦ä¾§æ  --> | 
|---|
|  |  |  | <div class="sidecolumn"> | 
|---|
|  |  |  | <el-menu | 
|---|
|  |  |  | default-active="2" | 
|---|
|  |  |  | class="el-menu-vertical-demo" | 
|---|
|  |  |  | @open="handleOpen" | 
|---|
|  |  |  | @close="handleClose" | 
|---|
|  |  |  | background-color="#545c64" | 
|---|
|  |  |  | text-color="#fff" | 
|---|
|  |  |  | active-text-color="#ffd04b" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-submenu index="1"> | 
|---|
|  |  |  | <template slot="title"> | 
|---|
|  |  |  | <i class="el-icon-location"></i> | 
|---|
|  |  |  | <span>导èªä¸</span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <el-menu-item-group> | 
|---|
|  |  |  | <template slot="title">åç»ä¸</template> | 
|---|
|  |  |  | <el-menu-item index="1-1">é项1</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="1-2">é项2</el-menu-item> | 
|---|
|  |  |  | </el-menu-item-group> | 
|---|
|  |  |  | <el-menu-item-group title="åç»2"> | 
|---|
|  |  |  | <el-menu-item index="1-3">é项3</el-menu-item> | 
|---|
|  |  |  | </el-menu-item-group> | 
|---|
|  |  |  | <el-submenu index="1-4"> | 
|---|
|  |  |  | <template slot="title">é项4</template> | 
|---|
|  |  |  | <el-menu-item index="1-4-1">é项1</el-menu-item> | 
|---|
|  |  |  | </el-submenu> | 
|---|
|  |  |  | </el-submenu> | 
|---|
|  |  |  | <el-menu-item index="2"> | 
|---|
|  |  |  | <i class="el-icon-menu"></i> | 
|---|
|  |  |  | <span slot="title">导èªäº</span> | 
|---|
|  |  |  | </el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="3" disabled> | 
|---|
|  |  |  | <i class="el-icon-document"></i> | 
|---|
|  |  |  | <span slot="title">导èªä¸</span> | 
|---|
|  |  |  | </el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="4"> | 
|---|
|  |  |  | <i class="el-icon-setting"></i> | 
|---|
|  |  |  | <span slot="title">导èªå</span> | 
|---|
|  |  |  | </el-menu-item> | 
|---|
|  |  |  | </el-menu> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- å³ä¾§æ°æ® --> | 
|---|
|  |  |  | <div class="leftvlue"> | 
|---|
|  |  |  | <div class="leftvalu-top"> | 
|---|
|  |  |  | <el-tabs | 
|---|
|  |  |  | v-model="editableTabsValue" | 
|---|
|  |  |  | type="card" | 
|---|
|  |  |  | editable | 
|---|
|  |  |  | @edit="handleTabsEdit" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-tab-pane | 
|---|
|  |  |  | :key="item.name" | 
|---|
|  |  |  | v-for="(item, index) in editableTabs" | 
|---|
|  |  |  | :label="item.title" | 
|---|
|  |  |  | :name="item.name" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | {{ item.content }} | 
|---|
|  |  |  | </el-tab-pane> | 
|---|
|  |  |  | </el-tabs> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: "education", | 
|---|
|  |  |  |  | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | editableTabsValue: "2", | 
|---|
|  |  |  | editableTabs: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "Tab 1", | 
|---|
|  |  |  | name: "1", | 
|---|
|  |  |  | content: "Tab 1 content", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "Tab 2", | 
|---|
|  |  |  | name: "2", | 
|---|
|  |  |  | content: "Tab 2 content", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | tabIndex: 2, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | handleClose(key, keyPath) { | 
|---|
|  |  |  | console.log(key, keyPath); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | handleOpen(key, keyPath) { | 
|---|
|  |  |  | console.log(key, keyPath); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | handleTabsEdit(targetName, action) { | 
|---|
|  |  |  | if (action === "add") { | 
|---|
|  |  |  | let newTabName = ++this.tabIndex + ""; | 
|---|
|  |  |  | this.editableTabs.push({ | 
|---|
|  |  |  | title: "New Tab", | 
|---|
|  |  |  | name: newTabName, | 
|---|
|  |  |  | content: "New Tab content", | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.editableTabsValue = newTabName; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (action === "remove") { | 
|---|
|  |  |  | let tabs = this.editableTabs; | 
|---|
|  |  |  | let activeName = this.editableTabsValue; | 
|---|
|  |  |  | if (activeName === targetName) { | 
|---|
|  |  |  | tabs.forEach((tab, index) => { | 
|---|
|  |  |  | if (tab.name === targetName) { | 
|---|
|  |  |  | let nextTab = tabs[index + 1] || tabs[index - 1]; | 
|---|
|  |  |  | if (nextTab) { | 
|---|
|  |  |  | activeName = nextTab.name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.editableTabsValue = activeName; | 
|---|
|  |  |  | this.editableTabs = tabs.filter((tab) => tab.name !== targetName); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | .educationmanagement { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .sidecolumn { | 
|---|
|  |  |  | width: 300px; | 
|---|
|  |  |  | min-height: 100vh; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | //   display: flex; | 
|---|
|  |  |  | margin-top: 20px; | 
|---|
|  |  |  | margin: 20px; | 
|---|
|  |  |  | padding: 10px; | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  | 
|---|
|  |  |  | multiple | 
|---|
|  |  |  | filterable | 
|---|
|  |  |  | placeholder="è¯·éæ©åç±»" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | class="ruleFormaa" | 
|---|
|  |  |  | v-for="item in options" | 
|---|
|  |  |  | 
|---|
|  |  |  | <!-- å®£æå
容 --> | 
|---|
|  |  |  | <div v-if="Editprogress == 2"> | 
|---|
|  |  |  | <div class="leftvlue-jbxx">宣æå
容</div> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | :model="ruleForm" | 
|---|
|  |  |  | :rules="rules" | 
|---|
|  |  |  | ref="ruleForm" | 
|---|
|  |  |  | label-width="100px" | 
|---|
|  |  |  | class="demo-ruleForm" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form-item label="宣æä»ç»" 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 | 
|---|
|  |  |  | <div> | 
|---|
|  |  |  | <div> | 
|---|
|  |  |  | <el-button @click="openContent" type="primary">æ¥çå
ç´ </el-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div id="quillEditorQiniu"> | 
|---|
|  |  |  | <!-- åºäºelementUiçä¸ä¼ ç»ä»¶ el-upload begin--> | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | class="avatar-uploader" | 
|---|
|  |  |  | :action="uploadImgUrl" | 
|---|
|  |  |  | :accept="'image/*,video/*'" | 
|---|
|  |  |  | :show-file-list="false" | 
|---|
|  |  |  | :on-success="uploadEditorSuccess" | 
|---|
|  |  |  | :on-error="uploadEditorError" | 
|---|
|  |  |  | :before-upload="beforeEditorUpload" | 
|---|
|  |  |  | :headers="headers" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button type="primary" @click="laststep()">ä¸ä¸æ¥</el-button> | 
|---|
|  |  |  | <el-button @click="resetForm('ruleForm')">éç½®</el-button> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  | <!-- åºäºelementUiçä¸ä¼ ç»ä»¶ el-upload end--> | 
|---|
|  |  |  | <quill-editor | 
|---|
|  |  |  | class="editor" | 
|---|
|  |  |  | v-model="content" | 
|---|
|  |  |  | ref="customQuillEditor" | 
|---|
|  |  |  | :options="editorOption" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </quill-editor> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import { quillEditor } from "vue-quill-editor"; | 
|---|
|  |  |  | // import * as Quill from "quill"; | 
|---|
|  |  |  | import Quill from "quill"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // è¿éå¼å
¥ä¿®æ¹è¿çvideo模å并注å | 
|---|
|  |  |  | import Video from "./video"; | 
|---|
|  |  |  | Quill.register(Video, true); | 
|---|
|  |  |  | //è·åç»å½tokenï¼å¼å
¥æä»¶ï¼å¦æåªæ¯ç®åæµè¯ï¼æ²¡æä¸ä¼ æä»¶æ¯å¦ç»å½çéå¶çè¯ï¼ | 
|---|
|  |  |  | //è¿ä¸ªtokenå¯ä»¥ä¸ç¨è·åï¼æä»¶å¯ä»¥ä¸å¼å
¥ï¼æä¸é¢å¯¹åºçä¸ä¼ æä»¶æºå¸¦è¯·æ±å¤´  :headers="headers" è¿ä¸ªä»£ç å æå³å¯ | 
|---|
|  |  |  | import { getToken } from "@/utils/auth"; | 
|---|
|  |  |  | const toolbarOptions = [ | 
|---|
|  |  |  | ["bold", "italic", "underline", "strike"], // toggled buttons | 
|---|
|  |  |  | ["blockquote", "code-block"], | 
|---|
|  |  |  |  | 
|---|
|  |  |  | [{ header: 1 }, { header: 2 }], // custom button values | 
|---|
|  |  |  | [{ list: "ordered" }, { list: "bullet" }], | 
|---|
|  |  |  | [{ script: "sub" }, { script: "super" }], // superscript/subscript | 
|---|
|  |  |  | [{ indent: "-1" }, { indent: "+1" }], // outdent/indent | 
|---|
|  |  |  | [{ direction: "rtl" }], // text direction | 
|---|
|  |  |  |  | 
|---|
|  |  |  | [{ size: ["small", false, "large", "huge"] }], // custom dropdown | 
|---|
|  |  |  | [{ header: [1, 2, 3, 4, 5, 6, false] }], | 
|---|
|  |  |  |  | 
|---|
|  |  |  | [{ color: [] }, { background: [] }], // dropdown with defaults from theme | 
|---|
|  |  |  | [{ font: [] }], | 
|---|
|  |  |  | [{ align: [] }], | 
|---|
|  |  |  | ["link", "image", "video"], | 
|---|
|  |  |  | ["clean"], // remove formatting button | 
|---|
|  |  |  | ]; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | headers: { | 
|---|
|  |  |  | Authorization: "Bearer " + getToken(), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | uploadImgUrl: "/v1/admin/common/upload", | 
|---|
|  |  |  | uploadUrlPath: "没ææä»¶ä¸ä¼ ", | 
|---|
|  |  |  | quillUpdateImg: false, | 
|---|
|  |  |  | content: "", //æç»ä¿åçå
容 | 
|---|
|  |  |  | editorOption: { | 
|---|
|  |  |  | placeholder: "ä½ æ³è¯´ä»ä¹ï¼", | 
|---|
|  |  |  | modules: { | 
|---|
|  |  |  | imageResize: { | 
|---|
|  |  |  | displayStyles: { | 
|---|
|  |  |  | backgroundColor: "black", | 
|---|
|  |  |  | border: "none", | 
|---|
|  |  |  | color: "white", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | modules: ["Resize", "DisplaySize", "Toolbar"], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | toolbar: { | 
|---|
|  |  |  | container: toolbarOptions, // å·¥å
·æ  | 
|---|
|  |  |  | handlers: { | 
|---|
|  |  |  | image: function (value) { | 
|---|
|  |  |  | if (value) { | 
|---|
|  |  |  | document | 
|---|
|  |  |  | .querySelector("#quillEditorQiniu .avatar-uploader input") | 
|---|
|  |  |  | .click(); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.quill.format("image", false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | video: function (value) { | 
|---|
|  |  |  | if (value) { | 
|---|
|  |  |  | document | 
|---|
|  |  |  | .querySelector("#quillEditorQiniu .avatar-uploader input") | 
|---|
|  |  |  | .click(); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.quill.format("video", false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sidecolumnrabs: "left", //æ¹å | 
|---|
|  |  |  | Editprogress: 1, //ç¼è¾è¿åº¦ | 
|---|
|  |  |  | currentVersion: "1.2.3", //å½åçæ¬ | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | created() {}, | 
|---|
|  |  |  | watch: { | 
|---|
|  |  |  | content(newVal, oldVal) { | 
|---|
|  |  |  | //this.$emit('input', newVal); | 
|---|
|  |  |  | console.log(newVal); | 
|---|
|  |  |  | console.log(oldVal); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | submitForm(formName) { | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | resetForm(formName) { | 
|---|
|  |  |  | this.$refs[formName].resetFields(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //ä¸ä¼ å¾çä¹åasync | 
|---|
|  |  |  | beforeEditorUpload(res, file) { | 
|---|
|  |  |  | //æ¾ç¤ºä¸ä¼ å¨ç» | 
|---|
|  |  |  | this.quillUpdateImg = true; | 
|---|
|  |  |  | //  const res1 = await uploadImage() | 
|---|
|  |  |  | // console.log(res1,'====='); | 
|---|
|  |  |  | // this.$emit('before',res, file) | 
|---|
|  |  |  | console.log(res); | 
|---|
|  |  |  | console.log(file); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // ä¸ä¼ å¾çæå | 
|---|
|  |  |  | uploadEditorSuccess(res, file) { | 
|---|
|  |  |  | console.log("ä¸ä¼ æå"); | 
|---|
|  |  |  | // this.$emit('upload',res, file) | 
|---|
|  |  |  | console.log(res, file); | 
|---|
|  |  |  | //æ¼æ¥åºä¸ä¼ çå¾ç卿å¡å¨ç宿´å°å | 
|---|
|  |  |  | let imgUrl = res.data.url; | 
|---|
|  |  |  | let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1); | 
|---|
|  |  |  | console.log(type); | 
|---|
|  |  |  | // è·å坿æ¬ç»ä»¶å®ä¾ | 
|---|
|  |  |  | let quill = this.$refs.customQuillEditor.quill; | 
|---|
|  |  |  | // è·åå
æ æå¨ä½ç½® | 
|---|
|  |  |  | let length = quill.getSelection().index; | 
|---|
|  |  |  | // æå
¥å¾ç||è§é¢  res.info为æå¡å¨è¿åçå¾çå°å | 
|---|
|  |  |  | if (type == "mp4" || type == "MP4") { | 
|---|
|  |  |  | window.jsValue = imgUrl; | 
|---|
|  |  |  | quill.insertEmbed(length, "video", imgUrl); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | quill.insertEmbed(length, "image", imgUrl); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // è°æ´å
æ å°æå | 
|---|
|  |  |  | quill.setSelection(length + 1); | 
|---|
|  |  |  | //åæ¶ä¸ä¼ å¨ç» | 
|---|
|  |  |  | this.quillUpdateImg = false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // ä¸ä¼ (æä»¶)å¾ç失败 | 
|---|
|  |  |  | uploadEditorError(res, file) { | 
|---|
|  |  |  | console.log(res); | 
|---|
|  |  |  | console.log(file); | 
|---|
|  |  |  | //é¡µé¢æç¤º | 
|---|
|  |  |  | this.$message.error("ä¸ä¼ å¾ç失败"); | 
|---|
|  |  |  | //åæ¶ä¸ä¼ å¨ç» | 
|---|
|  |  |  | this.quillUpdateImg = false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //ä¸ä¼ ç»ä»¶è¿åçç»æ | 
|---|
|  |  |  | uploadResult: function (res) { | 
|---|
|  |  |  | this.uploadUrlPath = res; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | openContent: function () { | 
|---|
|  |  |  | console.log(this.content); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // ::v-deep.el-form-item--medium .el-form-item__content { | 
|---|
|  |  |  | //   line-height: 36px; | 
|---|
|  |  |  | //   display: flex; | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | .editor { | 
|---|
|  |  |  | line-height: normal !important; | 
|---|
|  |  |  | height: 400px; | 
|---|
|  |  |  | margin-bottom: 50px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-tooltip[data-mode="link"]::before { | 
|---|
|  |  |  | content: "请è¾å
¥é¾æ¥å°å:"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-tooltip.ql-editing a.ql-action::after { | 
|---|
|  |  |  | border-right: 0px; | 
|---|
|  |  |  | content: "ä¿å"; | 
|---|
|  |  |  | padding-right: 0px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .ql-snow .ql-tooltip[data-mode="video"]::before { | 
|---|
|  |  |  | content: "请è¾å
¥è§é¢å°å:"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-size .ql-picker-label::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-size .ql-picker-item::before { | 
|---|
|  |  |  | content: "14px"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before { | 
|---|
|  |  |  | content: "10px"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before { | 
|---|
|  |  |  | content: "18px"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before { | 
|---|
|  |  |  | content: "32px"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-label::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-item::before { | 
|---|
|  |  |  | content: "ææ¬"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before { | 
|---|
|  |  |  | content: "æ é¢1"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { | 
|---|
|  |  |  | content: "æ é¢2"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { | 
|---|
|  |  |  | content: "æ é¢3"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { | 
|---|
|  |  |  | content: "æ é¢4"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before { | 
|---|
|  |  |  | content: "æ é¢5"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before { | 
|---|
|  |  |  | content: "æ é¢6"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-font .ql-picker-label::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-font .ql-picker-item::before { | 
|---|
|  |  |  | content: "æ ååä½"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before { | 
|---|
|  |  |  | content: "衬线åä½"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before, | 
|---|
|  |  |  | .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before { | 
|---|
|  |  |  | content: "ç宽åä½"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | import  { Quill }  from 'vue-quill-editor' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // æºç ä¸æ¯importç´æ¥åå
¥ï¼è¿éè¦ç¨Quill.importå¼å
¥ | 
|---|
|  |  |  | const BlockEmbed = Quill.import('blots/block/embed') | 
|---|
|  |  |  | // const Link = Quill.import('formats/link') | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const ATTRIBUTES = ['height', 'width'] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | class Video extends BlockEmbed { | 
|---|
|  |  |  | static create (value) { | 
|---|
|  |  |  | const node = super.create(value) | 
|---|
|  |  |  | // console.log("jsæä»¶"+ window.jsValue) | 
|---|
|  |  |  | // æ·»å videoæ ç¾æéç屿§ | 
|---|
|  |  |  | node.setAttribute('controls', 'controls') // æ§å¶ææ¾å¨ | 
|---|
|  |  |  | //å é¤åçvideoçæ§å¶æ¡çä¸è½½æè
å
¨å±æé®çæ¹æ³ | 
|---|
|  |  |  | //<video controls controlsList='nofullscreen nodownload noremote footbar' ></video> | 
|---|
|  |  |  | //ä¸ç¨åªä¸ªå¨ä¸é¢å ä¸åªä¸ª | 
|---|
|  |  |  | node.setAttribute('controlsList', 'nofullscreen') // æ§å¶å é¤ | 
|---|
|  |  |  | node.setAttribute('type', 'video/mp4') | 
|---|
|  |  |  | node.setAttribute('style', 'object-fit:fill;width: 100%;') | 
|---|
|  |  |  | node.setAttribute('preload', 'auto')    // auto - å½é¡µé¢å è½½åè½½å
¥æ´ä¸ªè§é¢  meta - å½é¡µé¢å è½½ååªè½½å
¥å
æ°æ®  none - å½é¡µé¢å è½½åä¸è½½å
¥è§é¢ | 
|---|
|  |  |  | node.setAttribute('playsinline', 'true') | 
|---|
|  |  |  | node.setAttribute('x-webkit-airplay', 'allow') | 
|---|
|  |  |  | // node.setAttribute('x5-video-player-type', 'h5') // å¯ç¨H5ææ¾å¨,æ¯wechatå®åçç¹æ§ | 
|---|
|  |  |  | node.setAttribute('x5-video-orientation', 'portraint') // ç«å±ææ¾ å£°æäºh5æè½ä½¿ç¨  ææ¾å¨æ¯ä»çæ¹åï¼landscape横å±ï¼portraintç«å±ï¼é»è®¤å¼ä¸ºç«å± | 
|---|
|  |  |  | node.setAttribute('x5-playsinline', 'true') // å
¼å®¹å®å ä¸å
¨å±ææ¾ | 
|---|
|  |  |  | node.setAttribute('x5-video-player-fullscreen', 'true')    // å
¨å±è®¾ç½®ï¼è®¾ç½®ä¸º true æ¯é²æ¢æ¨ªå± | 
|---|
|  |  |  | node.setAttribute('src', window.jsValue) | 
|---|
|  |  |  | return node | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | static formats (domNode) { | 
|---|
|  |  |  | return ATTRIBUTES.reduce((formats, attribute) => { | 
|---|
|  |  |  | if (domNode.hasAttribute(attribute)) { | 
|---|
|  |  |  | formats[attribute] = domNode.getAttribute(attribute) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return formats | 
|---|
|  |  |  | }, {}) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // static sanitize (url) { | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //      // eslint-disable-line import/no-named-as-default-member | 
|---|
|  |  |  | // } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | static value (domNode) { | 
|---|
|  |  |  | return domNode.getAttribute('src') | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | format (name, value) { | 
|---|
|  |  |  | if (ATTRIBUTES.indexOf(name) > -1) { | 
|---|
|  |  |  | if (value) { | 
|---|
|  |  |  | this.domNode.setAttribute(name, value) | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.domNode.removeAttribute(name) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | super.format(name, value) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | html () { | 
|---|
|  |  |  | const { video } = this.value() | 
|---|
|  |  |  | return `<a href="${video}">${video}</a>` | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Video.blotName = 'video' // è¿éä¸ç¨æ¹ï¼æ¥¼ä¸»ä¸ç¨iframeï¼ç´æ¥æ¿æ¢æåæ¥ï¼å¦æéè¦ä¹å¯ä»¥ä¿ç忥çï¼è¿éç¨ä¸ªæ°çblot | 
|---|
|  |  |  | Video.className = 'ql-video' | 
|---|
|  |  |  | Video.tagName = 'video' // ç¨videoæ ç¾æ¿æ¢iframe | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default Video | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-tab-pane :label="`å
¨é¨ (${numberlb})`"></el-tab-pane> | 
|---|
|  |  |  | <el-tab-pane | 
|---|
|  |  |  | class="tab-paness" | 
|---|
|  |  |  | :key="item.name" | 
|---|
|  |  |  | :key="item.title" | 
|---|
|  |  |  | v-for="(item, index) in editableTabs" | 
|---|
|  |  |  | :label="item.title + ' (' + item.number + ')'" | 
|---|
|  |  |  | ></el-tab-pane> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-tab-pane :label="`æªåç»(${numberlbs})`"></el-tab-pane> | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <span slot="label"> | 
|---|
|  |  |  | {{ | 
|---|
|  |  |  | item.title + " (" + item.number + ")" | 
|---|
|  |  |  | }}   <el-popover | 
|---|
|  |  |  | placement="top-start" | 
|---|
|  |  |  | width="100" | 
|---|
|  |  |  | trigger="hover" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div style="text-align: center"> | 
|---|
|  |  |  | <el-button type="text" @click="popoveramend(item)" | 
|---|
|  |  |  | >ä¿®æ¹</el-button | 
|---|
|  |  |  | ><el-button type="text" @click="deletefenlei(item)" | 
|---|
|  |  |  | ><span style="color: rgb(173, 55, 55)" | 
|---|
|  |  |  | >å é¤</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <i slot="reference" class="el-icon-share"></i> </el-popover | 
|---|
|  |  |  | ></span> | 
|---|
|  |  |  | </el-tab-pane> | 
|---|
|  |  |  | </el-tabs> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-table | 
|---|
|  |  |  | v-loading="loading" | 
|---|
|  |  |  | :data="userList" | 
|---|
|  |  |  | border="true" | 
|---|
|  |  |  | border | 
|---|
|  |  |  | @selection-change="handleSelectionChange" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-table-column type="selection" width="50" align="center" /> | 
|---|
|  |  |  | 
|---|
|  |  |  | </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-dialog | 
|---|
|  |  |  | :title="amendtag ? 'ä¿®æ¹ç±»å«' : 'æ°å¢ç±»å«'" | 
|---|
|  |  |  | width="30%" | 
|---|
|  |  |  | :visible.sync="dialogFormVisible" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form :model="classifyform"> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | :label="amendtag ? '请è¾å
¥æ°çç±»å«åç§°' : '请è¾å
¥ç±»å«åç§°'" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="classifyform.categoryname" | 
|---|
|  |  |  | 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 title="è¦å" :visible.sync="deleteVisible" width="40%"> | 
|---|
|  |  |  | <div style="font-size: 20px; color: rgb(247, 76, 76)"> | 
|---|
|  |  |  | æ¯å¦ç¡®è®¤å é¤åç±»ï¼[<span>{{ deletefenl }}</span | 
|---|
|  |  |  | >]? | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div style="font-size: 20px"> | 
|---|
|  |  |  | æ¤æä½ä¼å°è¯¥ç±»å«ä¸æææ¨¡å转移è³[æªåç±»]ï¼æ¯å¦ç»§ç»å é¤æ¤åç±»ï¼ | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <span slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | <el-button @click="deleteVisible = false">å æ¶</el-button> | 
|---|
|  |  |  | <el-button type="primary" @click="deletefenlei">ç¡® å®</el-button> | 
|---|
|  |  |  | </span> | 
|---|
|  |  |  | </el-dialog> | 
|---|
|  |  |  | <!-- äºç»´ç å±ç¤ºå¼¹æ¡ --> | 
|---|
|  |  |  | <el-dialog width="30%" :visible.sync="goQRCodeVisible"> | 
|---|
|  |  |  | 
|---|
|  |  |  | numberlb: 22, | 
|---|
|  |  |  | numberlbs: 2, | 
|---|
|  |  |  | sidecolumnform: {}, //æ·»å ç±»å«è¡¨å | 
|---|
|  |  |  | dialogFormVisible: false, //æ·»å ç±»å«å¼¹æ¡ | 
|---|
|  |  |  | goQRCodeVisible: false, //äºç»´ç å¼¹æ¡ | 
|---|
|  |  |  | sidecolumnval: "", //ç±»å«æç´¢ | 
|---|
|  |  |  | propss: { multiple: true }, | 
|---|
|  |  |  | idds: "", | 
|---|
|  |  |  | amendtag: false, //æ¯å¦ä¿®æ¹ç±»å« | 
|---|
|  |  |  | dialogFormVisible: false, //ä¿®æ¹æ·»å ç±»å«å¼¹æ¡ | 
|---|
|  |  |  | deleteVisible: false, //åç±»å é¤å¼¹æ¡ | 
|---|
|  |  |  | deletefenl: "é«è¡å", //å é¤é¡¹ | 
|---|
|  |  |  | classifyform: { | 
|---|
|  |  |  | categoryname: "", | 
|---|
|  |  |  | }, //ç±»å«è¡¨å | 
|---|
|  |  |  | optionss: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | 
|---|
|  |  |  | submitsidecolumn() { | 
|---|
|  |  |  | this.dialogFormVisible = false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // ä¿®æ¹åç±»å¼¹æ¡ | 
|---|
|  |  |  | popoveramend(tagcategoryid) { | 
|---|
|  |  |  | this.idds = tagcategoryid; | 
|---|
|  |  |  | this.amendtag = true; | 
|---|
|  |  |  | this.dialogFormVisible = true; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ·»å ãä¿®æ¹ç±»å« | 
|---|
|  |  |  | submitsidecolumn() { | 
|---|
|  |  |  | if (this.amendtag) { | 
|---|
|  |  |  | this.classifyform.tagcategoryid = this.idds; | 
|---|
|  |  |  | // toamendtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | //   (response) => { | 
|---|
|  |  |  | //     console.log(response); | 
|---|
|  |  |  | //     this.gitclasify(); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // addtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | //   (response) => { | 
|---|
|  |  |  | //     console.log(response); | 
|---|
|  |  |  | //     this.gitclasify(); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.classifyform = { | 
|---|
|  |  |  | categoryname: "", | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.idds = ""; | 
|---|
|  |  |  | this.dialogFormVisible = false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //å é¤åç±» | 
|---|
|  |  |  | deletefenlei(row) { | 
|---|
|  |  |  | if (this.deleteVisible) { | 
|---|
|  |  |  | // deletetagcategory(this.idds).then((response) => { | 
|---|
|  |  |  | //   console.log(response); | 
|---|
|  |  |  | //   this.gitclasify(); | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | this.deleteVisible = false; | 
|---|
|  |  |  | this.idds = ""; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.deleteVisible = true; | 
|---|
|  |  |  | this.idds = row.tagcategoryid; | 
|---|
|  |  |  | this.deletefenl = row.title; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //æç´¢ç±»å« | 
|---|
|  |  |  | sidecolumnss() {}, | 
|---|
|  |  |  | // åæ¢å
±äº«/æ¬å° | 
|---|
|  |  |  | 
|---|
|  |  |  | <!--ç¨æ·æ°æ®--> | 
|---|
|  |  |  | <el-col :span="24" :xs="24"> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | :model="queryParams" | 
|---|
|  |  |  | :model="topqueryParams" | 
|---|
|  |  |  | ref="queryForm" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | :inline="true" | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <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="æ£è
æ ç¾" 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"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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" | 
|---|
|  |  |  | 
|---|
|  |  |  | 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="æ£è
æ ç¾" | 
|---|
|  |  |  | 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"> | 
|---|
|  |  |  | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="æ´æ°æ¥æ" | 
|---|
|  |  |  | label="æè¿æ´æ°æ¥æ" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="createTime" | 
|---|
|  |  |  | v-if="columns[6].visible" | 
|---|
|  |  |  | width="160" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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="æ£è
æ ç¾"> | 
|---|
|  |  |  | <!-- <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="夿³¨"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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>ä»
å
许导å
¥xlsãxlsxæ ¼å¼æä»¶ã</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="æ£è
æ ç¾"> </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>导å
¥æ£è
æåï¼</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> | 
|---|
|  |  |  | 
|---|
|  |  |  | 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"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | userList: null, | 
|---|
|  |  |  | // å¼¹åºå±æ é¢ | 
|---|
|  |  |  | title: "", | 
|---|
|  |  |  | // é¨é¨æ é项 | 
|---|
|  |  |  | deptOptions: undefined, | 
|---|
|  |  |  | // æ¯å¦æ¾ç¤ºå¼¹åºå± | 
|---|
|  |  |  | open: false, | 
|---|
|  |  |  | // æ¯å¦æ¾ç¤ºä¿®æ¹ãæ·»å å¼¹åºå± | 
|---|
|  |  |  | addalteropen: false, | 
|---|
|  |  |  | // é¨é¨åç§° | 
|---|
|  |  |  | deptName: undefined, | 
|---|
|  |  |  | // é»è®¤å¯ç  | 
|---|
|  |  |  | 
|---|
|  |  |  | 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, //导å
¥æ£è
æ°é | 
|---|
|  |  |  | // æ¥è¯¢åæ° | 
|---|
|  |  |  | queryParams: { | 
|---|
|  |  |  | topqueryParams: { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | jobName: undefined, | 
|---|
|  |  |  | jobGroup: undefined, | 
|---|
|  |  |  | status: undefined, | 
|---|
|  |  |  | userName: undefined, | 
|---|
|  |  |  | tagid: undefined, | 
|---|
|  |  |  | topic: undefined, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | propss: { multiple: true }, | 
|---|
|  |  |  | optionss: [ | 
|---|
|  |  |  | 
|---|
|  |  |  | 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: { | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ¥è¯¢å¯¼å
¥å±ç¤ºå表 | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // åæ¶æé® | 
|---|
|  |  |  | cancel() { | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.addalteropen = false; | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // è¡¨åéç½® | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** æç´¢æé®æä½ */ | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | 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() { | 
|---|
|  |  |  | 
|---|
|  |  |  | getUser().then((response) => { | 
|---|
|  |  |  | this.postOptions = response.posts; | 
|---|
|  |  |  | this.roleOptions = response.roles; | 
|---|
|  |  |  | this.open = true; | 
|---|
|  |  |  | this.title = "æ°å¢æ£è
"; | 
|---|
|  |  |  | this.addalteropen = true; | 
|---|
|  |  |  | this.title = "æ°å¢é¢ç®"; | 
|---|
|  |  |  | this.form.password = this.initPassword; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 = ""; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** åé
è§è²æä½ */ | 
|---|
|  |  |  | handleAuthRole: function (row) { | 
|---|
|  |  |  | const userId = row.userId; | 
|---|
|  |  |  | this.$router.push("/system/user-auth/role/" + userId); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** æäº¤æé® */ | 
|---|
|  |  |  | submitForm: function () { | 
|---|
|  |  |  | this.$refs["form"].validate((valid) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | 
|---|
|  |  |  | -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; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | desc: [{ required: true, message: "è¯·å¡«åæ´»å¨å½¢å¼", trigger: "blur" }], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | options: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "é项1", | 
|---|
|  |  |  | label: "é»éç³", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "é项2", | 
|---|
|  |  |  | label: "åç®å¥¶", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "é项3", | 
|---|
|  |  |  | label: "èµä»ç
", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "é项4", | 
|---|
|  |  |  | label: "é¾é¡»é¢", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "é项5", | 
|---|
|  |  |  | label: "å京ç¤é¸", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // options: [ | 
|---|
|  |  |  | //   { | 
|---|
|  |  |  | //     value: "é项1", | 
|---|
|  |  |  | //     label: "é»éç³", | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   { | 
|---|
|  |  |  | //     value: "é项2", | 
|---|
|  |  |  | //     label: "åç®å¥¶", | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   { | 
|---|
|  |  |  | //     value: "é项3", | 
|---|
|  |  |  | //     label: "èµä»ç
", | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   { | 
|---|
|  |  |  | //     value: "é项4", | 
|---|
|  |  |  | //     label: "é¾é¡»é¢", | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   { | 
|---|
|  |  |  | //     value: "é项5", | 
|---|
|  |  |  | //     label: "å京ç¤é¸", | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | // ], | 
|---|
|  |  |  | options: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "zhinan", | 
|---|
|  |  |  | 
|---|
|  |  |  | sdadd: ["sss", "ssccss", "ssaas", "ss"], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | options: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "é项1", | 
|---|
|  |  |  | label: "åé", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "é项2", | 
|---|
|  |  |  | label: "å¤é", | 
|---|
|  |  |  | disabled: true, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: "é项3", | 
|---|
|  |  |  | label: "填空", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // options: [ | 
|---|
|  |  |  | //   { | 
|---|
|  |  |  | //     value: "é项1", | 
|---|
|  |  |  | //     label: "åé", | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   { | 
|---|
|  |  |  | //     value: "é项2", | 
|---|
|  |  |  | //     label: "å¤é", | 
|---|
|  |  |  | //     disabled: true, | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   { | 
|---|
|  |  |  | //     value: "é项3", | 
|---|
|  |  |  | //     label: "填空", | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | // ], | 
|---|
|  |  |  | addvalue: "æ·»å é¢ç®", | 
|---|
|  |  |  | // é¢ç®è¡¨æ ¼æ°æ® | 
|---|
|  |  |  | userList: [ | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-tab-pane :label="`å
¨é¨ (${numberlb})`"></el-tab-pane> | 
|---|
|  |  |  | <el-tab-pane | 
|---|
|  |  |  | class="tab-paness" | 
|---|
|  |  |  | :key="item.name" | 
|---|
|  |  |  | :key="item.title" | 
|---|
|  |  |  | v-for="(item, index) in editableTabs" | 
|---|
|  |  |  | :label="item.title + ' (' + item.number + ')'" | 
|---|
|  |  |  | ></el-tab-pane> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-tab-pane :label="`æªåç»(${numberlbs})`"></el-tab-pane> | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <span slot="label"> | 
|---|
|  |  |  | {{ | 
|---|
|  |  |  | item.title + " (" + item.number + ")" | 
|---|
|  |  |  | }}   <el-popover | 
|---|
|  |  |  | placement="top-start" | 
|---|
|  |  |  | width="100" | 
|---|
|  |  |  | trigger="hover" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div style="text-align: center"> | 
|---|
|  |  |  | <el-button type="text" @click="popoveramend(item)" | 
|---|
|  |  |  | >ä¿®æ¹</el-button | 
|---|
|  |  |  | ><el-button type="text" @click="deletefenlei(item)" | 
|---|
|  |  |  | ><span style="color: rgb(173, 55, 55)" | 
|---|
|  |  |  | >å é¤</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <i slot="reference" class="el-icon-share"></i> </el-popover | 
|---|
|  |  |  | ></span> | 
|---|
|  |  |  | </el-tab-pane> | 
|---|
|  |  |  | </el-tabs> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | </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-dialog | 
|---|
|  |  |  | :title="amendtag ? 'ä¿®æ¹ç±»å«' : 'æ°å¢ç±»å«'" | 
|---|
|  |  |  | width="30%" | 
|---|
|  |  |  | :visible.sync="dialogFormVisible" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form :model="classifyform"> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | :label="amendtag ? '请è¾å
¥æ°çç±»å«åç§°' : '请è¾å
¥ç±»å«åç§°'" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="classifyform.categoryname" | 
|---|
|  |  |  | 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 title="è¦å" :visible.sync="deleteVisible" width="40%"> | 
|---|
|  |  |  | <div style="font-size: 20px; color: rgb(247, 76, 76)"> | 
|---|
|  |  |  | æ¯å¦ç¡®è®¤å é¤åç±»ï¼[<span>{{ deletefenl }}</span | 
|---|
|  |  |  | >]? | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div style="font-size: 20px"> | 
|---|
|  |  |  | æ¤æä½ä¼å°è¯¥ç±»å«ä¸æææ¨¡å转移è³[æªåç±»]ï¼æ¯å¦ç»§ç»å é¤æ¤åç±»ï¼ | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <span slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | <el-button @click="deleteVisible = false">å æ¶</el-button> | 
|---|
|  |  |  | <el-button type="primary" @click="deletefenlei">ç¡® å®</el-button> | 
|---|
|  |  |  | </span> | 
|---|
|  |  |  | </el-dialog> | 
|---|
|  |  |  | <!-- äºç»´ç å±ç¤ºå¼¹æ¡ --> | 
|---|
|  |  |  | <el-dialog width="30%" :visible.sync="goQRCodeVisible"> | 
|---|
|  |  |  | 
|---|
|  |  |  | numberlb: 22, | 
|---|
|  |  |  | numberlbs: 2, | 
|---|
|  |  |  | sidecolumnform: {}, //æ·»å ç±»å«è¡¨å | 
|---|
|  |  |  | dialogFormVisible: false, //æ·»å ç±»å«å¼¹æ¡ | 
|---|
|  |  |  | goQRCodeVisible: false, //äºç»´ç å¼¹æ¡ | 
|---|
|  |  |  | sidecolumnval: "", //ç±»å«æç´¢ | 
|---|
|  |  |  | propss: { multiple: true }, | 
|---|
|  |  |  | idds: "", | 
|---|
|  |  |  | amendtag: false, //æ¯å¦ä¿®æ¹ç±»å« | 
|---|
|  |  |  | dialogFormVisible: false, //ä¿®æ¹æ·»å ç±»å«å¼¹æ¡ | 
|---|
|  |  |  | deleteVisible: false, //åç±»å é¤å¼¹æ¡ | 
|---|
|  |  |  | deletefenl: "é«è¡å", //å é¤é¡¹ | 
|---|
|  |  |  | classifyform: { | 
|---|
|  |  |  | categoryname: "", | 
|---|
|  |  |  | }, //ç±»å«è¡¨å | 
|---|
|  |  |  | optionss: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | 
|---|
|  |  |  | //   console.log(rows); | 
|---|
|  |  |  | //   this.list = rows; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ·»å ç±»å« | 
|---|
|  |  |  | // æ·»å ãä¿®æ¹ç±»å« | 
|---|
|  |  |  | submitsidecolumn() { | 
|---|
|  |  |  | if (this.amendtag) { | 
|---|
|  |  |  | this.classifyform.tagcategoryid = this.idds; | 
|---|
|  |  |  | // toamendtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | //   (response) => { | 
|---|
|  |  |  | //     console.log(response); | 
|---|
|  |  |  | //     this.gitclasify(); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // addtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | //   (response) => { | 
|---|
|  |  |  | //     console.log(response); | 
|---|
|  |  |  | //     this.gitclasify(); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.classifyform = { | 
|---|
|  |  |  | categoryname: "", | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.idds = ""; | 
|---|
|  |  |  | this.dialogFormVisible = false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //å é¤åç±» | 
|---|
|  |  |  | deletefenlei(row) { | 
|---|
|  |  |  | if (this.deleteVisible) { | 
|---|
|  |  |  | // deletetagcategory(this.idds).then((response) => { | 
|---|
|  |  |  | //   console.log(response); | 
|---|
|  |  |  | //   this.gitclasify(); | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | this.deleteVisible = false; | 
|---|
|  |  |  | this.idds = ""; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.deleteVisible = true; | 
|---|
|  |  |  | this.idds = row.tagcategoryid; | 
|---|
|  |  |  | this.deletefenl = row.title; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //æç´¢ç±»å« | 
|---|
|  |  |  | sidecolumnss() {}, | 
|---|
|  |  |  | // åæ¢å
±äº«/æ¬å° | 
|---|
|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <div class="app-container"> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <!--é¨é¨æ°æ®--> | 
|---|
|  |  |  | <!-- <el-col :span="4" :xs="24"> | 
|---|
|  |  |  | <div class="head-container"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="deptName" | 
|---|
|  |  |  | placeholder="请è¾å
¥é¨é¨åç§°" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | prefix-icon="el-icon-search" | 
|---|
|  |  |  | style="margin-bottom: 20px" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="head-container"> | 
|---|
|  |  |  | <el-tree | 
|---|
|  |  |  | :data="deptOptions" | 
|---|
|  |  |  | :props="defaultProps" | 
|---|
|  |  |  | :expand-on-click-node="false" | 
|---|
|  |  |  | :filter-node-method="filterNode" | 
|---|
|  |  |  | ref="tree" | 
|---|
|  |  |  | node-key="id" | 
|---|
|  |  |  | default-expand-all | 
|---|
|  |  |  | highlight-current | 
|---|
|  |  |  | @node-click="handleNodeClick" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-col> --> | 
|---|
|  |  |  | <!--ç¨æ·æ°æ®--> | 
|---|
|  |  |  | <el-col :span="24" :xs="24"> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | 
|---|
|  |  |  | v-show="showSearch" | 
|---|
|  |  |  | label-width="98px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form-item label="å§å" prop="userName"> | 
|---|
|  |  |  | <el-form-item label="å§å" prop="name"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="queryParams.userName" | 
|---|
|  |  |  | v-model="queryParams.name" | 
|---|
|  |  |  | placeholder="请è¾å
¥å§å" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | style="width: 200px" | 
|---|
|  |  |  | @keyup.enter.native="handleQuery" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="身份è¯å·ç " prop="IDnumber"> | 
|---|
|  |  |  | <el-form-item label="身份è¯å·ç " prop="iccardno"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="queryParams.IDnumber" | 
|---|
|  |  |  | v-model="queryParams.iccardno" | 
|---|
|  |  |  | placeholder="请è¾å
¥èº«ä»½è¯å·ç " | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | style="width: 250px" | 
|---|
|  |  |  | @keyup.enter.native="handleQuery" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="èç³»æ¹å¼" prop="phonenumber"> | 
|---|
|  |  |  | <el-form-item label="èç³»æ¹å¼" prop="telcode"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="queryParams.phonenumber" | 
|---|
|  |  |  | v-model="queryParams.telcode" | 
|---|
|  |  |  | placeholder="请è¾å
¥èç³»æ¹å¼" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | style="width: 280px" | 
|---|
|  |  |  | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-form-item label="æ£è
æ ç¾" prop="status"> | 
|---|
|  |  |  | <el-cascader | 
|---|
|  |  |  | v-model="queryParams.status" | 
|---|
|  |  |  | :options="optionss" | 
|---|
|  |  |  | :props="propss" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | ></el-cascader> | 
|---|
|  |  |  | <el-form-item label="æ£è
æ ç¾" prop="tagId"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="queryParams.tagIds" | 
|---|
|  |  |  | multiple | 
|---|
|  |  |  | placeholder="è¯·éæ©" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in optionstag" | 
|---|
|  |  |  | :key="item.tagid" | 
|---|
|  |  |  | :label="item.tagname" | 
|---|
|  |  |  | :value="item.tagid" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </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-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> | 
|---|
|  |  |  | <!-- <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" | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="åºå·" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="userId" | 
|---|
|  |  |  | prop="userId" | 
|---|
|  |  |  | key="patid" | 
|---|
|  |  |  | prop="patid" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="å§å" | 
|---|
|  |  |  | 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="name" prop="name" /> | 
|---|
|  |  |  | <el-table-column label="æ§å«" align="center" key="sex" prop="sex"> | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <span>{{ scope.row.sex == 1 ? "ç·" : "女" }}</span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="æ£è
æ ç¾" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="deptName" | 
|---|
|  |  |  | prop="dept.deptName" | 
|---|
|  |  |  | key="tagList" | 
|---|
|  |  |  | prop="tagList" | 
|---|
|  |  |  | width="160" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <span v-for="item in scope.row.tagList">{{ item }} </span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="è¯ä»¶ç±»å" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="phonenumber" | 
|---|
|  |  |  | prop="phonenumber" | 
|---|
|  |  |  | key="iccardtype" | 
|---|
|  |  |  | prop="iccardtype" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /><el-table-column | 
|---|
|  |  |  | label="è¯ä»¶å·ç " | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="phonenumber" | 
|---|
|  |  |  | prop="phonenumber" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | key="iccardno" | 
|---|
|  |  |  | prop="iccardno" | 
|---|
|  |  |  | width="190" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="å¹´é¾" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="phonenumber" | 
|---|
|  |  |  | prop="phonenumber" | 
|---|
|  |  |  | v-if="columns[4].visible" | 
|---|
|  |  |  | key="age" | 
|---|
|  |  |  | prop="age" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="èç³»æ¹å¼" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="phonenumber" | 
|---|
|  |  |  | prop="phonenumber" | 
|---|
|  |  |  | v-if="columns[4].visible" | 
|---|
|  |  |  | key="telcode" | 
|---|
|  |  |  | prop="telcode" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="å»ºæ¡£æ¥æ" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="createTime" | 
|---|
|  |  |  | v-if="columns[6].visible" | 
|---|
|  |  |  | key="archivetime" | 
|---|
|  |  |  | prop="archivetime" | 
|---|
|  |  |  | width="160" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="æ´æ°æ¥æ" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="createTime" | 
|---|
|  |  |  | v-if="columns[6].visible" | 
|---|
|  |  |  | prop="updateTime" | 
|---|
|  |  |  | width="160" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | 
|---|
|  |  |  | width="160" | 
|---|
|  |  |  | class-name="small-padding fixed-width" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope" v-if="scope.row.userId !== 1"> | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | icon="el-icon-edit" | 
|---|
|  |  |  | @click="$router.push('/patient/patient/profile/')" | 
|---|
|  |  |  | @click=" | 
|---|
|  |  |  | $router.push({ | 
|---|
|  |  |  | path: '/patient/patient/profile/', | 
|---|
|  |  |  | query: { id: scope.row.patid }, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | " | 
|---|
|  |  |  | v-hasPermi="['system:user:edit']" | 
|---|
|  |  |  | >æ¥ç</el-button | 
|---|
|  |  |  | ><span class="button-textsc" | 
|---|
|  |  |  | ><i class="el-icon-zoom-in"></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 | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- æ·»å æä¿®æ¹ç¨æ·é
ç½®å¯¹è¯æ¡ --> | 
|---|
|  |  |  | <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body> | 
|---|
|  |  |  | <el-dialog | 
|---|
|  |  |  | :title="amendtag ? 'ä¿®æ¹æ£è
ä¿¡æ¯' : 'æ°å¢æ£è
'" | 
|---|
|  |  |  | :visible.sync="Labelchange" | 
|---|
|  |  |  | width="900px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <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="name"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.nickName" | 
|---|
|  |  |  | v-model="form.name" | 
|---|
|  |  |  | placeholder="请è¾å
¥å§å" | 
|---|
|  |  |  | maxlength="30" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="æ§å«" prop="deptId"> | 
|---|
|  |  |  | <el-form-item label="æ§å«" prop="sex"> | 
|---|
|  |  |  | <el-select v-model="form.sex" placeholder="è¯·éæ©æ§å«"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="dict in dict.type.sys_user_sex" | 
|---|
|  |  |  | 
|---|
|  |  |  | </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 label="è¯ä»¶ç±»å" prop="iccardtype"> | 
|---|
|  |  |  | <el-select v-model="form.iccardtype" placeholder="è¯·éæ©æ§å«"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in paperstypes" | 
|---|
|  |  |  | :key="item.papersname" | 
|---|
|  |  |  | :label="item.papersname" | 
|---|
|  |  |  | :value="item.papersname" | 
|---|
|  |  |  | ></el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="è¯ä»¶å·" prop="email"> | 
|---|
|  |  |  | <el-form-item label="è¯ä»¶å·" prop="iccardno"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.email" | 
|---|
|  |  |  | v-model="form.iccardno" | 
|---|
|  |  |  | placeholder="请è¾å
¥è¯ä»¶å·" | 
|---|
|  |  |  | maxlength="50" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="æ¬äººææºå·" prop="userName"> | 
|---|
|  |  |  | <el-form-item label="æ¬äººææºå·" prop="telcode"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.userName" | 
|---|
|  |  |  | v-model="form.telcode" | 
|---|
|  |  |  | placeholder="请è¾å
¥ææºå·" | 
|---|
|  |  |  | maxlength="30" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="äº²å±ææºå·" prop="password"> | 
|---|
|  |  |  | <el-form-item label="äº²å±ææºå·" prop="relativetelcode"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.password" | 
|---|
|  |  |  | v-model="form.relativetelcode" | 
|---|
|  |  |  | placeholder="请è¾å
¥äº²å±ææºå·" | 
|---|
|  |  |  | type="password" | 
|---|
|  |  |  | maxlength="20" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="å¹´é¾" prop="age"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.age" | 
|---|
|  |  |  | placeholder="请è¾å
¥å¹´é¾" | 
|---|
|  |  |  | maxlength="30" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="æ£è
æ ç¾"> | 
|---|
|  |  |  | <!-- <el-select v-model="form.sex" placeholder="è¯·éæ©"> --> | 
|---|
|  |  |  | <el-cascader | 
|---|
|  |  |  | :options="optionss" | 
|---|
|  |  |  | :props="propss" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | ></el-cascader> | 
|---|
|  |  |  | <el-select v-model="form.tagList" multiple placeholder="è¯·éæ©"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in optionstag" | 
|---|
|  |  |  | :key="item.tagid" | 
|---|
|  |  |  | :label="item.tagname" | 
|---|
|  |  |  | :value="item.tagid" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | <!-- </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="夿³¨"> | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | listUser, | 
|---|
|  |  |  | getUser, | 
|---|
|  |  |  | delUser, | 
|---|
|  |  |  | addUser, | 
|---|
|  |  |  | updateUser, | 
|---|
|  |  |  | 
|---|
|  |  |  | changeUserStatus, | 
|---|
|  |  |  | deptTreeSelect, | 
|---|
|  |  |  | } from "@/api/system/user"; | 
|---|
|  |  |  | import { listpatient } from "@/api/patient/homepage"; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | listpatient, | 
|---|
|  |  |  | messagelistpatient, | 
|---|
|  |  |  | alterpatient, | 
|---|
|  |  |  | addpatient, | 
|---|
|  |  |  | deletepatient, | 
|---|
|  |  |  | Exporterrorpatient, | 
|---|
|  |  |  | } from "@/api/patient/homepage"; | 
|---|
|  |  |  | import { listtag } from "@/api/system/label"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import { getToken } from "@/utils/auth"; | 
|---|
|  |  |  | import Treeselect from "@riophae/vue-treeselect"; | 
|---|
|  |  |  | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; | 
|---|
|  |  |  | 
|---|
|  |  |  | deptName: undefined, | 
|---|
|  |  |  | // é»è®¤å¯ç  | 
|---|
|  |  |  | initPassword: undefined, | 
|---|
|  |  |  | amendtag: false, //æ¯å¦ä¿®æ¹ | 
|---|
|  |  |  | // æ¥æèå´ | 
|---|
|  |  |  | dateRange: [], | 
|---|
|  |  |  | // å²ä½é项 | 
|---|
|  |  |  | postOptions: [], | 
|---|
|  |  |  | // è§è²é项 | 
|---|
|  |  |  | roleOptions: [], | 
|---|
|  |  |  | paperstypes: [ | 
|---|
|  |  |  | { papersname: "身份è¯" }, | 
|---|
|  |  |  | { papersname: "æ¤ç
§" }, | 
|---|
|  |  |  | { papersname: "ä¸å½æ¸¯æ¾³å±
æ°èº«ä»½è¯" }, | 
|---|
|  |  |  | { papersname: "ä¸å½å°æ¹¾å±
æ°èº«ä»½è¯" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // è¡¨ååæ° | 
|---|
|  |  |  | form: {}, | 
|---|
|  |  |  | form: { | 
|---|
|  |  |  | name: "", | 
|---|
|  |  |  | age: "", | 
|---|
|  |  |  | sex: "", | 
|---|
|  |  |  | tagList: [], | 
|---|
|  |  |  | iccardno: "", | 
|---|
|  |  |  | telcode: "", | 
|---|
|  |  |  | iccardtype: "", | 
|---|
|  |  |  | relativetelcode: "", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //导å
¥è¿åº¦ | 
|---|
|  |  |  | dractive: 1, | 
|---|
|  |  |  | // å¯¼å
¥å±ç¤ºè¡¨å | 
|---|
|  |  |  | uploadingData: {}, | 
|---|
|  |  |  | total: 0, // æ»æ¡æ° | 
|---|
|  |  |  | ImportQuantity: 999, //导å
¥æ£è
æ°é | 
|---|
|  |  |  | // æ¥è¯¢åæ° | 
|---|
|  |  |  | queryParams: { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | jobName: undefined, | 
|---|
|  |  |  | jobGroup: undefined, | 
|---|
|  |  |  | status: undefined, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | Labelchange: false, //ä¿®æ¹æ°å¢å¼¹çª | 
|---|
|  |  |  | propss: { multiple: true }, | 
|---|
|  |  |  | optionss: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | label: "ä¸å", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 2, | 
|---|
|  |  |  | label: "西å", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 3, | 
|---|
|  |  |  | label: "仨仨仨", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 4, | 
|---|
|  |  |  | label: "å
é£é£é£", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | optionstag: [], //æ ç¾å表 | 
|---|
|  |  |  | defaultProps: { | 
|---|
|  |  |  | children: "children", | 
|---|
|  |  |  | label: "label", | 
|---|
|  |  |  | 
|---|
|  |  |  | // æ¥è¯¢åæ° | 
|---|
|  |  |  | queryParams: { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | name: "ç大", | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | userName: undefined, | 
|---|
|  |  |  | phonenumber: undefined, | 
|---|
|  |  |  | iccardno: undefined, | 
|---|
|  |  |  | name: undefined, | 
|---|
|  |  |  | status: undefined, | 
|---|
|  |  |  | deptId: undefined, | 
|---|
|  |  |  | IDnumber: undefined, | 
|---|
|  |  |  | tagIds: undefined, | 
|---|
|  |  |  | telcode: 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", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // 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", | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | // ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.gettabList(); | 
|---|
|  |  |  | this.getDeptTree(); | 
|---|
|  |  |  | this.getConfigKey("sys.user.initPassword").then((response) => { | 
|---|
|  |  |  | this.initPassword = response.msg; | 
|---|
|  |  |  | 
|---|
|  |  |  | /** æ¥è¯¢æ£è
å表 */ | 
|---|
|  |  |  | getList() { | 
|---|
|  |  |  | this.loading = true; | 
|---|
|  |  |  | listUser(this.queryParams).then((response) => { | 
|---|
|  |  |  | messagelistpatient(this.queryParams).then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | this.userList = response.rows; | 
|---|
|  |  |  | this.total = response.total; | 
|---|
|  |  |  | this.loading = false; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** æ¥è¯¢æ ç¾å表 */ | 
|---|
|  |  |  | gettabList() { | 
|---|
|  |  |  | const queryParams = {}; | 
|---|
|  |  |  | listtag(this.addDateRange(queryParams)).then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | this.optionstag = response.rows; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ¥è¯¢å¯¼å
¥å±ç¤ºå表 | 
|---|
|  |  |  | 
|---|
|  |  |  | // è¡¨åéç½® | 
|---|
|  |  |  | 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: [], | 
|---|
|  |  |  | name: "", | 
|---|
|  |  |  | age: "", | 
|---|
|  |  |  | sex: "", | 
|---|
|  |  |  | tagList: [], | 
|---|
|  |  |  | iccardno: "", | 
|---|
|  |  |  | telcode: "", | 
|---|
|  |  |  | iccardtype: "", | 
|---|
|  |  |  | relativetelcode: "", | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.resetForm("form"); | 
|---|
|  |  |  | // this.resetForm("form"); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** æç´¢æé®æä½ */ | 
|---|
|  |  |  | handleQuery() { | 
|---|
|  |  |  | 
|---|
|  |  |  | 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.ids = selection.map((item) => item.patid); | 
|---|
|  |  |  | 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 = "æ°å¢æ£è
"; | 
|---|
|  |  |  | this.form.password = this.initPassword; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.Labelchange = true; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** ä¿®æ¹æé®æä½ */ | 
|---|
|  |  |  | handleUpdate(row) { | 
|---|
|  |  |  | this.amendtag = true; | 
|---|
|  |  |  | this.Labelchange = true; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //ä¿®æ¹/æ°å¢æ£è | 
|---|
|  |  |  | updatevaluedate() { | 
|---|
|  |  |  | if (this.amendtag) { | 
|---|
|  |  |  | this.form.tagcategoryid = this.idds; | 
|---|
|  |  |  | // toamendtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | //   (response) => { | 
|---|
|  |  |  | //     console.log(response); | 
|---|
|  |  |  | //     this.gitclasify(); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // addtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | //   (response) => { | 
|---|
|  |  |  | //     console.log(response); | 
|---|
|  |  |  | //     this.gitclasify(); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.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 = ""; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // this.idds = ""; | 
|---|
|  |  |  | this.Labelchange = false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** éç½®å¯ç æé®æä½ */ | 
|---|
|  |  |  | handleResetPwd(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; | 
|---|
|  |  |  | 
|---|
|  |  |  | height: 100px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-textsc { | 
|---|
|  |  |  | color: #28cfe6; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <div class="Questionnairemanagement"> | 
|---|
|  |  |  | <!-- å·¦ä¾§æ  --> | 
|---|
|  |  |  | <div class="sidecolumn"> | 
|---|
|  |  |  | <div class="sidecolumn-top"> | 
|---|
|  |  |  | <div class="top-wj">æå¾ç±»å</div> | 
|---|
|  |  |  | <div class="top-tj" @click="dialogFormVisible = true">+æ·»å </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="center-ss"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | placeholder="请è¾å
¥å
容" | 
|---|
|  |  |  | v-model="sidecolumnval" | 
|---|
|  |  |  | class="input-with-select" | 
|---|
|  |  |  | size="medium " | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | @click="sidecolumnss" | 
|---|
|  |  |  | slot="append" | 
|---|
|  |  |  | icon="el-icon-search" | 
|---|
|  |  |  | ></el-button> | 
|---|
|  |  |  | </el-input> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="bottom-fl"> | 
|---|
|  |  |  | <el-tabs tab-position="right"> | 
|---|
|  |  |  | <el-tab-pane :label="`å
¨é¨ (${numberlb})`"></el-tab-pane> | 
|---|
|  |  |  | <el-tab-pane | 
|---|
|  |  |  | class="tab-paness" | 
|---|
|  |  |  | :key="item.title" | 
|---|
|  |  |  | v-for="(item, index) in editableTabs" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <span slot="label"> | 
|---|
|  |  |  | {{ | 
|---|
|  |  |  | item.title + " (" + item.number + ")" | 
|---|
|  |  |  | }}   <el-popover | 
|---|
|  |  |  | placement="top-start" | 
|---|
|  |  |  | width="100" | 
|---|
|  |  |  | trigger="hover" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div style="text-align: center"> | 
|---|
|  |  |  | <el-button type="text" @click="popoveramend(item)" | 
|---|
|  |  |  | >ä¿®æ¹</el-button | 
|---|
|  |  |  | ><el-button type="text" @click="deletefenlei(item)" | 
|---|
|  |  |  | ><span style="color: rgb(173, 55, 55)" | 
|---|
|  |  |  | >å é¤</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <i slot="reference" class="el-icon-share"></i> </el-popover | 
|---|
|  |  |  | ></span> | 
|---|
|  |  |  | </el-tab-pane> | 
|---|
|  |  |  | </el-tabs> | 
|---|
|  |  |  | </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">æ¬å°æå¾åº </span> | 
|---|
|  |  |  | </el-tab-pane> | 
|---|
|  |  |  | <el-tab-pane name="sharing"> | 
|---|
|  |  |  | <span class="mulsz" slot="label">å
±äº«æå¾åº </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="æå¾åç§°" 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="status"> | 
|---|
|  |  |  | <el-cascader | 
|---|
|  |  |  | v-model="queryParams.status" | 
|---|
|  |  |  | :options="optionss" | 
|---|
|  |  |  | :props="propss" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | ></el-cascader> | 
|---|
|  |  |  | </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" | 
|---|
|  |  |  | 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="éç¨ç¾ç
" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="aphonenumber" | 
|---|
|  |  |  | prop="aphonenumber" | 
|---|
|  |  |  | v-if="columns[4].visible" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /><el-table-column | 
|---|
|  |  |  | label="æå¾æè¿°" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="bphonenumber" | 
|---|
|  |  |  | prop="bphonenumber" | 
|---|
|  |  |  | v-if="columns[4].visible" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="æè¿ç¼è¾" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="cphonenumber" | 
|---|
|  |  |  | prop="cphonenumber" | 
|---|
|  |  |  | v-if="columns[4].visible" | 
|---|
|  |  |  | 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="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-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="æ£è
æ ç¾"> | 
|---|
|  |  |  | <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 | 
|---|
|  |  |  | :title="amendtag ? 'ä¿®æ¹ç±»å«' : 'æ°å¢ç±»å«'" | 
|---|
|  |  |  | width="30%" | 
|---|
|  |  |  | :visible.sync="dialogFormVisible" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form :model="classifyform"> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | :label="amendtag ? '请è¾å
¥æ°çç±»å«åç§°' : '请è¾å
¥ç±»å«åç§°'" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="classifyform.categoryname" | 
|---|
|  |  |  | 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 title="è¦å" :visible.sync="deleteVisible" width="40%"> | 
|---|
|  |  |  | <div style="font-size: 20px; color: rgb(247, 76, 76)"> | 
|---|
|  |  |  | æ¯å¦ç¡®è®¤å é¤åç±»ï¼[<span>{{ deletefenl }}</span | 
|---|
|  |  |  | >]? | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div style="font-size: 20px"> | 
|---|
|  |  |  | æ¤æä½ä¼å°è¯¥ç±»å«ä¸æææ¨¡å转移è³[æªåç±»]ï¼æ¯å¦ç»§ç»å é¤æ¤åç±»ï¼ | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <span slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | <el-button @click="deleteVisible = false">å æ¶</el-button> | 
|---|
|  |  |  | <el-button type="primary" @click="deletefenlei">ç¡® å®</el-button> | 
|---|
|  |  |  | </span> | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | </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: "questionnaire", | 
|---|
|  |  |  | dicts: ["sys_normal_disable", "sys_user_sex"], | 
|---|
|  |  |  | components: { Treeselect }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | topactiveName: "Local", //é¡¶é¨éæ© | 
|---|
|  |  |  | // é®ç½©å± | 
|---|
|  |  |  | loading: false, | 
|---|
|  |  |  | // é䏿°ç» | 
|---|
|  |  |  | ids: [], | 
|---|
|  |  |  | // éå个ç¦ç¨ | 
|---|
|  |  |  | single: true, | 
|---|
|  |  |  | // éå¤ä¸ªç¦ç¨ | 
|---|
|  |  |  | multiple: true, | 
|---|
|  |  |  | // æ¾ç¤ºæç´¢æ¡ä»¶ | 
|---|
|  |  |  | showSearch: true, | 
|---|
|  |  |  | // æ»æ¡æ° | 
|---|
|  |  |  | total: 0, | 
|---|
|  |  |  | namequestionnaire: "", | 
|---|
|  |  |  | haoquestionnaire: "", | 
|---|
|  |  |  | idds: "", | 
|---|
|  |  |  | amendtag: false, //æ¯å¦ä¿®æ¹ç±»å« | 
|---|
|  |  |  | dialogFormVisible: false, //ä¿®æ¹æ·»å ç±»å«å¼¹æ¡ | 
|---|
|  |  |  | deleteVisible: false, //åç±»å é¤å¼¹æ¡ | 
|---|
|  |  |  | deletefenl: "é«è¡å", //å é¤é¡¹ | 
|---|
|  |  |  | classifyform: { | 
|---|
|  |  |  | categoryname: "", | 
|---|
|  |  |  | }, //ç±»å«è¡¨å | 
|---|
|  |  |  | // è¡¨æ ¼æ°æ® | 
|---|
|  |  |  | userList: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | userid: 1, | 
|---|
|  |  |  | userName: "ä¸å·æå¾", | 
|---|
|  |  |  | 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: "å
é£é£é£", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | //ç±»å«å表 | 
|---|
|  |  |  | editableTabs: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "æå¾åç±»ä¸", | 
|---|
|  |  |  | number: "1", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "æå¾åç±»äº", | 
|---|
|  |  |  | number: "2", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "æå¾åç±»ä¸", | 
|---|
|  |  |  | number: "2", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "æå¾åç±»å", | 
|---|
|  |  |  | number: "2", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "æå¾åç±»äº", | 
|---|
|  |  |  | number: "2", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // æ¥è¯¢åæ° | 
|---|
|  |  |  | 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: {}, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | /** æ¥è¯¢ç¨æ·å表 */ | 
|---|
|  |  |  | getList() { | 
|---|
|  |  |  | //   this.loading = true; | 
|---|
|  |  |  | listUser().then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | console.log(this.userList); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ·»å ãä¿®æ¹ç±»å« | 
|---|
|  |  |  | submitsidecolumn() { | 
|---|
|  |  |  | if (this.amendtag) { | 
|---|
|  |  |  | this.classifyform.tagcategoryid = this.idds; | 
|---|
|  |  |  | // toamendtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | //   (response) => { | 
|---|
|  |  |  | //     console.log(response); | 
|---|
|  |  |  | //     this.gitclasify(); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // addtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | //   (response) => { | 
|---|
|  |  |  | //     console.log(response); | 
|---|
|  |  |  | //     this.gitclasify(); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.classifyform = { | 
|---|
|  |  |  | categoryname: "", | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.idds = ""; | 
|---|
|  |  |  | this.dialogFormVisible = false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //å é¤åç±» | 
|---|
|  |  |  | deletefenlei(row) { | 
|---|
|  |  |  | if (this.deleteVisible) { | 
|---|
|  |  |  | // deletetagcategory(this.idds).then((response) => { | 
|---|
|  |  |  | //   console.log(response); | 
|---|
|  |  |  | //   this.gitclasify(); | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | this.deleteVisible = false; | 
|---|
|  |  |  | this.idds = ""; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.deleteVisible = true; | 
|---|
|  |  |  | this.idds = row.tagcategoryid; | 
|---|
|  |  |  | this.deletefenl = row.title; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //æç´¢ç±»å« | 
|---|
|  |  |  | sidecolumnss() {}, | 
|---|
|  |  |  | // åæ¢å
±äº«/æ¬å° | 
|---|
|  |  |  | tophandleClick() {}, | 
|---|
|  |  |  | // åæ¶æé® | 
|---|
|  |  |  | cancel() { | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | goQRCode(row) { | 
|---|
|  |  |  | this.goQRCodeVisible = true; | 
|---|
|  |  |  | this.namequestionnaire = row.userName; | 
|---|
|  |  |  | this.haoquestionnaire = 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/questionnaire/compilequer/", | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** ä¿®æ¹æé®æä½ */ | 
|---|
|  |  |  | handleUpdate(row) { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/knowledge/questionnaire/compilequer/", | 
|---|
|  |  |  | query: { id: "1" }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ¥çæå¾ | 
|---|
|  |  |  | ViewQuestionnaire() { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/knowledge/questionnaire/examine/", | 
|---|
|  |  |  | query: { id: "1" }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // ä¿®æ¹åç±»å¼¹æ¡ | 
|---|
|  |  |  | popoveramend(tagcategoryid) { | 
|---|
|  |  |  | this.idds = tagcategoryid; | 
|---|
|  |  |  | this.amendtag = true; | 
|---|
|  |  |  | this.dialogFormVisible = true; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** æ´æ°/ä¿®æ¹æäº¤æé® */ | 
|---|
|  |  |  | submitForm: function () { | 
|---|
|  |  |  | this.$refs["form"].validate((valid) => { | 
|---|
|  |  |  | if (valid) { | 
|---|
|  |  |  | if (this.form.userId != undefined) { | 
|---|
|  |  |  | updateUser(this.form).then((response) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("ä¿®æ¹æå"); | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | addUser(this.form).then((response) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("æ°å¢æå"); | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** å é¤æé®æä½ */ | 
|---|
|  |  |  | handleDelete(row) { | 
|---|
|  |  |  | const userIds = row.userId || this.ids; | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm('æ¯å¦ç¡®è®¤å é¤ç¨æ·ç¼å·ä¸º"' + userIds + '"çæ°æ®é¡¹ï¼') | 
|---|
|  |  |  | .then(function () { | 
|---|
|  |  |  | return delUser(userIds); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.$modal.msgSuccess("å é¤æå"); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | .Questionnairemanagement { | 
|---|
|  |  |  | 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> | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <div>é访模ç</div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return {}; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | created() {}, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | methods: {}, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss" scoped></style> | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <div class="Questionnairemanagement"> | 
|---|
|  |  |  | <!-- å·¦ä¾§æ  --> | 
|---|
|  |  |  | <div class="sidecolumn"> | 
|---|
|  |  |  | <div class="sidecolumn-top"> | 
|---|
|  |  |  | <div class="top-wj">è¯æ¯ç±»å</div> | 
|---|
|  |  |  | <div class="top-tj" @click="dialogFormVisible = true">+æ·»å </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="center-ss"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | placeholder="请è¾å
¥å
容" | 
|---|
|  |  |  | v-model="sidecolumnval" | 
|---|
|  |  |  | class="input-with-select" | 
|---|
|  |  |  | size="medium " | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | @click="sidecolumnss" | 
|---|
|  |  |  | slot="append" | 
|---|
|  |  |  | icon="el-icon-search" | 
|---|
|  |  |  | ></el-button> | 
|---|
|  |  |  | </el-input> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="bottom-fl"> | 
|---|
|  |  |  | <el-tabs tab-position="right"> | 
|---|
|  |  |  | <el-tab-pane :label="`å
¨é¨ (${numberlb})`"></el-tab-pane> | 
|---|
|  |  |  | <el-tab-pane | 
|---|
|  |  |  | class="tab-paness" | 
|---|
|  |  |  | :key="item.title" | 
|---|
|  |  |  | v-for="(item, index) in editableTabs" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <span slot="label"> | 
|---|
|  |  |  | {{ | 
|---|
|  |  |  | item.title + " (" + item.number + ")" | 
|---|
|  |  |  | }}   <el-popover | 
|---|
|  |  |  | placement="top-start" | 
|---|
|  |  |  | width="100" | 
|---|
|  |  |  | trigger="hover" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div style="text-align: center"> | 
|---|
|  |  |  | <el-button type="text" @click="popoveramend(item)" | 
|---|
|  |  |  | >ä¿®æ¹</el-button | 
|---|
|  |  |  | ><el-button type="text" @click="deletefenlei(item)" | 
|---|
|  |  |  | ><span style="color: rgb(173, 55, 55)" | 
|---|
|  |  |  | >å é¤</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <i slot="reference" class="el-icon-share"></i> </el-popover | 
|---|
|  |  |  | ></span> | 
|---|
|  |  |  | </el-tab-pane> | 
|---|
|  |  |  | </el-tabs> | 
|---|
|  |  |  | </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">æ¬å°è¯æ¯åº </span> | 
|---|
|  |  |  | </el-tab-pane> | 
|---|
|  |  |  | <el-tab-pane name="sharing"> | 
|---|
|  |  |  | <span class="mulsz" slot="label">å
±äº«è¯æ¯åº </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="è¯æ¯åç§°" 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="status"> | 
|---|
|  |  |  | <el-cascader | 
|---|
|  |  |  | v-model="queryParams.status" | 
|---|
|  |  |  | :options="optionss" | 
|---|
|  |  |  | :props="propss" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | ></el-cascader> | 
|---|
|  |  |  | </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" | 
|---|
|  |  |  | 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="éç¨ç¾ç
" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="aphonenumber" | 
|---|
|  |  |  | prop="aphonenumber" | 
|---|
|  |  |  | v-if="columns[4].visible" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /><el-table-column | 
|---|
|  |  |  | label="è¯æ¯æè¿°" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="bphonenumber" | 
|---|
|  |  |  | prop="bphonenumber" | 
|---|
|  |  |  | v-if="columns[4].visible" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="æè¿ç¼è¾" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="cphonenumber" | 
|---|
|  |  |  | prop="cphonenumber" | 
|---|
|  |  |  | v-if="columns[4].visible" | 
|---|
|  |  |  | 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="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-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="æ£è
æ ç¾"> | 
|---|
|  |  |  | <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 | 
|---|
|  |  |  | :title="amendtag ? 'ä¿®æ¹ç±»å«' : 'æ°å¢ç±»å«'" | 
|---|
|  |  |  | width="30%" | 
|---|
|  |  |  | :visible.sync="dialogFormVisible" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form :model="classifyform"> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | :label="amendtag ? '请è¾å
¥æ°çç±»å«åç§°' : '请è¾å
¥ç±»å«åç§°'" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="classifyform.categoryname" | 
|---|
|  |  |  | 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 title="è¦å" :visible.sync="deleteVisible" width="40%"> | 
|---|
|  |  |  | <div style="font-size: 20px; color: rgb(247, 76, 76)"> | 
|---|
|  |  |  | æ¯å¦ç¡®è®¤å é¤åç±»ï¼[<span>{{ deletefenl }}</span | 
|---|
|  |  |  | >]? | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div style="font-size: 20px"> | 
|---|
|  |  |  | æ¤æä½ä¼å°è¯¥ç±»å«ä¸æææ¨¡å转移è³[æªåç±»]ï¼æ¯å¦ç»§ç»å é¤æ¤åç±»ï¼ | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <span slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | <el-button @click="deleteVisible = false">å æ¶</el-button> | 
|---|
|  |  |  | <el-button type="primary" @click="deletefenlei">ç¡® å®</el-button> | 
|---|
|  |  |  | </span> | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | </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: "questionnaire", | 
|---|
|  |  |  | dicts: ["sys_normal_disable", "sys_user_sex"], | 
|---|
|  |  |  | components: { Treeselect }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | topactiveName: "Local", //é¡¶é¨éæ© | 
|---|
|  |  |  | // é®ç½©å± | 
|---|
|  |  |  | loading: false, | 
|---|
|  |  |  | // é䏿°ç» | 
|---|
|  |  |  | ids: [], | 
|---|
|  |  |  | // éå个ç¦ç¨ | 
|---|
|  |  |  | single: true, | 
|---|
|  |  |  | // éå¤ä¸ªç¦ç¨ | 
|---|
|  |  |  | multiple: true, | 
|---|
|  |  |  | // æ¾ç¤ºæç´¢æ¡ä»¶ | 
|---|
|  |  |  | showSearch: true, | 
|---|
|  |  |  | // æ»æ¡æ° | 
|---|
|  |  |  | total: 0, | 
|---|
|  |  |  | namequestionnaire: "", | 
|---|
|  |  |  | haoquestionnaire: "", | 
|---|
|  |  |  | idds: "", | 
|---|
|  |  |  | amendtag: false, //æ¯å¦ä¿®æ¹ç±»å« | 
|---|
|  |  |  | dialogFormVisible: false, //ä¿®æ¹æ·»å ç±»å«å¼¹æ¡ | 
|---|
|  |  |  | deleteVisible: false, //åç±»å é¤å¼¹æ¡ | 
|---|
|  |  |  | deletefenl: "é«è¡å", //å é¤é¡¹ | 
|---|
|  |  |  | classifyform: { | 
|---|
|  |  |  | categoryname: "", | 
|---|
|  |  |  | }, //ç±»å«è¡¨å | 
|---|
|  |  |  | // è¡¨æ ¼æ°æ® | 
|---|
|  |  |  | userList: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | userid: 1, | 
|---|
|  |  |  | userName: "ä¸å·è¯æ¯", | 
|---|
|  |  |  | 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: "å
é£é£é£", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | //ç±»å«å表 | 
|---|
|  |  |  | editableTabs: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "è¯æ¯åç±»ä¸", | 
|---|
|  |  |  | number: "1", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "è¯æ¯åç±»äº", | 
|---|
|  |  |  | number: "2", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "è¯æ¯åç±»ä¸", | 
|---|
|  |  |  | number: "2", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "è¯æ¯åç±»å", | 
|---|
|  |  |  | number: "2", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | title: "è¯æ¯åç±»äº", | 
|---|
|  |  |  | number: "2", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // æ¥è¯¢åæ° | 
|---|
|  |  |  | 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: {}, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | /** æ¥è¯¢ç¨æ·å表 */ | 
|---|
|  |  |  | getList() { | 
|---|
|  |  |  | //   this.loading = true; | 
|---|
|  |  |  | listUser().then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | console.log(this.userList); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ·»å ãä¿®æ¹ç±»å« | 
|---|
|  |  |  | submitsidecolumn() { | 
|---|
|  |  |  | if (this.amendtag) { | 
|---|
|  |  |  | this.classifyform.tagcategoryid = this.idds; | 
|---|
|  |  |  | // toamendtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | //   (response) => { | 
|---|
|  |  |  | //     console.log(response); | 
|---|
|  |  |  | //     this.gitclasify(); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // addtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | //   (response) => { | 
|---|
|  |  |  | //     console.log(response); | 
|---|
|  |  |  | //     this.gitclasify(); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.classifyform = { | 
|---|
|  |  |  | categoryname: "", | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.idds = ""; | 
|---|
|  |  |  | this.dialogFormVisible = false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //å é¤åç±» | 
|---|
|  |  |  | deletefenlei(row) { | 
|---|
|  |  |  | if (this.deleteVisible) { | 
|---|
|  |  |  | // deletetagcategory(this.idds).then((response) => { | 
|---|
|  |  |  | //   console.log(response); | 
|---|
|  |  |  | //   this.gitclasify(); | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | this.deleteVisible = false; | 
|---|
|  |  |  | this.idds = ""; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.deleteVisible = true; | 
|---|
|  |  |  | this.idds = row.tagcategoryid; | 
|---|
|  |  |  | this.deletefenl = row.title; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //æç´¢ç±»å« | 
|---|
|  |  |  | sidecolumnss() {}, | 
|---|
|  |  |  | // åæ¢å
±äº«/æ¬å° | 
|---|
|  |  |  | tophandleClick() {}, | 
|---|
|  |  |  | // åæ¶æé® | 
|---|
|  |  |  | cancel() { | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | goQRCode(row) { | 
|---|
|  |  |  | this.goQRCodeVisible = true; | 
|---|
|  |  |  | this.namequestionnaire = row.userName; | 
|---|
|  |  |  | this.haoquestionnaire = 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/questionnaire/compilequer/", | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** ä¿®æ¹æé®æä½ */ | 
|---|
|  |  |  | handleUpdate(row) { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/knowledge/questionnaire/compilequer/", | 
|---|
|  |  |  | query: { id: "1" }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ¥çè¯æ¯ | 
|---|
|  |  |  | ViewQuestionnaire() { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/knowledge/questionnaire/examine/", | 
|---|
|  |  |  | query: { id: "1" }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // ä¿®æ¹åç±»å¼¹æ¡ | 
|---|
|  |  |  | popoveramend(tagcategoryid) { | 
|---|
|  |  |  | this.idds = tagcategoryid; | 
|---|
|  |  |  | this.amendtag = true; | 
|---|
|  |  |  | this.dialogFormVisible = true; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** æ´æ°/ä¿®æ¹æäº¤æé® */ | 
|---|
|  |  |  | submitForm: function () { | 
|---|
|  |  |  | this.$refs["form"].validate((valid) => { | 
|---|
|  |  |  | if (valid) { | 
|---|
|  |  |  | if (this.form.userId != undefined) { | 
|---|
|  |  |  | updateUser(this.form).then((response) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("ä¿®æ¹æå"); | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | addUser(this.form).then((response) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("æ°å¢æå"); | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** å é¤æé®æä½ */ | 
|---|
|  |  |  | handleDelete(row) { | 
|---|
|  |  |  | const userIds = row.userId || this.ids; | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm('æ¯å¦ç¡®è®¤å é¤ç¨æ·ç¼å·ä¸º"' + userIds + '"çæ°æ®é¡¹ï¼') | 
|---|
|  |  |  | .then(function () { | 
|---|
|  |  |  | return delUser(userIds); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.$modal.msgSuccess("å é¤æå"); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | .Questionnairemanagement { | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  | 
|---|
|  |  |  | size="medium " | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | @click="sidecolumnss" | 
|---|
|  |  |  | @click="gitclasify" | 
|---|
|  |  |  | slot="append" | 
|---|
|  |  |  | icon="el-icon-search" | 
|---|
|  |  |  | ></el-button> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="bottom-fl"> | 
|---|
|  |  |  | <el-tabs tab-position="right"> | 
|---|
|  |  |  | <el-tab-pane :label="`å
¨é¨ (${numberlb})`"></el-tab-pane> | 
|---|
|  |  |  | <el-tab-pane :label="`å
¨é¨ (${total})`"></el-tab-pane> | 
|---|
|  |  |  | <el-tab-pane | 
|---|
|  |  |  | class="tab-paness" | 
|---|
|  |  |  | :key="item.name" | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <span slot="label"> | 
|---|
|  |  |  | {{ | 
|---|
|  |  |  | item.title + " (" + item.number + ")" | 
|---|
|  |  |  | item.categoryname + " (" + item.tagNum + ")" | 
|---|
|  |  |  | }}   <el-popover | 
|---|
|  |  |  | placement="top-start" | 
|---|
|  |  |  | width="100" | 
|---|
|  |  |  | trigger="hover" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div style="text-align: center"> | 
|---|
|  |  |  | <el-button type="text" @click="popoveramend">ä¿®æ¹</el-button | 
|---|
|  |  |  | ><el-button type="text" @click="deleteVisible = true" | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click="popoveramend(item.tagcategoryid)" | 
|---|
|  |  |  | >ä¿®æ¹</el-button | 
|---|
|  |  |  | ><el-button type="text" @click="deletefenlei(item)" | 
|---|
|  |  |  | ><span style="color: rgb(173, 55, 55)" | 
|---|
|  |  |  | >å é¤</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | 
|---|
|  |  |  | <i slot="reference" class="el-icon-share"></i> </el-popover | 
|---|
|  |  |  | ></span> | 
|---|
|  |  |  | </el-tab-pane> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-tab-pane :label="`æªåç»(${numberlbs})`"></el-tab-pane> | 
|---|
|  |  |  | </el-tabs> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <div class="leftvlue-top"></div> | 
|---|
|  |  |  | <div class="leftvlue-bg"> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <!--ç¨æ·æ°æ®--> | 
|---|
|  |  |  | <!--æ ç¾æ°æ®--> | 
|---|
|  |  |  | <el-col :span="24" :xs="24"> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | :model="queryParams" | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form-item label="æ ç¾åç§°" prop="userName"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="queryParams.userName" | 
|---|
|  |  |  | v-model="queryParams.tagname" | 
|---|
|  |  |  | placeholder="请è¾å
¥" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | style="width: 200px" | 
|---|
|  |  |  | 
|---|
|  |  |  | plain | 
|---|
|  |  |  | icon="el-icon-plus" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | @click="lstamendtagVisible = true" | 
|---|
|  |  |  | @click="addladeltag" | 
|---|
|  |  |  | v-hasPermi="['system:user:add']" | 
|---|
|  |  |  | >æ°å¢</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | 
|---|
|  |  |  | v-hasPermi="['system:user:remove']" | 
|---|
|  |  |  | >å é¤</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <div class="documentf"> | 
|---|
|  |  |  | <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-table-column | 
|---|
|  |  |  | label="åºå·" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="userId" | 
|---|
|  |  |  | prop="userId" | 
|---|
|  |  |  | key="tagid" | 
|---|
|  |  |  | prop="tagid" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="æ ç¾åç§°" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="userName" | 
|---|
|  |  |  | prop="userName" | 
|---|
|  |  |  | key="tagname" | 
|---|
|  |  |  | prop="tagname" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="æè¿ç¼è¾" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="nickName" | 
|---|
|  |  |  | prop="nickName" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | key="updateTime" | 
|---|
|  |  |  | prop="updateTime" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <span | 
|---|
|  |  |  | >{{ scope.row.updateBy }} | 
|---|
|  |  |  | <p>{{ scope.row.updateTime }}</p></span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="æ ç¾æè¿°" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="aphonenumber" | 
|---|
|  |  |  | prop="aphonenumber" | 
|---|
|  |  |  | key="tagdescription" | 
|---|
|  |  |  | prop="tagdescription" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="ç¶æ" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="aphonenumbers" | 
|---|
|  |  |  | prop="aphonenumbers" | 
|---|
|  |  |  | key="isupload" | 
|---|
|  |  |  | prop="isupload" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-switch | 
|---|
|  |  |  | v-model="scope.row.delivery" | 
|---|
|  |  |  | v-model="scope.row.isupload" | 
|---|
|  |  |  | :active-value="1" | 
|---|
|  |  |  | :inactive-value="0" | 
|---|
|  |  |  | active-color="#13ce66" | 
|---|
|  |  |  | @change="handleStatusChange(scope.row)" | 
|---|
|  |  |  | ></el-switch> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | 
|---|
|  |  |  | width="30%" | 
|---|
|  |  |  | :visible.sync="dialogFormVisible" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form :model="sidecolumnform"> | 
|---|
|  |  |  | <el-form :model="classifyform"> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | :label="amendtag ? '请è¾å
¥æ°çç±»å«åç§°' : '请è¾å
¥ç±»å«åç§°'" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="sidecolumnform.classesname" | 
|---|
|  |  |  | v-model="classifyform.categoryname" | 
|---|
|  |  |  | autocomplete="off" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <span slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | <el-button @click="deleteVisible = false">å æ¶</el-button> | 
|---|
|  |  |  | <el-button type="primary" @click="deleteVisible = false" | 
|---|
|  |  |  | >ç¡® å®</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button type="primary" @click="deletefenlei">ç¡® å®</el-button> | 
|---|
|  |  |  | </span> | 
|---|
|  |  |  | </el-dialog> | 
|---|
|  |  |  | <!-- ä¿®æ¹/æ·»å æ ç¾å¼¹æ¡ --> | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form ref="form" :model="tagform" label-width="80px"> | 
|---|
|  |  |  | <el-form-item label="æ ç¾åç§°"> | 
|---|
|  |  |  | <el-input v-model="tagform.name"></el-input> | 
|---|
|  |  |  | <el-input v-model="tagform.tagname"></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="æ ç¾æè¿°"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="tagform.tagcategoryid" | 
|---|
|  |  |  | placeholder="è¯·éæ©æ ç¾åç±»" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in editableTabs" | 
|---|
|  |  |  | :key="item.tagcategoryid" | 
|---|
|  |  |  | :label="item.categoryname" | 
|---|
|  |  |  | :value="item.tagcategoryid" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="æ¯å¦å¯ç¨"> | 
|---|
|  |  |  | <el-switch v-model="tagform.delivery"></el-switch> | 
|---|
|  |  |  | <el-switch | 
|---|
|  |  |  | v-model="tagform.isupload" | 
|---|
|  |  |  | :active-value="1" | 
|---|
|  |  |  | :inactive-value="0" | 
|---|
|  |  |  | active-color="#13ce66" | 
|---|
|  |  |  | ></el-switch> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="æ ç¾æè¿°"> | 
|---|
|  |  |  | <el-input type="textarea" v-model="tagform.desc"></el-input> | 
|---|
|  |  |  | <el-input type="textarea" v-model="tagform.tagdescription"></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | <div slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | <el-button @click="lstamendtagVisible = false">å æ¶</el-button> | 
|---|
|  |  |  | <el-button type="primary" @click="submitsidecolumn">ç¡® å®</el-button> | 
|---|
|  |  |  | <el-button type="primary" @click="Maintenancetag">ç¡® å®</el-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-dialog> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | listUser, | 
|---|
|  |  |  | getUser, | 
|---|
|  |  |  | delUser, | 
|---|
|  |  |  | addUser, | 
|---|
|  |  |  | updateUser, | 
|---|
|  |  |  | } from "@/api/system/user"; | 
|---|
|  |  |  | import { getToken } from "@/utils/auth"; | 
|---|
|  |  |  | toamendtag, | 
|---|
|  |  |  | addapitag, | 
|---|
|  |  |  | detailstag, | 
|---|
|  |  |  | deletetag, | 
|---|
|  |  |  | changetagcategory, | 
|---|
|  |  |  | toamendtagcategory, | 
|---|
|  |  |  | addtagcategory, | 
|---|
|  |  |  | deletetagcategory, | 
|---|
|  |  |  | listtag, | 
|---|
|  |  |  | tagclassifylist, | 
|---|
|  |  |  | } from "@/api/system/label"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import Treeselect from "@riophae/vue-treeselect"; | 
|---|
|  |  |  | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | 
|---|
|  |  |  | multiple: true, | 
|---|
|  |  |  | // æ¾ç¤ºæç´¢æ¡ä»¶ | 
|---|
|  |  |  | showSearch: true, | 
|---|
|  |  |  | idds: "", //åç±»id | 
|---|
|  |  |  | // æ»æ¡æ° | 
|---|
|  |  |  | total: 0, | 
|---|
|  |  |  | amendtag: false, //æ¯å¦ä¿®æ¹ç±»å« | 
|---|
|  |  |  | 
|---|
|  |  |  | deletefenl: "é«è¡å", //å é¤é¡¹ | 
|---|
|  |  |  | //ä¿®æ¹æ·»å æ ç¾å¼¹æ¡æ°æ® | 
|---|
|  |  |  | tagform: { | 
|---|
|  |  |  | delivery: "", | 
|---|
|  |  |  | name: "", | 
|---|
|  |  |  | desc: "", | 
|---|
|  |  |  | isupload: "", | 
|---|
|  |  |  | tagname: "", | 
|---|
|  |  |  | tagcategoryid: "", | 
|---|
|  |  |  | tagdescription: "", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | classifyform: { | 
|---|
|  |  |  | categoryname: "", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ ç¾è¡¨æ ¼æ°æ® | 
|---|
|  |  |  | userList: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | userId: 1, | 
|---|
|  |  |  | userName: "ä¸å·", | 
|---|
|  |  |  | nickName: "1.2.4", | 
|---|
|  |  |  | aphonenumber: "å
³èçç", | 
|---|
|  |  |  | delivery: true, | 
|---|
|  |  |  | aphonenumbers: "", | 
|---|
|  |  |  | bphonenumber: "徿£", | 
|---|
|  |  |  | cphonenumber: "2022-12-12 ", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | userList: [], | 
|---|
|  |  |  | // å¼¹åºå±æ é¢ | 
|---|
|  |  |  | title: "", | 
|---|
|  |  |  | // æ¯å¦æ¾ç¤ºå¼¹åºå± | 
|---|
|  |  |  | 
|---|
|  |  |  | roleOptions: [], | 
|---|
|  |  |  | // è¡¨ååæ° | 
|---|
|  |  |  | form: {}, | 
|---|
|  |  |  | forms: { | 
|---|
|  |  |  | name: "", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | numberlb: 22, | 
|---|
|  |  |  | numberlbs: 2, | 
|---|
|  |  |  | sidecolumnform: { | 
|---|
|  |  |  | classesname: "", | 
|---|
|  |  |  | }, //æ·»å ç±»å«è¡¨å | 
|---|
|  |  |  | dialogFormVisible: false, //æ·»å ãä¿®æ¹ç±»å«å¼¹æ¡ | 
|---|
|  |  |  | lstamendtagVisible: false, //æ·»å ãä¿®æ¹æ ç¾å¼¹æ¡ | 
|---|
|  |  |  | goQRCodeVisible: false, //äºç»´ç å¼¹æ¡ | 
|---|
|  |  |  | sidecolumnval: "", //ç±»å«æç´¢ | 
|---|
|  |  |  | propss: { multiple: true }, | 
|---|
|  |  |  | topqueryParams: {}, //导åºç鿡件 | 
|---|
|  |  |  | optionss: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | 
|---|
|  |  |  | number: "2", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // æ¥è¯¢åæ° | 
|---|
|  |  |  | // æ¥è¯¢æ ç¾åè¡¨åæ° | 
|---|
|  |  |  | queryParams: { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | userName: undefined, | 
|---|
|  |  |  | phonenumber: undefined, | 
|---|
|  |  |  | status: undefined, | 
|---|
|  |  |  | deptId: undefined, | 
|---|
|  |  |  | IDnumber: undefined, | 
|---|
|  |  |  | tagname: undefined, | 
|---|
|  |  |  | tagdescription: undefined, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // åä¿¡æ¯ | 
|---|
|  |  |  | columns: [ | 
|---|
|  |  |  | { key: 0, label: `ç¨æ·ç¼å·`, visible: true }, | 
|---|
|  |  |  | { key: 1, label: `ç¨æ·åç§°`, visible: true }, | 
|---|
|  |  |  | { key: 2, label: `ç¨æ·æµç§°`, visible: true }, | 
|---|
|  |  |  | { 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", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 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(); | 
|---|
|  |  |  | this.gitclasify(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | /** æ¥è¯¢ç¨æ·å表 */ | 
|---|
|  |  |  | /** æ¥è¯¢æ ç¾å表 */ | 
|---|
|  |  |  | getList() { | 
|---|
|  |  |  | //   this.loading = true; | 
|---|
|  |  |  | listUser().then((response) => { | 
|---|
|  |  |  | listtag(this.addDateRange(this.queryParams)).then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | // this.userList = response.data; | 
|---|
|  |  |  | // this.total = response.total; | 
|---|
|  |  |  | // this.loading = false; | 
|---|
|  |  |  | console.log(this.userList); | 
|---|
|  |  |  | this.total = response.total; | 
|---|
|  |  |  | this.userList = response.rows; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | //   const { rows } = await listUser(); | 
|---|
|  |  |  | //   console.log(rows); | 
|---|
|  |  |  | //   this.list = rows; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ·»å ç±»å« | 
|---|
|  |  |  | submitsidecolumn() { | 
|---|
|  |  |  | this.dialogFormVisible = false; | 
|---|
|  |  |  | /** ä¿®æ¹æ ç¾ */ | 
|---|
|  |  |  | handleUpdate(row) { | 
|---|
|  |  |  | console.log(row, "ä¿®æ¹æ ç¾"); | 
|---|
|  |  |  | this.lstamendtagVisible = true; | 
|---|
|  |  |  | this.lstamendtag = true; | 
|---|
|  |  |  | this.tagform = { | 
|---|
|  |  |  | delivery: "", | 
|---|
|  |  |  | name: "", | 
|---|
|  |  |  | desc: "", | 
|---|
|  |  |  | isupload: row.isupload, | 
|---|
|  |  |  | tagname: row.tagname, | 
|---|
|  |  |  | tagcategoryid: row.tagcategoryid, | 
|---|
|  |  |  | tagdescription: row.tagdescription, | 
|---|
|  |  |  | tagid: row.tagid, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // ä¿®æ¹å¼¹æ¡ | 
|---|
|  |  |  | popoveramend() { | 
|---|
|  |  |  | addladeltag() { | 
|---|
|  |  |  | this.lstamendtagVisible = true; | 
|---|
|  |  |  | this.lstamendtag = false; | 
|---|
|  |  |  | this.tagform = { | 
|---|
|  |  |  | isupload: "", | 
|---|
|  |  |  | tagname: "", | 
|---|
|  |  |  | tagcategoryid: "", | 
|---|
|  |  |  | tagdescription: "", | 
|---|
|  |  |  | tagid: "", | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ·»å /ä¿®æ¹æ ç¾ | 
|---|
|  |  |  | Maintenancetag() { | 
|---|
|  |  |  | if (this.lstamendtag) { | 
|---|
|  |  |  | toamendtag(this.addDateRange(this.tagform)).then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | addapitag(this.addDateRange(this.tagform)).then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.tagform = { | 
|---|
|  |  |  | isupload: "", | 
|---|
|  |  |  | tagname: "", | 
|---|
|  |  |  | tagcategoryid: "", | 
|---|
|  |  |  | tagdescription: "", | 
|---|
|  |  |  | tagid: "", | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // è·åæ ç¾åç±» | 
|---|
|  |  |  | gitclasify() { | 
|---|
|  |  |  | tagclassifylist(this.addDateRange(this.forms)).then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | this.numberlb = response.total; | 
|---|
|  |  |  | this.editableTabs = response.rows; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ·»å /ä¿®æ¹ç±»å« | 
|---|
|  |  |  | submitsidecolumn() { | 
|---|
|  |  |  | if (this.amendtag) { | 
|---|
|  |  |  | this.classifyform.tagcategoryid = this.idds; | 
|---|
|  |  |  | toamendtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | (response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | this.gitclasify(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | addtagcategory(this.addDateRange(this.classifyform)).then( | 
|---|
|  |  |  | (response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | this.gitclasify(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.classifyform = { | 
|---|
|  |  |  | categoryname: "", | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.idds = ""; | 
|---|
|  |  |  | this.dialogFormVisible = false; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //å é¤åç±» | 
|---|
|  |  |  | deletefenlei(row) { | 
|---|
|  |  |  | if (this.deleteVisible) { | 
|---|
|  |  |  | deletetagcategory(this.idds).then((response) => { | 
|---|
|  |  |  | console.log(response); | 
|---|
|  |  |  | this.gitclasify(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.deleteVisible = false; | 
|---|
|  |  |  | this.idds = ""; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.deleteVisible = true; | 
|---|
|  |  |  | this.idds = row.tagcategoryid; | 
|---|
|  |  |  | this.deletefenl = row.categoryname; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // ä¿®æ¹åç±»å¼¹æ¡ | 
|---|
|  |  |  | popoveramend(tagcategoryid) { | 
|---|
|  |  |  | this.idds = tagcategoryid; | 
|---|
|  |  |  | this.amendtag = true; | 
|---|
|  |  |  | this.dialogFormVisible = true; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //æç´¢ç±»å« | 
|---|
|  |  |  | sidecolumnss() {}, | 
|---|
|  |  |  | // åæ¢å
±äº«/æ¬å° | 
|---|
|  |  |  | tophandleClick() {}, | 
|---|
|  |  |  | // åæ¶æé® | 
|---|
|  |  |  | cancel() { | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // è¡¨åéç½® | 
|---|
|  |  |  | reset() { | 
|---|
|  |  |  | this.form = { | 
|---|
|  |  |  | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.resetForm("form"); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // ç¨æ·ç¶æä¿®æ¹ | 
|---|
|  |  |  | // æ ç¾ç¶æä¿®æ¹ | 
|---|
|  |  |  | handleStatusChange(row) { | 
|---|
|  |  |  | let text = row.status === "0" ? "å¯ç¨" : "åç¨"; | 
|---|
|  |  |  | console.log(row.isupload); | 
|---|
|  |  |  | let text = row.isupload === "0" ? "å¯ç¨" : "åç¨"; | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm('确认è¦"' + text + '""' + row.userName + '"æ ç¾åï¼') | 
|---|
|  |  |  | .confirm('确认è¦"' + text + '""' + row.tagname + '"æ ç¾åï¼') | 
|---|
|  |  |  | .then(function () { | 
|---|
|  |  |  | // return changeUserStatus(row.userId, row.status); | 
|---|
|  |  |  | return changetagcategory(row.tagid, row.isupload); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | this.$modal.msgSuccess(text + "æå"); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(function () { | 
|---|
|  |  |  | row.status = row.status === "0" ? "1" : "0"; | 
|---|
|  |  |  | row.isupload = row.isupload === "0" ? "1" : "0"; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** æç´¢æé®æä½ */ | 
|---|
|  |  |  | 
|---|
|  |  |  | resetQuery() { | 
|---|
|  |  |  | this.dateRange = []; | 
|---|
|  |  |  | this.resetForm("queryForm"); | 
|---|
|  |  |  | this.queryParams.deptId = undefined; | 
|---|
|  |  |  | this.queryParams.tagname = ""; | 
|---|
|  |  |  | this.$refs.tree.setCurrentKey(null); | 
|---|
|  |  |  | this.handleQuery(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // å¤éæ¡é䏿°æ® | 
|---|
|  |  |  | handleSelectionChange(selection) { | 
|---|
|  |  |  | this.ids = selection.map((item) => item.userId); | 
|---|
|  |  |  | this.ids = selection.map((item) => item.tagid); | 
|---|
|  |  |  | this.single = selection.length != 1; | 
|---|
|  |  |  | this.multiple = !selection.length; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** ä¿®æ¹æ ç¾ */ | 
|---|
|  |  |  | handleUpdate(row) { | 
|---|
|  |  |  | console.log(row, "ä¿®æ¹æ ç¾"); | 
|---|
|  |  |  | this.lstamendtagVisible = true; | 
|---|
|  |  |  | this.lstamendtag = true; | 
|---|
|  |  |  | this.tagform = { | 
|---|
|  |  |  | delivery: row.delivery, | 
|---|
|  |  |  | name: row.userName, | 
|---|
|  |  |  | desc: row.bphonenumber, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ¥çé®å· | 
|---|
|  |  |  | ViewQuestionnaire() { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/knowledge/questionnaire/examine/", | 
|---|
|  |  |  | query: { id: "1" }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** æ´æ°/ä¿®æ¹æäº¤æé® */ | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | console.log(row, "å é¤å¼¹çª"); | 
|---|
|  |  |  | const userIds = row.userId || this.ids; | 
|---|
|  |  |  | const aphonenumber = row.aphonenumber; | 
|---|
|  |  |  | const tagids = row.tagid || this.ids; | 
|---|
|  |  |  | console.log(tagids); | 
|---|
|  |  |  | const tagname = row.tagname; | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm( | 
|---|
|  |  |  | aphonenumber | 
|---|
|  |  |  | ? 'æ¯å¦ç¡®è®¤å é¤æ ç¾å称为"' + aphonenumber + '"çæ°æ®é¡¹ï¼' | 
|---|
|  |  |  | tagname | 
|---|
|  |  |  | ? 'æ¯å¦ç¡®è®¤å é¤æ ç¾å称为"' + tagname + '"çæ°æ®é¡¹ï¼' | 
|---|
|  |  |  | : "æ¯å¦ç¡®è®¤å é¤éä¸çæ°æ®é¡¹ï¼" | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | .then(function () { | 
|---|
|  |  |  | return delUser(userIds); | 
|---|
|  |  |  | return deletetag(tagids); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.$modal.msgSuccess("å é¤æå"); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** å¯¼åºæé®æä½ */ | 
|---|
|  |  |  | handleExport() { | 
|---|
|  |  |  | this.download( | 
|---|
|  |  |  | "base/tag/export", | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ...this.topqueryParams, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | `user_${new Date().getTime()}.xlsx` | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | 
|---|
|  |  |  | font-size: 20px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .document { | 
|---|
|  |  |  | width: 100px; | 
|---|
|  |  |  | height: 50px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .documentf { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | justify-content: flex-end; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-text { | 
|---|
|  |  |  | color: rgb(70, 204, 238); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <!--ç¨æ·æ°æ®--> | 
|---|
|  |  |  | <el-col :span="20" :xs="24"> | 
|---|
|  |  |  | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | :model="queryParams" | 
|---|
|  |  |  | ref="queryForm" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | :inline="true" | 
|---|
|  |  |  | v-show="showSearch" | 
|---|
|  |  |  | label-width="68px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form-item label="ç¨æ·åç§°" prop="userName"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="queryParams.userName" | 
|---|
|  |  |  | 
|---|
|  |  |  | ></el-date-picker> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item> | 
|---|
|  |  |  | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">æç´¢</el-button> | 
|---|
|  |  |  | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">éç½®</el-button> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | icon="el-icon-search" | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | @click="handleQuery" | 
|---|
|  |  |  | >æç´¢</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" | 
|---|
|  |  |  | >éç½®</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | @click="handleAdd" | 
|---|
|  |  |  | v-hasPermi="['system:user:add']" | 
|---|
|  |  |  | >æ°å¢</el-button> | 
|---|
|  |  |  | >æ°å¢</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | 
|---|
|  |  |  | :disabled="single" | 
|---|
|  |  |  | @click="handleUpdate" | 
|---|
|  |  |  | v-hasPermi="['system:user:edit']" | 
|---|
|  |  |  | >ä¿®æ¹</el-button> | 
|---|
|  |  |  | >ä¿®æ¹</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | 
|---|
|  |  |  | :disabled="multiple" | 
|---|
|  |  |  | @click="handleDelete" | 
|---|
|  |  |  | v-hasPermi="['system:user:remove']" | 
|---|
|  |  |  | >å é¤</el-button> | 
|---|
|  |  |  | >å é¤</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | @click="handleImport" | 
|---|
|  |  |  | v-hasPermi="['system:user:import']" | 
|---|
|  |  |  | >导å
¥</el-button> | 
|---|
|  |  |  | >导å
¥</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | @click="handleExport" | 
|---|
|  |  |  | v-hasPermi="['system:user:export']" | 
|---|
|  |  |  | >导åº</el-button> | 
|---|
|  |  |  | >导åº</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar> | 
|---|
|  |  |  | <right-toolbar | 
|---|
|  |  |  | :showSearch.sync="showSearch" | 
|---|
|  |  |  | @queryTable="getList" | 
|---|
|  |  |  | :columns="columns" | 
|---|
|  |  |  | ></right-toolbar> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> | 
|---|
|  |  |  | <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="é¨é¨" 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="status" v-if="columns[5].visible"> | 
|---|
|  |  |  | <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="é¨é¨" | 
|---|
|  |  |  | 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="status" | 
|---|
|  |  |  | v-if="columns[5].visible" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-switch | 
|---|
|  |  |  | v-model="scope.row.status" | 
|---|
|  |  |  | 
|---|
|  |  |  | ></el-switch> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column label="å建æ¶é´" align="center" prop="createTime" v-if="columns[6].visible" width="160"> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | 
|---|
|  |  |  | icon="el-icon-edit" | 
|---|
|  |  |  | @click="handleUpdate(scope.row)" | 
|---|
|  |  |  | v-hasPermi="['system:user:edit']" | 
|---|
|  |  |  | >ä¿®æ¹</el-button> | 
|---|
|  |  |  | >ä¿®æ¹</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | icon="el-icon-delete" | 
|---|
|  |  |  | @click="handleDelete(scope.row)" | 
|---|
|  |  |  | v-hasPermi="['system:user:remove']" | 
|---|
|  |  |  | >å é¤</el-button> | 
|---|
|  |  |  | <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']"> | 
|---|
|  |  |  | <el-button size="mini" type="text" icon="el-icon-d-arrow-right">æ´å¤</el-button> | 
|---|
|  |  |  | >å é¤</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-dropdown | 
|---|
|  |  |  | size="mini" | 
|---|
|  |  |  | @command="(command) => handleCommand(command, scope.row)" | 
|---|
|  |  |  | v-hasPermi="['system:user:resetPwd', 'system:user:edit']" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button size="mini" type="text" icon="el-icon-d-arrow-right" | 
|---|
|  |  |  | >æ´å¤</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-dropdown-menu slot="dropdown"> | 
|---|
|  |  |  | <el-dropdown-item command="handleResetPwd" icon="el-icon-key" | 
|---|
|  |  |  | v-hasPermi="['system:user:resetPwd']">éç½®å¯ç </el-dropdown-item> | 
|---|
|  |  |  | <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" | 
|---|
|  |  |  | v-hasPermi="['system:user:edit']">åé
è§è²</el-dropdown-item> | 
|---|
|  |  |  | <el-dropdown-item | 
|---|
|  |  |  | command="handleResetPwd" | 
|---|
|  |  |  | icon="el-icon-key" | 
|---|
|  |  |  | v-hasPermi="['system:user:resetPwd']" | 
|---|
|  |  |  | >éç½®å¯ç </el-dropdown-item | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-dropdown-item | 
|---|
|  |  |  | command="handleAuthRole" | 
|---|
|  |  |  | icon="el-icon-circle-check" | 
|---|
|  |  |  | v-hasPermi="['system:user:edit']" | 
|---|
|  |  |  | >åé
è§è²</el-dropdown-item | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-dropdown-menu> | 
|---|
|  |  |  | </el-dropdown> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-table> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <pagination | 
|---|
|  |  |  | v-show="total>0" | 
|---|
|  |  |  | v-show="total > 0" | 
|---|
|  |  |  | :total="total" | 
|---|
|  |  |  | :page.sync="queryParams.pageNum" | 
|---|
|  |  |  | :limit.sync="queryParams.pageSize" | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="ç¨æ·æµç§°" prop="nickName"> | 
|---|
|  |  |  | <el-input v-model="form.nickName" placeholder="请è¾å
¥ç¨æ·æµç§°" maxlength="30" /> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.nickName" | 
|---|
|  |  |  | placeholder="请è¾å
¥ç¨æ·æµç§°" | 
|---|
|  |  |  | maxlength="30" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="å½å±é¨é¨" prop="deptId"> | 
|---|
|  |  |  | <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="è¯·éæ©å½å±é¨é¨" /> | 
|---|
|  |  |  | <treeselect | 
|---|
|  |  |  | v-model="form.deptId" | 
|---|
|  |  |  | :options="deptOptions" | 
|---|
|  |  |  | :show-count="true" | 
|---|
|  |  |  | placeholder="è¯·éæ©å½å±é¨é¨" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </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-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-input | 
|---|
|  |  |  | v-model="form.email" | 
|---|
|  |  |  | placeholder="请è¾å
¥é®ç®±" | 
|---|
|  |  |  | maxlength="50" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item v-if="form.userId == undefined" label="ç¨æ·åç§°" prop="userName"> | 
|---|
|  |  |  | <el-input v-model="form.userName" placeholder="请è¾å
¥ç¨æ·åç§°" maxlength="30" /> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | v-if="form.userId == undefined" | 
|---|
|  |  |  | label="ç¨æ·åç§°" | 
|---|
|  |  |  | prop="userName" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.userName" | 
|---|
|  |  |  | placeholder="请è¾å
¥ç¨æ·åç§°" | 
|---|
|  |  |  | maxlength="30" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item v-if="form.userId == undefined" label="ç¨æ·å¯ç " prop="password"> | 
|---|
|  |  |  | <el-input v-model="form.password" placeholder="请è¾å
¥ç¨æ·å¯ç " type="password" maxlength="20" show-password/> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | v-if="form.userId == undefined" | 
|---|
|  |  |  | label="ç¨æ·å¯ç " | 
|---|
|  |  |  | prop="password" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.password" | 
|---|
|  |  |  | placeholder="请è¾å
¥ç¨æ·å¯ç " | 
|---|
|  |  |  | type="password" | 
|---|
|  |  |  | maxlength="20" | 
|---|
|  |  |  | show-password | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | 
|---|
|  |  |  | v-for="dict in dict.type.sys_normal_disable" | 
|---|
|  |  |  | :key="dict.value" | 
|---|
|  |  |  | :label="dict.value" | 
|---|
|  |  |  | >{{dict.label}}</el-radio> | 
|---|
|  |  |  | >{{ dict.label }}</el-radio | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-radio-group> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="å²ä½"> | 
|---|
|  |  |  | <el-select v-model="form.postIds" multiple placeholder="è¯·éæ©å²ä½"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="form.postIds" | 
|---|
|  |  |  | multiple | 
|---|
|  |  |  | placeholder="è¯·éæ©å²ä½" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in postOptions" | 
|---|
|  |  |  | :key="item.postId" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="è§è²"> | 
|---|
|  |  |  | <el-select v-model="form.roleIds" multiple placeholder="è¯·éæ©è§è²"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="form.roleIds" | 
|---|
|  |  |  | multiple | 
|---|
|  |  |  | placeholder="è¯·éæ©è§è²" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in roleOptions" | 
|---|
|  |  |  | :key="item.roleId" | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="24"> | 
|---|
|  |  |  | <el-form-item label="夿³¨"> | 
|---|
|  |  |  | <el-input v-model="form.remark" type="textarea" placeholder="请è¾å
¥å
容"></el-input> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="form.remark" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | placeholder="请è¾å
¥å
容" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-dialog> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- ç¨æ·å¯¼å
¥å¯¹è¯æ¡ --> | 
|---|
|  |  |  | <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> | 
|---|
|  |  |  | <el-dialog | 
|---|
|  |  |  | :title="upload.title" | 
|---|
|  |  |  | :visible.sync="upload.open" | 
|---|
|  |  |  | width="400px" | 
|---|
|  |  |  | append-to-body | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-upload | 
|---|
|  |  |  | ref="upload" | 
|---|
|  |  |  | :limit="1" | 
|---|
|  |  |  | 
|---|
|  |  |  | <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" /> æ¯å¦æ´æ°å·²ç»åå¨çç¨æ·æ°æ® | 
|---|
|  |  |  | <el-checkbox v-model="upload.updateSupport" /> | 
|---|
|  |  |  | æ¯å¦æ´æ°å·²ç»åå¨çç¨æ·æ°æ® | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <span>ä»
å
许导å
¥xlsãxlsxæ ¼å¼æä»¶ã</span> | 
|---|
|  |  |  | <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">ä¸è½½æ¨¡æ¿</el-link> | 
|---|
|  |  |  | <el-link | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | :underline="false" | 
|---|
|  |  |  | style="font-size: 12px; vertical-align: baseline" | 
|---|
|  |  |  | @click="importTemplate" | 
|---|
|  |  |  | >ä¸è½½æ¨¡æ¿</el-link | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-upload> | 
|---|
|  |  |  | <div slot="footer" class="dialog-footer"> | 
|---|
|  |  |  | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user"; | 
|---|
|  |  |  | 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'], | 
|---|
|  |  |  | dicts: ["sys_normal_disable", "sys_user_sex"], | 
|---|
|  |  |  | components: { Treeselect }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | 
|---|
|  |  |  | form: {}, | 
|---|
|  |  |  | defaultProps: { | 
|---|
|  |  |  | children: "children", | 
|---|
|  |  |  | label: "label" | 
|---|
|  |  |  | label: "label", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // ç¨æ·å¯¼å
¥åæ° | 
|---|
|  |  |  | upload: { | 
|---|
|  |  |  | 
|---|
|  |  |  | // è®¾ç½®ä¸ä¼ ç请æ±å¤´é¨ | 
|---|
|  |  |  | headers: { Authorization: "Bearer " + getToken() }, | 
|---|
|  |  |  | // ä¸ä¼ çå°å | 
|---|
|  |  |  | url: process.env.VUE_APP_BASE_API + "/system/user/importData" | 
|---|
|  |  |  | url: process.env.VUE_APP_BASE_API + "/system/user/importData", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æ¥è¯¢åæ° | 
|---|
|  |  |  | queryParams: { | 
|---|
|  |  |  | 
|---|
|  |  |  | userName: undefined, | 
|---|
|  |  |  | phonenumber: undefined, | 
|---|
|  |  |  | status: undefined, | 
|---|
|  |  |  | deptId: undefined | 
|---|
|  |  |  | deptId: undefined, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // åä¿¡æ¯ | 
|---|
|  |  |  | columns: [ | 
|---|
|  |  |  | 
|---|
|  |  |  | { key: 3, label: `é¨é¨`, visible: true }, | 
|---|
|  |  |  | { key: 4, label: `ææºå·ç `, visible: true }, | 
|---|
|  |  |  | { key: 5, label: `ç¶æ`, visible: true }, | 
|---|
|  |  |  | { key: 6, label: `å建æ¶é´`, visible: true } | 
|---|
|  |  |  | { key: 6, label: `å建æ¶é´`, visible: true }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // è¡¨åæ ¡éª | 
|---|
|  |  |  | rules: { | 
|---|
|  |  |  | userName: [ | 
|---|
|  |  |  | { required: true, message: "ç¨æ·åç§°ä¸è½ä¸ºç©º", trigger: "blur" }, | 
|---|
|  |  |  | { min: 2, max: 20, message: 'ç¨æ·åç§°é¿åº¦å¿
é¡»ä»äº 2 å 20 ä¹é´', trigger: 'blur' } | 
|---|
|  |  |  | { | 
|---|
|  |  |  | min: 2, | 
|---|
|  |  |  | max: 20, | 
|---|
|  |  |  | message: "ç¨æ·åç§°é¿åº¦å¿
é¡»ä»äº 2 å 20 ä¹é´", | 
|---|
|  |  |  | trigger: "blur", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | nickName: [ | 
|---|
|  |  |  | { required: true, message: "ç¨æ·æµç§°ä¸è½ä¸ºç©º", trigger: "blur" } | 
|---|
|  |  |  | { required: true, message: "ç¨æ·æµç§°ä¸è½ä¸ºç©º", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | password: [ | 
|---|
|  |  |  | { required: true, message: "ç¨æ·å¯ç ä¸è½ä¸ºç©º", trigger: "blur" }, | 
|---|
|  |  |  | { min: 5, max: 20, message: 'ç¨æ·å¯ç é¿åº¦å¿
é¡»ä»äº 5 å 20 ä¹é´', trigger: 'blur' } | 
|---|
|  |  |  | { | 
|---|
|  |  |  | min: 5, | 
|---|
|  |  |  | max: 20, | 
|---|
|  |  |  | message: "ç¨æ·å¯ç é¿åº¦å¿
é¡»ä»äº 5 å 20 ä¹é´", | 
|---|
|  |  |  | trigger: "blur", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | email: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | type: "email", | 
|---|
|  |  |  | message: "请è¾å
¥æ£ç¡®çé®ç®±å°å", | 
|---|
|  |  |  | trigger: ["blur", "change"] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | trigger: ["blur", "change"], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | phonenumber: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, | 
|---|
|  |  |  | message: "请è¾å
¥æ£ç¡®çææºå·ç ", | 
|---|
|  |  |  | trigger: "blur" | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | trigger: "blur", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | watch: { | 
|---|
|  |  |  | // æ ¹æ®åç§°çéé¨é¨æ  | 
|---|
|  |  |  | deptName(val) { | 
|---|
|  |  |  | this.$refs.tree.filter(val); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.getDeptTree(); | 
|---|
|  |  |  | this.getConfigKey("sys.user.initPassword").then(response => { | 
|---|
|  |  |  | this.getConfigKey("sys.user.initPassword").then((response) => { | 
|---|
|  |  |  | this.initPassword = response.msg; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | /** æ¥è¯¢ç¨æ·å表 */ | 
|---|
|  |  |  | getList() { | 
|---|
|  |  |  | this.loading = true; | 
|---|
|  |  |  | listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => { | 
|---|
|  |  |  | console.log(this.queryParams); | 
|---|
|  |  |  | listUser(this.addDateRange(this.queryParams, this.dateRange)).then( | 
|---|
|  |  |  | (response) => { | 
|---|
|  |  |  | this.userList = response.rows; | 
|---|
|  |  |  | this.total = response.total; | 
|---|
|  |  |  | this.loading = false; | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** æ¥è¯¢é¨é¨ä¸ææ ç»æ */ | 
|---|
|  |  |  | getDeptTree() { | 
|---|
|  |  |  | deptTreeSelect().then(response => { | 
|---|
|  |  |  | deptTreeSelect().then((response) => { | 
|---|
|  |  |  | this.deptOptions = response.data; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | // ç¨æ·ç¶æä¿®æ¹ | 
|---|
|  |  |  | 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"; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | 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() { | 
|---|
|  |  |  | 
|---|
|  |  |  | status: "0", | 
|---|
|  |  |  | remark: undefined, | 
|---|
|  |  |  | postIds: [], | 
|---|
|  |  |  | roleIds: [] | 
|---|
|  |  |  | roleIds: [], | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.resetForm("form"); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // å¤éæ¡é䏿°æ® | 
|---|
|  |  |  | handleSelectionChange(selection) { | 
|---|
|  |  |  | this.ids = selection.map(item => item.userId); | 
|---|
|  |  |  | this.ids = selection.map((item) => item.userId); | 
|---|
|  |  |  | this.single = selection.length != 1; | 
|---|
|  |  |  | this.multiple = !selection.length; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | /** æ°å¢æé®æä½ */ | 
|---|
|  |  |  | handleAdd() { | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | getUser().then(response => { | 
|---|
|  |  |  | getUser().then((response) => { | 
|---|
|  |  |  | this.postOptions = response.posts; | 
|---|
|  |  |  | this.roleOptions = response.roles; | 
|---|
|  |  |  | this.open = true; | 
|---|
|  |  |  | 
|---|
|  |  |  | handleUpdate(row) { | 
|---|
|  |  |  | this.reset(); | 
|---|
|  |  |  | const userId = row.userId || this.ids; | 
|---|
|  |  |  | getUser(userId).then(response => { | 
|---|
|  |  |  | getUser(userId).then((response) => { | 
|---|
|  |  |  | this.form = response.data; | 
|---|
|  |  |  | this.postOptions = response.posts; | 
|---|
|  |  |  | this.roleOptions = response.roles; | 
|---|
|  |  |  | 
|---|
|  |  |  | cancelButtonText: "åæ¶", | 
|---|
|  |  |  | closeOnClickModal: false, | 
|---|
|  |  |  | inputPattern: /^.{5,20}$/, | 
|---|
|  |  |  | inputErrorMessage: "ç¨æ·å¯ç é¿åº¦å¿
é¡»ä»äº 5 å 20 ä¹é´" | 
|---|
|  |  |  | }).then(({ value }) => { | 
|---|
|  |  |  | resetUserPwd(row.userId, value).then(response => { | 
|---|
|  |  |  | inputErrorMessage: "ç¨æ·å¯ç é¿åº¦å¿
é¡»ä»äº 5 å 20 ä¹é´", | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(({ value }) => { | 
|---|
|  |  |  | resetUserPwd(row.userId, value).then((response) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("ä¿®æ¹æåï¼æ°å¯ç æ¯ï¼" + value); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }).catch(() => {}); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** åé
è§è²æä½ */ | 
|---|
|  |  |  | handleAuthRole: function(row) { | 
|---|
|  |  |  | handleAuthRole: function (row) { | 
|---|
|  |  |  | const userId = row.userId; | 
|---|
|  |  |  | this.$router.push("/system/user-auth/role/" + userId); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** æäº¤æé® */ | 
|---|
|  |  |  | submitForm: function() { | 
|---|
|  |  |  | this.$refs["form"].validate(valid => { | 
|---|
|  |  |  | submitForm: function () { | 
|---|
|  |  |  | this.$refs["form"].validate((valid) => { | 
|---|
|  |  |  | if (valid) { | 
|---|
|  |  |  | if (this.form.userId != undefined) { | 
|---|
|  |  |  | updateUser(this.form).then(response => { | 
|---|
|  |  |  | updateUser(this.form).then((response) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("ä¿®æ¹æå"); | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | addUser(this.form).then(response => { | 
|---|
|  |  |  | 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(() => {}); | 
|---|
|  |  |  | 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`) | 
|---|
|  |  |  | this.download( | 
|---|
|  |  |  | "system/user/export", | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ...this.queryParams, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | `user_${new Date().getTime()}.xlsx` | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** å¯¼å
¥æé®æä½ */ | 
|---|
|  |  |  | handleImport() { | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** ä¸è½½æ¨¡æ¿æä½ */ | 
|---|
|  |  |  | importTemplate() { | 
|---|
|  |  |  | this.download('system/user/importTemplate', { | 
|---|
|  |  |  | }, `user_template_${new Date().getTime()}.xlsx`) | 
|---|
|  |  |  | this.download( | 
|---|
|  |  |  | "system/user/importTemplate", | 
|---|
|  |  |  | {}, | 
|---|
|  |  |  | `user_template_${new Date().getTime()}.xlsx` | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æä»¶ä¸ä¼ ä¸å¤ç | 
|---|
|  |  |  | handleFileUploadProgress(event, 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.$alert( | 
|---|
|  |  |  | "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + | 
|---|
|  |  |  | response.msg + | 
|---|
|  |  |  | "</div>", | 
|---|
|  |  |  | "导å
¥ç»æ", | 
|---|
|  |  |  | { dangerouslyUseHTMLString: true } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // æäº¤ä¸ä¼ æä»¶ | 
|---|
|  |  |  | submitFileForm() { | 
|---|
|  |  |  | this.$refs.upload.submit(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | 
|---|
|  |  |  | proxy: { | 
|---|
|  |  |  | // detail: https://cli.vuejs.org/config/#devserver-proxy | 
|---|
|  |  |  | [process.env.VUE_APP_BASE_API]: { | 
|---|
|  |  |  | target1: `http://116.62.18.175:8080`, | 
|---|
|  |  |  | target: `http://localhost:8080`, | 
|---|
|  |  |  | target1: `http://192.168.1.4:8080`, | 
|---|
|  |  |  | target: `http://192.168.1.4:8080`, | 
|---|
|  |  |  | changeOrigin: true, | 
|---|
|  |  |  | pathRewrite: { | 
|---|
|  |  |  | ['^' + process.env.VUE_APP_BASE_API]: '' | 
|---|