@utogether/udp-core 1.0.1-beta.9 → 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 (168) hide show
  1. package/build/plugins.ts +37 -39
  2. package/dist/{403-BOzKHdlm.js → 403-B1rIjAAu.js} +6 -6
  3. package/dist/{404-uwgt4Nll.js → 404-mBqc2y4t.js} +4 -4
  4. package/dist/{500-4HBf6V9m.js → 500-BoI45Zdh.js} +2 -2
  5. package/dist/{AuthorityInfo-DvbIh1vT.js → AuthorityInfo-B08NBIIn.js} +1 -1
  6. package/dist/{AuthorityInfo.vue_vue_type_style_index_0_lang-BlCPvwXU.js → AuthorityInfo.vue_vue_type_style_index_0_lang-BLP1SaiH.js} +3 -3
  7. package/dist/{Company-D7Q9BFmr.js → Company-JGGyWEWH.js} +3 -3
  8. package/dist/{CompanyPanel-C0-PJlrt.js → CompanyPanel-BQ_cCmDx.js} +7 -7
  9. package/dist/{Department-h2hlXACv.js → Department-z2iO6hwM.js} +10 -10
  10. package/dist/{DepartmentPanel-B6hDEQpG.js → DepartmentPanel-BtQe7zwU.js} +108 -78
  11. package/dist/{DesignPanel-cS58-1v9.js → DesignPanel-7mhtVWas.js} +1 -1
  12. package/dist/{DesignPanel.vue_vue_type_style_index_0_lang-LdvLC8VU.js → DesignPanel.vue_vue_type_style_index_0_lang-4EsHemj_.js} +6 -6
  13. package/dist/{DictView-T3TmpBa8.js → DictView-CjchV2Yk.js} +15 -16
  14. package/dist/InvOrganization-Pn1O_XP0.js +74 -0
  15. package/dist/{Org-CnCBDGKF.js → Org-BqytV_vi.js} +1 -1
  16. package/dist/{Preview-BaktKXB1.js → Preview-CLpUUMay.js} +2 -2
  17. package/dist/{ReportDefine-5Rb0PO9A.js → ReportDefine-Cz1KtEUF.js} +1 -1
  18. package/dist/{ReportDesign-DYdkVREA.js → ReportDesign-BaORYud4.js} +13 -13
  19. package/dist/{ReportQuery-BwhzIXMt.js → ReportQuery-CPCPXiXz.js} +1 -1
  20. package/dist/{ReportQueryFrom-PHtWwlOe.js → ReportQueryFrom-C_AcrfkJ.js} +1 -1
  21. package/dist/{ReportQueryFrom.vue_vue_type_style_index_0_lang-BE5yZNPM.js → ReportQueryFrom.vue_vue_type_style_index_0_lang-Bm67ejay.js} +1 -1
  22. package/dist/{ReportTemplate-DaadVXIi.js → ReportTemplate-CFiNMz79.js} +11 -11
  23. package/dist/{Role-Dtg3nAmG.js → Role-B-XDoJd5.js} +3 -3
  24. package/dist/{RoleAssign-DEGtLssH.js → RoleAssign-BolW8YVs.js} +8 -8
  25. package/dist/{RolePanel-DpUzfE_o.js → RolePanel-2kfs5tw9.js} +1 -1
  26. package/dist/{RolePanel-CT7BTPmy.js → RolePanel-HilSuYns.js} +1 -1
  27. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-Xyo0YEI0.js → RolePanel.vue_vue_type_script_setup_true_lang-CE4gApUY.js} +7 -7
  28. package/dist/{RolePanel.vue_vue_type_script_setup_true_lang-Dg2A6DJu.js → RolePanel.vue_vue_type_script_setup_true_lang-DPzgfAyV.js} +13 -13
  29. package/dist/{ScrollPanel.vue_vue_type_style_index_0_lang-CyutzDZS.js → ScrollPanel.vue_vue_type_style_index_0_lang-CCTH4RkH.js} +4 -4
  30. package/dist/{Staff-_NlAGkrh.js → Staff-BTk3whFC.js} +3 -3
  31. package/dist/{StaffInfo-DVgUvVgd.js → StaffInfo-d3AuSzlA.js} +1 -1
  32. package/dist/{StaffInfo.vue_vue_type_script_setup_true_lang-C8hmlFgX.js → StaffInfo.vue_vue_type_script_setup_true_lang-eOL4VlfE.js} +5 -5
  33. package/dist/{StaffPanel-DKNZE3IE.js → StaffPanel-DV-D4jjz.js} +1 -1
  34. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-4sFq3CEo.js +135 -0
  35. package/dist/{SysUser-kQUf7XKz.js → SysUser-BnjYytws.js} +2 -2
  36. package/dist/{SysUserPanel-C191uX3U.js → SysUserPanel-CBoyD-Qi.js} +1 -1
  37. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-PrTlTZR-.js +341 -0
  38. package/dist/{SystemMenu-DwuSvHnj.js → SystemMenu-kYB_ZaUt.js} +36 -36
  39. package/dist/{UserInfo-DIsInFld.js → UserInfo-4dx97VBL.js} +1 -1
  40. package/dist/{UserInfo.vue_vue_type_style_index_0_lang-CnvGdbej.js → UserInfo.vue_vue_type_style_index_0_lang-BpbC_ZDm.js} +10 -10
  41. package/dist/{childView-3Bs2UBEw.js → childView-CHPNfTEb.js} +1 -1
  42. package/dist/{childView-BawyULD7.js → childView-CKA_JgVZ.js} +1 -1
  43. package/dist/{childView.vue_vue_type_style_index_0_lang-YpWF-p2F.js → childView.vue_vue_type_style_index_0_lang-Bym2fQRd.js} +7 -7
  44. package/dist/childView.vue_vue_type_style_index_0_lang-W7bCtXeu.js +177 -0
  45. package/dist/{code-rule-DVaYcn8S.js → code-rule-CbxuZg0-.js} +40 -38
  46. package/dist/core.es.js +18 -12
  47. package/dist/{cron-task-xuzP-BpE.js → cron-task-nTOpqQYf.js} +7 -7
  48. package/dist/flow-task-B07st2aD.js +10 -0
  49. package/dist/{frameView-Cudt06qS.js → frameView-Z1tPUyCh.js} +1 -1
  50. package/dist/index-C3q8HoJM.js +4650 -0
  51. package/dist/{layoutView-BlFTV2jX.js → layoutView--MGA9zUB.js} +1766 -1760
  52. package/dist/{log-in-e7D5Ss1P.js → log-in-CSYJDA6m.js} +36 -29
  53. package/dist/log-out-DiwGCg7p.js +130 -0
  54. package/dist/login-C6Y0ajDp.js +251 -0
  55. package/dist/{login-log-kqKzKTto.js → login-log-C0V-_l3F.js} +5 -3
  56. package/dist/{lov-view-B2HaxyMs.js → lov-view-Cmv7wZZ9.js} +6 -6
  57. package/dist/{menuInfo-BxCTJ1VW.js → menuInfo-UeutJpOa.js} +1 -1
  58. package/dist/{menuInfo.vue_vue_type_style_index_0_lang-CLOPNeUW.js → menuInfo.vue_vue_type_style_index_0_lang-CWX4Mu67.js} +118 -98
  59. package/dist/{pda-app-DPsAFNiw.js → pda-app-B6w99SJo.js} +10 -10
  60. package/dist/{resource-Dibb7t8u.js → resource-BybJvUv0.js} +4 -4
  61. package/dist/{su-welcome-DejR0KkM.js → su-welcome-C1bmxHoY.js} +119 -121
  62. package/dist/sys-config-BnmIDnCj.js +370 -0
  63. package/dist/udp-core.css +1 -9
  64. package/dist/utogether-MlnyYtNS.js +4 -0
  65. package/index.ts +49 -40
  66. package/package.json +18 -18
  67. package/src/App.vue +65 -65
  68. package/src/api/http.ts +1 -4
  69. package/src/api/index.ts +4 -2
  70. package/src/api/user.ts +2 -2
  71. package/src/components/SuCharts/src/UserInfo.vue +78 -78
  72. package/src/components/SuScrollTree/ScrollPanel.vue +1 -6
  73. package/src/components/udp/content/index.vue +88 -0
  74. package/src/components/udp/{form.vue → form/form.vue} +13 -16
  75. package/src/components/udp/{grid.vue → grid/index.vue} +56 -27
  76. package/src/components/udp/index.ts +4 -9
  77. package/src/components/udp/ut-stamp-badge/index.vue +271 -0
  78. package/src/components/udp/utils.ts +66 -105
  79. package/src/layout/components/lay-navbar/index.vue +8 -6
  80. package/src/layout/components/lay-panel/index.vue +150 -150
  81. package/src/layout/components/lay-search/index.vue +25 -25
  82. package/src/layout/components/lay-select-org/index.vue +4 -9
  83. package/src/layout/components/lay-setting/index.vue +503 -510
  84. package/src/layout/components/lay-sidebar/horizontal.vue +8 -6
  85. package/src/layout/components/lay-sidebar/mixNav.vue +260 -258
  86. package/src/layout/components/lay-sidebar/sidebar-logo.vue +101 -98
  87. package/src/layout/components/lay-tag/index.vue +24 -51
  88. package/src/layout/hooks/useDataThemeChange.ts +1 -1
  89. package/src/layout/hooks/useNav.ts +176 -173
  90. package/src/layout/hooks/useTag.ts +227 -233
  91. package/src/layout/types.ts +93 -92
  92. package/src/main.ts +115 -119
  93. package/src/plugins/i18n/en.ts +302 -302
  94. package/src/plugins/i18n/module/u-workflow.ts +1 -1
  95. package/src/plugins/i18n/zh.ts +21 -6
  96. package/src/plugins/vxe-table/index.ts +116 -53
  97. package/src/plugins/vxe-table/render.tsx +945 -956
  98. package/src/router/index.ts +17 -17
  99. package/src/router/modules/flow.ts +35 -0
  100. package/src/router/modules/home.ts +32 -32
  101. package/src/router/modules/remaining.ts +58 -58
  102. package/src/router/utils.ts +420 -377
  103. package/src/store/modules/app.ts +2 -4
  104. package/src/store/modules/epTheme.ts +48 -49
  105. package/src/store/modules/multiTags.ts +15 -14
  106. package/src/store/modules/permission.ts +25 -15
  107. package/src/store/modules/system.ts +1 -3
  108. package/src/style/button.scss +85 -85
  109. package/src/style/login.css +1 -1
  110. package/src/style/vxetable.scss +61 -2
  111. package/src/utils/dataFormat/index.ts +223 -223
  112. package/src/utils/index.ts +3 -1
  113. package/src/utils/lifecycle.ts +39 -20
  114. package/src/utils/propTypes.ts +1 -6
  115. package/src/utils/storage/index.ts +2 -2
  116. package/src/utils/udp/http/index.ts +24 -11
  117. package/src/utils/udp/http/types.d.ts +3 -10
  118. package/src/views/login/login-view.vue +4 -18
  119. package/src/views/organization/company/CompanyPanel.vue +259 -259
  120. package/src/views/organization/department/Department.vue +58 -58
  121. package/src/views/organization/department/DepartmentPanel.vue +303 -283
  122. package/src/views/organization/inv-org/InvOrganization.vue +22 -7
  123. package/src/views/organization/staff/StaffInfo.vue +127 -133
  124. package/src/views/organization/staff/StaffPanel.vue +162 -145
  125. package/src/views/system/cron/cron-task.vue +2 -12
  126. package/src/views/system/menu/SystemMenu.vue +185 -183
  127. package/src/views/system/menu/menuInfo.vue +384 -363
  128. package/src/views/system/role/UserInfo.vue +195 -195
  129. package/src/views/system/role-assign/RoleAssign.vue +57 -57
  130. package/src/views/system/role-assign/RolePanel.vue +139 -139
  131. package/src/views/system/sys/sys-config.vue +69 -20
  132. package/src/views/system/sysUser/SysUserPanel.vue +97 -28
  133. package/src/views/uapp/pda/pda-app.vue +208 -208
  134. package/src/views/udev/coderule/code-rule.vue +132 -121
  135. package/src/views/udev/dict/DictView.vue +2 -2
  136. package/src/views/udev/dict/childView.vue +183 -222
  137. package/src/views/udev/lov/childView.vue +1 -7
  138. package/src/views/udev/lov/lov-view.vue +91 -91
  139. package/src/views/uhome/components/menu-favorite.vue +314 -331
  140. package/src/views/uhome/su-welcome.vue +319 -339
  141. package/src/views/ulogin/login.vue +325 -321
  142. package/src/views/upms/interface/log-in.vue +100 -106
  143. package/src/views/upms/interface/log-out.vue +104 -107
  144. package/src/views/upms/user/login-log.vue +54 -60
  145. package/src/views/urpt/design/DesignPanel.vue +507 -507
  146. package/src/views/urpt/design/Preview.vue +1 -0
  147. package/src/views/urpt/design/ReportDesign.vue +2 -4
  148. package/src/views/utask/flow-task.vue +18 -0
  149. package/types/global.d.ts +231 -236
  150. package/dist/InvOrganization-BVuOhzbt.js +0 -66
  151. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-BOOO6Cek.js +0 -111
  152. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-SwNbAEvW.js +0 -294
  153. package/dist/childView.vue_vue_type_style_index_0_lang-DWIFCX3X.js +0 -187
  154. package/dist/index-CKnq5xIa.js +0 -2623
  155. package/dist/log-out--RRncZhN.js +0 -120
  156. package/dist/login-CpKykfdf.js +0 -253
  157. package/dist/sys-config-DiySRWns.js +0 -277
  158. package/dist/utogether-Dct_14Zk.js +0 -182
  159. package/src/components/udp/count-down.vue +0 -536
  160. package/src/components/udp/flip-down/FlipCard/flip-card.vue +0 -251
  161. package/src/components/udp/flip-down/FlipCard/interfaces.ts +0 -4
  162. package/src/components/udp/flip-down/FlipClock/flip-clock.vue +0 -113
  163. package/src/components/udp/form-upload.vue +0 -482
  164. package/src/components/udp/lov.vue +0 -388
  165. package/src/components/udp/modal-form.vue +0 -189
  166. package/src/components/udp/modal-grid.vue +0 -288
  167. package/src/components/udp/upload.vue +0 -423
  168. package/src/utils/udp/useRender.ts +0 -431
