|
@@ -0,0 +1,566 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <en-table-layout
|
|
|
+ toolbar
|
|
|
+ @selection-change="selectFun"
|
|
|
+ @sort-change="tableSort"
|
|
|
+ pagination
|
|
|
+ :tableData="tableData"
|
|
|
+ :height="600"
|
|
|
+ :loading="loading"
|
|
|
+ :default-sort="{prop: 'member_id', order: 'ascending'}"
|
|
|
+ >
|
|
|
+ <!--工具栏-->
|
|
|
+ <div slot="toolbar" class="inner-toolbar">
|
|
|
+ <div class="toolbar-search">
|
|
|
+ <en-table-search @search="handlerSearch" placeholder="请输入搜索关键字"/>
|
|
|
+ </div>
|
|
|
+ <div class="toolbar-btns">
|
|
|
+ <el-button type="primary" @click="handleAddMember">新增</el-button>
|
|
|
+ <!-- <el-button type="danger" @click="batchDelete">禁用</el-button>-->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!--表头-->
|
|
|
+ <template slot="table-columns">
|
|
|
+ <el-table-column type="selection" width="55" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="uname" label="登陆名" min-width="150" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="nickname" label="真实名字" min-width="150" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="sex" label="性别" :formatter="formatterSex" width="100" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="mobile" label="手机" align="center"></el-table-column>
|
|
|
+ <el-table-column prop="role_name" label="角色" :formatter="formatterRole" width="150" align="center"></el-table-column>
|
|
|
+ <el-table-column style="text-align: left;" label="操作" width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button type="success" size="mini" @click="handlerEdit(scope.$index,scope.row)">编辑</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <!--翻页-->
|
|
|
+ <el-pagination
|
|
|
+ slot="pagination"
|
|
|
+ v-if="pageData"
|
|
|
+ :current-page="pageData.page_no"
|
|
|
+ :page-sizes="[10, 20, 50, 100]"
|
|
|
+ :page-size="pageData.page_size"
|
|
|
+ @size-change="handlePageSizeChange"
|
|
|
+ @current-change="handlePageCurrentChange"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="pageData.data_total">
|
|
|
+ </el-pagination>
|
|
|
+ </en-table-layout>
|
|
|
+
|
|
|
+ <!--添加会员 dialog-->
|
|
|
+ <el-dialog
|
|
|
+ title="编辑成员信息"
|
|
|
+ :visible.sync="dialogAddMemberVisible"
|
|
|
+ width="60%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ >
|
|
|
+ <el-form :model="addMemberForm" :rules="addMemberRules" ref="addMemberForm" label-width="110px" class="formwrap">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="医生头像">
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ :action="`${uploadurl}?scene=avatar`"
|
|
|
+ :show-file-list="false"
|
|
|
+ :on-success="uploaded"
|
|
|
+ :before-upload="handleShopLogoBefore">
|
|
|
+ <img v-if="imageUrl" :src="imageUrl" class="avatar">
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="登录名" prop="uname">
|
|
|
+ <el-input v-model="addMemberForm.uname" :maxlength="20"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="密码" prop="password">
|
|
|
+ <el-input v-model="addMemberForm.password" :type="pwdType" :maxlength="20"></el-input>
|
|
|
+ <span class="show-pwd" @click="pwdType = pwdType === 'password' ? 'text' : 'password'">
|
|
|
+ <svg-icon :icon-class="pwdType === 'password' ? 'eye' : 'eye-open'"/>
|
|
|
+ </span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="真实姓名" prop="nickname">
|
|
|
+ <el-input v-model="addMemberForm.nickname" :maxlength="20"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="手机号码" prop="mobile">
|
|
|
+ <el-input v-model.number="addMemberForm.mobile" :maxlength="11"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="性别" class="form-item-sex">
|
|
|
+ <el-radio v-model="addMemberForm.sex" :label="1">男</el-radio>
|
|
|
+ <el-radio v-model="addMemberForm.sex" :label="2">女</el-radio>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <!--固定电话-->
|
|
|
+ <el-form-item label="身份证号">
|
|
|
+ <el-input v-model="addMemberForm.midentity" :maxlength="20"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+
|
|
|
+
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <!--生日-->
|
|
|
+ <el-form-item label="生日" prop="birthday">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="addMemberForm.birthday"
|
|
|
+ type="date"
|
|
|
+ :editable="false"
|
|
|
+ value-format="timestamp"
|
|
|
+ placeholder="选择生日"
|
|
|
+ :picker-options="{disabledDate(time) { return time.getTime() > Date.now() }}">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="角色" prop="role_id">
|
|
|
+ <el-select
|
|
|
+ v-model="addMemberForm.role_id"
|
|
|
+ placeholder="请选择角色"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+
|
|
|
+ <el-option
|
|
|
+ v-for="item in rolesOptions"
|
|
|
+ :key="item.role_id"
|
|
|
+ :label="item.role_name"
|
|
|
+ :value="item.role_id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <!--详细地址-->
|
|
|
+ <el-form-item label="详细地址" prop="address">
|
|
|
+ <el-input v-model="addMemberForm.address" :maxlength="50"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+
|
|
|
+<!-- <el-row>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <!–地区–>-->
|
|
|
+<!-- <el-form-item label="地区" prop="region" class="form-item-region">-->
|
|
|
+<!-- <en-region-picker :api="MixinRegionApi" @changed="(object) => { addMemberForm.region = object.last_id }"/>-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+
|
|
|
+<!-- <!–邮箱–>-->
|
|
|
+<!-- <el-form-item label="邮箱" prop="email">-->
|
|
|
+<!-- <el-input v-model="addMemberForm.email"></el-input>-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="dialogAddMemberVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="submitAddMemberForm('addMemberForm')">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import { serverUrl } from '@/utils/domain'
|
|
|
+ import * as clerk_API from '@/api/ncs_clerk'
|
|
|
+ import * as RegExp from '@/utils/RegExp'
|
|
|
+
|
|
|
+ export default {
|
|
|
+ name: 'careDoctorManager',
|
|
|
+ data: function() {
|
|
|
+ return {
|
|
|
+ uploadurl: serverUrl + '/ncs/upload/uploadFile',
|
|
|
+ imageUrl: '',
|
|
|
+ /** 列表loading状态 */
|
|
|
+ loading: false,
|
|
|
+ /** 列表参数 */
|
|
|
+ params: {
|
|
|
+ page_size: 10,
|
|
|
+ page_no: 1,
|
|
|
+ sort: 'nc.member_id',
|
|
|
+ dir: 'asc'
|
|
|
+ },
|
|
|
+ /** 列表数据 */
|
|
|
+ tableData: [],
|
|
|
+ pageData: [],
|
|
|
+ /** 添加会员弹出框指示 */
|
|
|
+ dialogAddMemberVisible: false,
|
|
|
+ /** 添加会员 表单数据 */
|
|
|
+ addMemberForm: {},
|
|
|
+ /** 选中行数据 */
|
|
|
+ multipleSelection: [],
|
|
|
+ rolesOptions: [],
|
|
|
+ /** 添加会员 表单规则 */
|
|
|
+ addMemberRules: {
|
|
|
+ uname: [
|
|
|
+ this.MixinRequired('请输入用户名'),
|
|
|
+ { min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ password: [
|
|
|
+ this.MixinRequired('请输入密码!'),
|
|
|
+ {
|
|
|
+ validator: (rule, value, callback) => {
|
|
|
+ if (!RegExp.password.test(value)) {
|
|
|
+ callback(new Error('密码格式有误,密码只能包含字母数字和!#$%^&*.~,字符,长度为6-20位'))
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ nickname: [
|
|
|
+ this.MixinRequired('请输入真实姓名'),
|
|
|
+ { min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ role_id: [this.MixinRequired('请选择角色')],
|
|
|
+ mobile: [
|
|
|
+ this.MixinRequired('请输入手机号码!'),
|
|
|
+ {
|
|
|
+ validator: (rule, value, callback) => {
|
|
|
+ if (!RegExp.mobile.test(value)) {
|
|
|
+ callback(new Error('手机格式格式有误'))
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ address: [
|
|
|
+ { max: 50, message: '最长50个字符', trigger: 'blur' }]
|
|
|
+ },
|
|
|
+ pwdType: 'password'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.getRoles({ page_size: 200, page_no: 1, fixedCondition: ' shop_id = -1', sort: ' role_id', dir: 'desc' })
|
|
|
+ this.GET_MemberList()
|
|
|
+ },
|
|
|
+ activated() {
|
|
|
+ this.GET_MemberList()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ /** 选择行变化时,记录选中的行数据 */
|
|
|
+ selectFun(val) {
|
|
|
+ this.multipleSelection = val
|
|
|
+ },
|
|
|
+ /** 加载用户列表 */
|
|
|
+ GET_MemberList() {
|
|
|
+ this.loading = true
|
|
|
+ clerk_API.getList(this.params).then(response => {
|
|
|
+ this.loading = false
|
|
|
+ let size = 0
|
|
|
+ // response.data.forEach((item, index) => {
|
|
|
+ // if (item.founder === 1) {
|
|
|
+ // delete response.data[index]
|
|
|
+ // size++
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ this.tableData = response.data
|
|
|
+ this.pageData = {
|
|
|
+ page_no: response.page_no,
|
|
|
+ page_size: response.page_size,
|
|
|
+ data_total: response.data_total - size
|
|
|
+ }
|
|
|
+ }).catch(() => {
|
|
|
+ this.loading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /** 处理搜索 **/
|
|
|
+ handlerSearch(keywords) {
|
|
|
+ this.params.query = keywords
|
|
|
+ this.GET_MemberList()
|
|
|
+ },
|
|
|
+ /** 表头排序 **/
|
|
|
+ tableSort(column) {
|
|
|
+ if (column.order !== null) {
|
|
|
+ this.params.sort = column.prop
|
|
|
+ this.params.dir = column.order === 'ascending' ? 'asc' : 'desc'
|
|
|
+ } else {
|
|
|
+ this.params.sort = null
|
|
|
+ this.params.dir = null
|
|
|
+ }
|
|
|
+ this.GET_MemberList()
|
|
|
+ },
|
|
|
+ /** 单条数据删除处理 */
|
|
|
+ handlerDelete(ids) {
|
|
|
+ this.$confirm('你确定要禁用此用户?', '警告', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ clerk_API.remove(ids).then(
|
|
|
+ response => {
|
|
|
+ this.GET_MemberList()
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '已禁用!'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ ).catch(response => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: response.message
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }).catch((response) => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消禁用'
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getRoles(param) {
|
|
|
+ // 获取角色
|
|
|
+ clerk_API.getRoles(param).then(response => {
|
|
|
+ this.rolesOptions = response.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /** 批量数据删除处理(删除选中的行) */
|
|
|
+ batchDelete: function() {
|
|
|
+ if (this.multipleSelection.length === 0) {
|
|
|
+ this.$alert('没有选择任何记录!', '系统提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ callback: action => {
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ const ids = []
|
|
|
+ this.multipleSelection.forEach(function(item) {
|
|
|
+ ids.push(item.member_id)
|
|
|
+ })
|
|
|
+
|
|
|
+ this.handlerDelete(ids.join(','))
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /** 性别格式化 */
|
|
|
+ formatterSex(row, column, cellValue) {
|
|
|
+ return row.sex === 1 ? '男' : '女'
|
|
|
+ },
|
|
|
+
|
|
|
+ formatterRole(row, column, cellValue) {
|
|
|
+ if (row.founder === 1) {
|
|
|
+ return '机构负责人'
|
|
|
+ } else {
|
|
|
+ return cellValue
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /** 提交添加会员表单 */
|
|
|
+ submitAddMemberForm(formName) {
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ const params = this.MixinClone(this.addMemberForm)
|
|
|
+ if (isNaN(params.birthday)) {
|
|
|
+ params.birthday = null
|
|
|
+ } else {
|
|
|
+ params.birthday = parseInt(params.birthday / 1000)
|
|
|
+ }
|
|
|
+ if (this.imageUrl) {
|
|
|
+ params.face = this.imageUrl
|
|
|
+ }
|
|
|
+ if (params.member_id) {
|
|
|
+ clerk_API.update(params.clerk_id, params).then(response => {
|
|
|
+ this.dialogAddMemberVisible = false
|
|
|
+ this.imageUrl = null
|
|
|
+ this.GET_MemberList()
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ params.shop_id = this.$store.getters.partId
|
|
|
+ clerk_API.add(params).then(response => {
|
|
|
+ this.dialogAddMemberVisible = false
|
|
|
+ this.imageUrl = null
|
|
|
+ this.GET_MemberList()
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ this.$message.error('表单填写有误,请检查!')
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /** 添加会员 */
|
|
|
+ handleAddMember() {
|
|
|
+ this.addMemberForm = { sex: 1 }
|
|
|
+ this.addMemberRules.password[0].required = true
|
|
|
+ this.dialogAddMemberVisible = true
|
|
|
+ },
|
|
|
+ /** 编辑用户 */
|
|
|
+ handlerEdit(index, row) {
|
|
|
+ this.addMemberForm = Object.assign({}, row)
|
|
|
+ this.imageUrl = row.face
|
|
|
+ delete this.addMemberForm.password
|
|
|
+ this.addMemberRules.password[0].required = false
|
|
|
+ if (row.birthday) {
|
|
|
+ this.addMemberForm.birthday *= 1000
|
|
|
+ }
|
|
|
+ console.log(this.addMemberForm)
|
|
|
+ this.dialogAddMemberVisible = true
|
|
|
+ },
|
|
|
+ /** 分页大小发生改变 */
|
|
|
+ handlePageSizeChange(size) {
|
|
|
+ this.params.page_size = size
|
|
|
+ this.GET_MemberList()
|
|
|
+ },
|
|
|
+
|
|
|
+ /** 分页页数发生改变 */
|
|
|
+ handlePageCurrentChange(page) {
|
|
|
+ this.params.page_no = page
|
|
|
+ this.GET_MemberList()
|
|
|
+ },
|
|
|
+ /** 图片上传之前的校验 */
|
|
|
+ handleShopLogoBefore(file) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ const isImg = file.type === 'image/jpeg' || file.type === 'image/png' || file.type === 'image/gif'
|
|
|
+ const isLt2M = file.size / 1024 / 1024 < 2
|
|
|
+
|
|
|
+ if (!isImg) {
|
|
|
+ this.$message.error('上传头像图片只能是 JPG、PNG、GIF 格式!')
|
|
|
+ reject()
|
|
|
+ }
|
|
|
+ if (!isLt2M) {
|
|
|
+ this.$message.error('上传头像图片大小不能超过 2MB!')
|
|
|
+ reject()
|
|
|
+ }
|
|
|
+
|
|
|
+ let reader = new FileReader()
|
|
|
+ reader.onload = (event) => {
|
|
|
+ let image = new Image()
|
|
|
+ image.onload = () => {
|
|
|
+ let width = image.width
|
|
|
+ let height = image.height
|
|
|
+ if (width > 500 || width < 100) {
|
|
|
+ this.$message.error('图片宽度必须在100~500之间,宽高比为1:1!')
|
|
|
+ reject()
|
|
|
+ }
|
|
|
+ if (width !== height) {
|
|
|
+ this.$message.error('请上传宽高比为1:1的图片')
|
|
|
+ reject()
|
|
|
+ }
|
|
|
+ if (height > 500 || height < 100) {
|
|
|
+ this.$message.error('图片高度必须在100~500之间!')
|
|
|
+ reject()
|
|
|
+ }
|
|
|
+ resolve()
|
|
|
+ }
|
|
|
+ image.src = event.target.result
|
|
|
+ }
|
|
|
+ reader.readAsDataURL(file)
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ /** 上传成功后的钩子 更换图片 置空存储数组*/
|
|
|
+ uploaded(res) {
|
|
|
+ this.imageUrl = serverUrl + '/' + res.file_path
|
|
|
+ this.addMemberForm.face = this.imageUrl
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style type="text/scss" scoped>
|
|
|
+
|
|
|
+ .show-pwd {
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ right: 10px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ .formwrap /deep/ .el-tabs__content {
|
|
|
+ overflow: visible !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .formwrap /deep/ .app-address-title {
|
|
|
+ height: 32px !important;
|
|
|
+ line-height: 32px !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .formwrap /deep/ .app-address {
|
|
|
+ width: 100% !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/ div.toolbar {
|
|
|
+ height: 70px;
|
|
|
+ padding: 20px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/ .el-date-editor {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/ .el-table {
|
|
|
+ width: 100%;
|
|
|
+ overflow-x: scroll;
|
|
|
+
|
|
|
+ & td:not(.is-left) {
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tag + .el-tag {
|
|
|
+ margin-left: 10px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/ .avatar-uploader .el-upload {
|
|
|
+ border: 1px dashed #d9d9d9;
|
|
|
+ border-radius: 6px;
|
|
|
+ cursor: pointer;
|
|
|
+ position: relative;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/ .avatar-uploader .el-upload:hover {
|
|
|
+ border-color: #409EFF;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/ .avatar-uploader-icon {
|
|
|
+ font-size: 28px;
|
|
|
+ color: #8c939d;
|
|
|
+ width: 110px;
|
|
|
+ height: 110px;
|
|
|
+ line-height: 110px;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/ .avatar {
|
|
|
+ width: 110px;
|
|
|
+ height: 110px;
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+
|
|
|
+</style>
|