Commit 08a35d3a authored by 刘殿昕's avatar 刘殿昕

Merge branch 'ldx' into dev

parents be2ab7ec 00989215
<template> <template>
<div id="app"> <div id="app">
<bd-menu v-if="this.$route.path != '/login'" class="outmenu"></bd-menu> <bd-menu class="outmenu"></bd-menu>
<router-view /> <router-view />
</div> </div>
</template> </template>
......
<template> <template>
<div class="add_img"> <div class="img_crop">
<div class="add_pic"> <div v-for="(item, index) in fileArray" :key="'img' + index" class="list_img">
<i class="el-icon-plus add_icon"></i> <div class="list_img_back">
<input <i class="el-icon-refresh-right img_replace"></i>
type="file" <input
id="uploads" type="file"
class="up_input" class="up_input"
accept="image/png, image/jpeg, image/gif, image/jpg" accept="image/png, image/jpeg, image/gif, image/jpg"
@change="uploadImg($event,1)" @change="uploadImg($event,1)"
/> />
</div>
<el-image class="list_img_item" :src="item.url" :fit="fit"></el-image>
</div>
<div class="add_img" v-if="fileArray.length <= max - 1">
<div class="add_pic">
<i class="el-icon-plus add_icon"></i>
<input
type="file"
class="up_input"
accept="image/png, image/jpeg, image/gif, image/jpg"
@change="uploadImg($event,1)"
/>
</div>
</div> </div>
<!-- 弹出层-裁剪 --> <!-- 弹出层-裁剪 -->
<el-dialog <el-dialog
...@@ -41,8 +54,8 @@ ...@@ -41,8 +54,8 @@
</div> </div>
</div> </div>
<el-row class="footerBtn" align="center"> <el-row class="footerBtn" align="center">
<el-button type="primary" size="small" round @click="cut('blob')"></el-button> <el-button type="primary" class="form_t" size="small" @click="cut('blob')">&nbsp;&nbsp;</el-button>
<el-button type="primary" size="small" round @click="handleClose"></el-button> <el-button type="primary" class="form_c" size="small" @click="handleClose">&nbsp;&nbsp;</el-button>
</el-row> </el-row>
</div> </div>
</el-dialog> </el-dialog>
...@@ -55,6 +68,22 @@ export default { ...@@ -55,6 +68,22 @@ export default {
components: { components: {
VueCropper VueCropper
}, },
props: {
fileArray: {
type: Array,
default: () => {
[];
}
},
fit: {
type: String,
default: ""
},
max: {
type: Number,
default: 1
}
},
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
...@@ -186,6 +215,41 @@ export default { ...@@ -186,6 +215,41 @@ export default {
justify-content: center; justify-content: center;
margin-top: 15px; margin-top: 15px;
} }
.list_img {
width: 140px;
height: 140px;
border-radius: 5px;
overflow: hidden;
margin-left: 10px;
position: relative;
cursor: pointer;
}
.list_img_back {
position: absolute;
width: 100%;
height: 100%;
background-color: #000;
z-index: 1;
opacity: 0;
}
.list_img:hover .list_img_back {
opacity: 0.5;
}
.list_img_item {
width: 100%;
height: 100%;
}
.img_replace {
position: absolute;
top: calc((100% - 34px) / 2);
left: calc((100% - 34px) / 2);
color: #fff;
font-size: 34px;
}
.img_crop {
display: flex;
align-items: center;
}
</style> </style>
<style> <style>
.cropper_dia .el-dialog { .cropper_dia .el-dialog {
......
<template> <template>
<div> <div>
<div class="img_crop" v-if="type == 'cropper'"> <div v-if="type == 'cropper'">
<div v-for="(item, index) in fileArray" :key="'img' + index" class="list_img"> <cropper :max="max" :readOnly="readOnly" :fileArray="fileArray" :fit="fit"></cropper>
<div v-if="!readOnly" @click="deleteImg(item, index)" class="list_img_back">
<i class="el-icon-delete img_del"></i>
</div>
<el-image class="list_img_item" :src="item.url" :fit="fit"></el-image>
</div>
<cropper v-if="fileArray.length <= max - 1" @getNewUrl="getNewUrl"></cropper>
</div> </div>
<div v-else> <div v-else>
<el-upload <el-upload
...@@ -168,13 +162,9 @@ export default { ...@@ -168,13 +162,9 @@ export default {
this.$emit("getNewList", this.fileArray); this.$emit("getNewList", this.fileArray);
}, },
getNewUrl(val) { getNewUrl(val) {
this.fileArray.push({ name: val, url: val }); this.fileArray = { name: val, url: val };
this.$emit("getNewList", this.fileArray); this.$emit("getNewList", this.fileArray);
console.log(this.fileArray); console.log(this.fileArray);
},
deleteImg(item, index) {
this.fileArray.splice(index, 1);
this.$emit("getNewList", this.fileArray);
} }
} }
}; };
...@@ -183,41 +173,4 @@ export default { ...@@ -183,41 +173,4 @@ export default {
.hide .el-upload--picture-card { .hide .el-upload--picture-card {
display: none; display: none;
} }
</style>
<style scoped>
.list_img {
width: 140px;
height: 140px;
border-radius: 5px;
overflow: hidden;
margin-left: 10px;
position: relative;
cursor: pointer;
}
.list_img_back {
position: absolute;
width: 100%;
height: 100%;
background-color: #000;
z-index: 1;
opacity: 0;
}
.list_img:hover .list_img_back {
opacity: 0.5;
}
.list_img_item {
width: 100%;
height: 100%;
}
.img_crop {
display: flex;
align-items: center;
}
.img_del {
position: absolute;
top: calc((100% - 24px) / 2);
left: calc((100% - 24px) / 2);
color: #fff;
font-size: 24px;
}
</style> </style>
\ No newline at end of file
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<h3>带有裁剪功能的图片上传</h3> <h3>带有裁剪功能的图片上传</h3>
<upload-file <upload-file
:multiple="false" :multiple="false"
:max="4" :max="1"
type="cropper" type="cropper"
:readOnly="false" :readOnly="false"
:list="imgList" :list="imgList"
...@@ -48,7 +48,6 @@ export default { ...@@ -48,7 +48,6 @@ export default {
return { return {
imgList: [], imgList: [],
imgList1: [ imgList1: [
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
] ]
}; };
......
This diff is collapsed.
...@@ -9,23 +9,84 @@ ...@@ -9,23 +9,84 @@
<el-tab-pane label="个人信息详情" name="0"></el-tab-pane> <el-tab-pane label="个人信息详情" name="0"></el-tab-pane>
<el-tab-pane label="业务系统详情" name="1"></el-tab-pane> <el-tab-pane label="业务系统详情" name="1"></el-tab-pane>
</el-tabs> </el-tabs>
<el-form ref="form" :model="form">
<el-form-item>
<p>账号:</p>
<el-input v-model="form.accountNo"></el-input>
</el-form-item>
<el-form-item>
<p>密码:</p>
<el-input v-model="form.password"></el-input>
</el-form-item>
<el-form-item>
<p>昵称:</p>
<el-input v-model="form.nickname"></el-input>
</el-form-item>
<el-form-item>
<p>头像:</p>
<upload-file
:multiple="false"
:max="1"
type="cropper"
:readOnly="false"
:list="imgList"
@getNewList="getNewList"
></upload-file>
</el-form-item>
<el-form-item>
<p>联系人:</p>
<el-input v-model="form.contactPerson"></el-input>
</el-form-item>
<el-form-item>
<p>手机号:</p>
<el-input v-model="form.phone"></el-input>
</el-form-item>
<el-form-item>
<p>邮箱:</p>
<el-input v-model="form.email"></el-input>
</el-form-item>
<el-form-item>
<p>组织机构:</p>
<el-input v-model="form.organization"></el-input>
</el-form-item>
<el-form-item>
<p>当前角色:</p>
<el-input v-model="form.role"></el-input>
</el-form-item>
</el-form>
</block-radius> </block-radius>
</div> </div>
</template> </template>
<script> <script>
import BlockRadius from "@/components/block-radius"; import BlockRadius from "@/components/block-radius";
import UploadFile from "@/components/upload_file";
export default { export default {
components: { components: {
BlockRadius BlockRadius,
UploadFile
}, },
data: () => ({ data: () => ({
activeName: "0" activeName: "0",
form: {
accountNo: "",
password: "",
nickname: "",
contactPerson: "",
phone: "",
email: "",
organization: "",
role: ""
},
imgList: []
}), }),
mounted() {}, mounted() {
this.imgList.push("https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg")
},
methods: { methods: {
changeTab() { changeTab() {},
getNewList(val) {
console.log(val);
} }
} }
}; };
......
...@@ -2,10 +2,12 @@ import workbench from '@/request/api/workbench'; ...@@ -2,10 +2,12 @@ import workbench from '@/request/api/workbench';
import serviceShop from '@/request/api/service_shop'; import serviceShop from '@/request/api/service_shop';
import user from '@/request/api/user'; import user from '@/request/api/user';
import authority from '@/request/api/authority'; import authority from '@/request/api/authority';
import general from '@/request/api/general';
export default { export default {
workbench, workbench,
serviceShop, serviceShop,
user, user,
authority authority,
general
} }
\ No newline at end of file
import axios from '@/request/http'; // 导入http中创建的axios实例
import qs from 'qs'; // 根据需求是否导入qs模块
const general = {
// general api
}
export default general;
...@@ -15,6 +15,7 @@ const tip = msg => { ...@@ -15,6 +15,7 @@ const tip = msg => {
/** /**
* 跳转登录页 * 跳转登录页
* 携带当前页面路由,以期在登录页面完成登录后返回当前页面 * 携带当前页面路由,以期在登录页面完成登录后返回当前页面
* 登录用 bg-login ,具体链接晚几天加
*/ */
const toLogin = () => { const toLogin = () => {
router.replace({ router.replace({
......
...@@ -16,11 +16,6 @@ export default new Router({ ...@@ -16,11 +16,6 @@ export default new Router({
path: "/", path: "/",
redirect: "/index", redirect: "/index",
}, },
{
path: "/login", // 登录注册
name: "login",
component: () => import("@/pages/login"),
},
{ {
path: "/index", path: "/index",
name: "index", name: "index",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment