|
@@ -27,31 +27,63 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="addApp-form-content dialog-public-background">
|
|
|
- <el-form ref="form" class="form" :rules="rules" :model="form" label-position="right" label-width="80px">
|
|
|
+ <el-form
|
|
|
+ ref="form"
|
|
|
+ class="form"
|
|
|
+ :rules="rules"
|
|
|
+ :model="form"
|
|
|
+ label-position="right"
|
|
|
+ label-width="80px"
|
|
|
+ >
|
|
|
<div class="flex">
|
|
|
<el-form-item prop="name" label="应用名称">
|
|
|
- <el-input placeholder="请输入应用名称" v-model.trim="form.name"></el-input>
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入应用名称"
|
|
|
+ v-model.trim="form.name"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="请求类型">
|
|
|
- <el-select @change="typeChange" v-model="form.id" placeholder="请求类型">
|
|
|
+ <el-select
|
|
|
+ @change="typeChange"
|
|
|
+ v-model="form.id"
|
|
|
+ placeholder="请求类型"
|
|
|
+ >
|
|
|
<el-option label="get" :value="1"></el-option>
|
|
|
<el-option label="post" :value="2"></el-option>
|
|
|
</el-select>
|
|
|
<!-- <el-input placeholder="请输入APPID" disabled v-model="form.id"></el-input> -->
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="app" label="参数类型">
|
|
|
- <el-select :disabled="typeFlag" v-model="form.app" placeholder="参数类型">
|
|
|
- <el-option label="application/json" value="application/json"></el-option>
|
|
|
- <el-option label="application/text" value="application/text"></el-option>
|
|
|
+ <el-select
|
|
|
+ :disabled="typeFlag"
|
|
|
+ v-model="form.app"
|
|
|
+ placeholder="参数类型"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ label="application/json"
|
|
|
+ value="application/json"
|
|
|
+ ></el-option>
|
|
|
+ <el-option
|
|
|
+ label="application/text"
|
|
|
+ value="application/text"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
<!-- <el-input placeholder="请输入参数类型" v-model.trim="form.app"></el-input> -->
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<el-form-item class="url" prop="url" label="应用地址">
|
|
|
- <el-input placeholder="请输入应用地址" v-model.trim="form.url"></el-input>
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入应用地址"
|
|
|
+ v-model.trim="form.url"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="desc" class="desc" label="描述">
|
|
|
- <el-input type="textarea" rows="3" placeholder="请输入描述" v-model.trim="form.desc"></el-input>
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ rows="3"
|
|
|
+ placeholder="请输入描述"
|
|
|
+ v-model.trim="form.desc"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div class="addApp-form-title domain-title flex">
|
|
@@ -61,24 +93,60 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="addApp-form-content domain">
|
|
|
- <el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="85px" class="demo-dynamic">
|
|
|
- <div class="flex" v-for="(domain, index) in dynamicValidateForm.domains" :key="index">
|
|
|
+ <el-form
|
|
|
+ :model="dynamicValidateForm"
|
|
|
+ ref="dynamicValidateForm"
|
|
|
+ label-width="85px"
|
|
|
+ class="demo-dynamic"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="flex"
|
|
|
+ v-for="(domain, index) in dynamicValidateForm.domains"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
<div class="flex-wrap">
|
|
|
- <el-form-item label="入参名称" :prop="'domains.' + index + '.name'">
|
|
|
- <el-input placeholder="请输入最大64位参数名称" maxlength="64" v-model.trim="domain.AppInputName"></el-input>
|
|
|
+ <el-form-item
|
|
|
+ label="入参名称"
|
|
|
+ :prop="'domains.' + index + '.name'"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入最大64位参数名称"
|
|
|
+ maxlength="64"
|
|
|
+ v-model.trim="domain.AppInputName"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="入参值" :prop="'domains.' + index + '.value'">
|
|
|
- <el-input placeholder="请输入最大64位参数值" maxlength="64" v-model.trim="domain.AppInputValue"></el-input>
|
|
|
+ <el-form-item
|
|
|
+ label="入参值"
|
|
|
+ :prop="'domains.' + index + '.value'"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ placeholder="请输入最大64位参数值"
|
|
|
+ maxlength="64"
|
|
|
+ v-model.trim="domain.AppInputValue"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="入参类型" :prop="'domains.' + index + '.type'">
|
|
|
- <el-select v-model="domain.AppInputType" :disabled="typeFlag" placeholder="参数类型">
|
|
|
+ <el-form-item
|
|
|
+ label="入参类型"
|
|
|
+ :prop="'domains.' + index + '.type'"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ v-model="domain.AppInputType"
|
|
|
+ :disabled="typeFlag"
|
|
|
+ placeholder="参数类型"
|
|
|
+ >
|
|
|
<el-option label="string" value="string"></el-option>
|
|
|
<el-option label="int" value="int"></el-option>
|
|
|
</el-select>
|
|
|
<!-- <el-input placeholder="请输入最大8位参数类型" maxlength="8" v-model.trim="domain.AppInputType"></el-input> -->
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="入参位置" :prop="'domains.' + index + '.place'">
|
|
|
- <el-select v-model="domain.AppInputSite" placeholder="参数位置">
|
|
|
+ <el-form-item
|
|
|
+ label="入参位置"
|
|
|
+ :prop="'domains.' + index + '.place'"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ v-model="domain.AppInputSite"
|
|
|
+ placeholder="参数位置"
|
|
|
+ >
|
|
|
<el-option label="header" value="header"></el-option>
|
|
|
<el-option label="body" value="body"></el-option>
|
|
|
</el-select>
|
|
@@ -86,7 +154,12 @@
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div>
|
|
|
- <el-button size="small" type="danger" @click.prevent="removeDomain(domain)">删除</el-button>
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="danger"
|
|
|
+ @click.prevent="removeDomain(domain)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-form>
|
|
@@ -98,7 +171,12 @@
|
|
|
<div class="flex-wrap">
|
|
|
<div class="upload">
|
|
|
<div class="title">上传Logo</div>
|
|
|
- <el-upload action="https://jsonplaceholder.typicode.com/posts/" list-type="picture-card" :on-preview="handlePictureCardPreview" :on-remove="handleRemove">
|
|
|
+ <el-upload
|
|
|
+ action="https://jsonplaceholder.typicode.com/posts/"
|
|
|
+ list-type="picture-card"
|
|
|
+ :on-preview="handlePictureCardPreview"
|
|
|
+ :on-remove="handleRemove"
|
|
|
+ >
|
|
|
<i class="el-icon-plus"></i>
|
|
|
</el-upload>
|
|
|
</div>
|
|
@@ -118,10 +196,10 @@ import {
|
|
|
UpdateAppStatus,
|
|
|
DeleteApp,
|
|
|
} from "@/api/apiAuthority";
|
|
|
-import { lengthValidator } from '@/utils/validate'
|
|
|
+import { lengthValidator } from "@/utils/validate";
|
|
|
export default {
|
|
|
name: "Addapp",
|
|
|
- data () {
|
|
|
+ data() {
|
|
|
return {
|
|
|
form: {
|
|
|
//应用表单
|
|
@@ -135,14 +213,38 @@ export default {
|
|
|
//表单验证
|
|
|
name: [
|
|
|
{ required: true, message: "请输入应用名称", trigger: "blur" },
|
|
|
- { validator: lengthValidator, max: 128, message: '长度在 1 到 128 个字符', trigger: ['change', 'blur'] }
|
|
|
+ {
|
|
|
+ validator: lengthValidator,
|
|
|
+ max: 128,
|
|
|
+ message: "长度在 1 到 128 个字符",
|
|
|
+ trigger: ["change", "blur"],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ url: [
|
|
|
+ {
|
|
|
+ validator: lengthValidator,
|
|
|
+ max: 512,
|
|
|
+ message: "长度在 1 到 512 个字符",
|
|
|
+ trigger: ["change", "blur"],
|
|
|
+ },
|
|
|
],
|
|
|
- url: [{ validator: lengthValidator, max: 512, message: '长度在 1 到 512 个字符', trigger: ['change', 'blur'] }],
|
|
|
desc: [
|
|
|
// { required: true, message: "请输入描述", trigger: "blur" },
|
|
|
- { validator: lengthValidator, max: 256, message: '长度在 1到 256 个字符', trigger: ['change', 'blur'] }
|
|
|
+ {
|
|
|
+ validator: lengthValidator,
|
|
|
+ max: 256,
|
|
|
+ message: "长度在 1到 256 个字符",
|
|
|
+ trigger: ["change", "blur"],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ app: [
|
|
|
+ {
|
|
|
+ validator: lengthValidator,
|
|
|
+ max: 32,
|
|
|
+ message: "长度在 1 到 32 个字符",
|
|
|
+ trigger: ["change", "blur"],
|
|
|
+ },
|
|
|
],
|
|
|
- app: [{ validator: lengthValidator, max: 32, message: '长度在 1 到 32 个字符', trigger: ['change', 'blur'] }]
|
|
|
},
|
|
|
radio: 1,
|
|
|
AppId: null,
|
|
@@ -150,43 +252,53 @@ export default {
|
|
|
dialogImageUrl: "",
|
|
|
dialogVisible: false,
|
|
|
dynamicValidateForm: {
|
|
|
- domains: [{
|
|
|
- AppInputName: '',
|
|
|
- AppInputType: '',
|
|
|
- AppInputSite: '',
|
|
|
- AppInputValue: ''
|
|
|
- }]
|
|
|
+ domains: [
|
|
|
+ {
|
|
|
+ AppInputName: "",
|
|
|
+ AppInputType: "",
|
|
|
+ AppInputSite: "",
|
|
|
+ AppInputValue: "",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
- typeFlag: false
|
|
|
+ typeFlag: false,
|
|
|
};
|
|
|
},
|
|
|
- created () {
|
|
|
+ created() {
|
|
|
const { AuthId, Status } = this.$route.query;
|
|
|
this.radio = Status;
|
|
|
this.AppId = AuthId;
|
|
|
this.getAppDetails(AuthId);
|
|
|
},
|
|
|
methods: {
|
|
|
- handleRemove (file, fileList) {
|
|
|
+ handleRemove(file, fileList) {
|
|
|
console.log(file, fileList);
|
|
|
},
|
|
|
- handlePictureCardPreview (file) {
|
|
|
+ handlePictureCardPreview(file) {
|
|
|
this.dialogImageUrl = file.url;
|
|
|
this.dialogVisible = true;
|
|
|
},
|
|
|
//获取应用详情
|
|
|
- async getAppDetails (id) {
|
|
|
+ async getAppDetails(id) {
|
|
|
try {
|
|
|
const res = await GetAppDetails({
|
|
|
AppId: id,
|
|
|
});
|
|
|
if (res.code === 0) {
|
|
|
- const { AppName, AppShowId, AppShowSecret, AppDesc, AppUrl, Inputs, RequestType, BodyType } =
|
|
|
- res.returnData;
|
|
|
+ const {
|
|
|
+ AppName,
|
|
|
+ AppShowId,
|
|
|
+ AppShowSecret,
|
|
|
+ AppDesc,
|
|
|
+ AppUrl,
|
|
|
+ Inputs,
|
|
|
+ RequestType,
|
|
|
+ BodyType,
|
|
|
+ } = res.returnData;
|
|
|
this.form.name = AppName;
|
|
|
// this.form.id = AppShowId;
|
|
|
// this.form.app = AppShowSecret;
|
|
|
- this.form.id = Number(RequestType) || '';
|
|
|
+ this.form.id = Number(RequestType) || "";
|
|
|
this.form.app = BodyType;
|
|
|
this.form.desc = AppDesc;
|
|
|
this.form.url = AppUrl;
|
|
@@ -200,7 +312,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
//应用状态变更
|
|
|
- async handleChange (val) {
|
|
|
+ async handleChange(val) {
|
|
|
try {
|
|
|
const res = await UpdateAppStatus({
|
|
|
AppId: this.AppId,
|
|
@@ -215,7 +327,7 @@ export default {
|
|
|
console.log("出错了", error);
|
|
|
}
|
|
|
},
|
|
|
- onSubmit (formName) {
|
|
|
+ onSubmit(formName) {
|
|
|
this.$refs[formName].validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.editApp();
|
|
@@ -225,7 +337,7 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
//应用状态变更
|
|
|
- async editApp () {
|
|
|
+ async editApp() {
|
|
|
try {
|
|
|
const res = await EditApp({
|
|
|
AppId: this.AppId,
|
|
@@ -234,7 +346,7 @@ export default {
|
|
|
AppUrl: this.form.url,
|
|
|
RequestType: this.form.id,
|
|
|
BodyType: this.form.app,
|
|
|
- Inputs: this.dynamicValidateForm.domains
|
|
|
+ Inputs: this.dynamicValidateForm.domains,
|
|
|
});
|
|
|
if (res.code === 0) {
|
|
|
this.$message.success(res.message);
|
|
@@ -248,7 +360,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
//应用删除
|
|
|
- async deleteApp () {
|
|
|
+ async deleteApp() {
|
|
|
try {
|
|
|
const res = await DeleteApp({
|
|
|
AppId: this.AppId,
|
|
@@ -265,33 +377,33 @@ export default {
|
|
|
console.log("出错了", error);
|
|
|
}
|
|
|
},
|
|
|
- removeDomain (item) {
|
|
|
- var index = this.dynamicValidateForm.domains.indexOf(item)
|
|
|
+ removeDomain(item) {
|
|
|
+ var index = this.dynamicValidateForm.domains.indexOf(item);
|
|
|
if (index !== -1) {
|
|
|
- this.dynamicValidateForm.domains.splice(index, 1)
|
|
|
+ this.dynamicValidateForm.domains.splice(index, 1);
|
|
|
}
|
|
|
},
|
|
|
- addDomain () {
|
|
|
+ addDomain() {
|
|
|
this.dynamicValidateForm.domains.push({
|
|
|
- AppInputName: '',
|
|
|
- AppInputType: '',
|
|
|
- AppInputSite: '',
|
|
|
- AppInputValue: '',
|
|
|
- AppId: this.AppId
|
|
|
+ AppInputName: "",
|
|
|
+ AppInputType: "",
|
|
|
+ AppInputSite: "",
|
|
|
+ AppInputValue: "",
|
|
|
+ AppId: this.AppId,
|
|
|
});
|
|
|
},
|
|
|
- typeChange (val) {
|
|
|
- const datas = this.dynamicValidateForm.domains
|
|
|
+ typeChange(val) {
|
|
|
+ const datas = this.dynamicValidateForm.domains;
|
|
|
if (val == 1) {
|
|
|
this.typeFlag = true;
|
|
|
- this.form.app = '';
|
|
|
- datas.forEach(item => {
|
|
|
- item.AppInputType = 'string';
|
|
|
- })
|
|
|
+ this.form.app = "";
|
|
|
+ datas.forEach((item) => {
|
|
|
+ item.AppInputType = "string";
|
|
|
+ });
|
|
|
} else {
|
|
|
this.typeFlag = false;
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|