yh-pub 1.0.0

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 (56) hide show
  1. package/README.MD +19 -0
  2. package/layout/admin/adminIndex.vue +104 -0
  3. package/layout/admin/api/loginApi.js +24 -0
  4. package/layout/admin/api/routers.js +93 -0
  5. package/layout/admin/api/tenantApi.js +123 -0
  6. package/layout/admin/home/homeIndex.vue +25 -0
  7. package/layout/admin/login/login.vue +161 -0
  8. package/layout/admin/menu/MenuIndex.vue +648 -0
  9. package/layout/admin/menu/icon.vue +108 -0
  10. package/layout/admin/menu/iconList.js +934 -0
  11. package/layout/admin/saTenant/saTenant.js +0 -0
  12. package/layout/admin/saTenant/saTenant.vue +173 -0
  13. package/layout/admin/saTenant/saTenantForm.js +80 -0
  14. package/layout/admin/saTenant/saTenantForm.vue +61 -0
  15. package/layout/admin/saTenant/saTenantRoleManage.js +417 -0
  16. package/layout/admin/saTenant/saTenantRoleManage.vue +99 -0
  17. package/layout/admin/user/saUser.less +6 -0
  18. package/layout/admin/user/saUser.vue +72 -0
  19. package/layout/main/components/console/console.vue +205 -0
  20. package/layout/main/components/error-store/error-store.vue +72 -0
  21. package/layout/main/components/error-store/index.js +2 -0
  22. package/layout/main/components/fullscreen/fullscreen.vue +57 -0
  23. package/layout/main/components/fullscreen/index.js +2 -0
  24. package/layout/main/components/language/language.vue +71 -0
  25. package/layout/main/components/side-menu/side-menu.less +74 -0
  26. package/layout/main/components/side-menu/side-menu.vue +75 -0
  27. package/layout/main/components/tags-nav/tags-nav.less +45 -0
  28. package/layout/main/components/tags-nav/tags-nav.vue +144 -0
  29. package/layout/main/components/user/user.less +12 -0
  30. package/layout/main/components/user/user.vue +185 -0
  31. package/layout/main/home/home.vue +480 -0
  32. package/layout/main/home/index.js +2 -0
  33. package/layout/main/home/toDoList.vue +32 -0
  34. package/layout/main/login/login.less +93 -0
  35. package/layout/main/login/login.vue +151 -0
  36. package/layout/main/main.less +81 -0
  37. package/layout/main/main.vue +202 -0
  38. package/layout/main/system/dict.vue +64 -0
  39. package/layout/main/system/orgManage.vue +473 -0
  40. package/layout/main/system/roleManage.js +755 -0
  41. package/layout/main/system/roleManage.vue +399 -0
  42. package/package.json +12 -0
  43. package/view/basic/error-logger.vue +74 -0
  44. package/view/basic/error-page/401.vue +22 -0
  45. package/view/basic/error-page/404.vue +22 -0
  46. package/view/basic/error-page/500.vue +22 -0
  47. package/view/basic/error-page/back-btn-group.vue +48 -0
  48. package/view/basic/error-page/error-content.vue +28 -0
  49. package/view/basic/error-page/error.less +46 -0
  50. package/view/config/component/confFormItem.vue +49 -0
  51. package/view/config/config.scss +45 -0
  52. package/view/config/configIndex.vue +150 -0
  53. package/view/config/subPage/router-config.vue +5 -0
  54. package/view/config/subPage/sys-config.vue +249 -0
  55. package/view/window/IframeFReportView.vue +28 -0
  56. package/view/window/windowIndex.vue +22 -0
