<template>
|
<!--
|
描述:添加应用
|
-->
|
<el-dialog title="添加应用" :visible.sync="dialogVisible" @close="dialogFormVisible" :close-on-click-modal="false" :close-on-press-escape="false">
|
<el-form size="small" :model="form" ref="form">
|
<el-col :span="12">
|
<el-form-item label="应用图标" prop="app_icon" :rules="[{ required: true, message: '请上传应用图标' }]" :label-width="formLabelWidth">
|
<el-upload
|
class="upload-demo"
|
:action="up_url"
|
:before-remove="beforeRemove"
|
multiple
|
:on-change="tip"
|
:limit="1"
|
list-type="picture"
|
:on-exceed="handleExceed"
|
:file-list="fileList">
|
<el-button size="small" type="primary">上传图片</el-button>
|
</el-upload>
|
</el-form-item>
|
<el-form-item label="应用名称" prop="app_name" :rules="[{ required: true, message: '请输入应用名称' }]" :label-width="formLabelWidth"><el-input v-model="form.app_name" autocomplete="off" placeholder="请输入应用名称"></el-input></el-form-item>
|
<el-form-item label="应用用途" :label-width="formLabelWidth"><el-input v-model="form.app_use" autocomplete="off" placeholder="请输入应用用途"></el-input></el-form-item>
|
|
<el-form-item label="分类" prop="app_name" :rules="[{ required: true, message: '请选择分类' }]" :label-width="formLabelWidth">
|
<el-select v-model="form.category_id" placeholder="请选择分类">
|
<el-option v-for="(item,index) in categoryList" :key="index" :label="item.category_name" :value="item.id"></el-option>
|
</el-select>
|
</el-form-item>
|
|
<el-form-item label="金钻价格" prop="admin_money" :rules="[{ required: true, message: '请输入金钻价格' }]" :label-width="formLabelWidth"><el-input v-model="form.admin_money" autocomplete="off" placeholder="应用金钻价格"></el-input></el-form-item>
|
<el-form-item label="钻石价格" prop="supplier_money" :rules="[{ required: true, message: '请输入钻石价格' }]" :label-width="formLabelWidth"><el-input v-model="form.supplier_money" autocomplete="off" placeholder="应用钻石价格"></el-input></el-form-item>
|
<el-form-item label="金牌价格" prop="shop" :rules="[{ required: true, message: '请输入金牌价格' }]" :label-width="formLabelWidth"><el-input v-model="form.shop" autocomplete="off" placeholder="应用金牌价格"></el-input></el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="权限列表:" prop="access_id" :rules="[{ required: true, message: '请选择权限' }]" :label-width="formLabelWidth" v-model="form.access_id">
|
<div style="height: 500px;overflow-y: scroll;">
|
<el-tree :data="data" show-checkbox node-key="access_id" :default-expand-all="false" :default-checked-keys="[]" :props="defaultProps" @check="handleCheckChange"></el-tree>
|
|
</div>
|
</el-form-item>
|
|
</el-col>
|
|
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="dialogFormVisible">取 消</el-button>
|
<el-button type="primary" @click="addClick()" :loading="loading">确 定</el-button>
|
</div>
|
</el-dialog>
|
</template>
|
|
<script>
|
import ApplicationApi from '@/api/application.js';
|
|
export default {
|
data() {
|
return {
|
/*表单数据对象*/
|
form: {
|
category_id:'',
|
app_icon:'',
|
app_name:'',
|
app_use:'',
|
admin_money:'',
|
supplier_money:'',
|
shop:'',
|
access_id: [],
|
},
|
/*左边长度*/
|
formLabelWidth: '120px',
|
/*是否显示*/
|
dialogVisible: false,
|
loading: false,
|
categoryList:[],
|
fileList: [],
|
up_url:'/index.php/admin/admin.upload/local_image',
|
data: [],
|
defaultProps: {
|
children: 'children',
|
label: 'name'
|
}
|
};
|
},
|
props: ['open_app','category'],
|
created() {
|
this.categoryList = this.category;
|
this.dialogVisible = this.open_app;
|
this.getData();
|
},
|
methods: {
|
getData() {
|
let self = this;
|
ApplicationApi.roleAddInfo()
|
.then(data => {
|
self.data = data.data.menu;
|
self.loading = false;
|
})
|
.catch(error => {
|
self.loading = false;
|
});
|
},
|
tip(file, fileList){
|
let self = this;
|
if(file.response){
|
if(file.response.code == 1){
|
self.$message({message: '上传成功',type: 'success'});
|
//debugger;
|
this.form.app_icon = file.response.data;
|
}else{
|
self.$message({message: '上传失败',type: 'error'});
|
}
|
}
|
},
|
handleExceed(files, fileList) {
|
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
|
},
|
beforeRemove(file, fileList) {
|
return this.$confirm(`确定移除 ${ file.name }?`);
|
},
|
|
/*添加插件*/
|
addClick() {
|
let self = this;
|
let params = this.form;
|
//console.log(params);return;
|
self.$refs.form.validate(valid => {
|
if (valid) {
|
self.loading = true;
|
ApplicationApi.addapplication({
|
params: JSON.stringify(params)
|
}, true)
|
.then(res => {
|
self.loading = false;
|
if (res.code == 1) {
|
self.$message({
|
message: '恭喜你,添加成功',
|
type: 'success'
|
});
|
self.dialogFormVisible(true);
|
} else {
|
self.loading = false;
|
self.$message.error('错了哦,这是一条错误消息');
|
}
|
})
|
.catch(error => {
|
self.loading = false;
|
});
|
}
|
});
|
},
|
/*关闭弹窗*/
|
dialogFormVisible(e) {
|
if (e) {
|
this.$emit('closeDialog', {
|
type: 'success',
|
openDialog: false
|
});
|
} else {
|
this.$emit('closeDialog', {
|
type: 'error',
|
openDialog: false
|
});
|
}
|
},
|
//监听选中
|
handleCheckChange(data, checked) {
|
this.form.access_id = checked.checkedKeys.concat(checked.halfCheckedKeys);
|
},
|
}
|
};
|
</script>
|
|
<style></style>
|