Commit 179e524e9ddd1a6ffef182566276032b12a34990

Authored by xp.Huang
2 parents 2c122df0 b2d1e361

Merge branch 'sqy_dev' into 'main'

修改teambitionbug和重写站内通知的逻辑。优化代码

See merge request huang/yun-teng-iot-front!40
... ... @@ -56,13 +56,19 @@ export const saveOrEditMessageConfig = (params: MessageConfig, isUpdate: boolean
56 56 * @param messageType 消息类型
57 57 * @param status 状态
58 58 */
59   -export const setMessageConfigStatus = (id: string, messageType: string, status: number) =>
  59 +export const setMessageConfigStatus = (
  60 + id: string,
  61 + messageType: string,
  62 + status: number,
  63 + tenantId: string
  64 +) =>
60 65 defHttp.put<MessageConfigResultModel>({
61 66 url: MessageConfigApi.CONFIG_URL,
62 67 data: {
63   - id: id,
64   - messageType: messageType,
65   - status: status,
  68 + id,
  69 + messageType,
  70 + status,
  71 + tenantId,
66 72 },
67 73 });
68 74 /**
... ...
... ... @@ -47,7 +47,7 @@ export const notifyGetTableApi = (params?: NoticeQueryParam) => {
47 47 * 新增草稿
48 48 * @param params pageSize page name
49 49 */
50   -export const notifyAddDraftApi = (params: NotifyAddDraftModel) => {
  50 +export const notifyAddDraftApi = (params) => {
51 51 return defHttp.post<NotifyAddDraftModel>({
52 52 url: NotifyManagerApi.NOTICE_ADD_DRAFT_URL,
53 53 params,
... ... @@ -58,7 +58,7 @@ export const notifyAddDraftApi = (params: NotifyAddDraftModel) => {
58 58 * 新增通知
59 59 * @param params pageSize page name
60 60 */
61   -export const notifyAddLeaseApi = (params: NotifyAddreLeaseModel) => {
  61 +export const notifyAddLeaseApi = (params) => {
62 62 return defHttp.post<NotifyAddreLeaseModel>({
63 63 url: NotifyManagerApi.NOTICE_ADD_LEASE_URL,
64 64 params,
... ...
... ... @@ -66,7 +66,9 @@ export const saveOrUpdateOrganization = (params?: OrganizationListItem, isUpdate
66 66 export const delOrganization = (ids: string[]) =>
67 67 defHttp.delete({
68 68 url: Api.BaseOrganization,
69   - data: ids,
  69 + data: {
  70 + ids,
  71 + },
70 72 });
71 73
72 74 export const getMenuList = (params?: MenuParams) =>
... ...
... ... @@ -12,7 +12,7 @@ export const columns: BasicColumn[] = [
12 12 },
13 13 {
14 14 title: '所属组织',
15   - dataIndex: 'organizationId',
  15 + dataIndex: 'organizationDTO.name',
16 16 width: 160,
17 17 },
18 18 {
... ...
... ... @@ -8,7 +8,7 @@
8 8 <a-button
9 9 type="primary"
10 10 color="error"
11   - @click="handleDeleteOrBatchDelete(null)"
  11 + @click="handleDeleteOrBatchDelete.bind(null)"
12 12 :disabled="hasBatchDelete"
13 13 >
14 14 批量删除
... ...
... ... @@ -23,8 +23,7 @@ export const columns: BasicColumn[] = [
23 23
24 24 {
25 25 title: '所属组织',
26   - dataIndex: 'organizationId',
27   - slots: { customRender: 'organizationId' },
  26 + dataIndex: 'organizationDTO.name',
28 27 },
29 28 {
30 29 title: '标签',
... ...
... ... @@ -11,9 +11,7 @@
11 11 {{ record.deviceProfile.name }}
12 12 </a-button>
13 13 </template>
14   - <template #organizationId="{ record }">
15   - {{ record.organizationDTO.name }}
16   - </template>
  14 +
17 15 <template #deviceType="{ record }">
18 16 <Tag color="success" class="ml-2">
19 17 {{
... ...
... ... @@ -55,7 +55,7 @@ export const columns: BasicColumn[] = [
55 55 record.pendingStatus = true;
56 56 const newStatus = checked ? 1 : 0;
57 57 const { createMessage } = useMessage();
58   - setMessageConfigStatus(record.id, record.messageType, newStatus)
  58 + setMessageConfigStatus(record.id, record.messageType, newStatus, record.tenantId)
59 59 .then(() => {
60 60 record.status = newStatus;
61 61 createMessage.success(`修改成功`);
... ...
... ... @@ -66,7 +66,7 @@
66 66 title: '操作',
67 67 dataIndex: 'action',
68 68 slots: { customRender: 'action' },
69   - fixed: undefined,
  69 + fixed: 'right',
70 70 },
71 71 });
72 72
... ...
... ... @@ -62,7 +62,7 @@
62 62 title: '操作',
63 63 dataIndex: 'action',
64 64 slots: { customRender: 'action' },
65   - fixed: undefined,
  65 + fixed: 'right',
66 66 },
67 67 immediate: true,
68 68 });
... ...
... ... @@ -62,7 +62,7 @@
62 62 title: '操作',
63 63 dataIndex: 'action',
64 64 slots: { customRender: 'action' },
65   - fixed: undefined,
  65 + fixed: 'right',
66 66 },
67 67 });
68 68
... ...
... ... @@ -82,7 +82,7 @@
82 82 title: '操作',
83 83 dataIndex: 'action',
84 84 slots: { customRender: 'action' },
85   - fixed: undefined,
  85 + fixed: 'right',
86 86 },
87 87 });
88 88
... ...
... ... @@ -100,7 +100,7 @@
100 100 title: '操作',
101 101 dataIndex: 'action',
102 102 slots: { customRender: 'action' },
103   - fixed: undefined,
  103 + fixed: 'right',
104 104 },
105 105 });
106 106
... ...
... ... @@ -76,7 +76,7 @@
76 76 title: '操作',
77 77 dataIndex: 'action',
78 78 slots: { customRender: 'action' },
79   - fixed: undefined,
  79 + fixed: 'right',
80 80 },
81 81 });
82 82
... ...
... ... @@ -7,7 +7,7 @@
7 7 {
8 8 label: '查看',
9 9 tooltip: '查看',
10   - icon: 'clarity:note-edit-line',
  10 + icon: 'ant-design:eye-outlined',
11 11 onClick: handleView.bind(null, record),
12 12 },
13 13 ]"
... ... @@ -25,7 +25,7 @@
25 25 import { columns, searchFormSchema } from './config.d';
26 26 import { notifyMyGetrPageApi } from '/@/api/stationnotification/stationnotifyApi';
27 27 export default defineComponent({
28   - name: 'Index',
  28 + name: 'LoginForm',
29 29 components: { BasicTable, NotifyDetailDrawer, TableAction },
30 30 setup() {
31 31 const [registerDrawer, { openDrawer }] = useDrawer();
... ...
  1 +import { h } from 'vue';
1 2 import { BasicColumn, FormSchema } from '/@/components/Table';
2 3 import { Tinymce } from '/@/components/Tinymce/index';
3   -import { h, ref } from 'vue';
4 4 // import { findDictItemByCode } from '/@/api/system/dict';
5 5 import { getOrganizationList } from '/@/api/system/system';
6 6 import { copyTransFun } from '/@/utils/fnUtils';
7 7 import { Tag } from 'ant-design-vue';
8 8
9   -export const selectWhere = ref(null);
10   -export const isDeptId = ref(null);
11   -
12 9 export enum IsOrgEnum {
13 10 IS_ORG_ENUM = '1',
14 11 }
15   -
16 12 export const isOrg = (type: string) => {
17 13 return type === IsOrgEnum.IS_ORG_ENUM;
18 14 };
... ... @@ -106,8 +102,8 @@ export const formSchema: FormSchema[] = [
106 102 component: 'Input',
107 103 colProps: { span: 24 },
108 104 label: '内容',
  105 + required: true,
109 106 defaultValue: '',
110   - rules: [{ required: true }],
111 107 render: ({ model, field }) => {
112 108 return h(Tinymce, {
113 109 value: model[field],
... ... @@ -129,18 +125,6 @@ export const formSchema: FormSchema[] = [
129 125 { label: '全部', value: '0' },
130 126 { label: '组织', value: '1' },
131 127 ],
132   - onChange: (v) => {
133   - switch (v) {
134   - case '0':
135   - selectWhere.value = v;
136   - break;
137   - case '1':
138   - selectWhere.value = v;
139   - break;
140   - default:
141   - selectWhere.value = 0;
142   - }
143   - },
144 128 },
145 129 },
146 130 {
... ... @@ -148,15 +132,13 @@ export const formSchema: FormSchema[] = [
148 132 label: '所属组织',
149 133 colProps: { span: 13 },
150 134 component: 'ApiTreeSelect',
  135 + required: true,
151 136 componentProps: {
152 137 api: async () => {
153 138 const data = await getOrganizationList();
154 139 copyTransFun(data as any as any[]);
155 140 return data;
156 141 },
157   - onChange: (v) => {
158   - isDeptId.value = v;
159   - },
160 142 },
161 143 ifShow: ({ values }) => isOrg(Reflect.get(values, 'receiverType')),
162 144 },
... ...
... ... @@ -14,7 +14,7 @@
14 14 :actions="[
15 15 {
16 16 label: '查看',
17   - icon: 'clarity:note-edit-line',
  17 + icon: 'ant-design:eye-outlined',
18 18 onClick: handleView.bind(null, record),
19 19 ifShow: (_action) => {
20 20 return record.status === '已发布';
... ...
... ... @@ -22,10 +22,10 @@
22 22 </div>
23 23 </template>
24 24 <script lang="ts">
25   - import { defineComponent, ref, computed, unref, reactive, watch } from 'vue';
  25 + import { defineComponent, computed, unref, ref } from 'vue';
26 26 import { Button } from '/@/components/Button';
27 27 import { BasicForm, useForm } from '/@/components/Form';
28   - import { formSchema, selectWhere, isDeptId } from './config.d';
  28 + import { formSchema } from './config.d';
29 29 import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
30 30 import {
31 31 notifyAddDraftApi,
... ... @@ -37,132 +37,202 @@
37 37 components: { BasicDrawer, BasicForm, Button },
38 38 emits: ['success', 'register'],
39 39 setup(_, { emit }) {
  40 + // const isUpdate = ref(true);
  41 + // // const pointArray = ref([] as any);
  42 + // // const isJudgeWherePoint = ref();
  43 + // // const newArray = ref([]);
  44 + // let getId = ref('');
  45 + // // let getOranAndDeptId = ref(null);
  46 + // // let getAllData: any = reactive({});
  47 + // // let getAllEditData: any = reactive({});
  48 + // // let postAllEditData: any = reactive({});
  49 + // const [registerForm, { setFieldsValue, resetFields, validate, getFieldsValue }] = useForm({
  50 + // labelWidth: 120,
  51 + // schemas: formSchema,
  52 + // showActionButtonGroup: false,
  53 + // });
  54 + // const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
  55 + // await resetFields();
  56 + // setDrawerProps({ confirmLoading: false });
  57 + // isUpdate.value = !!data?.isUpdate;
  58 + // //编辑
  59 + // if (unref(isUpdate)) {
  60 + // getId.value = data.record.id;
  61 + // await setFieldsValue({
  62 + // ...data.record,
  63 + // receiverType: data.record.receiverType === '全部' ? '0' : '1',
  64 + // organizationId: isDeptId.value,
  65 + // });
  66 + // }
  67 + // });
  68 + // const getTitle = computed(() => (!unref(isUpdate) ? '新增通知' : '编辑通知'));
  69 +
  70 + // watch(selectWhere, (nV) => {
  71 + // isJudgeWherePoint.value = nV;
  72 + // });
  73 + // watch(isDeptId, (nV) => {
  74 + // getOranAndDeptId.value = nV;
  75 + // });
  76 + // // 发布
  77 + // async function handleSend() {
  78 + // // 直接新增通知
  79 + // if (!unref(isUpdate)) {
  80 + // const values = await validate();
  81 + // Object.assign(getAllData, values);
  82 + // switch (unref(isJudgeWherePoint)) {
  83 + // case '0':
  84 + // pointArray.value = [];
  85 + // break;
  86 + // case '1':
  87 + // if (pointArray.value.length === 0) {
  88 + // pointArray.value.push(getOranAndDeptId.value);
  89 + // }
  90 + // break;
  91 + // }
  92 + // getAllData.pointId = pointArray.value;
  93 + // await notifyAddLeaseApi(getAllData);
  94 +
  95 + // resetFields();
  96 + // } else {
  97 + // const values = await validate();
  98 + // getAllEditData = values;
  99 + // getAllEditData.id = unref(getId);
  100 + // switch (unref(isJudgeWherePoint)) {
  101 + // case '0':
  102 + // pointArray.value = [];
  103 + // break;
  104 + // case '1':
  105 + // if (pointArray.value.length === 0) {
  106 + // pointArray.value.push(getOranAndDeptId.value);
  107 + // }
  108 + // break;
  109 + // }
  110 + // getAllEditData.pointId = pointArray.value;
  111 + // Object.assign(postAllEditData, getAllEditData);
  112 + // await notifyAddLeaseApi(postAllEditData);
  113 + // }
  114 + // closeDrawer();
  115 + // createMessage.success('发布成功');
  116 + // emit('success');
  117 + // }
  118 + // // 保存草稿
  119 + // async function handleSaveDraft() {
  120 + // if (!unref(isUpdate)) {
  121 + // const values = await validate();
  122 + // Object.assign(getAllData, values);
  123 + // switch (isJudgeWherePoint.value) {
  124 + // case '0':
  125 + // pointArray.value = [];
  126 + // break;
  127 + // case '1':
  128 + // if (pointArray.value.length === 0) {
  129 + // pointArray.value.push(getOranAndDeptId.value);
  130 + // }
  131 + // break;
  132 + // }
  133 + // getAllData.pointId = pointArray.value;
  134 + // await notifyAddDraftApi(getAllData);
  135 +
  136 + // resetFields();
  137 + // } else {
  138 + // const values = await validate();
  139 + // getAllEditData = values;
  140 + // getAllEditData.id = getId.value;
  141 + // switch (isJudgeWherePoint.value) {
  142 + // case '0':
  143 + // pointArray.value = [];
  144 + // break;
  145 + // case '1':
  146 + // if (pointArray.value.length === 0) {
  147 + // pointArray.value.push(getOranAndDeptId.value);
  148 + // }
  149 + // break;
  150 + // }
  151 + // getAllEditData.pointId = pointArray.value;
  152 + // Object.assign(postAllEditData, getAllEditData);
  153 + // await notifyAddDraftApi(postAllEditData);
  154 + // }
  155 + // createMessage.success('保存草稿成功');
  156 + // closeDrawer();
  157 + // emit('success');
  158 + // }
  159 + // 取消
40 160 const { createMessage } = useMessage();
41   - const isUpdate = ref(true);
42   - const pointArray = ref([] as any);
43   - const isJudgeWherePoint = ref([] as any);
44   - // const newArray = ref([]);
45   - let getId = ref('');
46   - let getOranAndDeptId = ref(null);
47   - let getAllData: any = reactive({});
48   - let getAllEditData: any = reactive({});
49   - let postAllEditData: any = reactive({});
  161 + const isUpdate = ref<Boolean>();
  162 + const getTitle = computed(() => (!unref(isUpdate) ? '新增通知' : '编辑通知'));
  163 + const noticeId = ref('');
50 164 const [registerForm, { setFieldsValue, resetFields, validate, getFieldsValue }] = useForm({
51 165 labelWidth: 120,
52 166 schemas: formSchema,
53 167 showActionButtonGroup: false,
54 168 });
55   - const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
56   - await resetFields();
57   - setDrawerProps({ confirmLoading: false });
58   - isUpdate.value = !!data?.isUpdate;
  169 + const [registerDrawer, { closeDrawer }] = useDrawerInner(async (data) => {
  170 + isUpdate.value = data.isUpdate;
59 171 //编辑
60 172 if (unref(isUpdate)) {
61   - getId.value = data.record.id;
  173 + noticeId.value = data.record.id;
  174 + console.log(data.record);
62 175 await setFieldsValue({
63 176 ...data.record,
64 177 receiverType: data.record.receiverType === '全部' ? '0' : '1',
65 178 });
66 179 }
67 180 });
68   - const getTitle = computed(() => (!unref(isUpdate) ? '新增通知' : '编辑通知'));
69   - const handleCancel = () => {
70   - closeDrawer();
71   - };
72   - watch(selectWhere, (nV) => {
73   - isJudgeWherePoint.value = nV;
74   - });
75   - watch(isDeptId, (nV) => {
76   - getOranAndDeptId.value = nV;
77   - });
78   - async function handleSend() {
  181 + // 发布通知
  182 + const handleSend = async () => {
  183 + await validate();
  184 + const field = getFieldsValue();
  185 + const pointId = field.receiverType === '1' ? [field.organizationId] : [];
  186 + // 新增情况
79 187 if (!unref(isUpdate)) {
80   - const values = await validate();
81   - Object.assign(getAllData, values);
82   - switch (isJudgeWherePoint.value) {
83   - case '0':
84   - pointArray.value = [];
85   - break;
86   - case '1':
87   - if (pointArray.value.length === 0) {
88   - pointArray.value.push(getOranAndDeptId.value);
89   - }
90   - break;
91   - }
92   - getAllData.pointId = pointArray.value;
93   - await notifyAddLeaseApi(getAllData);
94   - createMessage.success('新增成功');
95   - closeDrawer();
96   - emit('success');
97   - resetFields();
  188 + const addNotice = {
  189 + ...field,
  190 + pointId,
  191 + };
  192 + await notifyAddLeaseApi(addNotice);
  193 + } else {
  194 + const editNotice = {
  195 + ...field,
  196 + pointId,
  197 + id: unref(noticeId),
  198 + };
  199 + await notifyAddLeaseApi(editNotice);
98 200 }
99   - if (unref(isUpdate)) {
100   - getAllEditData = getFieldsValue();
101   - getAllEditData.id = getId.value;
102   - switch (isJudgeWherePoint.value) {
103   - case '0':
104   - pointArray.value = [];
105   - break;
106   - case '1':
107   - if (pointArray.value.length === 0) {
108   - pointArray.value.push(getOranAndDeptId.value);
109   - }
110   - break;
111   - }
112   - getAllEditData.pointId = pointArray.value;
113   - Object.assign(postAllEditData, getAllEditData);
114   - await notifyAddLeaseApi(postAllEditData);
115   - createMessage.success('新增成功');
116   - closeDrawer();
117   - emit('success');
118   - }
119   - }
120   - async function handleSaveDraft() {
  201 + emit('success');
  202 + closeDrawer();
  203 + createMessage.success('发布成功');
  204 + };
  205 + // 保存草稿
  206 + const handleSaveDraft = async () => {
  207 + await validate();
  208 + const field = getFieldsValue();
  209 + const pointId = field.receiverType === '1' ? [field.organizationId] : [];
121 210 if (!unref(isUpdate)) {
122   - const values = await validate();
123   - Object.assign(getAllData, values);
124   - switch (isJudgeWherePoint.value) {
125   - case '0':
126   - pointArray.value = [];
127   - break;
128   - case '1':
129   - if (pointArray.value.length === 0) {
130   - pointArray.value.push(getOranAndDeptId.value);
131   - }
132   - break;
133   - }
134   - getAllData.pointId = pointArray.value;
135   - await notifyAddDraftApi(getAllData);
136   - createMessage.success('新增成功');
137   - closeDrawer();
138   - emit('success');
139   - resetFields();
140   - }
141   - if (unref(isUpdate)) {
142   - getAllEditData = getFieldsValue();
143   - getAllEditData.id = getId.value;
144   - switch (isJudgeWherePoint.value) {
145   - case '0':
146   - pointArray.value = [];
147   - break;
148   - case '1':
149   - if (pointArray.value.length === 0) {
150   - pointArray.value.push(getOranAndDeptId.value);
151   - }
152   - break;
153   - }
154   - getAllEditData.pointId = pointArray.value;
155   - Object.assign(postAllEditData, getAllEditData);
156   - await notifyAddDraftApi(postAllEditData);
157   - createMessage.success('编辑成功');
158   - closeDrawer();
159   - emit('success');
  211 + const saveDraft = {
  212 + ...field,
  213 + pointId,
  214 + };
  215 + await notifyAddDraftApi(saveDraft);
  216 + } else {
  217 + const editDraft = {
  218 + ...field,
  219 + pointId,
  220 + id: unref(noticeId),
  221 + };
  222 + await notifyAddDraftApi(editDraft);
160 223 }
161   - }
  224 + emit('success');
  225 + closeDrawer();
  226 + createMessage.success('保存草稿成功');
  227 + };
  228 + const handleCancel = () => {
  229 + resetFields();
  230 + closeDrawer();
  231 + };
162 232 return {
  233 + getTitle,
163 234 handleSend,
164 235 handleCancel,
165   - getTitle,
166 236 handleSaveDraft,
167 237 registerForm,
168 238 registerDrawer,
... ...
... ... @@ -98,7 +98,7 @@
98 98 //onKeyStroke('Enter', handleLogin);
99 99
100 100 const getShow = computed(() => unref(getLoginState) === LoginStateEnum.LOGIN);
101   -
  101 + const storage = createLocalStorage();
102 102 async function handleLogin() {
103 103 const data = await validForm();
104 104 if (!data) return;
... ... @@ -118,8 +118,15 @@
118 118 duration: 3,
119 119 });
120 120 const res = await getPlatForm();
121   - const storage = createLocalStorage();
122 121 storage.set('platformInfo', res);
  122 + userStore.setPlatInfo(res);
  123 + // 设置icon
  124 + let link = (document.querySelector("link[rel*='icon']") ||
  125 + document.createElement('link')) as HTMLLinkElement;
  126 + link.type = 'image/x-icon';
  127 + link.rel = 'shortcut icon';
  128 + link.href = res.icon ?? '/public/favicon.ico';
  129 + document.getElementsByTagName('head')[0].appendChild(link);
123 130 }
124 131 } catch (error: any) {
125 132 createErrorModal({
... ... @@ -135,15 +142,5 @@
135 142 } finally {
136 143 loading.value = false;
137 144 }
138   -
139   - const res = await getPlatForm();
140   - userStore.setPlatInfo(res);
141   - // 设置icon
142   - let link = (document.querySelector("link[rel*='icon']") ||
143   - document.createElement('link')) as HTMLLinkElement;
144   - link.type = 'image/x-icon';
145   - link.rel = 'shortcut icon';
146   - link.href = res.icon ?? '/public/favicon.ico';
147   - document.getElementsByTagName('head')[0].appendChild(link);
148 145 }
149 146 </script>
... ...
... ... @@ -103,7 +103,7 @@
103 103 return info;
104 104 },
105 105 actionColumn: {
106   - width: 180,
  106 + width: 220,
107 107 title: '操作',
108 108 dataIndex: 'action',
109 109 slots: { customRender: 'action' },
... ... @@ -141,8 +141,8 @@
141 141 }
142 142 }
143 143
144   - function handleSelect(deptId = '') {
145   - searchInfo.deptId = deptId;
  144 + function handleSelect(organization) {
  145 + searchInfo.organizationId = organization;
146 146 reload();
147 147 }
148 148
... ...
... ... @@ -69,7 +69,7 @@
69 69 title: t('routes.common.common.operation'), //操作
70 70 dataIndex: 'action',
71 71 slots: { customRender: 'action' },
72   - fixed: undefined,
  72 + fixed: 'right',
73 73 },
74 74 });
75 75 /**
... ...
... ... @@ -39,7 +39,6 @@ export const formSchema: FormSchema[] = [
39 39 },
40 40 getPopupContainer: () => document.body,
41 41 },
42   - // required: true,
43 42 },
44 43 {
45 44 field: 'name',
... ... @@ -58,4 +57,10 @@ export const formSchema: FormSchema[] = [
58 57 field: 'remark',
59 58 component: 'InputTextArea',
60 59 },
  60 + {
  61 + label: '租户ID',
  62 + field: 'tenantId',
  63 + component: 'Input',
  64 + show: false,
  65 + },
61 66 ];
... ...
... ... @@ -67,7 +67,7 @@
67 67 title: '操作',
68 68 dataIndex: 'action',
69 69 slots: { customRender: 'action' },
70   - fixed: undefined,
  70 + fixed: 'right',
71 71 },
72 72 });
73 73
... ...
... ... @@ -111,7 +111,7 @@
111 111 openTenantAdminFormDrawer(true, {
112 112 isUpdate: true,
113 113 record,
114   - tenantCode: tenantId.value,
  114 + tenantId: tenantId.value,
115 115 });
116 116 }
117 117
... ... @@ -170,7 +170,7 @@
170 170 bordered: true,
171 171 showIndexColumn: false,
172 172 searchInfo: {
173   - tenantId: tenantId,
  173 + tenantId,
174 174 roleType: RoleEnum.ROLE_TENANT_ADMIN,
175 175 },
176 176 actionColumn: {
... ... @@ -178,7 +178,7 @@
178 178 title: '操作',
179 179 dataIndex: 'action',
180 180 slots: { customRender: 'action' },
181   - fixed: undefined,
  181 + fixed: 'right',
182 182 },
183 183 tableSetting: {
184 184 redo: true,
... ...
... ... @@ -140,7 +140,7 @@
140 140 title: '操作',
141 141 dataIndex: 'action',
142 142 slots: { customRender: 'action' },
143   - fixed: undefined,
  143 + fixed: 'right',
144 144 },
145 145 });
146 146 return {
... ...
... ... @@ -66,7 +66,7 @@
66 66 title: '操作',
67 67 dataIndex: 'action',
68 68 slots: { customRender: 'action' },
69   - fixed: undefined,
  69 + fixed: 'right',
70 70 },
71 71 });
72 72
... ...
... ... @@ -68,7 +68,7 @@
68 68 title: '操作',
69 69 dataIndex: 'action',
70 70 slots: { customRender: 'action' },
71   - fixed: undefined,
  71 + fixed: 'right',
72 72 },
73 73 });
74 74
... ...