<template>
|
<GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" width="600px" @close="close" @confirm="confirm">
|
<el-form :model="form" ref="form" :rules="rules">
|
<el-form-item label="广告名称" prop="name">
|
<el-input v-model="form.name" placeholder="请输入广告名称" v-trim />
|
</el-form-item>
|
<el-form-item label="广告图" prop="imgurl">
|
<div class="upload_wrap">
|
<UploadFaceImg :file="{ 'imgurlfull': form.imgurlFull, 'imgurl': form.imgurl }" :uploadData="uploadData" :auto-crop=" { width: 500, height: 800 }"
|
@uploadSuccess="uploadAvatarSuccess" @uploadEnd="isUploading = false" @uploadBegin="isUploading = true" />
|
</div>
|
</el-form-item>
|
<el-form-item label="排序码(降序)" prop="sortnum">
|
<el-input type="number" v-model="form.sortnum" placeholder="请输入排序码" v-trim />
|
</el-form-item>
|
<el-form-item label="备注" prop="remark">
|
<el-input type="textarea" v-model="form.remark" placeholder="请输入备注" v-trim />
|
</el-form-item>
|
</el-form>
|
</GlobalWindow>
|
</template>
|
|
<script>
|
import BaseOpera from '@/components/base/BaseOpera'
|
import GlobalWindow from '@/components/common/GlobalWindow'
|
import UploadFaceImg from '@/components/common/UploadFaceImg'
|
import ImageCropper from '@/components/common/ImageCropper'
|
export default {
|
name: 'OperaCategoryFileWindow',
|
extends: BaseOpera,
|
components: { GlobalWindow ,UploadFaceImg,ImageCropper},
|
data () {
|
return {
|
// 表单数据
|
form: {
|
name: '',
|
type: 3,
|
imgurl: null,
|
imgurlFull: null,
|
sortnum: null,
|
remark: null,
|
},
|
isUploading: false,
|
uploadData: {
|
folder: 'banners'
|
},
|
// 验证规则
|
rules: {
|
name: [
|
{ required: true, message: '请输入广告名称', trigger: 'blur' },
|
],
|
imgurl: [
|
{ required: true, message: '请上传广告图', trigger: 'blur' },
|
]
|
},
|
dataList: []
|
}
|
},
|
created () {
|
this.config({
|
api: '/business/category',
|
'field.id': 'id'
|
})
|
},
|
methods: {
|
// 上传图片
|
uploadAvatarSuccess(file) {
|
this.form.imgurl = file.imgurl
|
this.form.imgurlFull = file.imgurlfull
|
},
|
open (title, target) {
|
this.title = title
|
this.visible = true
|
// 新建组织
|
if (target == null) {
|
this.$nextTick(() => {
|
this.$refs.form.resetFields()
|
this.form[this.configData['field.id']] = null
|
this.form.type = 3
|
})
|
|
return
|
}
|
// 编辑
|
this.$nextTick(() => {
|
for (const key in this.form) {
|
this.form[key] = target[key]
|
}
|
})
|
},
|
}
|
}
|
</script>
|
<style lang="scss" scoped>
|
.upload_wrap {
|
display: flex;
|
align-items: center;
|
|
.avatar-uploader {
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
|
::v-deep .avatar {
|
max-width: 90px;
|
max-height: 90px;
|
}
|
|
.content {
|
display: flex;
|
flex-direction: column;
|
justify-content: center;
|
font-size: 12px;
|
color: #999999;
|
margin-left: 12px;
|
line-height: 24px;
|
}
|
}
|
</style>
|