<template>
|
<el-dialog
|
:title="title"
|
:visible.sync="dialogFormVisible"
|
width="500px"
|
:close-on-click-modal="false"
|
@close="close"
|
>
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
<el-tab-pane label="基础信息" name="base">
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form-item label="项目名称" prop="name">
|
<el-input v-model.trim="form.name" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目地址" prop="srcUrl">
|
<el-input v-model.trim="form.srcUrl" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目用户" prop="srcUser">
|
<el-input v-model.trim="form.srcUser" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目密码" prop="srcPassword">
|
<el-input v-model.trim="form.srcPassword" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目描述" prop="desc">
|
<el-input v-model.trim="form.desc" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="编译分支" prop="branch">
|
<el-input v-model.trim="form.branch" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="编译架构" prop="arch">
|
<el-radio-group v-model="form.arch">
|
<el-radio label="x86">X86</el-radio>
|
<el-radio label="arm">ARM</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="项目类型" prop="type">
|
<el-radio-group v-model="form.type">
|
<el-radio label="sys">系统包</el-radio>
|
<el-radio label="app">应用包</el-radio>
|
<el-radio label="algo">算法包</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="自动打包" prop="autoBuild">
|
<el-switch v-model="form.autoBuild"></el-switch>
|
</el-form-item>
|
</el-form>
|
</el-tab-pane>
|
<el-tab-pane label="编译脚本" name="build">
|
<textarea v-model="form.buildScript" cols="60" rows="10"></textarea>
|
</el-tab-pane>
|
<el-tab-pane label="打包脚本" name="pack">
|
<textarea v-model="form.packScript" cols="60" rows="10"></textarea>
|
</el-tab-pane>
|
</el-tabs>
|
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="close">取 消</el-button>
|
<el-button type="primary" @click="save">确 定</el-button>
|
</div>
|
</el-dialog>
|
</template>
|
|
<script>
|
import { doEdit } from '@/api/project'
|
|
export default {
|
name: 'ProjectEdit',
|
data() {
|
return {
|
activeName: 'base',
|
form: {
|
title: '',
|
author: '',
|
},
|
rules: {
|
title: [{ required: true, trigger: 'blur', message: '请输入标题' }],
|
author: [{ required: true, trigger: 'blur', message: '请输入作者' }],
|
},
|
title: '',
|
dialogFormVisible: false,
|
}
|
},
|
created() { },
|
methods: {
|
showEdit(row) {
|
if (!row) {
|
this.title = '添加'
|
} else {
|
this.title = '编辑'
|
this.form = Object.assign({}, row)
|
}
|
this.dialogFormVisible = true
|
},
|
close() {
|
this.$refs['form'].resetFields()
|
this.form = this.$options.data().form
|
this.dialogFormVisible = false
|
this.$emit('fetch-data')
|
},
|
save() {
|
this.$refs['form'].validate(async (valid) => {
|
if (valid) {
|
const { msg } = await doEdit(this.form)
|
this.$baseMessage(msg, 'success')
|
this.$refs['form'].resetFields()
|
this.dialogFormVisible = false
|
this.$emit('fetch-data')
|
this.form = this.$options.data().form
|
} else {
|
return false
|
}
|
})
|
},
|
handleClick(tab, event) {
|
// console.log(tab, event)
|
},
|
},
|
}
|
</script>
|