|
@@ -102,12 +102,6 @@
|
|
|
<div style="margin-left: 0.5%;">
|
|
<div style="margin-left: 0.5%;">
|
|
|
{{detail.rptype}}
|
|
{{detail.rptype}}
|
|
|
</div>
|
|
</div>
|
|
|
- <!-- <div style="margin-left: 5%;">
|
|
|
|
|
- 接口地址:
|
|
|
|
|
- </div>
|
|
|
|
|
- <div style="margin-left: 0.5%;">
|
|
|
|
|
- {{detail.url}}
|
|
|
|
|
- </div> -->
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -148,7 +142,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div style="margin-top: 2.5%;margin-left: 1%;">
|
|
<div style="margin-top: 2.5%;margin-left: 1%;">
|
|
|
<div>返回响应</div>
|
|
<div>返回响应</div>
|
|
|
- <el-tabs type="card" style="margin-top: 1%;">
|
|
|
|
|
|
|
+ <el-tabs type="card" style="margin-top: 1%;width: 98%;">
|
|
|
<el-tab-pane label="成功(200)">
|
|
<el-tab-pane label="成功(200)">
|
|
|
<div style="display: flex;align-items: center;line-height: 1.5;font-size: 14px;margin-left: 1%;color: #606266;">
|
|
<div style="display: flex;align-items: center;line-height: 1.5;font-size: 14px;margin-left: 1%;color: #606266;">
|
|
|
<div>HTTP状态码:</div>
|
|
<div>HTTP状态码:</div>
|
|
@@ -201,6 +195,258 @@
|
|
|
<el-button type="danger" @click="showAdd" style="margin-left: 1%;">删除</el-button>
|
|
<el-button type="danger" @click="showAdd" style="margin-left: 1%;">删除</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
<el-form size="mini" :key="tableKey" style="margin-top: -2%;width: 98%;" :model="formJi" label-position="right" ref="formRefJi" label-width="120px" :rules="rulesJi">
|
|
<el-form size="mini" :key="tableKey" style="margin-top: -2%;width: 98%;" :model="formJi" label-position="right" ref="formRefJi" label-width="120px" :rules="rulesJi">
|
|
|
|
|
+ <el-row :gutter="48">
|
|
|
|
|
+ <el-col :span="10">
|
|
|
|
|
+ <el-form-item label="服务名称:" prop="name" style="">
|
|
|
|
|
+ <div style="display: flex;width: 100%;justify-content: space-between;">
|
|
|
|
|
+ <el-input v-model="formJi.name" style="width: 100%;"/>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="6">
|
|
|
|
|
+ <el-form-item label="接口类型:" prop="" style="">
|
|
|
|
|
+ <div style="display: flex;width: 100%;justify-content: space-between;">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="formJi.type"
|
|
|
|
|
+ :disabled="isEdit"
|
|
|
|
|
+ style="width: 100%;margin-left: 0%;"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in optionsType"
|
|
|
|
|
+ :key="item.value"
|
|
|
|
|
+ :label="item.label"
|
|
|
|
|
+ :value="item.value"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ <div style="display: flex;">
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row :gutter="48">
|
|
|
|
|
+ <el-col :span="10">
|
|
|
|
|
+ <el-form-item label="接口地址:" prop="url" style="">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="formJi.url"
|
|
|
|
|
+ style="width: 100%;"
|
|
|
|
|
+ placeholder=""
|
|
|
|
|
+ class="input-with-select"
|
|
|
|
|
+ >
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="6">
|
|
|
|
|
+ <el-form-item label="请求方式:" prop="" style="">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="formJi.rqtype"
|
|
|
|
|
+ :disabled="isEdit"
|
|
|
|
|
+ style="width: 100%;margin-left: 0%;"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in optionsRqtype"
|
|
|
|
|
+ :key="item.value"
|
|
|
|
|
+ :label="item.label"
|
|
|
|
|
+ :value="item.value"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row :gutter="48">
|
|
|
|
|
+ <el-col :span="10">
|
|
|
|
|
+ <el-form-item label="响应类型:" prop="" style="display: flex; align-items: center;">
|
|
|
|
|
+ <el-radio-group v-model="formJi.rptype" class="ml-4" style="display: inline-flex; align-items: center;">
|
|
|
|
|
+ <el-radio label="1" size="large" style="display: inline-flex; align-items: center;">
|
|
|
|
|
+ <span style="position: relative; top: -1px">JSON</span> <!-- 微调文字位置 -->
|
|
|
|
|
+ </el-radio>
|
|
|
|
|
+ <el-radio label="2" size="large" style="display: inline-flex; align-items: center;">
|
|
|
|
|
+ <span style="position: relative; top: -1px">XML</span>
|
|
|
|
|
+ </el-radio>
|
|
|
|
|
+ <el-radio label="3" size="large" style="display: inline-flex; align-items: center;">
|
|
|
|
|
+ <span style="position: relative; top: -1px">HTML</span>
|
|
|
|
|
+ </el-radio>
|
|
|
|
|
+ </el-radio-group>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="6">
|
|
|
|
|
+ <el-form-item label="服务分类:" prop="cateCode" style="">
|
|
|
|
|
+ <el-cascader v-model="formJi.cateCode" :options="cascaderOptions" :props="props1" clearable style="width: 100%;"></el-cascader>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <!-- <el-col :span="8">
|
|
|
|
|
+ <el-form-item label="请求方式:" prop="name" style="">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="formJi.type"
|
|
|
|
|
+ :disabled="isEdit"
|
|
|
|
|
+ style="width: 100%;margin-left: 0%;"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in optionsType"
|
|
|
|
|
+ :key="item.value"
|
|
|
|
|
+ :label="item.label"
|
|
|
|
|
+ :value="item.value"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row :gutter="48">
|
|
|
|
|
+ <el-col :span="13">
|
|
|
|
|
+ <el-form-item label="服务说明:">
|
|
|
|
|
+ <el-input v-model="formJi.intro" style="width: 100%;" :rows="3" resize="none" type="textarea"/>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <div style="margin-top: 2%;">
|
|
|
|
|
+ <div style="display: flex;justify-content: space-between;align-items: center;">
|
|
|
|
|
+ <div>
|
|
|
|
|
+ 请求参数
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div style="display: flex;justify-content: flex-end;margin-right: 2%;">
|
|
|
|
|
+ <el-button @click="addPa" style="margin-top: 1%;" type="success" size="mini" plain>新增参数</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ style="margin-top: 1%;width: 98%;"
|
|
|
|
|
+ :data="tableDataCan"
|
|
|
|
|
+ :cell-style="{ textAlign: 'center',padding:'2px 0' }"
|
|
|
|
|
+ :header-cell-style="{ textAlign: 'center'}"
|
|
|
|
|
+ :row-style="{ height: heightAll*0.01+'px',fontSize: '16px',textAlign:'center' }"
|
|
|
|
|
+ border >
|
|
|
|
|
+ <el-table-column prop="itemName" label="参数字段">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <div style="width: 100%;">
|
|
|
|
|
+ <el-input placeholder="请填写参数编码" type="primary" class="noBor" v-model="scope.row.paramCode" size="mini" text style="margin-left: 0%;border: transparent;"></el-input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="itemName" label="参数名称">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <div style="width: 100%;">
|
|
|
|
|
+ <el-input placeholder="请填写参数名称" type="primary" class="noBor" v-model="scope.row.itemName" size="mini" text style="margin-left: 0%;"></el-input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="itemName" label="参数类型" width="200">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <div style="width: 100%;">
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="scope.row.paramType"
|
|
|
|
|
+ class="noBorSel"
|
|
|
|
|
+ placeholder=""
|
|
|
|
|
+ style="width: 100%;margin-left: 0%;"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in optionsCan"
|
|
|
|
|
+ :key="item.value"
|
|
|
|
|
+ :label="item.label"
|
|
|
|
|
+ :value="item.value"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="itemName" label="参数说明" >
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <div style="width: 100%;">
|
|
|
|
|
+ <el-input type="primary" class="noBor" v-model="scope.row.paramNote" size="mini" text style="margin-left: 0%;"></el-input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="address" label="操作" width="100">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <div style="width: 100%;">
|
|
|
|
|
+ <el-button type="danger" @click="delCan(scope.$index)" size="mini" text style="margin-left: 0%;">删除</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div style="margin-top: 2%;">
|
|
|
|
|
+ <!-- <div>返回响应</div> -->
|
|
|
|
|
+ <div style="color: #909399;margin-left: 7%;margin-top:1%;">此处填写本服务接口响应信息描述</div>
|
|
|
|
|
+ <el-tabs type="card" style="margin-top: -1.5%;width: 98%;">
|
|
|
|
|
+ <el-tab-pane label="响应内容">
|
|
|
|
|
+ <div style="display: flex; flex-direction: column;">
|
|
|
|
|
+ <!-- <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick" style="margin-top: 1%;margin-left: 2%;background-color: #F7F7F7;background-color: transparent;width: 15%;" default-expand-all>
|
|
|
|
|
+ <template #default="{ node, data }">
|
|
|
|
|
+ <span style="display: flex;justify-content: space-between;width: 100%;align-items: center;">
|
|
|
|
|
+ <span><el-input v-model="node.label" size="mini"/></span>
|
|
|
|
|
+ <span style="display: flex;align-items: center;">
|
|
|
|
|
+ <el-tooltip
|
|
|
|
|
+ class="box-item"
|
|
|
|
|
+ effect="light"
|
|
|
|
|
+ content="是否必填"
|
|
|
|
|
+ placement="top-start"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-checkbox v-model="checked1" label="" size="large" />
|
|
|
|
|
+ </el-tooltip>
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="formJi.type"
|
|
|
|
|
+ :disabled="isEdit"
|
|
|
|
|
+ style="width: 100%;margin-left: -1%;"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in optionsType"
|
|
|
|
|
+ :key="item.value"
|
|
|
|
|
+ :label="item.label"
|
|
|
|
|
+ :value="item.value"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ <el-tooltip
|
|
|
|
|
+ class="box-item"
|
|
|
|
|
+ effect="light"
|
|
|
|
|
+ content="是否允许null"
|
|
|
|
|
+ placement="top-start"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-checkbox v-model="checked1" label="" size="large" />
|
|
|
|
|
+ </el-tooltip>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-tree> -->
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
+ </el-tabs>
|
|
|
|
|
+ <div style="overflow: auto;height: 20vh;margin-top: -1%;">
|
|
|
|
|
+ <JsonEditorVue
|
|
|
|
|
+ v-model="msgSu"
|
|
|
|
|
+ style="height:98%;width: 98%;"
|
|
|
|
|
+ :mode="'code'"
|
|
|
|
|
+ :showBtns="false"
|
|
|
|
|
+ :options="{
|
|
|
|
|
+ navigationBar: false, // 隐藏顶部导航栏
|
|
|
|
|
+ statusBar: false, // 隐藏底部状态栏
|
|
|
|
|
+ mode: 'code', // 仅保留代码编辑模式
|
|
|
|
|
+ mainMenuBar: false // 隐藏主菜单栏
|
|
|
|
|
+ }"
|
|
|
|
|
+ lang="zh"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div style="margin-top: 2.5%;margin-left: 0%;padding-bottom: 1%;">
|
|
|
|
|
+
|
|
|
|
|
+ <el-tabs type="card" style="margin-top: -1.5%;width: 98%;">
|
|
|
|
|
+ <el-tab-pane label="使用说明">
|
|
|
|
|
+
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
+ </el-tabs>
|
|
|
|
|
+ <el-input placeholder="请输入示例" :rows="8" type="textarea" v-model="titleTree" size="mini" text style="margin-top: -1%;width: 98%;" ></el-input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-tab-pane>
|
|
|
|
|
+ </el-tabs>
|
|
|
|
|
+ <el-dialog @close="clearFromTree" :title="titleTree" v-model="dialogVisible" title="" width="70%" destroy-on-close :key="tableKey">
|
|
|
|
|
+ <div style="overflow: auto;height: 80vh;">
|
|
|
|
|
+ <el-form size="mini" :key="tableKey" style="margin-top: 1%;width: 98%;" :model="formJi" label-position="right" ref="formRefJi" label-width="120px" :rules="rulesJi">
|
|
|
<el-row :gutter="48">
|
|
<el-row :gutter="48">
|
|
|
<el-col :span="10">
|
|
<el-col :span="10">
|
|
|
<el-form-item label="服务名称:" prop="version" style="">
|
|
<el-form-item label="服务名称:" prop="version" style="">
|
|
@@ -241,12 +487,6 @@
|
|
|
placeholder=""
|
|
placeholder=""
|
|
|
class="input-with-select"
|
|
class="input-with-select"
|
|
|
>
|
|
>
|
|
|
- <template #prepend>
|
|
|
|
|
- <el-select v-model="select" placeholder="" style="width: 115px">
|
|
|
|
|
- <el-option label="http://" value="1" />
|
|
|
|
|
- <el-option label="https://" value="2" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </template>
|
|
|
|
|
</el-input>
|
|
</el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
@@ -334,7 +574,7 @@
|
|
|
<el-table-column prop="itemName" label="参数字段">
|
|
<el-table-column prop="itemName" label="参数字段">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<div style="width: 100%;">
|
|
<div style="width: 100%;">
|
|
|
- <el-input placeholder="请填写参数编码" type="primary" class="noBor" v-model="scope.row.itemName" size="mini" text style="margin-left: 0%;border: transparent;"></el-input>
|
|
|
|
|
|
|
+ <el-input placeholder="请填写参数编码" type="primary" class="noBor" v-model="scope.row.itemCode" size="mini" text style="margin-left: 0%;border: transparent;"></el-input>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -349,13 +589,13 @@
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<div style="width: 100%;">
|
|
<div style="width: 100%;">
|
|
|
<el-select
|
|
<el-select
|
|
|
- v-model="formJi.type"
|
|
|
|
|
|
|
+ v-model="scope.row.paramType"
|
|
|
class="noBorSel"
|
|
class="noBorSel"
|
|
|
placeholder=""
|
|
placeholder=""
|
|
|
style="width: 100%;margin-left: 0%;"
|
|
style="width: 100%;margin-left: 0%;"
|
|
|
>
|
|
>
|
|
|
<el-option
|
|
<el-option
|
|
|
- v-for="item in optionsType"
|
|
|
|
|
|
|
+ v-for="item in optionsCan"
|
|
|
:key="item.value"
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
:label="item.label"
|
|
|
:value="item.value"
|
|
:value="item.value"
|
|
@@ -367,14 +607,14 @@
|
|
|
<el-table-column prop="itemName" label="参数说明" >
|
|
<el-table-column prop="itemName" label="参数说明" >
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<div style="width: 100%;">
|
|
<div style="width: 100%;">
|
|
|
- <el-input type="primary" class="noBor" v-model="scope.row.itemName" size="mini" text style="margin-left: 0%;"></el-input>
|
|
|
|
|
|
|
+ <el-input type="primary" class="noBor" v-model="scope.row.paramNote" size="mini" text style="margin-left: 0%;"></el-input>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column prop="address" label="操作" width="100">
|
|
<el-table-column prop="address" label="操作" width="100">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<div style="width: 100%;">
|
|
<div style="width: 100%;">
|
|
|
- <el-button type="danger" @click="delCan(scope.row)" size="mini" text style="margin-left: 0%;">删除</el-button>
|
|
|
|
|
|
|
+ <el-button type="danger" @click="delCan(scope.$index)" size="mini" text style="margin-left: 0%;">删除</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -384,8 +624,8 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div style="margin-top: 2%;">
|
|
<div style="margin-top: 2%;">
|
|
|
<!-- <div>返回响应</div> -->
|
|
<!-- <div>返回响应</div> -->
|
|
|
- <div style="color: #909399;margin-left: 7%;margin-top:1%;">此处填写本服务接口响应信息描述</div>
|
|
|
|
|
- <el-tabs type="card" style="margin-top: -1.5%;width: 98%;">
|
|
|
|
|
|
|
+ <div style="color: #909399;margin-left: 8%;margin-top:1%;">此处填写本服务接口响应信息描述</div>
|
|
|
|
|
+ <el-tabs type="card" style="margin-top: -2%;width: 98%;">
|
|
|
<el-tab-pane label="响应内容">
|
|
<el-tab-pane label="响应内容">
|
|
|
<div style="display: flex; flex-direction: column;">
|
|
<div style="display: flex; flex-direction: column;">
|
|
|
<!-- <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick" style="margin-top: 1%;margin-left: 2%;background-color: #F7F7F7;background-color: transparent;width: 15%;" default-expand-all>
|
|
<!-- <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick" style="margin-top: 1%;margin-left: 2%;background-color: #F7F7F7;background-color: transparent;width: 15%;" default-expand-all>
|
|
@@ -454,219 +694,10 @@
|
|
|
<el-input placeholder="请输入示例" :rows="8" type="textarea" v-model="titleTree" size="mini" text style="margin-top: -1%;width: 98%;" ></el-input>
|
|
<el-input placeholder="请输入示例" :rows="8" type="textarea" v-model="titleTree" size="mini" text style="margin-top: -1%;width: 98%;" ></el-input>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- </el-tab-pane>
|
|
|
|
|
- </el-tabs>
|
|
|
|
|
- <el-dialog @close="clearFromTree" :title="titleTree" v-model="dialogVisible" title="" width="70%" destroy-on-close :key="tableKey">
|
|
|
|
|
- <div style="overflow: auto;height: 80vh;">
|
|
|
|
|
- <el-form size="mini" :key="tableKey" style="margin-left: 0%;width: 98%;" :model="formJi" label-position="right" ref="formRefJi" label-width="120px" :rules="rulesJi">
|
|
|
|
|
- <el-row :gutter="48">
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-form-item label="服务分类:" prop="name" style="">
|
|
|
|
|
- <el-select
|
|
|
|
|
- v-model="formJi.type"
|
|
|
|
|
- :disabled="isEdit"
|
|
|
|
|
- style="width: 100%;margin-left: 0%;"
|
|
|
|
|
- >
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in optionsType"
|
|
|
|
|
- :key="item.value"
|
|
|
|
|
- :label="item.label"
|
|
|
|
|
- :value="item.value"
|
|
|
|
|
- />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-form-item label="服务名称:" prop="version" style="">
|
|
|
|
|
- <el-input v-model="formJi.version" :disabled="isEdit"/>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-row>
|
|
|
|
|
- <el-form-item label="接口地址:" prop="enname" style="">
|
|
|
|
|
- <el-input
|
|
|
|
|
- v-model="input3"
|
|
|
|
|
- placeholder=""
|
|
|
|
|
- class="input-with-select"
|
|
|
|
|
- >
|
|
|
|
|
- <template #prepend>
|
|
|
|
|
- <el-select v-model="select" placeholder="" style="width: 115px">
|
|
|
|
|
- <el-option label="http://" value="1" />
|
|
|
|
|
- <el-option label="https://" value="2" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-input>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-row :gutter="48">
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-form-item label="接口格式:" prop="name" style="">
|
|
|
|
|
- <el-select
|
|
|
|
|
- v-model="formJi.type"
|
|
|
|
|
- :disabled="isEdit"
|
|
|
|
|
- style="width: 100%;margin-left: 0%;"
|
|
|
|
|
- >
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in optionsType"
|
|
|
|
|
- :key="item.value"
|
|
|
|
|
- :label="item.label"
|
|
|
|
|
- :value="item.value"
|
|
|
|
|
- />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-form-item label="请求方式:" prop="version" style="">
|
|
|
|
|
- <el-select
|
|
|
|
|
- v-model="formJi.type"
|
|
|
|
|
- :disabled="isEdit"
|
|
|
|
|
- style="width: 100%;margin-left: 0%;"
|
|
|
|
|
- >
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in optionsType"
|
|
|
|
|
- :key="item.value"
|
|
|
|
|
- :label="item.label"
|
|
|
|
|
- :value="item.value"
|
|
|
|
|
- />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-row>
|
|
|
|
|
- <el-form-item label="返回格式:" prop="version" style="">
|
|
|
|
|
- <el-input v-model="formJi.version" :disabled="isEdit"/>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="组件简介:">
|
|
|
|
|
- <el-input v-model="formJi.intro" style="width: 100%;" :disabled="isEdit" :rows="2" resize="none" type="textarea"/>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="组件简介:">
|
|
|
|
|
- <el-input v-model="formJi.intro" style="width: 100%;" :disabled="isEdit" :rows="2" resize="none" type="textarea"/>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-form>
|
|
|
|
|
- <div style="margin-top: 2%;">
|
|
|
|
|
- <div>
|
|
|
|
|
- 请求参数
|
|
|
|
|
- </div>
|
|
|
|
|
- <div>
|
|
|
|
|
- <el-table
|
|
|
|
|
- style="margin-top: 1%;"
|
|
|
|
|
- :data="tableDataCan"
|
|
|
|
|
- :cell-style="{ textAlign: 'center', }"
|
|
|
|
|
- :header-cell-style="{ textAlign: 'center'}"
|
|
|
|
|
- :row-style="{ height: heightAll*0.01+'px',fontSize: '16px',textAlign:'center' }"
|
|
|
|
|
- border >
|
|
|
|
|
- <el-table-column prop="itemName" label="参数字段">
|
|
|
|
|
- <template #default="scope">
|
|
|
|
|
- <div style="width: 100%;">
|
|
|
|
|
- <el-input type="primary" v-model="scope.row.itemName" size="mini" text style="margin-left: 0%;border: transparent;"></el-input>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="itemName" label="参数名称">
|
|
|
|
|
- <template #default="scope">
|
|
|
|
|
- <div style="width: 100%;">
|
|
|
|
|
- <el-input type="primary" v-model="scope.row.itemName" size="mini" text style="margin-left: 0%;"></el-input>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="itemName" label="参数类型">
|
|
|
|
|
- <template #default="scope">
|
|
|
|
|
- <div style="width: 100%;">
|
|
|
|
|
- <el-input type="primary" v-model="scope.row.itemName" size="mini" text style="margin-left: 0%;"></el-input>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="itemName" label="参数备注">
|
|
|
|
|
- <template #default="scope">
|
|
|
|
|
- <div style="width: 100%;">
|
|
|
|
|
- <el-input type="primary" v-model="scope.row.itemName" size="mini" text style="margin-left: 0%;"></el-input>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="address" label="操作" width="222">
|
|
|
|
|
- <template #default="scope">
|
|
|
|
|
- <div style="width: 100%;">
|
|
|
|
|
- <el-button type="danger" @click="delCan(scope.row)" size="mini" text style="margin-left: 0%;">删除</el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table>
|
|
|
|
|
-
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div style="margin-top: 2%;">
|
|
|
|
|
- <div>返回响应</div>
|
|
|
|
|
- <el-tabs type="card" style="margin-top:0%;">
|
|
|
|
|
- <el-tab-pane label="成功">
|
|
|
|
|
- <div style="">
|
|
|
|
|
- <!-- <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick" style="margin-top: 1%;margin-left: 2%;background-color: #F7F7F7;background-color: transparent;width: 15%;" default-expand-all>
|
|
|
|
|
- <template #default="{ node, data }">
|
|
|
|
|
- <span style="display: flex;justify-content: space-between;width: 100%;align-items: center;">
|
|
|
|
|
- <span><el-input v-model="node.label" size="mini"/></span>
|
|
|
|
|
- <span style="display: flex;align-items: center;">
|
|
|
|
|
- <el-tooltip
|
|
|
|
|
- class="box-item"
|
|
|
|
|
- effect="light"
|
|
|
|
|
- content="是否必填"
|
|
|
|
|
- placement="top-start"
|
|
|
|
|
- >
|
|
|
|
|
- <el-checkbox v-model="checked1" label="" size="large" />
|
|
|
|
|
- </el-tooltip>
|
|
|
|
|
- <el-select
|
|
|
|
|
- v-model="formJi.type"
|
|
|
|
|
- :disabled="isEdit"
|
|
|
|
|
- style="width: 100%;margin-left: -1%;"
|
|
|
|
|
- >
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in optionsType"
|
|
|
|
|
- :key="item.value"
|
|
|
|
|
- :label="item.label"
|
|
|
|
|
- :value="item.value"
|
|
|
|
|
- />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- <el-tooltip
|
|
|
|
|
- class="box-item"
|
|
|
|
|
- effect="light"
|
|
|
|
|
- content="是否允许null"
|
|
|
|
|
- placement="top-start"
|
|
|
|
|
- >
|
|
|
|
|
- <el-checkbox v-model="checked1" label="" size="large" />
|
|
|
|
|
- </el-tooltip>
|
|
|
|
|
- </span>
|
|
|
|
|
- </span>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-tree> -->
|
|
|
|
|
- <el-input :rows="8" type="textarea" v-model="titleTree" size="mini" text style="margin-left: 0%;width: 100%;" ></el-input>
|
|
|
|
|
- </div>
|
|
|
|
|
- </el-tab-pane>
|
|
|
|
|
- </el-tabs>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div style="margin-top: 2.5%;margin-left: 1%;padding-bottom: 1%;">
|
|
|
|
|
- <el-tabs type="card" style="margin-top: 1%;">
|
|
|
|
|
- <el-tab-pane label="成功示例">
|
|
|
|
|
- <div style="overflow: auto;height: 20vh;">
|
|
|
|
|
- <JsonEditorVue
|
|
|
|
|
- v-model="msgSu"
|
|
|
|
|
- style="height:100%;"
|
|
|
|
|
- :mode="'code'"
|
|
|
|
|
- :showBtns="false"
|
|
|
|
|
- :options="{
|
|
|
|
|
- navigationBar: false, // 隐藏顶部导航栏
|
|
|
|
|
- statusBar: false, // 隐藏底部状态栏
|
|
|
|
|
- mode: 'code', // 仅保留代码编辑模式
|
|
|
|
|
- mainMenuBar: false // 隐藏主菜单栏
|
|
|
|
|
- }"
|
|
|
|
|
- lang="zh"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- </el-tab-pane>
|
|
|
|
|
- </el-tabs>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
<template #footer>
|
|
<template #footer>
|
|
|
<span class="dialog-footer">
|
|
<span class="dialog-footer">
|
|
|
<el-button size="mini" @click="dialogVisible = false">取消</el-button>
|
|
<el-button size="mini" @click="dialogVisible = false">取消</el-button>
|
|
|
- <el-button v-if="isAdd" type="primary" @click="addTree" size="mini">
|
|
|
|
|
- 提交
|
|
|
|
|
- </el-button>
|
|
|
|
|
- <el-button v-if="!isAdd" type="primary" @click="saveEditTree" size="mini">
|
|
|
|
|
|
|
+ <el-button type="primary" @click="addSer" size="mini">
|
|
|
提交
|
|
提交
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</span>
|
|
</span>
|
|
@@ -704,6 +735,41 @@ const detail = ref({
|
|
|
rqtype:'',
|
|
rqtype:'',
|
|
|
rptype:''
|
|
rptype:''
|
|
|
})
|
|
})
|
|
|
|
|
+const optionsCan = ref([
|
|
|
|
|
+ {
|
|
|
|
|
+ label:"string",
|
|
|
|
|
+ value:'string'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label:"int",
|
|
|
|
|
+ value:'int'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label:"boolean",
|
|
|
|
|
+ value:'boolean'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label:"array",
|
|
|
|
|
+ value:'array'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label:"object",
|
|
|
|
|
+ value:'object'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label:"number",
|
|
|
|
|
+ value:'number'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label:"null",
|
|
|
|
|
+ value:'null'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label:"any",
|
|
|
|
|
+ value:'any'
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+])
|
|
|
const options = ref([
|
|
const options = ref([
|
|
|
{label:'开发中',
|
|
{label:'开发中',
|
|
|
value:'1'
|
|
value:'1'
|
|
@@ -713,7 +779,14 @@ const options = ref([
|
|
|
},
|
|
},
|
|
|
])
|
|
])
|
|
|
const dataJsonXiang = ref([])
|
|
const dataJsonXiang = ref([])
|
|
|
-const tableDataCan = ref([])
|
|
|
|
|
|
|
+const tableDataCan = ref([
|
|
|
|
|
+ {
|
|
|
|
|
+ itemName:'',
|
|
|
|
|
+ itemCode:'',
|
|
|
|
|
+ paramType:'',
|
|
|
|
|
+ paramNote:''
|
|
|
|
|
+ }
|
|
|
|
|
+])
|
|
|
const optionsRqtype = ref([
|
|
const optionsRqtype = ref([
|
|
|
{label:'GET',
|
|
{label:'GET',
|
|
|
value:'GET'
|
|
value:'GET'
|
|
@@ -739,8 +812,8 @@ const optionsType= ref([
|
|
|
const data = ref([])
|
|
const data = ref([])
|
|
|
const select = ref('1')
|
|
const select = ref('1')
|
|
|
const activeName = ref('first')
|
|
const activeName = ref('first')
|
|
|
-const title = ref([])
|
|
|
|
|
-const titleTree = ref([])
|
|
|
|
|
|
|
+const title = ref('')
|
|
|
|
|
+const titleTree = ref('')
|
|
|
const currentPage = ref(1)
|
|
const currentPage = ref(1)
|
|
|
const total = ref(1)
|
|
const total = ref(1)
|
|
|
const tableData = ref([])
|
|
const tableData = ref([])
|
|
@@ -764,16 +837,17 @@ const formZu = ref({
|
|
|
});
|
|
});
|
|
|
const formJi = ref({
|
|
const formJi = ref({
|
|
|
name:'',
|
|
name:'',
|
|
|
- version:'',
|
|
|
|
|
- enname:'',
|
|
|
|
|
- devlang:'',
|
|
|
|
|
|
|
+ cateCode:'',
|
|
|
|
|
+ type:'',
|
|
|
|
|
+ url:'',
|
|
|
|
|
+ rqtype:'',
|
|
|
|
|
+ rptype:'',
|
|
|
intro:'',
|
|
intro:'',
|
|
|
- type:''
|
|
|
|
|
});
|
|
});
|
|
|
const rulesJi = reactive({
|
|
const rulesJi = reactive({
|
|
|
name: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
name: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
- version: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
- enname: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
|
|
+ url: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
|
|
+ cateCode: [{ required: true, message: '必填', trigger: 'blur' }],
|
|
|
});
|
|
});
|
|
|
const formRefJi = ref();
|
|
const formRefJi = ref();
|
|
|
const rulesZu = reactive({
|
|
const rulesZu = reactive({
|
|
@@ -802,13 +876,24 @@ const props1 = ref({
|
|
|
checkStrictly: true,
|
|
checkStrictly: true,
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+function addSer(){
|
|
|
|
|
+ formRefJi.value.validate((valid) => {
|
|
|
|
|
+ if(valid){
|
|
|
|
|
+ var par = formJi.value
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+}
|
|
|
|
|
+function showAdd(){
|
|
|
|
|
+ dialogVisible.value = true
|
|
|
|
|
+}
|
|
|
function handleNodeClick(node,data){
|
|
function handleNodeClick(node,data){
|
|
|
getSerDe(data.id).then(res=>{
|
|
getSerDe(data.id).then(res=>{
|
|
|
detail.value = res.data
|
|
detail.value = res.data
|
|
|
detail.value.nodeType = data.data.nodeType
|
|
detail.value.nodeType = data.data.nodeType
|
|
|
tableDataCan.value = res.data.list
|
|
tableDataCan.value = res.data.list
|
|
|
- dataJsonXiang.value = res.data.returnList
|
|
|
|
|
- console.log(detail.value,data)
|
|
|
|
|
|
|
+ console.log(tableDataCan.value)
|
|
|
|
|
+ dataJsonXiang.value = res.data.returnList
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
function getTreeLeft(){
|
|
function getTreeLeft(){
|
|
@@ -877,8 +962,8 @@ function addPa(){
|
|
|
}
|
|
}
|
|
|
tableDataCan.value.push(par)
|
|
tableDataCan.value.push(par)
|
|
|
}
|
|
}
|
|
|
-function delCan(row){
|
|
|
|
|
-
|
|
|
|
|
|
|
+function delCan(index){
|
|
|
|
|
+ tableDataCan.value.splice(index, 1)
|
|
|
}
|
|
}
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
fetchData()
|
|
fetchData()
|