|
@@ -1,8 +1,8 @@
|
|
|
<!--
|
|
|
* @Author: WangJiaCheng
|
|
|
* @Date: 2021-05-12 15:36:33
|
|
|
- * @LastEditors: WangJiaCheng
|
|
|
- * @LastEditTime: 2021-07-27 10:17:04
|
|
|
+ * @LastEditors: wjc
|
|
|
+ * @LastEditTime: 2021-12-02 17:41:33
|
|
|
* @Description:
|
|
|
-->
|
|
|
<template>
|
|
@@ -29,9 +29,12 @@
|
|
|
v-model="formData.listApi"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="请求方式">
|
|
|
+ <el-form-item label="接口JSON">
|
|
|
<el-input
|
|
|
- v-model="formData.apiMethod"
|
|
|
+ v-model="formData.apiJson"
|
|
|
+ type="textarea"
|
|
|
+ :rows="6"
|
|
|
+ @change="apiJsonInput"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="表格列配置">
|
|
@@ -111,15 +114,9 @@
|
|
|
/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="filter"
|
|
|
- label="表头过滤"
|
|
|
- width="180"
|
|
|
- />
|
|
|
<el-table-column
|
|
|
prop="edit"
|
|
|
label="操作"
|
|
|
- width="180"
|
|
|
/>
|
|
|
</el-table>
|
|
|
<el-button
|
|
@@ -130,8 +127,12 @@
|
|
|
</el-button>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary" @click="next">下一步</el-button>
|
|
|
- <el-button type="primary" @click="previewCode">预览代码</el-button>
|
|
|
+ <el-button type="primary" @click="next">
|
|
|
+ 下一步
|
|
|
+ </el-button>
|
|
|
+ <el-button type="primary" @click="previewCode">
|
|
|
+ 预览代码
|
|
|
+ </el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
@@ -158,21 +159,27 @@ export default {
|
|
|
label: '列表2'
|
|
|
}
|
|
|
],
|
|
|
- tableData: [
|
|
|
- {
|
|
|
- type: '',
|
|
|
- name: '',
|
|
|
- field: '',
|
|
|
- minWidth: '',
|
|
|
- width: '',
|
|
|
- fixed: false,
|
|
|
- filter: ''
|
|
|
- }
|
|
|
- ]
|
|
|
+ tableData: []
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
...mapMutations('page', ['setListConfig', 'setActiveTab']),
|
|
|
+ apiJsonInput(data) {
|
|
|
+ if (data) {
|
|
|
+ const formatApiJson = JSON.parse(data)
|
|
|
+ const resBody = JSON.parse(formatApiJson.res_body)
|
|
|
+ const { properties: { list: { items: { properties: propertyDta = {} } } } } = resBody
|
|
|
+ if (propertyDta) {
|
|
|
+ for (const key of Object.keys(propertyDta)) {
|
|
|
+ this.tableData.push({
|
|
|
+ type: propertyDta[key].type,
|
|
|
+ name: propertyDta[key].description.replace(/\((.+)\)/g, ''),
|
|
|
+ field: key
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
next() {
|
|
|
this.setListConfig({ ...this.formData, list: this.tableData })
|
|
|
this.setActiveTab('detail')
|