Commit 79eb2e3c authored by wanli's avatar wanli

update

parent 5e559b46
......@@ -21,7 +21,7 @@ class Apps(db.Entity):
app_version = Optional(str, default="")
app_url = Optional(str, default="")
category = Optional(str, default="")
app_icon = Optional("Annex", reverse="app_icon", cascade_delete=True)
app_icon = Optional("Annex", reverse="app_icon")
app_desc = Optional(str, default="")
app_annex = Set("Annex", reverse="app", cascade_delete=True)
app_user = Optional("AppUser", reverse="app", cascade_delete=True)
......
<template>
<div class="app-container">
<el-form :inline="true" ref="form" :model="form" size="mini">
<el-form-item><el-button type="warning" @click="onAdd">添加应用</el-button></el-form-item>
<el-form-item
><el-button type="warning" @click="onAdd"
>添加应用</el-button
></el-form-item
>
<!-- <el-form-item><el-button type="success" @click="onAddFramework">添加系统页面</el-button></el-form-item> -->
<!-- <el-form-item><el-button type="success" @click="onAddFramework">上传JSON配置文件</el-button></el-form-item> -->
</el-form>
......@@ -61,7 +65,12 @@
label="更新者"
width="150"
></el-table-column>
<el-table-column label="操作" align="center" min-width="180" fixed="right">
<el-table-column
label="操作"
align="center"
min-width="180"
fixed="right"
>
<template slot-scope="scope">
<el-button
size="mini"
......@@ -97,24 +106,54 @@
></el-pagination>
</div>
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="45%">
<el-form :model="post" status-icon ref="post" size="medium" label-width="100px">
<el-form
:model="post"
status-icon
ref="post"
size="medium"
label-width="100px"
>
<el-form-item label="应用排序" prop="sort">
<el-input type="number" v-model.number="post.sort" autocomplete="off"></el-input>
<el-input
type="number"
v-model.number="post.sort"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item label="应用名称" prop="app_name">
<el-input type="text" v-model="post.app_name" autocomplete="off"></el-input>
<el-input
type="text"
v-model="post.app_name"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item label="应用版本号" prop="app_version">
<el-input type="text" v-model="post.app_version" autocomplete="off"></el-input>
<el-input
type="text"
v-model="post.app_version"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item label="应用路径" prop="app_url">
<el-input type="text" v-model="post.app_url" autocomplete="off"></el-input>
<el-input
type="text"
v-model="post.app_url"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item label="应用类别" prop="category">
<el-input type="text" v-model="post.category" autocomplete="off"></el-input>
<el-input
type="text"
v-model="post.category"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item label="应用描述" prop="app_desc">
<el-input type="text" v-model="post.app_desc" autocomplete="off"></el-input>
<el-input
type="text"
v-model="post.app_desc"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item label="应用Logo" prop="app_icon">
<el-upload
......@@ -132,6 +171,7 @@
<el-form-item label="应用文件" prop="app_files">
<el-upload
drag
ref="upload"
:action="`${window.location.protocol}//${window.location.host}/api/v1/evm_store/upload`"
:on-remove="handleRemove"
:on-success="handleUploadSuccess"
......@@ -143,14 +183,24 @@
将文件拖到此处,或<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
.evue和资源文件
<el-button size="small" type="text" @click="clear"
>清空上传</el-button
>
</div>
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" size="medium" plain @click="submitForm('post')">提交</el-button>
<el-button type="success" size="medium" plain @click="onReset('form')">重置</el-button>
<el-button
type="primary"
size="medium"
plain
@click="submitForm('post')"
>提交</el-button
>
<el-button type="success" size="medium" plain @click="onReset('form')"
>重置</el-button
>
<el-button size="medium" @click="dialogVisible = false">关闭</el-button>
</div>
</el-dialog>
......@@ -179,8 +229,12 @@
:file-list="fileList"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过500kb</div>
<div class="el-upload__text">
将文件拖到此处,或<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
只能上传jpg/png文件,且不超过500kb
</div>
</el-upload>
</el-form-item>
</el-form>
......@@ -192,7 +246,14 @@
</div>
</template>
<script>
import { getAppsList, deleteApp, addApp, updateApp, getBuildApp, addFramework } from "@/api/app-store";
import {
getAppsList,
deleteApp,
addApp,
updateApp,
getBuildApp,
addFramework,
} from "@/api/app-store";
import { mapTrim, checkURL, download } from "@/utils/index";
export default {
......@@ -216,8 +277,8 @@ export default {
desc: null,
type: null,
assets: {
files: []
}
files: [],
},
},
currentIndex: 0,
currentValue: null,
......@@ -240,6 +301,9 @@ export default {
window: () => window,
},
methods: {
clear() {
this.$refs.upload.clearFiles();
},
fetchData(params) {
this.isLoading = true;
getAppsList(params)
......@@ -264,17 +328,21 @@ export default {
this.fetchData(mapTrim(this.form));
},
handleBuild(index, row) {
console.log(index)
getBuildApp(row.uuid).then(res => {
download(res.data.app_name, res.data.app_path)
this.$message.success(res.message)
}).catch(err => {
console.log(err)
this.$message.error(err.message)
console.log(index);
getBuildApp(row.uuid)
.then((res) => {
download(res.data.app_name, res.data.app_path);
this.$message.success(res.message);
})
.catch((err) => {
console.log(err);
this.$message.error(err.message);
});
},
handleEdit(index, row) {
this.post = Object.assign(row);
this.fileList = [];
this.imageUrl = null;
this.currentIndex = index;
this.currentValue = row;
this.dialogTitle = "编辑";
......@@ -308,15 +376,15 @@ export default {
handleUploadSuccess(res) {
if (res.code == 200) {
if (!checkURL(res.data.filepath))
res.data.filepath = `${window.location.origin}/${res.data.filepath}`
this.post.app_files.push(res.data)
res.data.filepath = `${window.location.origin}/${res.data.filepath}`;
this.post.app_files.push(res.data);
}
},
handleAvatarSuccess(res, file) {
if (res.code == 200) {
if (!checkURL(res.data.filepath))
res.data.filepath = `${window.location.origin}/${res.data.filepath}`
this.post.app_icon = res.data
res.data.filepath = `${window.location.origin}/${res.data.filepath}`;
this.post.app_icon = res.data;
}
this.imageUrl = URL.createObjectURL(file.raw);
},
......@@ -338,7 +406,7 @@ export default {
this.imageUrl = null;
},
handleRemove(file) {
for(let i = 0; i < this.post.app_files.length; i++) {
for (let i = 0; i < this.post.app_files.length; i++) {
if (this.post.app_files[i].uuid == file.response.data.uuid) {
this.post.app_files.splice(i, 1);
break;
......@@ -348,7 +416,7 @@ export default {
},
handleFrameworkRemove() {},
handleFrameworkSuccess(res) {
this.framework.assets.files.push(res.data)
this.framework.assets.files.push(res.data);
},
submitForm(formName) {
this.$refs[formName].validate((valid) => {
......@@ -383,12 +451,14 @@ export default {
});
},
addFramework() {
addFramework(this.framework).then(res => {
this.$message.success(res.message)
this.frameworkDialog = false
}).catch(err => {
this.$message.error(err.message)
addFramework(this.framework)
.then((res) => {
this.$message.success(res.message);
this.frameworkDialog = false;
})
.catch((err) => {
this.$message.error(err.message);
});
},
onAddFramework() {
this.frameworkDialog = true;
......
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