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,73 @@
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"
6
+ :action-props="{showExportBtn:false,showAddBtn:false}">
7
+ <template v-slot:tableSlot="{row, $index}">
8
+ <el-button size="mini" type="text" @click="$refs.EasyDataList.handlerEdit(row, $index)">编辑</el-button>
9
+ <el-divider direction="vertical"></el-divider>
10
+ <el-button size="mini" type="text" @click="handleCall(row)">调用</el-button>
11
+ <el-divider direction="vertical"></el-divider>
12
+ <el-button size="mini" type="text" @click="longLogShow">日志</el-button>
13
+ <el-divider direction="vertical"></el-divider>
14
+ <el-popconfirm
15
+ :title="`确定删除该日志吗?`"
16
+ @confirm="$refs.EasyDataList.handlerDelete(row.id)"
17
+ >
18
+ <el-button slot="reference" size="small" style="color: red" type="text">删除</el-button>
19
+ </el-popconfirm>
20
+ </template>
21
+ </easy-data-list>
22
+ <ed-dialog ref="BasicDialog" :fullscreen="false" :showOkBtn="false" :visible="logVisible" title="接口调用管理"
23
+ width="80%"
24
+ @close="closeLogDialog">
25
+ <easy-data-list ref="jobLogList" :action-props="{showAddBtn:false,showExportBtn:false}" data-source-name="job_log"></easy-data-list>
26
+ </ed-dialog>
27
+ </ed-dialog>
28
+ </template>
29
+
30
+ <script>
31
+ import {jobCall} from "../../../../api/interface";
32
+ import {convertToViewModel} from "../../../../utils/utils";
33
+
34
+ export default {
35
+ name: "InterfaceVariable",
36
+ data() {
37
+ return {visible: false, logVisible: false, dataSourceName: 'interface_call'}
38
+ },
39
+ methods: {
40
+ show() {
41
+ this.visible = true;
42
+ },
43
+ closeDialog() {
44
+ this.visible = false;
45
+ },
46
+ longLogShow() {
47
+ this.logVisible = true;
48
+ },
49
+ closeLogDialog() {
50
+ this.logVisible = false;
51
+ },
52
+ handleCall(record) {
53
+ const loading = this.$loading({
54
+ lock: true,
55
+ text: 'Loading',
56
+ spinner: 'el-icon-loading',
57
+ });
58
+ jobCall(convertToViewModel(record)).then((res) => {
59
+ if (res.success) {
60
+ this.$message.success(res.msg)
61
+ } else {
62
+ this.$message.error(res.msg)
63
+ }
64
+ }).finally(() => {
65
+ loading.close();
66
+ })
67
+ },
68
+ }
69
+ }
70
+ </script>
71
+
72
+ <style scoped>
73
+ </style>
@@ -0,0 +1,299 @@
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-input v-model="form.depend_interface_name" class="input-with-select" placeholder="请输入内容">
10
+ <el-button slot="append" icon="el-icon-search"
11
+ @click="showChoose"></el-button>
12
+ </el-input>
13
+ </el-form-item>
14
+ <el-form-item label="调用依赖" label-width="100px">
15
+ <el-table :data="form.callRecord"
16
+ border>
17
+ <el-table-column label="字段名称" prop="fieldName" width="150">
18
+ </el-table-column>
19
+ <el-table-column label="输入输出" prop="paramType" width="150">
20
+ </el-table-column>
21
+ <el-table-column label="备注" prop="remark" width="150">
22
+ </el-table-column>
23
+ <el-table-column label="比较符" prop="operator" width="150">
24
+ <template slot-scope="scope">
25
+ <el-form-item :prop="`callRecord[${scope.$index}].operator`"
26
+ :rules="[{required: true, message: '必填', trigger: 'blur'}]">
27
+ <el-select v-model="scope.row.operator">
28
+ <el-option v-for="item in operatorOptions" :key="item.value" :label="item.label"
29
+ :value="item.value"></el-option>
30
+ </el-select>
31
+ </el-form-item>
32
+ </template>
33
+ </el-table-column>
34
+ <el-table-column label="值" prop="operatorValue" width="150">
35
+ <template slot-scope="scope">
36
+ <el-form-item :prop="`callRecord[${scope.$index}].operatorValue`"
37
+ :rules="[{required: true, message: '必填', trigger: 'blur'}]">
38
+ <el-input v-model="scope.row.operatorValue"></el-input>
39
+ </el-form-item>
40
+ </template>
41
+ </el-table-column>
42
+ <!-- <el-table-column label="数据类型" prop="dataType" width="150">-->
43
+ <!-- </el-table-column>-->
44
+ <el-table-column label="操作" prop="body" width="150">
45
+ <template slot-scope="scope">
46
+ <el-button slot="reference" style="color: red" type="text" @click="deleteCallRow(scope)">删除</el-button>
47
+ </template>
48
+ </el-table-column>
49
+ </el-table>
50
+ </el-form-item>
51
+ <el-form-item label="参数传递" label-width="100px">
52
+ <el-table :data="form.transferRecord"
53
+ border>
54
+ <el-table-column label="字段名称" prop="fieldName" width="150">
55
+ </el-table-column>
56
+ <el-table-column label="输入输出" prop="paramType" width="150">
57
+ </el-table-column>
58
+ <el-table-column label="备注" prop="remark" width="150">
59
+ </el-table-column>
60
+ <el-table-column label="传递参数" prop="transferParam" width="150">
61
+ <template slot-scope="scope">
62
+ <el-form-item :prop="`transferRecord[${scope.$index}].transferParam`"
63
+ :rules="[{required: true, message: '必填', trigger: 'blur'}]">
64
+ <el-select v-model="scope.row.transferParam">
65
+ <el-option v-for="item in transferParamOptions" :key="item.value" :label="item.label"
66
+ :value="item.value"></el-option>
67
+ </el-select>
68
+ </el-form-item>
69
+ </template>
70
+ </el-table-column>
71
+ <el-table-column label="表达式" prop="expression" width="150">
72
+ <template slot-scope="scope">
73
+ <el-form-item :prop="`transferRecord[${scope.$index}].expression`"
74
+ :rules="[{required: true, message: '必填', trigger: 'blur'}]">
75
+ <el-input v-model="scope.row.expression"></el-input>
76
+ </el-form-item>
77
+ </template>
78
+ </el-table-column>
79
+ <!-- <el-table-column label="数据类型" prop="dataType" width="150">-->
80
+ <!-- </el-table-column>-->
81
+ <el-table-column label="操作" prop="body" width="150">
82
+ <template slot-scope="scope">
83
+ <el-button slot="reference" style="color: red" type="text" @click="deleteTransRow(scope)">删除</el-button>
84
+ </template>
85
+ </el-table-column>
86
+ </el-table>
87
+ </el-form-item>
88
+ </el-form>
89
+ <!-- 弹窗组件 -->
90
+ <ed-dialog :visible="visibleChoose" title="选择弹窗" @close="visibleChoose=false" @ok="chooseValue">
91
+ <InterfaceChoose v-if="visibleChoose" ref="InterfaceChoose"></InterfaceChoose>
92
+ </ed-dialog>
93
+ </ed-drawer>
94
+ </template>
95
+
96
+ <script>
97
+
98
+ import InterfaceChoose from "../../../../popup/src/InterfaceChoose.vue";
99
+ import {selectDataList} from "../../../../api/easyData";
100
+ import {pick} from 'lodash'
101
+ import {saveDepend, updateDepend} from "../../../../api/interface";
102
+
103
+ export default {
104
+ name: "InterfaceDepend",
105
+ components: {InterfaceChoose},
106
+ data() {
107
+ return {
108
+ row: {},
109
+ visible: false,
110
+ form: {},
111
+ visibleChoose: false,
112
+ transferParamOptions: [],
113
+ dataId: "",
114
+ operatorOptions: [ // 下拉选项
115
+ {
116
+ title: '=',
117
+ value: '=='
118
+ }, {
119
+ title: '>',
120
+ value: '>'
121
+ }, {
122
+ title: '<',
123
+ value: '<'
124
+ }, {
125
+ title: '<=',
126
+ value: '<='
127
+ }, {
128
+ title: '>=',
129
+ value: '>='
130
+ }, {
131
+ title: '!=',
132
+ value: '!='
133
+ }, {
134
+ title: 'is null',
135
+ value: '==null'
136
+ }, {
137
+ title: 'is not null',
138
+ value: '!=null'
139
+ }
140
+ ],
141
+ };
142
+ },
143
+ methods: {
144
+ initParams() {
145
+ this.getInterfaceParams(this.row.id).then(res => {
146
+ res.forEach(r => {
147
+ if (r.paramType == 'in') {
148
+ this.transferParamOptions.push({
149
+ label: r.remark + '|' + r.fieldName,
150
+ value: r.fieldName,
151
+ })
152
+ }
153
+ })
154
+ })
155
+ //加载接口依赖
156
+ this.getInterfaceDepend()
157
+ },
158
+ getInterfaceDepend() {
159
+ this.loading = true
160
+ //显示表信息
161
+ let params = {
162
+ dataSourceName: 'interface_depend',
163
+ whereList: [
164
+ {
165
+ fieldName: 'interface_id',
166
+ fieldValue: this.row.id,
167
+ operator: '='
168
+ }
169
+ ]
170
+ }
171
+ selectDataList(params).then(res => {
172
+ if (res.success) {
173
+ if (res.data && res.data.length > 0) {
174
+ let fieldsVal = pick(JSON.parse(res.data[0].key_info), 'depend_interface_name', 'depend_interface_id');
175
+ this.$nextTick(() => {
176
+ this.form = {...this.form, ...fieldsVal}
177
+ });
178
+ this.form.callRecord = JSON.parse(res.data[0].data_info).callRecord
179
+ this.form.transferRecord = JSON.parse(res.data[0].data_info).transferRecord
180
+ this.dataId = res.data[0].id
181
+ }
182
+ } else {
183
+ this.$message.warning(res.msg)
184
+ }
185
+ })
186
+ },
187
+ getInterfaceParams(interfaceId) {
188
+ let param = {
189
+ dataSourceName: 'interface_params',
190
+ whereList: [{
191
+ fieldName: 'interface_id',
192
+ fieldValue: interfaceId,
193
+ operator: '='
194
+ }]
195
+ }
196
+ let that = this
197
+ return new Promise((resolve, reject) => {
198
+ selectDataList(param).then((res) => {
199
+ if (res.success) {
200
+ if (res.data.length > 0) {
201
+ let params = JSON.parse(res.data[0].data_info)
202
+ resolve(params)
203
+ }
204
+ } else {
205
+ that.$message.warning(res.msg);
206
+ }
207
+ })
208
+ })
209
+ },
210
+ chooseValue() {
211
+ const chooseInfo = this.$refs.InterfaceChoose.getData()
212
+ let fieldsVal = {
213
+ 'depend_interface_name': chooseInfo.label,
214
+ 'depend_interface_id': chooseInfo.value
215
+ };
216
+ this.form = {...this.form, ...fieldsVal}
217
+ this.$nextTick(() => {
218
+ this.form = {...this.form, ...fieldsVal}
219
+ this.getInterfaceParams(fieldsVal.depend_interface_id).then(res => {
220
+ this.$set(this.form, 'callRecord', Object.assign([], res))
221
+ this.$set(this.form, 'transferRecord', Object.assign([], res))
222
+ })
223
+ });
224
+ this.visibleChoose = false
225
+ },
226
+ handleSubmit() {
227
+ this.$refs['tableInfoForm'].validate((valid) => {
228
+ if (valid) {
229
+ //调用依赖
230
+ let callRecord = this.form.callRecord
231
+ let transferRecord = this.form.transferRecord
232
+ //验证成功后保存数据
233
+ let formData = {
234
+ dataSourceName: 'interface_depend',
235
+ id: this.dataId,
236
+ keyInfo: JSON.stringify({
237
+ interface_id: this.row.id,
238
+ depend_interface_name: this.form.depend_interface_name,
239
+ depend_interface_id: this.form.depend_interface_id
240
+ }),
241
+ dataInfo: JSON.stringify({callRecord: callRecord, transferRecord: transferRecord}),
242
+ }
243
+ if (this.dataId) {
244
+ updateDepend(formData).then((res) => {
245
+ if (res.success) {
246
+ if (!this.dataId) {
247
+ this.dataId = res.data
248
+ }
249
+ this.$message.success(res.msg || "操作成功!");
250
+ this.visible = false;
251
+ } else {
252
+ this.$message.warning(res.msg);
253
+ }
254
+ this.loading = false
255
+ }).finally(() => {
256
+ })
257
+ } else {
258
+ saveDepend(formData).then((res) => {
259
+ if (res.success) {
260
+ if (!this.dataId) {
261
+ this.dataId = res.data
262
+ }
263
+ this.$message.success(res.msg || "操作成功!");
264
+ this.visible = false;
265
+ } else {
266
+ this.$message.warning(res.msg);
267
+ }
268
+ }).finally(() => {
269
+ })
270
+ }
271
+
272
+ }
273
+ })
274
+
275
+ },
276
+ showChoose() {
277
+ this.visibleChoose = true
278
+
279
+ },
280
+ show(row) {
281
+ this.row = row
282
+ this.visible = true;
283
+ this.initParams()
284
+ },
285
+ closeDialog() {
286
+ this.visible = false;
287
+ },
288
+ deleteCallRow(data) {
289
+ this.form.callRecord.splice(data.$index, 1)
290
+ },
291
+ deleteTransRow(data) {
292
+ this.form.transferRecord.splice(data.$index, 1)
293
+ }
294
+ }
295
+ }
296
+ </script>
297
+
298
+ <style scoped>
299
+ </style>
@@ -0,0 +1,131 @@
1
+ <template>
2
+ <ed-drawer ref="BasicDialog" :title="title"
3
+ :visible="visible"
4
+ @close="closeDialog"
5
+ @ok="saveFee">
6
+ <el-card class="box-card">
7
+ <el-form ref="form" :model="form"
8
+ class="demo-form-inline">
9
+ <el-form-item label="收费方式"
10
+ prop="fee_type">
11
+ <el-select v-model="form.fee_type">
12
+ <el-option label='测试' value="1"></el-option>
13
+ </el-select>
14
+ </el-form-item>
15
+ <el-form-item label="费用(条/元)"
16
+ prop="fee">
17
+ <el-input-number v-model="form.fee" :min="0.01" :step="0.01"/>
18
+ </el-form-item>
19
+ </el-form>
20
+ </el-card>
21
+ </ed-drawer>
22
+ </template>
23
+
24
+ <script>
25
+ import {getOneData, updateData, insertData} from "../../../../api/easyData";
26
+
27
+ export default {
28
+ name: "InterfaceFee",
29
+ data() {
30
+ return {
31
+ dataId: '',
32
+ title: '',
33
+ row: {},
34
+ visible: false,
35
+ form: {fee_type: '', fee: ''},
36
+ }
37
+ },
38
+ methods: {
39
+ show(row, title) {
40
+ this.row = row
41
+ this.title = title
42
+ this.visible = true
43
+ this.initRequestData()
44
+ },
45
+ initRequestData() {
46
+ let param = {
47
+ dataSourceName: 'interface_fee',
48
+ wheres: [{
49
+ fieldName: 'interface_id',
50
+ fieldValue: this.row.id,
51
+ operator: '='
52
+ }]
53
+ }
54
+ const loading = this.$loading({
55
+ lock: true,
56
+ text: 'Loading',
57
+ spinner: 'el-icon-loading',
58
+ });
59
+ getOneData(param).then((res) => {
60
+ if (res.success) {
61
+ if (res.data) {
62
+ let model = {}
63
+ let keyInfo = res.data.keyInfoObject
64
+ this.dataId = res.data.id
65
+ model.fee_type = keyInfo.fee_type
66
+ let dataInfo = res.data.dataInfoArray
67
+ model.fee = dataInfo[0].fee
68
+ this.form = Object.assign(model, {})
69
+ }
70
+ } else {
71
+ this.$message.warning(res.msg);
72
+ }
73
+ }).finally(() => {
74
+ loading.close()
75
+ })
76
+ },
77
+ closeDialog() {
78
+ this.visible = false
79
+ },
80
+ saveFee() {
81
+ this.$refs['form'].validate((valid) => {
82
+ if (valid) {
83
+ const loading = this.$loading({
84
+ lock: true,
85
+ text: 'Loading',
86
+ spinner: 'el-icon-loading',
87
+ });
88
+ let keyInfo = {}
89
+ keyInfo.interface_id = this.row.id
90
+ keyInfo.fee_type = this.form.fee_type
91
+ let param = {
92
+ dataSourceName: 'interface_fee',
93
+ key: keyInfo
94
+ }
95
+ let data = {}
96
+ data.fee = this.form.fee
97
+ let dataInfo = []
98
+ dataInfo.push(data)
99
+ param.data = dataInfo
100
+ if (this.dataId === '' || typeof (this.dataId) == "undefined") {
101
+ insertData(param).then((res) => {
102
+ if (res.success) {
103
+ this.$message.success("保存成功");
104
+ } else {
105
+ this.$message.error(res.msg);
106
+ }
107
+ }).finally(() => {
108
+ loading.close()
109
+ })
110
+ } else {
111
+ param.id = this.dataId
112
+ updateData(param).then((res) => {
113
+ if (res.success) {
114
+ this.$message.success("保存成功");
115
+ } else {
116
+ this.$message.error(res.msg);
117
+ }
118
+ }).finally(() => {
119
+ loading.close()
120
+ })
121
+ }
122
+
123
+ }
124
+ })
125
+ },
126
+ }
127
+ }
128
+ </script>
129
+
130
+ <style scoped>
131
+ </style>