simple-frame-unit 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/.env.dev +14 -0
  2. package/CHANGELOG.md +9 -0
  3. package/README.md +24 -0
  4. package/dist/ed-frame-vue.common.1.js +11046 -0
  5. package/dist/ed-frame-vue.common.1.js.map +1 -0
  6. package/dist/ed-frame-vue.common.2.js +1715 -0
  7. package/dist/ed-frame-vue.common.2.js.map +1 -0
  8. package/dist/ed-frame-vue.common.js +53427 -0
  9. package/dist/ed-frame-vue.common.js.map +1 -0
  10. package/dist/ed-frame-vue.umd.1.js +11046 -0
  11. package/dist/ed-frame-vue.umd.1.js.map +1 -0
  12. package/dist/ed-frame-vue.umd.2.js +1715 -0
  13. package/dist/ed-frame-vue.umd.2.js.map +1 -0
  14. package/dist/ed-frame-vue.umd.js +53437 -0
  15. package/dist/ed-frame-vue.umd.js.map +1 -0
  16. package/dist/ed-frame-vue.umd.min.1.js +17 -0
  17. package/dist/ed-frame-vue.umd.min.1.js.map +1 -0
  18. package/dist/ed-frame-vue.umd.min.2.js +4 -0
  19. package/dist/ed-frame-vue.umd.min.2.js.map +1 -0
  20. package/dist/ed-frame-vue.umd.min.js +470 -0
  21. package/dist/ed-frame-vue.umd.min.js.map +1 -0
  22. package/import.easydata.js +46 -0
  23. package/lib/CHANGELOG.md +18 -0
  24. package/lib/README.md +27 -0
  25. package/lib/api/ds/index.js +124 -0
  26. package/lib/api/easyData.js +90 -0
  27. package/lib/api/easyform/easyForm.js +32 -0
  28. package/lib/api/index.js +61 -0
  29. package/lib/api/interface/index.js +32 -0
  30. package/lib/api/system.js +20 -0
  31. package/lib/index.js +80 -0
  32. package/lib/packages/BasicTemplate/EasyDataTemplate.vue +189 -0
  33. package/lib/packages/BasicTemplate/Props.js +64 -0
  34. package/lib/packages/BasicTemplate/components/TemplateComp.vue +263 -0
  35. package/lib/packages/BasicTemplate/components/TemplateViews.vue +292 -0
  36. package/lib/packages/BasicTemplate/hooks/business.js +74 -0
  37. package/lib/packages/BasicTemplate/hooks/getFormData.js +89 -0
  38. package/lib/packages/BasicTemplate/hooks/queryFormData.js +194 -0
  39. package/lib/packages/BasicTemplate/hooks/submitForm.js +53 -0
  40. package/lib/packages/BasicTemplate/hooks/useEmits.js +15 -0
  41. package/lib/packages/BasicTemplate/hooks/validate.js +42 -0
  42. package/lib/packages/EasyDataForm/EasyDataForm.vue +597 -0
  43. package/lib/packages/EasyDataForm/Props.js +22 -0
  44. package/lib/packages/EasyDataForm/components/FormItem.vue +228 -0
  45. package/lib/packages/EasyDataForm/hooks/useChosePopup.js +85 -0
  46. package/lib/packages/EasyDataForm/hooks/useEmits.js +19 -0
  47. package/lib/packages/EasyDataForm/hooks/useForm.js +169 -0
  48. package/lib/packages/EasyDataForm/hooks/useUpload.js +168 -0
  49. package/lib/packages/EasyDataList/EasyDataList.vue +348 -0
  50. package/lib/packages/EasyDataList/Props.js +116 -0
  51. package/lib/packages/EasyDataList/components/BasicModal.vue +150 -0
  52. package/lib/packages/EasyDataList/components/FormAction.vue +63 -0
  53. package/lib/packages/EasyDataList/hooks/useEmits.js +30 -0
  54. package/lib/packages/EasyDataList/hooks/useForm.js +62 -0
  55. package/lib/packages/EasyDataList/hooks/useTable.js +314 -0
  56. package/lib/packages/EasyDataTable/EasyDataTable.vue +233 -0
  57. package/lib/packages/EasyDataView/EasyDataView.vue +105 -0
  58. package/lib/packages/EdRichPreview/index.js +32 -0
  59. package/lib/packages/EdRichText/index.vue +167 -0
  60. package/lib/packages/EdRichText/replaceUrl.js +49 -0
  61. package/lib/packages/components/FileView.vue +97 -0
  62. package/lib/packages/index.js +11 -0
  63. package/lib/packages/mixins/EasyDataMixins.js +133 -0
  64. package/lib/packages/mixins/useTable.jsx +130 -0
  65. package/lib/pages/DataSource/index.js +8 -0
  66. package/lib/pages/DataSource/src/components/ControlViews/BaseProps.js +103 -0
  67. package/lib/pages/DataSource/src/components/ControlViews/control.js +1089 -0
  68. package/lib/pages/DataSource/src/components/ControlViews/index.vue +301 -0
  69. package/lib/pages/DataSource/src/components/TableOperationModal.vue +225 -0
  70. package/lib/pages/DataSource/src/components/TablePropsModal.vue +367 -0
  71. package/lib/pages/DataSource/src/components/ViewPropsModal.vue +737 -0
  72. package/lib/pages/DataSource/src/components/modal/ChooseDict.vue +119 -0
  73. package/lib/pages/DataSource/src/hooks/useTable.js +138 -0
  74. package/lib/pages/DataSource/src/index.vue +431 -0
  75. package/lib/pages/Interface/index.js +8 -0
  76. package/lib/pages/Interface/src/components/InterfaceCall.vue +73 -0
  77. package/lib/pages/Interface/src/components/InterfaceDepend.vue +299 -0
  78. package/lib/pages/Interface/src/components/InterfaceFee.vue +131 -0
  79. package/lib/pages/Interface/src/components/InterfaceMessage.vue +878 -0
  80. package/lib/pages/Interface/src/components/InterfaceMock.vue +203 -0
  81. package/lib/pages/Interface/src/components/InterfaceParam.vue +308 -0
  82. package/lib/pages/Interface/src/components/InterfaceRepeat.vue +281 -0
  83. package/lib/pages/Interface/src/components/InterfaceVariable.vue +31 -0
  84. package/lib/pages/Interface/src/index.vue +216 -0
  85. package/lib/pages/Template/index.js +8 -0
  86. package/lib/pages/Template/src/components/DefineModal.vue +524 -0
  87. package/lib/pages/Template/src/components/TemplatePreview.vue +109 -0
  88. package/lib/pages/Template/src/components/model/AddDialog.vue +60 -0
  89. package/lib/pages/Template/src/components/model/TemplatePreview2.vue +101 -0
  90. package/lib/pages/Template/src/hooks/index.js +3 -0
  91. package/lib/pages/Template/src/hooks/useEmits.js +64 -0
  92. package/lib/pages/Template/src/index.vue +124 -0
  93. package/lib/popup/index.js +8 -0
  94. package/lib/popup/src/DataSourceChoose.vue +44 -0
  95. package/lib/popup/src/DataSourceViewIdChoose.vue +67 -0
  96. package/lib/popup/src/DictChoose.vue +104 -0
  97. package/lib/popup/src/InterfaceChoose.vue +46 -0
  98. package/lib/popup/src/OrgChoose.vue +121 -0
  99. package/lib/popup/src/RoleChoose.vue +101 -0
  100. package/lib/popup/src/TemplateChoose.vue +43 -0
  101. package/lib/popup/src/UserChoose.vue +161 -0
  102. package/lib/popup//347/273/204/344/273/266/345/274/200/345/217/221/350/247/204/350/214/203.md +25 -0
  103. package/lib/style/custom.scss +126 -0
  104. package/lib/style/deep.scss +109 -0
  105. package/lib/style/index.scss +4 -0
  106. package/lib/utils/MapLoader.js +48 -0
  107. package/lib/utils/dateUtils.js +58 -0
  108. package/lib/utils/index.js +8 -0
  109. package/lib/utils/setting.js +25 -0
  110. package/lib/utils/sortable/index.js +3784 -0
  111. package/lib/utils/useBusiness.js +212 -0
  112. package/lib/utils/utils.js +588 -0
  113. package/package.json +77 -0
  114. package/src/App.vue +12 -0
  115. package/src/assets/Vue.png +0 -0
  116. package/src/assets/avatar.png +0 -0
  117. package/src/assets/images/bg.png +0 -0
  118. package/src/assets/images/logo-bills.png +0 -0
  119. package/src/assets/images/pic.png +0 -0
  120. package/src/assets/images/weplus-logo.png +0 -0
  121. package/src/assets/marker.png +0 -0
  122. package/src/assets/styles/common.scss +359 -0
  123. package/src/assets/styles/ele-docs.css +3278 -0
  124. package/src/assets/styles/fonts/icomoon.eot +0 -0
  125. package/src/assets/styles/fonts/icomoon.svg +14 -0
  126. package/src/assets/styles/fonts/icomoon.ttf +0 -0
  127. package/src/assets/styles/fonts/icomoon.woff +0 -0
  128. package/src/assets/styles/fonts/style.css +39 -0
  129. package/src/assets/styles/higtlightEle.css +84 -0
  130. package/src/assets/svg/code.svg +7 -0
  131. package/src/assets/svg/password.svg +1 -0
  132. package/src/components/Popups/DiyCompDictChoose.vue +112 -0
  133. package/src/components/Popups/index.js +28 -0
  134. package/src/components/ed-base-vue/global/variable.js +8 -0
  135. package/src/components/ed-base-vue/index.js +81 -0
  136. package/src/components/ed-base-vue/package/EdCard/index.js +7 -0
  137. package/src/components/ed-base-vue/package/EdCard/src/index.vue +87 -0
  138. package/src/components/ed-base-vue/package/EdCodeEditor/index.js +8 -0
  139. package/src/components/ed-base-vue/package/EdCodeEditor/src/AceEditor/AceConfig.js +71 -0
  140. package/src/components/ed-base-vue/package/EdCodeEditor/src/AceEditor/Editor.vue +137 -0
  141. package/src/components/ed-base-vue/package/EdCodeEditor/src/AceEditor/Toolbar.vue +68 -0
  142. package/src/components/ed-base-vue/package/EdCodeEditor/src/AceEditor/index.vue +119 -0
  143. package/src/components/ed-base-vue/package/EdCodeEditor/src/AceEditor/webpack-resolver.js +51 -0
  144. package/src/components/ed-base-vue/package/EdCodeEditor/src/Codemirror/Toolbar.vue +57 -0
  145. package/src/components/ed-base-vue/package/EdCodeEditor/src/Codemirror/config.js +64 -0
  146. package/src/components/ed-base-vue/package/EdCodeEditor/src/Codemirror/index.vue +309 -0
  147. package/src/components/ed-base-vue/package/EdCodeEditor/src/EdCodeEditor.vue +238 -0
  148. package/src/components/ed-base-vue/package/EdDate/index.js +8 -0
  149. package/src/components/ed-base-vue/package/EdDate/src/index.js +50 -0
  150. package/src/components/ed-base-vue/package/EdDescriptions/index.js +8 -0
  151. package/src/components/ed-base-vue/package/EdDescriptions/src/EdDescriptions.vue +46 -0
  152. package/src/components/ed-base-vue/package/EdDescriptions/src/EdDescriptionsItem.js +20 -0
  153. package/src/components/ed-base-vue/package/EdDescriptions/src/Props.js +20 -0
  154. package/src/components/ed-base-vue/package/EdDialog/index.js +8 -0
  155. package/src/components/ed-base-vue/package/EdDialog/src/EdDialog.vue +138 -0
  156. package/src/components/ed-base-vue/package/EdDialog/src/Props.js +91 -0
  157. package/src/components/ed-base-vue/package/EdDialog/src/components/DialogFooter.vue +42 -0
  158. package/src/components/ed-base-vue/package/EdDialog/src/components/DialogWrapper.vue +53 -0
  159. package/src/components/ed-base-vue/package/EdDrawer/index.js +8 -0
  160. package/src/components/ed-base-vue/package/EdDrawer/src/DrawerFooter.vue +41 -0
  161. package/src/components/ed-base-vue/package/EdDrawer/src/EdDrawer.vue +150 -0
  162. package/src/components/ed-base-vue/package/EdDrawer/src/props.js +71 -0
  163. package/src/components/ed-base-vue/package/EdFlow/index.js +8 -0
  164. package/src/components/ed-base-vue/package/EdFlow/src/EdFlowItem.vue +733 -0
  165. package/src/components/ed-base-vue/package/EdFlow/src/index.vue +148 -0
  166. package/src/components/ed-base-vue/package/EdForm/index.js +8 -0
  167. package/src/components/ed-base-vue/package/EdForm/src/EdForm.vue +172 -0
  168. package/src/components/ed-base-vue/package/EdForm/src/Props.js +33 -0
  169. package/src/components/ed-base-vue/package/EdForm/src/components/EdFormItem.vue +34 -0
  170. package/src/components/ed-base-vue/package/EdIcons/index.js +8 -0
  171. package/src/components/ed-base-vue/package/EdIcons/src/hooks/Icons.js +406 -0
  172. package/src/components/ed-base-vue/package/EdIcons/src/hooks/Icons1.js +830 -0
  173. package/src/components/ed-base-vue/package/EdIcons/src/index.vue +13 -0
  174. package/src/components/ed-base-vue/package/EdImage/index.js +8 -0
  175. package/src/components/ed-base-vue/package/EdImage/src/index.vue +28 -0
  176. package/src/components/ed-base-vue/package/EdInputArray/index.js +8 -0
  177. package/src/components/ed-base-vue/package/EdInputArray/src/Props.js +26 -0
  178. package/src/components/ed-base-vue/package/EdInputArray/src/index.vue +97 -0
  179. package/src/components/ed-base-vue/package/EdInputColor/index.js +8 -0
  180. package/src/components/ed-base-vue/package/EdInputColor/src/InputColor.vue +81 -0
  181. package/src/components/ed-base-vue/package/EdInputMap/index.js +9 -0
  182. package/src/components/ed-base-vue/package/EdInputMap/src/EdInputMap.vue +246 -0
  183. package/src/components/ed-base-vue/package/EdInputMap/src/EdInputMapProps.js +6 -0
  184. package/src/components/ed-base-vue/package/EdInputPop/index.js +13 -0
  185. package/src/components/ed-base-vue/package/EdInputPop/src/EdInputPop.vue +144 -0
  186. package/src/components/ed-base-vue/package/EdInputPop/src/Props.js +48 -0
  187. package/src/components/ed-base-vue/package/EdInputTable/index.js +8 -0
  188. package/src/components/ed-base-vue/package/EdInputTable/src/EdInputTable.vue +368 -0
  189. package/src/components/ed-base-vue/package/EdInputTable/src/Fetch.js +40 -0
  190. package/src/components/ed-base-vue/package/EdJsonEditor/index.js +13 -0
  191. package/src/components/ed-base-vue/package/EdJsonEditor/src/EdJsonEditor.vue +198 -0
  192. package/src/components/ed-base-vue/package/EdJsonEditor/src/assets/img/jsoneditor-icons.svg +749 -0
  193. package/src/components/ed-base-vue/package/EdJsonEditor/src/assets/jsoneditor.css +2031 -0
  194. package/src/components/ed-base-vue/package/EdJsonEditor/src/assets/plus.svg +1 -0
  195. package/src/components/ed-base-vue/package/EdJsonEditor/src/hooks.js +63 -0
  196. package/src/components/ed-base-vue/package/EdJsonViewer/index.js +8 -0
  197. package/src/components/ed-base-vue/package/EdJsonViewer/src/EdJsonViewer.vue +44 -0
  198. package/src/components/ed-base-vue/package/EdLable/index.js +8 -0
  199. package/src/components/ed-base-vue/package/EdLable/src/index.vue +34 -0
  200. package/src/components/ed-base-vue/package/EdLink/index.js +8 -0
  201. package/src/components/ed-base-vue/package/EdLink/src/index.vue +43 -0
  202. package/src/components/ed-base-vue/package/EdMarkEditor/index.js +15 -0
  203. package/src/components/ed-base-vue/package/EdMarkEditor/src/EdMarkEditor.vue +368 -0
  204. package/src/components/ed-base-vue/package/EdMarkEditor/src/extra-function.js +538 -0
  205. package/src/components/ed-base-vue/package/EdMarkEditor/src/highlight.js +95 -0
  206. package/src/components/ed-base-vue/package/EdTable/index.js +8 -0
  207. package/src/components/ed-base-vue/package/EdTable/src/EdTable.vue +240 -0
  208. package/src/components/ed-base-vue/package/EdTable/src/Props.js +97 -0
  209. package/src/components/ed-base-vue/package/EdTable/src/components/TableColumnItem.js +24 -0
  210. package/src/components/ed-base-vue/package/EdTable/src/components/TablePagination.vue +73 -0
  211. package/src/components/ed-base-vue/package/EdTableEditor/index.js +8 -0
  212. package/src/components/ed-base-vue/package/EdTableEditor/src/EdTableEditor.vue +282 -0
  213. package/src/components/ed-base-vue/package/EdTableEditor/src/Props.js +107 -0
  214. package/src/components/ed-base-vue/package/EdTableEditor/src/hooks/validate.js +90 -0
  215. package/src/components/ed-base-vue/package/EdUpload/index.js +8 -0
  216. package/src/components/ed-base-vue/package/EdUpload/src/Props.js +90 -0
  217. package/src/components/ed-base-vue/package/EdUpload/src/index.vue +88 -0
  218. package/src/components/ed-base-vue/package/EdViewer/index.js +8 -0
  219. package/src/components/ed-base-vue/package/EdViewer/src/EdViewer.vue +310 -0
  220. package/src/components/ed-base-vue/package/EdWangEditor/index.js +14 -0
  221. package/src/components/ed-base-vue/package/EdWangEditor/src/EdWangEditor.vue +127 -0
  222. package/src/components/ed-base-vue/package/ExtendSlot.js +12 -0
  223. package/src/components/ed-base-vue/package/OptionSlot.js +65 -0
  224. package/src/components/ed-base-vue/plugin/Message/index.js +2 -0
  225. package/src/components/ed-base-vue/plugin/Message/src/main.js +91 -0
  226. package/src/components/ed-base-vue/plugin/Message/src/main.vue +253 -0
  227. package/src/components/ed-base-vue/plugin/print/index.js +156 -0
  228. package/src/components/ed-base-vue/plugin/sortable/index.js +3784 -0
  229. package/src/components/ed-base-vue/style/custom.scss +107 -0
  230. package/src/components/ed-base-vue/style/deep.scss +100 -0
  231. package/src/components/ed-base-vue/style/index.scss +4 -0
  232. package/src/components/ed-base-vue/tools/date-format.js +315 -0
  233. package/src/components/ed-base-vue/tools/utils.js +124 -0
  234. package/src/layouts/components/AppMain.vue +17 -0
  235. package/src/layouts/components/Header.vue +256 -0
  236. package/src/layouts/components/Logo.vue +56 -0
  237. package/src/layouts/components/Navbar.vue +169 -0
  238. package/src/layouts/components/SideBar.vue +107 -0
  239. package/src/layouts/components/index.js +5 -0
  240. package/src/layouts/index.vue +57 -0
  241. package/src/main.js +42 -0
  242. package/src/request/config.js +6 -0
  243. package/src/request/index.js +85 -0
  244. package/src/request/request.js +147 -0
  245. package/src/router/index.js +65 -0
  246. package/src/router/modules/baseRouter.js +43 -0
  247. package/src/router/modules/easydata.js +49 -0
  248. package/src/views/base/BaseRichPreview.vue +23 -0
  249. package/src/views/base/BaseRichText.vue +28 -0
  250. package/src/views/base/EdFormView.vue +54 -0
  251. package/src/views/base/EdTable.vue +98 -0
  252. package/src/views/base/inputTable.vue +103 -0
  253. package/src/views/easydata/Interface.vue +3 -0
  254. package/src/views/easydata/dataSource.vue +13 -0
  255. package/src/views/easydata/dataSourceView.vue +71 -0
  256. package/src/views/easydata/templateDemo.vue +89 -0
  257. package/src/views/easydata/templateInfo.vue +13 -0
  258. package/src/views/index.vue +17 -0
  259. package/src/views/login.vue +208 -0
  260. package/src/views/redirect.vue +15 -0
