|
|
@ -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> |
|
|
|