@@ -1,106 +1,100 @@
1
- <!--
2
- * @Author: wei.li
3
- * @Date: 2021-12-23 11:22:51
4
- * @LastEditors: wei.li
5
- * @LastEditTime: 2024-07-04 09:39:31
6
- * @Description: 入站接口日志
7
- -->
8
-
9
- <template>
10
- <div>
11
- <ut-grid
12
- ref="xgrid"
13
- :items="formItems"
14
- :columns="columns"
15
- url="/upms/v1/invokeInbound"
16
- :editable="false"
17
- />
18
- <ut-modal-form
19
- v-if="data.showModal"
20
- ref="suModalRef"
21
- :record="data.record"
22
- :items="items"
23
- :width="640"
24
- :height="480"
25
- :title="data.title"
26
- @close="data.showModal = false"
27
- />
28
- </div>
29
- </template>
30
- <script lang="tsx">
31
- export default {
32
- name: 'LoginLog'
33
- };
34
- </script>
35
- <script setup lang="tsx">
36
- import { ref, reactive } from 'vue';
37
- // import { useRouter } from 'vue-router';
38
- // import to from 'await-to-js';
39
- // import { clone } from 'xe-utils';
40
- import { useRender } from '@utogether/utils';
41
-
42
- const renderHook = useRender();
43
- // const renderOption = renderOptions();
44
-
45
- // const router = useRouter();
46
-
47
- const data = reactive({
48
- showModal: false,
49
- record: {},
50
- title: ''
51
- });
52
-
53
- const formItems = [
54
- { field: 'interfaceName' },
55
- { field: 'interfaceUrl' },
56
- { field: 'requestBodyParameter', title: 'message.requestParameter' },
57
- { field: 'responseContent' },
58
- { field: 'ip' },
59
- { field: 'requestDate', itemRender: { name: '#SuDateRange', props: { type: 'daterange' } } },
60
- { field: 'requestStatus', itemRender: renderHook.renderDict('SU.REQUEST.STATUS') }
61
- ];
62
-
63
- const items = [
64
- {
65
- field: 'requestBodyParameter',
66
- title: 'message.requestParameter',
67
- itemRender: renderHook.renderTextarea({ rows: 8 })
68
- },
69
- { field: 'responseContent', itemRender: renderHook.renderTextarea({ rows: 6 }) },
70
- { field: 'stacktrace', itemRender: renderHook.renderTextarea({ rows: 3 }) }
71
- ];
72
-
73
- // 列字段
74
- const xgrid = ref(null);
75
- const columns = [
76
- { field: 'interfaceName', minWidth: 120 },
77
- { field: 'interfaceUrl', minWidth: 150 },
78
- { field: 'ip', width: 120 },
79
- { field: 'requestDate', width: 160 },
80
- { field: 'responseTimeConsume', width: 120 },
81
- { field: 'requestStatus', width: 90, formatter: ['formatDict', 'SU.REQUEST.STATUS'] },
82
- {
83
- field: 'operate',
84
- width: 70,
85
- slots: {
86
- default: ({ row }) => {
87
- if (!row.id) return null;
88
- return [
89
- <>
90
- <ut-button content="detail" icon="ri-eye-line" onTap={() => handleShowDetail(row)} />
91
- </>
92
- ];
93
- }
94
- }
95
- }
96
- ];
97
- // 详情
98
- const handleShowDetail = record => {
99
- const resContent = JSON.parse(record.responseContent);
100
- record.resContent = resContent?.data?.list || resContent?.data;
101
- record.resContent = record.resContent ? JSON.stringify(record.resContent) : '';
102
- data.record = record;
103
- data.showModal = true;
104
- data.title = `【${record.interfaceName}】接口明细`;
105
- };
106
- </script>
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-12-23 11:22:51
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-11-21 18:19:06
6
+ * @Description: 入站接口日志
7
+ -->
8
+
9
+ <template>
10
+ <div>
11
+ <ut-grid ref="xgrid" :items="formItems" :columns="columns" :url="url" :editable="false" />
12
+ <ut-modal-form
13
+ v-if="data.showModal"
14
+ ref="suModalRef"
15
+ :record="data.record"
16
+ :items="items"
17
+ :width="640"
18
+ :height="480"
19
+ :title="data.title"
20
+ @close="data.showModal = false"
21
+ />
22
+ </div>
23
+ </template>
24
+ <script setup lang="tsx">
25
+ import { ref, reactive } from 'vue';
26
+ import { useRender } from '@utogether/utils';
27
+ import { getServiceApi } from '../../../api';
28
+ import { getEnv } from '../../../config';
29
+ import to from 'await-to-js';
30
+
31
+ defineOptions({ name: 'LoginLog' });
32
+
33
+ const renderHook = useRender();
34
+ const data = reactive({
35
+ showModal: false,
36
+ record: {},
37
+ title: ''
38
+ });
39
+
40
+ const baseService = getEnv().VITE_BUINESS_SERVICE;
41
+
42
+ const url = `${baseService}/v1/invoke-inbound`;
43
+
44
+ const formItems = [
45
+ { field: 'interfaceName' },
46
+ { field: 'interfaceUrl' },
47
+ { field: 'requestBodyParameter', title: 'message.requestParameter' },
48
+ { field: 'responseContent' },
49
+ { field: 'ip', title: 'message.udp.ip' },
50
+ { field: 'requestDate', itemRender: { name: '#SuDateRange', props: { type: 'daterange' } } },
51
+ { field: 'requestStatus', itemRender: renderHook.renderDict('SU.REQUEST.STATUS') }
52
+ ];
53
+
54
+ const items = [
55
+ {
56
+ field: 'requestBodyParameter',
57
+ title: 'message.requestParameter',
58
+ itemRender: renderHook.renderTextarea({ rows: 8 })
59
+ },
60
+ { field: 'responseContent', itemRender: renderHook.renderTextarea({ rows: 6 }) },
61
+ { field: 'stacktrace', itemRender: renderHook.renderTextarea({ rows: 3 }) }
62
+ ];
63
+
64
+ // 列字段
65
+ const xgrid = ref(null);
66
+ const columns = [
67
+ { field: 'interfaceName', minWidth: 120 },
68
+ { field: 'interfaceUrl', minWidth: 150 },
69
+ { field: 'ip', title: 'message.udp.ip', width: 120 },
70
+ { field: 'requestDate', width: 160 },
71
+ { field: 'responseTimeConsume', width: 120 },
72
+ { field: 'requestStatus', width: 90, formatter: ['formatDict', 'SU.REQUEST.STATUS'] },
73
+ {
74
+ field: 'operate',
75
+ width: 70,
76
+ slots: {
77
+ default: ({ row }) => {
78
+ if (!row.id) return null;
79
+ return [
80
+ <>
81
+ <ut-button content="detail" icon="ri-eye-line" onTap={() => handleShowDetail(row)} />
82
+ </>
83
+ ];
84
+ }
85
+ }
86
+ }
87
+ ];
88
+ // 详情
89
+ const handleShowDetail = async record => {
90
+ const [err, res]: any = await to(getServiceApi().get(url + '/detail', { id: record.id }));
91
+ if (err) return;
92
+ console.log(res);
93
+ const resContent = JSON.parse(res.responseContent);
94
+ record.resContent = resContent?.data?.list || resContent?.data;
95
+ record.resContent = record.resContent ? JSON.stringify(record.resContent) : '';
96
+ data.record = res;
97
+ data.showModal = true;
98
+ data.title = `【${record.interfaceName}】接口明细`;
99
+ };
100
+ </script>
@@ -1,107 +1,104 @@
1
- <!--
2
- * @Author: wei.li
3
- * @Date: 2021-12-23 11:22:51
4
- * @LastEditors: levi7754 levi7754@163.com
5
- * @LastEditTime: 2025-04-08 15:36:36
6
- * @Description: 出站接口日志
7
- -->
8
-
9
- <template>
10
- <div>
11
- <ut-grid
12
- ref="SuGridRef"
13
- :items="formItems"
14
- :columns="columns"
15
- url="/upms/v1/invokeOutbound"
16
- :editable="false"
17
- />
18
-
19
- <ut-modal-form
20
- v-if="data.showModal"
21
- ref="suModalRef"
22
- :record="data.record"
23
- :items="items"
24
- :width="640"
25
- :height="480"
26
- :title="data.title"
27
- @close="data.showModal = false"
28
- />
29
- </div>
30
- </template>
31
- <script lang="tsx">
32
- export default {
33
- name: 'LogoutLog'
34
- };
35
- </script>
36
- <script setup lang="tsx">
37
- import { ref, reactive } from 'vue';
38
- // import { useRouter } from 'vue-router';
39
- // import to from 'await-to-js';
40
- // import { clone } from 'xe-utils';
41
- import { useRender } from '@utogether/utils';
42
-
43
- const renderHook = useRender();
44
- // const renderOption = renderOptions();
45
-
46
- // const router = useRouter();
47
-
48
- const data = reactive({
49
- showModal: false,
50
- record: {},
51
- title: ''
52
- });
53
-
54
- const formItems = [
55
- { field: 'interfaceName' },
56
- { field: 'interfaceUrl' },
57
- { field: 'requestParameter' },
58
- { field: 'responseContent' },
59
- { field: 'ip' },
60
- { field: 'requestDate', itemRender: { name: '#SuDateRange', props: { type: 'daterange' } } },
61
- { field: 'requestStatus', itemRender: renderHook.renderDict('SU.REQUEST.STATUS') }
62
- ];
63
-
64
- const items = [
65
- { field: 'requestParameter', itemRender: { name: '$textarea', props: { rows: 5 } } },
66
- {
67
- field: 'responseContent',
68
- itemRender: { name: '$textarea', props: { rows: 10 } }
69
- },
70
- { field: 'stacktrace', itemRender: { name: '$textarea', props: { rows: 3 } } }
71
- ];
72
-
73
- const SuGridRef = ref(null);
74
- // 列字段
75
- const columns = [
76
- { field: 'interfaceName', minWidth: 120 },
77
- { field: 'interfaceUrl', minWidth: 150 },
78
- // { field: 'ip', width: 120 },
79
- { field: 'requestDate', width: 160 },
80
- { field: 'responseTimeConsume', width: 120 },
81
- { field: 'requestStatus', width: 90, formatter: ['formatDict', 'SU.REQUEST.STATUS'] },
82
- {
83
- field: 'operate',
84
- width: 70,
85
- slots: {
86
- default: ({ row }) => {
87
- if (!row.id) return null;
88
- return [
89
- <>
90
- <ut-button content="detail" icon="ri-eye-line ri-1x" onTap={() => handleShowDetail(row)} />
91
- </>
92
- ];
93
- }
94
- }
95
- }
96
- ];
97
- // 详情
98
- const handleShowDetail = record => {
99
- // const resContent = JSON.parse(record.responseContent);
100
- // console.log(resContent);
101
- // record.resContent = resContent?.data?.list || resContent?.data;
102
- // record.resContent = record.resContent ? JSON.stringify(record.resContent) : '';
103
- data.record = record;
104
- data.showModal = true;
105
- data.title = `【${record.interfaceName}】接口明细`;
106
- };
107
- </script>
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-12-23 11:22:51
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-11-21 18:17:10
6
+ * @Description: 出站接口日志
7
+ -->
8
+
9
+ <template>
10
+ <div>
11
+ <ut-grid ref="xgrid" :items="formItems" :columns="columns" :url="url" :editable="false" />
12
+
13
+ <ut-modal-form
14
+ v-if="data.showModal"
15
+ ref="suModalRef"
16
+ :record="data.record"
17
+ :items="items"
18
+ :width="640"
19
+ :height="480"
20
+ :title="data.title"
21
+ @close="data.showModal = false"
22
+ />
23
+ </div>
24
+ </template>
25
+
26
+ <script setup lang="tsx">
27
+ import { ref, reactive } from 'vue';
28
+ import { useRender } from '@utogether/utils';
29
+
30
+ import { getEnv } from '../../../config';
31
+ import to from 'await-to-js';
32
+ import { getServiceApi } from '../../../api';
33
+
34
+ defineOptions({ name: 'LogoutLog' });
35
+
36
+ const renderHook = useRender();
37
+
38
+ const baseService = getEnv().VITE_BUINESS_SERVICE;
39
+
40
+ const url = `${baseService}/v1/invoke-outbound`;
41
+
42
+ const data = reactive({
43
+ showModal: false,
44
+ record: {},
45
+ title: ''
46
+ });
47
+
48
+ const formItems = [
49
+ { field: 'interfaceName' },
50
+ { field: 'interfaceUrl' },
51
+ { field: 'requestParameter' },
52
+ { field: 'responseContent' },
53
+ // { field: 'ip', },
54
+ { field: 'requestDate', itemRender: { name: '#SuDateRange', props: { type: 'daterange' } } },
55
+ { field: 'requestStatus', itemRender: renderHook.renderDict('SU.REQUEST.STATUS') }
56
+ ];
57
+
58
+ const items = [
59
+ { field: 'requestParameter', itemRender: { name: '$textarea', props: { rows: 5 } } },
60
+ {
61
+ field: 'responseContent',
62
+ itemRender: { name: '$textarea', props: { rows: 10 } }
63
+ },
64
+ { field: 'stacktrace', itemRender: { name: '$textarea', props: { rows: 3 } } }
65
+ ];
66
+
67
+ const xgrid = ref(null);
68
+ // 列字段
69
+ const columns = [
70
+ { field: 'interfaceName', minWidth: 120 },
71
+ { field: 'interfaceUrl', minWidth: 150 },
72
+ // { field: 'ip', width: 120 },
73
+ { field: 'requestDate', width: 160 },
74
+ { field: 'responseTimeConsume', width: 120 },
75
+ { field: 'requestStatus', width: 90, formatter: ['formatDict', 'SU.REQUEST.STATUS'] },
76
+ {
77
+ field: 'operate',
78
+ width: 70,
79
+ slots: {
80
+ default: ({ row }) => {
81
+ if (!row.id) return null;
82
+ return [
83
+ <>
84
+ <ut-button content="detail" icon="ri-eye-line ri-1x" onTap={() => handleShowDetail(row)} />
85
+ </>
86
+ ];
87
+ }
88
+ }
89
+ }
90
+ ];
91
+ // 详情
92
+ const handleShowDetail = async row => {
93
+ const [err, res]: any = await to(getServiceApi().get(url + '/detail', { id: row.id }));
94
+ if (err) return;
95
+ console.log(res);
96
+ // const resContent = JSON.parse(record.responseContent);
97
+ // console.log(resContent);
98
+ // record.resContent = resContent?.data?.list || resContent?.data;
99
+ // record.resContent = record.resContent ? JSON.stringify(record.resContent) : '';
100
+ data.record = res;
101
+ data.showModal = true;
102
+ data.title = `【${res.interfaceName}】接口明细`;
103
+ };
104
+ </script>
@@ -1,60 +1,54 @@
1
- <!--
2
- * @Author: wei.li
3
- * @Date: 2021-12-23 11:22:51
4
- * @LastEditors: wei.li
5
- * @LastEditTime: 2024-06-28 10:13:13
6
- * @Description: 用户登录日志
7
- -->
8
-
9
- <template>
10
- <div>
11
- <ut-grid
12
- ref="xgrid"
13
- :items="formItems"
14
- :columns="columns"
15
- url="/upfm/v1/userMonitor"
16
- :editable="false"
17
- />
18
- </div>
19
- </template>
20
- <script lang="tsx">
21
- export default {
22
- name: 'LoginLog'
23
- };
24
- </script>
25
- <script setup lang="tsx">
26
- import { ref } from 'vue';
27
- // import { useRouter } from 'vue-router';
28
- // import to from 'await-to-js';
29
- // import { clone } from 'xe-utils';
30
- // import { useRender } from '@utogether/utils';
31
-
32
- // const renderHook = useRender();
33
- // const renderOption = renderOptions();
34
-
35
- // const router = useRouter();
36
-
37
- const formItems = [
38
- { field: 'employeeName' },
39
- { field: 'userName' },
40
- { field: 'operatingSystem', title: 'message.udp.operatingSystem' },
41
- { field: 'browserVersion', title: 'message.udp.browserVersion' },
42
- {
43
- field: 'loginTime',
44
- title: 'message.udp.loginTime',
45
- itemRender: { name: '#SuDateRange', props: { type: 'daterange' } }
46
- }
47
- ];
48
-
49
- // 列字段
50
- const xgrid = ref(null);
51
- const columns = [
52
- { field: 'employeeName', minWidth: 120 },
53
- { field: 'userName', width: 150 },
54
- { field: 'loginTime', title: 'message.udp.loginTime', width: 160 },
55
- { field: 'operatingSystem', title: 'message.udp.operatingSystem', width: 120 },
56
- { field: 'browser', title: 'message.udp.browser', width: 110 },
57
- { field: 'browserVersion', title: 'message.udp.browserVersion', width: 110 },
58
- { field: 'ip', title: 'message.udp.ip', width: 150 }
59
- ];
60
- </script>
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-12-23 11:22:51
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-11-21 18:35:50
6
+ * @Description: 用户登录日志
7
+ -->
8
+
9
+ <template>
10
+ <div>
11
+ <ut-grid ref="xgrid" :items="formItems" :columns="columns" url="/upfm/v1/userMonitor" :editable="false" />
12
+ </div>
13
+ </template>
14
+ <script lang="tsx">
15
+ export default {
16
+ name: 'LoginLog'
17
+ };
18
+ </script>
19
+ <script setup lang="tsx">
20
+ import { ref } from 'vue';
21
+ // import { useRouter } from 'vue-router';
22
+ // import to from 'await-to-js';
23
+ // import { clone } from 'xe-utils';
24
+ // import { useRender } from '@utogether/utils';
25
+
26
+ // const renderHook = useRender();
27
+ // const renderOption = renderOptions();
28
+
29
+ // const router = useRouter();
30
+
31
+ const formItems = [
32
+ { field: 'employeeName' },
33
+ { field: 'userName', title: 'message.udp.userName' },
34
+ { field: 'operatingSystem', title: 'message.udp.operatingSystem' },
35
+ { field: 'browserVersion', title: 'message.udp.browserVersion' },
36
+ {
37
+ field: 'loginTime',
38
+ title: 'message.udp.loginTime',
39
+ itemRender: { name: '#SuDateRange', props: { type: 'daterange' } }
40
+ }
41
+ ];
42
+
43
+ // 列字段
44
+ const xgrid = ref(null);
45
+ const columns = [
46
+ { field: 'employeeName', minWidth: 120 },
47
+ { field: 'userName', title: 'message.udp.userName', width: 150 },
48
+ { field: 'loginTime', title: 'message.udp.loginTime', width: 160 },
49
+ { field: 'operatingSystem', title: 'message.udp.operatingSystem', width: 120 },
50
+ { field: 'browser', title: 'message.udp.browser', width: 110 },
51
+ { field: 'browserVersion', title: 'message.udp.browserVersion', width: 110 },
52
+ { field: 'ip', title: 'message.udp.ip', width: 150 }
53
+ ];
54
+ </script>