File without changes
@@ -0,0 +1,173 @@
1
+ <template>
2
+ <div style="padding: 7px; width: 100%; height: 100%">
3
+ <el-form
4
+ :model="searchForm"
5
+ class="ant-advanced-search-form"
6
+ inline>
7
+ <el-form-item label="客户端编码">
8
+ <el-input v-model="searchForm.code" />
9
+ </el-form-item>
10
+ <el-form-item label="客户端名称">
11
+ <el-input v-model="searchForm.name" />
12
+ </el-form-item>
13
+ <el-form-item>
14
+ <el-button
15
+ type="primary"
16
+ @click="query()">
17
+ <i
18
+ slot="icon"
19
+ class="iconfont icon-search2"></i>
20
+ </el-button>
21
+ </el-form-item>
22
+ <el-form-item>
23
+ <el-button
24
+ type="primary"
25
+ @click="add()">
26
+ <i
27
+ slot="icon"
28
+ class="iconfont icon-plus"></i>
29
+ 初始化租户
30
+ </el-button>
31
+ </el-form-item>
32
+ </el-form>
33
+ <vxe-grid v-bind="pageListOptions">
34
+ <template #action="{ row }">
35
+ <a-button
36
+ type="primary"
37
+ size="small"
38
+ style="margin-right: 5px"
39
+ @click="edit(row)"
40
+ icon="edit"></a-button>
41
+ <a-button
42
+ type="primary"
43
+ size="small"
44
+ style="margin-right: 5px"
45
+ @click="authorization(row)">
46
+ 授权
47
+ </a-button>
48
+ <a-button
49
+ type="danger"
50
+ size="small"
51
+ style="margin-right: 5px"
52
+ @click="remove(row)">
53
+ 删除
54
+ </a-button>
55
+ </template>
56
+ <template #pager>
57
+ <vxe-pager
58
+ :layouts="['Sizes', 'PrevJump', 'PrevPage', 'Number', 'NextPage', 'NextJump', 'FullJump', 'Total']"
59
+ :current-page.sync="tablePage.currentPage"
60
+ :page-size.sync="tablePage.pageSize"
61
+ :total="tablePage.total"
62
+ @page-change="handlePageChange"></vxe-pager>
63
+ </template>
64
+ </vxe-grid>
65
+ <saTenantForm
66
+ :actionData="toFormData"
67
+ @getinfo="query()"></saTenantForm>
68
+ <saTenantRoleManage
69
+ :actionData="toRoleData"
70
+ @getinfo="query()"></saTenantRoleManage>
71
+ </div>
72
+ </template>
73
+
74
+ <script>
75
+ import saTenantForm from "./saTenantForm.vue";
76
+ import saTenantRoleManage from "./saTenantRoleManage.vue";
77
+ import { saTenantDelete, saTenantListPage } from "yh-pub/layout/admin/api/tenantApi";
78
+
79
+ export default {
80
+ components: {
81
+ saTenantForm,
82
+ saTenantRoleManage,
83
+ },
84
+ data() {
85
+ return {
86
+ toFormData: {},
87
+ toRoleData: {},
88
+ spinShow: false,
89
+ tablePage: {
90
+ total: 0,
91
+ currentPage: 1,
92
+ pageSize: 10,
93
+ },
94
+ pageListOptions: {
95
+ loading: false,
96
+ border: false,
97
+ showOverflow: true, // 设置所有内容过长时显示为省略号
98
+ align: "center",
99
+ columns: [
100
+ { field: "adClientId", title: "租户ID", fixed: "left", width: 200 },
101
+ { field: "code", title: "客户端编码" },
102
+ { field: "name", title: "客户端名称" },
103
+ { field: "action", title: "操作", fixed: "right", width: 300, slots: { default: "action" } },
104
+ ],
105
+ data: [],
106
+ },
107
+ searchForm: {},
108
+ };
109
+ },
110
+ methods: {
111
+ handlePageChange({ currentPage, pageSize }) {
112
+ this.tablePage.currentPage = currentPage;
113
+ this.tablePage.pageSize = pageSize;
114
+ this.query();
115
+ },
116
+ query() {
117
+ let param = {
118
+ page: this.tablePage.currentPage,
119
+ size: this.tablePage.pageSize,
120
+ name: this.searchForm.name,
121
+ code: this.searchForm.code,
122
+ };
123
+ this.pageListOptions.loading = true;
124
+ saTenantListPage(param).then((res) => {
125
+ if (res.data.data.records) {
126
+ this.pageListOptions.data = res.data.data.records;
127
+ this.tablePage.total = res.data.data.total;
128
+ this.tablePage.currentPage = res.data.data.current;
129
+ }
130
+ this.pageListOptions.loading = false;
131
+ });
132
+ },
133
+ add() {
134
+ this.toFormData = { type: "add" };
135
+ },
136
+ edit(row) {
137
+ this.toFormData = { type: "edit", id: row.adClientId };
138
+ },
139
+ authorization(row) {
140
+ this.toRoleData = { id: row.adClientId };
141
+ },
142
+ remove(row) {
143
+ this.$confirm({
144
+ title: "请确认",
145
+ content: "这将删除租户以及租户下所有数据!是否删除?",
146
+ onOk: () => {
147
+ this.spinShow = true;
148
+ let param = {
149
+ adClientId: row.adClientId,
150
+ };
151
+ saTenantDelete(param)
152
+ .then((res) => {
153
+ this.spinShow = false;
154
+ if (res.data.result) {
155
+ this.$message.success(res.data.msg);
156
+ this.query();
157
+ } else {
158
+ this.$message.fail(res.data.msg);
159
+ }
160
+ })
161
+ .catch((e) => {
162
+ this.spinShow = false;
163
+ });
164
+ },
165
+ onCancel: () => {},
166
+ });
167
+ },
168
+ },
169
+ mounted: function () {
170
+ this.query();
171
+ },
172
+ };
173
+ </script>
@@ -0,0 +1,80 @@
1
+ import { saTenantInsert, saTenantGetById, saTenantUpdate } from "yh-pub/layout/admin/api/tenantApi";
2
+
3
+ export default {
4
+ props: {
5
+ actionData: {
6
+ type: Object,
7
+ },
8
+ },
9
+ watch: {
10
+ actionData: {
11
+ handler(val) {
12
+ this.form = {};
13
+ this.type = val.type;
14
+ if (val.type === "add") {
15
+ this.form = {};
16
+ this.visible = true;
17
+ } else if (val.type === "edit") {
18
+ this.getById(val.id);
19
+ this.visible = true;
20
+ } else {
21
+ this.visible = false;
22
+ }
23
+ },
24
+ deep: true,
25
+ },
26
+ },
27
+ data() {
28
+ return {
29
+ type: "",
30
+ visible: false,
31
+ form: {},
32
+ ruleValidate: {
33
+ code: [{ required: true, message: "必须输入该项", trigger: "blur" }],
34
+ name: [{ required: true, message: "必须输入该项", trigger: "blur" }],
35
+ orgValue: [{ required: true, message: "必须输入该项", trigger: "blur" }],
36
+ orgName: [{ required: true, message: "必须输入该项", trigger: "blur" }],
37
+ userName: [{ required: true, message: "必须输入该项", trigger: "blur" }],
38
+ userUserName: [{ required: true, message: "必须输入该项", trigger: "blur" }],
39
+ },
40
+ };
41
+ },
42
+ methods: {
43
+ getById(id) {
44
+ let param = {
45
+ adClientId: id,
46
+ };
47
+ saTenantGetById(param).then((res) => {
48
+ if (res.data.data) {
49
+ this.form = res.data.data;
50
+ }
51
+ });
52
+ },
53
+ ok() {
54
+ this.$refs.form.validate((valid) => {
55
+ if (valid) {
56
+ if (this.type === "add") {
57
+ saTenantInsert(this.form).then((res) => {
58
+ if (res.data.data) {
59
+ this.$message.success("保存成功!");
60
+ this.visible = false;
61
+ this.$emit("getinfo");
62
+ }
63
+ });
64
+ } else if (this.type === "edit") {
65
+ saTenantUpdate(this.form).then((res) => {
66
+ if (res.data.data) {
67
+ this.$message.success("保存成功!");
68
+ this.visible = false;
69
+ this.$emit("getinfo");
70
+ }
71
+ });
72
+ }
73
+ }
74
+ });
75
+ },
76
+ cancel() {
77
+ this.visible = false;
78
+ },
79
+ },
80
+ };
@@ -0,0 +1,61 @@
1
+ <template>
2
+ <a-modal :visible="visible" width="800px" title="租户信息">
3
+ <a-form-model ref="form" :rules="ruleValidate" :model="form" layout="inline">
4
+ <a-row>
5
+ <a-col span="12" style="display: block;">
6
+ <a-form-model-item prop="adClientId" label="客户端ID:">
7
+ <a-input v-model="form.adClientId" :disabled="true" placeholder="自动生成"></a-input>
8
+ </a-form-model-item>
9
+ </a-col>
10
+ </a-row>
11
+ <a-row>
12
+ <a-col span="12">
13
+ <a-form-model-item prop="code" label="客户端编码:">
14
+ <a-input v-model="form.code"></a-input>
15
+ </a-form-model-item>
16
+ </a-col>
17
+ <a-col span="12">
18
+ <a-form-model-item prop="name" label="客户端名称:">
19
+ <a-input v-model="form.name"></a-input>
20
+ </a-form-model-item>
21
+ </a-col>
22
+ </a-row>
23
+ <a-row>
24
+ <a-col span="12">
25
+ <a-form-model-item prop="orgValue" label="组织机构编码:">
26
+ <a-input v-model="form.orgValue"></a-input>
27
+ </a-form-model-item>
28
+ </a-col>
29
+ <a-col span="12">
30
+ <a-form-model-item prop="orgName" label="组织机构名称:">
31
+ <a-input v-model="form.orgName"></a-input>
32
+ </a-form-model-item>
33
+ </a-col>
34
+ </a-row>
35
+ <a-row>
36
+ <a-col span="12">
37
+ <a-form-model-item prop="userName" label="用户名称:">
38
+ <a-input v-model="form.userName"></a-input>
39
+ </a-form-model-item>
40
+ </a-col>
41
+ <a-col span="12">
42
+ <a-form-model-item prop="userUserName" label="登录账户名称:">
43
+ <a-input v-model="form.userUserName" :disabled="type === 'add' ? false : true"></a-input>
44
+ </a-form-model-item>
45
+ </a-col>
46
+ </a-row>
47
+ <a-row>
48
+ <a-col span="24">
49
+ <a-form-model-item label="客户端备注:">
50
+ <a-input v-model="form.description" type="textarea" :autosize="{minRows: 2,maxRows: 5}"></a-input>
51
+ </a-form-model-item>
52
+ </a-col>
53
+ </a-row>
54
+ </a-form-model>
55
+ <div slot="footer">
56
+ <a-button type="primary" @click="ok()">保存</a-button>
57
+ <a-button @click="cancel()">取消</a-button>
58
+ </div>
59
+ </a-modal>
60
+ </template>
61
+ <script src="./saTenantForm.js"></script>