Browse Source

新增图片维护

master
曲树通 6 years ago
parent
commit
7f672d1c6b
  1. 81
      src/views/modules/custom/majorfunctionconf-add-or-update.vue
  2. 10
      src/views/modules/custom/majorfunctionconf.vue

81
src/views/modules/custom/majorfunctionconf-add-or-update.vue

@ -9,6 +9,7 @@
@keyup.enter.native="dataFormSubmitHandle()"
:label-width="$i18n.locale === 'en-US' ? '120px' : '80px'">
<el-form-item label="功能编码"
v-if="!dataForm.id"
prop="code">
<el-select v-model="dataForm.code"
@change="changeCode"
@ -20,6 +21,20 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="功能编码"
v-if="dataForm.id"
prop="code">
<el-select v-model="dataForm.code"
disabled
@change="changeCode"
placeholder="请选择">
<el-option v-for="item in codeList"
:key="item.dictValue"
:label="item.dictName"
:value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否可用"
prop="availableFlag">
<template>
@ -38,16 +53,31 @@
label="1"></el-radio>
</template>
</el-form-item>
<el-form-item label="外链访问地址"
v-if="dataForm.externalFlag==1"
<el-form-item label="访问地址"
prop="externalUrl">
<el-input v-model="dataForm.externalUrl"
placeholder="外链访问地址"></el-input>
placeholder="访问地址"></el-input>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="dataForm.remark"
placeholder="备注"></el-input>
</el-form-item>
<el-form-item label="图标"
v-loading="loading"
prop="imgUrl">
<el-upload class="avatar-uploader"
:action="this.uploadUrl"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:on-error="handelError"
:before-upload="beforeAvatarUpload">
<img v-if="dataForm.imgUrl"
:src="dataForm.imgUrl"
class="avatar">
<i v-else
class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-form>
<template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
@ -58,6 +88,7 @@
</template>
<script>
import Cookies from 'js-cookie'
import debounce from 'lodash/debounce'
export default {
data () {
@ -76,9 +107,12 @@ export default {
createdBy: '',
createdTime: '',
updatedBy: '',
updatedTime: ''
updatedTime: '',
imgUrl: ''
},
codeList: []
codeList: [],
uploadUrl: '',
loading: false
}
},
computed: {
@ -135,6 +169,7 @@ export default {
},
methods: {
init () {
this.uploadUrl = `${window.SITE_CONFIG['apiURL']}/oss/file/upload?token=${Cookies.get('token')}`
this.getListFromDict('custom_home')
this.visible = true
this.$nextTick(() => {
@ -144,6 +179,17 @@ export default {
}
})
},
//
handleAvatarSuccess (res, file) {
this.dataForm.imgUrl = res.data.url
this.loading = false
},
beforeAvatarUpload (file) {
this.loading = true
},
handelError () {
this.loading = false
},
//
getInfo () {
this.$http.get(`/custom/majorfunctionconf/${this.dataForm.id}`).then(({ data: res }) => {
@ -189,3 +235,28 @@ export default {
}
}
</script>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 378px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 300px;
height: 178px;
display: block;
}
</style>

10
src/views/modules/custom/majorfunctionconf.vue

@ -54,6 +54,16 @@
label="备注"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="imgUrl"
label="图标"
header-align="center"
align="center">
<template slot-scope="scope">
<img :src="scope.row.imgUrl"
width="40"
height="40" />
</template>
</el-table-column>
<el-table-column prop="createdBy"
label="创建人"
header-align="center"

Loading…
Cancel
Save