@@ -0,0 +1,281 @@
1
+ <template>
2
+ <ed-drawer ref="BasicDialog" :fullscreen="false" :showOkBtn="true" :visible="visible" size="60%"
3
+ title="接口循环配置"
4
+ @close="closeDialog"
5
+ @ok="handleSubmit">
6
+ <el-form ref="tableInfoForm" :inline="false" :model="form"
7
+ class="demo-form-inline" label-position="left">
8
+ <el-form-item label="循环依赖" label-width="100px">
9
+ <el-table :data="form.callRecord"
10
+ border>
11
+ <el-table-column label="字段名称" prop="fieldName" width="150">
12
+ </el-table-column>
13
+ <el-table-column label="输入输出" prop="paramType" width="150">
14
+ </el-table-column>
15
+ <el-table-column label="备注" prop="remark" width="150">
16
+ </el-table-column>
17
+ <el-table-column label="比较符" prop="operator" width="150">
18
+ <template slot-scope="scope">
19
+ <el-form-item :prop="`callRecord[${scope.$index}].operator`"
20
+ :rules="[{required: true, message: '必填', trigger: 'blur'}]">
21
+ <el-select v-model="scope.row.operator">
22
+ <el-option v-for="item in operatorOptions" :key="item.value" :label="item.label"
23
+ :value="item.value"></el-option>
24
+ </el-select>
25
+ </el-form-item>
26
+ </template>
27
+ </el-table-column>
28
+ <el-table-column label="值" prop="operatorValue" width="150">
29
+ <template slot-scope="scope">
30
+ <el-form-item :prop="`callRecord[${scope.$index}].operatorValue`"
31
+ :rules="[{required: true, message: '必填', trigger: 'blur'}]">
32
+ <el-input v-model="scope.row.operatorValue"></el-input>
33
+ </el-form-item>
34
+ </template>
35
+ </el-table-column>
36
+ <el-table-column label="操作" prop="body" width="150">
37
+ <template slot-scope="scope">
38
+ <el-button slot="reference" style="color: red" type="text" @click="deleteCallRow(scope)">删除</el-button>
39
+ </template>
40
+ </el-table-column>
41
+ </el-table>
42
+ </el-form-item>
43
+ <el-form-item label="参数传递" label-width="100px">
44
+ <el-table :data="form.transferRecord"
45
+ border>
46
+ <el-table-column label="字段名称" prop="fieldName" width="150">
47
+ </el-table-column>
48
+ <el-table-column label="输入输出" prop="paramType" width="150">
49
+ </el-table-column>
50
+ <el-table-column label="备注" prop="remark" width="150">
51
+ </el-table-column>
52
+ <el-table-column label="传递参数" prop="transferParam" width="150">
53
+ <template slot-scope="scope">
54
+ <el-form-item :prop="`transferRecord[${scope.$index}].transferParam`"
55
+ :rules="[{required: true, message: '必填', trigger: 'blur'}]">
56
+ <el-select v-model="scope.row.transferParam">
57
+ <el-option v-for="item in transferParamOptions" :key="item.value" :label="item.label"
58
+ :value="item.value"></el-option>
59
+ </el-select>
60
+ </el-form-item>
61
+ </template>
62
+ </el-table-column>
63
+ <el-table-column label="表达式" prop="expression" width="150">
64
+ <template slot-scope="scope">
65
+ <el-form-item :prop="`transferRecord[${scope.$index}].expression`"
66
+ :rules="[{required: true, message: '必填', trigger: 'blur'}]">
67
+ <el-input v-model="scope.row.expression"></el-input>
68
+ </el-form-item>
69
+ </template>
70
+ </el-table-column>
71
+ <el-table-column label="操作" prop="body" width="150">
72
+ <template slot-scope="scope">
73
+ <el-button slot="reference" style="color: red" type="text" @click="deleteTransRow(scope)">删除</el-button>
74
+ </template>
75
+ </el-table-column>
76
+ </el-table>
77
+ </el-form-item>
78
+ </el-form>
79
+ </ed-drawer>
80
+ </template>
81
+
82
+ <script>
83
+ import {insertDataByObj, selectDataList, updateDataByObj} from "../../../../api/easyData";
84
+ import {pick} from 'lodash'
85
+
86
+ export default {
87
+ name: "InterfaceDepend",
88
+ data() {
89
+ return {
90
+ row: {},
91
+ visible: false,
92
+ form: {},
93
+ visibleChoose: false,
94
+ transferParamOptions: [],
95
+ dataId: "",
96
+ operatorOptions: [ // 下拉选项
97
+ {
98
+ title: '=',
99
+ value: '=='
100
+ }, {
101
+ title: '>',
102
+ value: '>'
103
+ }, {
104
+ title: '<',
105
+ value: '<'
106
+ }, {
107
+ title: '<=',
108
+ value: '<='
109
+ }, {
110
+ title: '>=',
111
+ value: '>='
112
+ }, {
113
+ title: '!=',
114
+ value: '!='
115
+ }, {
116
+ title: 'is null',
117
+ value: '==null'
118
+ }, {
119
+ title: 'is not null',
120
+ value: '!=null'
121
+ }
122
+ ],
123
+ };
124
+ },
125
+ methods: {
126
+ initParams() {
127
+ this.getInterfaceParams(this.row.id).then(res => {
128
+ res.forEach(r => {
129
+ if (r.paramType === 'in') {
130
+ this.transferParamOptions.push({
131
+ label: r.remark + '|' + r.fieldName,
132
+ value: r.fieldName,
133
+ })
134
+ }
135
+ })
136
+ })
137
+ //加载接口依赖
138
+ this.getInterfaceRepeat()
139
+ },
140
+ getInterfaceRepeat() {
141
+ //显示表信息
142
+ let params = {
143
+ dataSourceName: 'interface_repeat',
144
+ whereList: [
145
+ {
146
+ fieldName: 'interface_id',
147
+ fieldValue: this.row.id,
148
+ operator: '='
149
+ }
150
+ ]
151
+ }
152
+ selectDataList(params).then(res => {
153
+ if (res.success) {
154
+ if (res.data && res.data.length > 0) {
155
+ let fieldsVal = pick(JSON.parse(res.data[0].key_info), 'depend_interface_name', 'depend_interface_id');
156
+ this.$nextTick(() => {
157
+ this.form = {...this.form, ...fieldsVal}
158
+ });
159
+ this.form.callRecord = JSON.parse(res.data[0].data_info).callRecord
160
+ this.form.transferRecord = JSON.parse(res.data[0].data_info).transferRecord
161
+ this.dataId = res.data[0].id
162
+ } else {
163
+ this.getInterfaceParams(this.row.id).then(res => {
164
+ this.$set(this.form, 'callRecord',Object.assign([], res))
165
+ this.$set(this.form, 'transferRecord',Object.assign([], res))
166
+ })
167
+ }
168
+ } else {
169
+ this.$message.warning(res.msg)
170
+ }
171
+ })
172
+ },
173
+ getInterfaceParams(interfaceId) {
174
+ let param = {
175
+ dataSourceName: 'interface_params',
176
+ whereList: [{
177
+ fieldName: 'interface_id',
178
+ fieldValue: interfaceId,
179
+ operator: '='
180
+ }]
181
+ }
182
+ let that = this
183
+ return new Promise((resolve, reject) => {
184
+ selectDataList(param).then((res) => {
185
+ if (res.success) {
186
+ if (res.data.length > 0) {
187
+ let params = JSON.parse(res.data[0].data_info)
188
+ resolve(params)
189
+ }
190
+ } else {
191
+ that.$message.warning(res.msg);
192
+ }
193
+ })
194
+ })
195
+ },
196
+ chooseValue(value) {
197
+ if (!value) {
198
+ return
199
+ }
200
+ let fieldsVal = {
201
+ 'depend_interface_name': value.label,
202
+ 'depend_interface_id': value.value
203
+ };
204
+ this.form = {...this.form, ...fieldsVal}
205
+ this.$nextTick(() => {
206
+ this.form = {...this.form, ...fieldsVal}
207
+ this.getInterfaceParams(fieldsVal.depend_interface_id).then(res => {
208
+ this.$set(this.form, 'callRecord', Object.assign([], res))
209
+ this.$set(this.form, 'transferRecord', Object.assign([], res))
210
+ })
211
+ });
212
+ },
213
+ handleSubmit() {
214
+ this.$refs['tableInfoForm'].validate((valid) => {
215
+ if (valid) {
216
+ //调用依赖
217
+ let callRecord = this.form.callRecord
218
+ let transferRecord = this.form.transferRecord
219
+ //验证成功后保存数据
220
+ let formData = {
221
+ dataSourceName: 'interface_repeat',
222
+ id: this.dataId,
223
+ keyInfo: JSON.stringify({
224
+ interface_id: this.row.id
225
+ }),
226
+ dataInfo: JSON.stringify({callRecord: callRecord, transferRecord: transferRecord}),
227
+ }
228
+ if (this.dataId) {
229
+ updateDataByObj(formData).then((res) => {
230
+ if (res.success) {
231
+ if (!this.dataId) {
232
+ this.dataId = res.data
233
+ }
234
+ this.$message.success(res.msg || "操作成功!");
235
+ this.visible = false;
236
+ } else {
237
+ this.$message.warning(res.msg);
238
+ }
239
+ this.loading = false
240
+ }).finally(() => {
241
+ })
242
+ } else {
243
+ insertDataByObj(formData).then((res) => {
244
+ if (res.success) {
245
+ if (!this.dataId) {
246
+ this.dataId = res.data
247
+ }
248
+ this.$message.success(res.msg || "操作成功!");
249
+ this.visible = false;
250
+ } else {
251
+ this.$message.warning(res.msg);
252
+ }
253
+ }).finally(() => {
254
+ })
255
+ }
256
+
257
+ }
258
+ })
259
+
260
+ },
261
+ show(row) {
262
+ this.row = row
263
+ this.visible = true;
264
+ this.initParams()
265
+ this.chooseValue()
266
+ },
267
+ closeDialog() {
268
+ this.visible = false;
269
+ },
270
+ deleteCallRow(data) {
271
+ this.form.callRecord.splice(data.$index, 1)
272
+ },
273
+ deleteTransRow(data) {
274
+ this.form.transferRecord.splice(data.$index, 1)
275
+ }
276
+ }
277
+ }
278
+ </script>
279
+
280
+ <style scoped>
281
+ </style>
@@ -0,0 +1,31 @@
1
+ <template>
2
+ <ed-dialog ref="BasicDialog" :fullscreen="true" :showOkBtn="false" :visible="visible"
3
+ title="接口变量管理"
4
+ @close="closeDialog">
5
+ <easy-data-list ref="EasyDataList" :data-source-name="dataSourceName"></easy-data-list>
6
+ </ed-dialog>
7
+ </template>
8
+
9
+ <script>
10
+
11
+ export default {
12
+ name: "InterfaceVariable",
13
+ data() {
14
+ return {
15
+ visible: false,
16
+ dataSourceName: 'interface_variable'
17
+ }
18
+ },
19
+ methods: {
20
+ show() {
21
+ this.visible = true;
22
+ },
23
+ closeDialog() {
24
+ this.visible = false;
25
+ }
26
+ }
27
+ }
28
+ </script>
29
+
30
+ <style scoped>
31
+ </style>
@@ -0,0 +1,216 @@
1
+ <template>
2
+ <div>
3
+ <easy-data-list ref="EasyDataList" :data-source-name="dataSourceName" :action-props="{showExportBtn:false}" :tableProps="{operateFixed: 'right'}">
4
+ <template v-slot:tableSlot="{row, $index}">
5
+ <div class="operation" data-width="200">
6
+ <el-button size="mini" type="text" @click="$refs.EasyDataList.handlerEdit(row, $index)">编辑</el-button>
7
+ <el-divider direction="vertical"></el-divider>
8
+ <el-button size="mini" type="text" @click="copyInterface(row)">复制</el-button>
9
+ <el-divider direction="vertical"></el-divider>
10
+ <el-dropdown trigger="click">
11
+ <span class="el-dropdown-link">
12
+ 更多<i class="el-icon-arrow-down el-icon--right"></i>
13
+ </span>
14
+ <el-dropdown-menu slot="dropdown">
15
+ <el-dropdown-item v-if="isDepend(row)" @click.native="showDepend('接口依赖',row)">接口依赖
16
+ </el-dropdown-item>
17
+ <el-dropdown-item v-if="isRepeat(row)" @click.native="showRepeat('接口循环',row)">接口循环
18
+ </el-dropdown-item>
19
+ <el-dropdown-item v-if="isCustom(row)" @click.native="showMessage('报文配置',row)">报文配置
20
+ </el-dropdown-item>
21
+ <el-dropdown-item @click.native="showParam('接口参数配置',row)">接口参数配置</el-dropdown-item>
22
+ <el-dropdown-item @click.native="showMock('Mock',row)">Mock</el-dropdown-item>
23
+ <el-dropdown-item @click.native="showFee('计费配置',row)">计费配置</el-dropdown-item>
24
+ <el-dropdown-item @click.native="exportConfig(row)">导出配置</el-dropdown-item>
25
+ </el-dropdown-menu>
26
+ </el-dropdown>
27
+ <el-divider direction="vertical"></el-divider>
28
+ <el-popconfirm :title="apiName(row)" @confirm="deleteInterface(row)">
29
+ <el-button slot="reference" size="small" style="color: red" type="text">删除</el-button>
30
+ </el-popconfirm>
31
+ </div>
32
+ </template>
33
+ <template v-slot:extra>
34
+ <el-button plain size="small" type="primary" @click="showVariable">接口变量</el-button>
35
+ <el-button plain size="small" type="primary" @click="showCell">接口调用</el-button>
36
+ <el-upload :file-list="fileList" :http-request="importInterface" :limit="1" :multiple="false"
37
+ :show-file-list="false" action="" style="display: inline-block;margin: 0 10px">
38
+ <el-button :loading="operLoading" icon="el-icon-upload2" plain size="small" type="primary">导入</el-button>
39
+ </el-upload>
40
+ <!-- <el-button plain size="small" type="primary">Token管理</el-button>-->
41
+ </template>
42
+ <!-- <template v-slot:rowKeySlot>-->
43
+ <!-- <a @click="rowKeyClick()">哈哈</a>-->
44
+ <!-- </template>-->
45
+ </easy-data-list>
46
+ <InterfaceMessage ref="InterfaceMessage"></InterfaceMessage>
47
+ <InterfaceParam ref="InterfaceParam"></InterfaceParam>
48
+ <InterfaceMock ref="InterfaceMock"></InterfaceMock>
49
+ <InterfaceFee ref="InterfaceFee"></InterfaceFee>
50
+ <InterfaceVariable ref="InterfaceVariable"></InterfaceVariable>
51
+ <InterfaceCall ref="InterfaceCall"></InterfaceCall>
52
+ <InterfaceDepend ref="InterfaceDepend"></InterfaceDepend>
53
+ <InterfaceRepeat ref="InterfaceRepeat"></InterfaceRepeat>
54
+
55
+ </div>
56
+ </template>
57
+
58
+ <script lang="jsx">
59
+ import InterfaceMessage from "./components/InterfaceMessage";
60
+ import InterfaceParam from "./components/InterfaceParam";
61
+ import InterfaceMock from "./components/InterfaceMock";
62
+ import InterfaceFee from "./components/InterfaceFee";
63
+ import InterfaceVariable from "./components/InterfaceVariable";
64
+ import InterfaceCall from "./components/InterfaceCall";
65
+ import InterfaceDepend from "./components/InterfaceDepend";
66
+ import InterfaceRepeat from "./components/InterfaceRepeat";
67
+ import {copyInterface, deleteInterface, exportFile, importInterface} from '../../../api/interface'
68
+
69
+ export default {
70
+ name: "Interface",
71
+ components: {
72
+ InterfaceMessage,
73
+ InterfaceParam,
74
+ InterfaceMock,
75
+ InterfaceFee,
76
+ InterfaceVariable,
77
+ InterfaceCall,
78
+ InterfaceDepend,
79
+ InterfaceRepeat
80
+ },
81
+ data() {
82
+ return {
83
+ dataSourceName: 'interface_info',
84
+ title: '',
85
+ row: {},
86
+ fileList: [],
87
+ operLoading: false,
88
+ }
89
+ },
90
+ computed: {
91
+ isDepend() {
92
+ return ({key, keyInfo, keyInfoObject}) => {
93
+ let data = keyInfoObject ? keyInfoObject : keyInfo ? keyInfo : key
94
+ return data.hasOwnProperty('is_depend') && data.is_depend.value === '1'
95
+ }
96
+ },
97
+ isRepeat() {
98
+ return ({key, keyInfo, keyInfoObject}) => {
99
+ let data = keyInfoObject ? keyInfoObject : keyInfo ? keyInfo : key
100
+ return data.hasOwnProperty('is_repeat') && data.is_repeat.value === 'true'
101
+ }
102
+ },
103
+ isCustom() {
104
+ return ({key, keyInfo, keyInfoObject}) => {
105
+ let data = keyInfoObject ? keyInfoObject : keyInfo ? keyInfo : key
106
+ return data.hasOwnProperty('is_custom') && data.is_custom !== 'customize'
107
+ }
108
+ }
109
+ },
110
+ methods: {
111
+ importInterface(param) {
112
+ let reader = new FileReader(); //新建一个FileReader
113
+ reader.readAsText(param.file, "UTF-8"); //读取文件
114
+ reader.onload = (evt) => { //读取完文件之后会回来这里
115
+ this.operLoading = true;
116
+ let fileString = evt.target.result; // 读取文件内容
117
+ importInterface(fileString).then((resp) => {
118
+ this.$message.success(resp.data || "操作成功!")
119
+ this.fileList = []
120
+ this.loadData()
121
+ }).finally(() => {
122
+ this.operLoading = false;
123
+ })
124
+ }
125
+ },
126
+ copyInterface(row) {
127
+ this.$refs.EasyDataList.initLoading = true
128
+ const param = {apiId: row.id, apiName: row.keyInfoObject.api_name}
129
+ copyInterface(param).then((resp) => {
130
+ if (resp.success) {
131
+ this.$message.success(resp.msg || "操作成功!")
132
+ this.loadData()
133
+ }
134
+ }).finally(() => {
135
+ this.$refs.EasyDataList.initLoading = false
136
+ })
137
+ },
138
+ deleteInterface(row) {
139
+ this.$refs.EasyDataList.initLoading = true
140
+ const param = {apiId: row.id, apiName: row.keyInfoObject.api_name}
141
+ deleteInterface(param).then((resp) => {
142
+ if (resp.success) {
143
+ this.$message.success(resp.msg || "操作成功!")
144
+ this.loadData()
145
+ }
146
+ }).finally(() => {
147
+ this.$refs.EasyDataList.initLoading = false
148
+ })
149
+ },
150
+ loadData() {
151
+ this.$refs.EasyDataList.loadTableData()
152
+ },
153
+ showDepend(title, row) {
154
+ this.$refs.InterfaceDepend.show(row, title)
155
+ },
156
+ showRepeat(title, row) {
157
+ this.$refs.InterfaceRepeat.show(row, title)
158
+ },
159
+ showMessage(title, row) {
160
+ this.$refs.InterfaceMessage.show(row, title)
161
+ },
162
+ showParam(title, row) {
163
+ this.$refs.InterfaceParam.show(row, title)
164
+ },
165
+ showFee(title, row) {
166
+ this.$refs.InterfaceFee.show(row, title)
167
+ },
168
+ showMock(title, row) {
169
+ this.$refs.InterfaceMock.show(row, title)
170
+ },
171
+ showVariable() {
172
+ this.$refs.InterfaceVariable.show()
173
+ },
174
+ showCell() {
175
+ this.$refs.InterfaceCall.show()
176
+ },
177
+ exportConfig(record) {
178
+ const loading = this.$loading({
179
+ lock: true,
180
+ text: 'Loading',
181
+ spinner: 'el-icon-loading',
182
+ });
183
+ let apiIds = []
184
+ apiIds.push(record.id)
185
+ let fileName = "接口_" + record.keyInfo.api_name
186
+ exportFile(apiIds).then((res) => {
187
+ if (res.success) {
188
+ let url = window.URL.createObjectURL(new Blob([res.data], {type: 'application/json'}))
189
+ let link = document.createElement('a')
190
+ link.style.display = 'none'
191
+ link.href = url
192
+ link.setAttribute('download', fileName + '.tex')
193
+ document.body.appendChild(link)
194
+ link.click()
195
+ document.body.removeChild(link); //下载完成移除元素
196
+ window.URL.revokeObjectURL(url); //释放掉blob对象
197
+ this.$message.success(res.msg)
198
+ } else {
199
+ this.$message.error(res.msg)
200
+ }
201
+ }).finally(() => {
202
+ loading.close()
203
+ })
204
+ },
205
+ apiName({key, keyInfo, keyInfoObject}) {
206
+ let data = keyInfoObject ? keyInfoObject : keyInfo ? keyInfo : key
207
+ let name = data.hasOwnProperty('api_name') ? data.api_name : ""
208
+ return `确定删除[ ${name} ]该接口吗?`
209
+ }
210
+ }
211
+ }
212
+ </script>
213
+
214
+ <style scoped>
215
+
216
+ </style>
@@ -0,0 +1,8 @@
1
+ import TemplateList from './src/index.vue'
2
+
3
+ /* istanbul ignore next */
4
+ TemplateList.install = function (Vue) {
5
+ Vue.component(TemplateList.name, TemplateList)
6
+ }
7
+
8
+ export default TemplateList