120 lines
3.5 KiB
Vue
120 lines
3.5 KiB
Vue
<template>
|
|
<el-form ref="apiclassInfoForm" :model="info" :rules="rules" label-width="150px">
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item label="类名" prop="cName">
|
|
<el-input placeholder="请输入类名" v-model="info.packageName" :disabled="true"/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="前缀" prop="prefix">
|
|
<el-input v-model="info.prefix" :disabled="true"/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="模块名" prop="cName">
|
|
<el-select v-model="info.mId" placeholder="请选择模块" @change="transform" clearable>
|
|
<el-option
|
|
v-for="item in moduleList"
|
|
:key="item.id"
|
|
:label="item.mName"
|
|
:value="item.id">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="类名" prop="cName">
|
|
<el-input placeholder="请输入类名" @input="transform" v-model="info.cName"/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="作者" prop="author">
|
|
<el-input placeholder="请输入" v-model="info.author"/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="类描述" prop="cDescribe">
|
|
<el-input placeholder="请输入" v-model="info.cDescribe"/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="电子邮件" prop="email">
|
|
<el-input placeholder="请输入" v-model="info.email"/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-form-item label="备注">
|
|
<el-input type="textarea" :rows="3" v-model="info.remark"></el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
</template>
|
|
<script>
|
|
import {queryListModule} from "@/api/tool/module"
|
|
|
|
export default {
|
|
name: "ApiclassInfoForm",
|
|
props: {
|
|
info: {
|
|
type: Object,
|
|
default: null
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
moduleList: [],
|
|
rules: {
|
|
packageName: [
|
|
{required: true, message: "包名不能为空", trigger: "blur"},
|
|
],
|
|
mId: [
|
|
{required: true, message: "模块不能为空", trigger: "blur"},
|
|
],
|
|
cName: [
|
|
{required: true, message: "类名不能为空", trigger: "blur"},
|
|
],
|
|
cDescribe: [
|
|
{required: true, message: "类描述不能为空", trigger: "blur"},
|
|
],
|
|
author: [
|
|
{required: true, message: "作者不能为空", trigger: "blur"},
|
|
],
|
|
email: [
|
|
{required: true, message: "电子邮件不能为空", trigger: "blur"},
|
|
{
|
|
pattern: /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/,
|
|
message: '电子邮件格式有误',
|
|
trigger: "blur"
|
|
},
|
|
],
|
|
}
|
|
};
|
|
},
|
|
created() {
|
|
queryListModule().then(respone => {
|
|
this.moduleList = respone.data
|
|
})
|
|
},
|
|
methods: {
|
|
transform() {
|
|
let mid = this.info.mId
|
|
let str = ''
|
|
let start = true
|
|
for (let i = 0; i < this.moduleList.length; i++) {
|
|
if (mid == this.moduleList[i].id) {
|
|
str = this.moduleList[i].mName
|
|
start = false
|
|
}
|
|
}
|
|
if (start) {
|
|
str = ''
|
|
}
|
|
this.info.packageName = 'com.ebts.' + str
|
|
this.info.prefix = str + ":" + this.info.cName.toLowerCase()
|
|
},
|
|
}
|
|
};
|
|
</script>
|