Showing
57 changed files
with
70 additions
and
119 deletions
... | ... | @@ -25,7 +25,7 @@ module.exports = defineConfig({ |
25 | 25 | 'plugin:jest/recommended', |
26 | 26 | ], |
27 | 27 | rules: { |
28 | - 'no-console': 'error', | |
28 | + 'no-console': ['error', { allow: ['warn', 'error'] }], | |
29 | 29 | 'vue/script-setup-uses-vars': 'error', |
30 | 30 | '@typescript-eslint/ban-ts-ignore': 'off', |
31 | 31 | '@typescript-eslint/explicit-function-return-type': 'off', | ... | ... |
... | ... | @@ -48,13 +48,21 @@ |
48 | 48 | <template #content> |
49 | 49 | <section class="flex flex-wrap w-36"> |
50 | 50 | <table class="border-collapse" @click="handleSelectConfirm"> |
51 | - <tr v-for="row in MAX_ROW" :key="row" class="border border-gray-300 border-solid"> | |
51 | + <tr | |
52 | + v-for="rowNumber in MAX_ROW" | |
53 | + :key="rowNumber" | |
54 | + class="border border-gray-300 border-solid" | |
55 | + > | |
52 | 56 | <td |
53 | - v-for="col in MAX_COL" | |
54 | - :class="selectedLayout.col >= col && selectedLayout.row >= row ? 'bg-blue-500' : ''" | |
55 | - :key="col" | |
57 | + v-for="colNumber in MAX_COL" | |
58 | + :class=" | |
59 | + selectedLayout.col >= colNumber && selectedLayout.row >= rowNumber | |
60 | + ? 'bg-blue-500' | |
61 | + : '' | |
62 | + " | |
63 | + :key="colNumber" | |
56 | 64 | class="w-4 h-4 border border-gray-300 border-solid cursor-pointer" |
57 | - @mouseover="handleOver(row, col)" | |
65 | + @mouseover="handleOver(rowNumber, colNumber)" | |
58 | 66 | > |
59 | 67 | </td> |
60 | 68 | </tr> | ... | ... |
... | ... | @@ -77,7 +77,6 @@ |
77 | 77 | try { |
78 | 78 | const data = e.target && e.target.result; |
79 | 79 | const workbook = XLSX.read(data, { type: 'array' }); |
80 | - // console.log(workbook); | |
81 | 80 | /* DO SOMETHING WITH workbook HERE */ |
82 | 81 | const excelData = getExcelData(workbook); |
83 | 82 | emit('success', excelData); | ... | ... |
... | ... | @@ -90,7 +90,7 @@ |
90 | 90 | () => { |
91 | 91 | !unref(isFirstLoad) && fetch(); |
92 | 92 | }, |
93 | - { deep: true }, | |
93 | + { deep: true } | |
94 | 94 | ); |
95 | 95 | |
96 | 96 | async function fetch() { |
... | ... | @@ -110,6 +110,7 @@ |
110 | 110 | } |
111 | 111 | emitChange(); |
112 | 112 | } catch (error) { |
113 | + // eslint-disable-next-line no-console | |
113 | 114 | console.warn(error); |
114 | 115 | } finally { |
115 | 116 | loading.value = false; | ... | ... |
... | ... | @@ -113,7 +113,7 @@ |
113 | 113 | const { TabPane } = Tabs; |
114 | 114 | const { prefixCls } = useDesign('easy-cron-inner'); |
115 | 115 | provide('prefixCls', prefixCls); |
116 | - const emit = defineEmits([...cronEmits]); | |
116 | + const emit = defineEmits(cronEmits); | |
117 | 117 | const props = defineProps({ ...cronProps }); |
118 | 118 | const activeKey = ref(props.hideSecond ? 'minute' : 'second'); |
119 | 119 | const second = ref('*'); |
... | ... | @@ -236,7 +236,7 @@ |
236 | 236 | if (/^[0-7]$/.test(week)) { |
237 | 237 | return convert(week); |
238 | 238 | } else if (patten1.test(week)) { |
239 | - return week.replace(patten1, ($0, before, separator, after) => { | |
239 | + return week.replace(patten1, (_$0, before, separator, after) => { | |
240 | 240 | if (separator === '/') { |
241 | 241 | return convert(before) + separator + after; |
242 | 242 | } else { | ... | ... |
... | ... | @@ -23,8 +23,8 @@ |
23 | 23 | |
24 | 24 | export default defineComponent({ |
25 | 25 | name: 'EasyCronModal', |
26 | - inheritAttrs: false, | |
27 | 26 | components: { BasicModal, EasyCron, Button }, |
27 | + inheritAttrs: false, | |
28 | 28 | setup() { |
29 | 29 | const attrs = useAttrs(); |
30 | 30 | const [registerModal, { closeModal }] = useModalInner(); | ... | ... |
... | ... | @@ -45,7 +45,7 @@ export function useTabSetup(props, context, options) { |
45 | 45 | |
46 | 46 | // 根据不同的类型计算出的value |
47 | 47 | const computeValue = computed(() => { |
48 | - let valueArray: any[] = []; | |
48 | + const valueArray: any[] = []; | |
49 | 49 | switch (type.value) { |
50 | 50 | case TypeEnum.unset: |
51 | 51 | valueArray.push('?'); |
... | ... | @@ -79,7 +79,7 @@ export function useTabSetup(props, context, options) { |
79 | 79 | }); |
80 | 80 | // 指定值范围区间,介于最小值和最大值之间 |
81 | 81 | const specifyRange = computed(() => { |
82 | - let range: number[] = []; | |
82 | + const range: number[] = []; | |
83 | 83 | if (maxValue.value != null) { |
84 | 84 | for (let i = minValue.value; i <= maxValue.value; i++) { |
85 | 85 | range.push(i); | ... | ... |
... | ... | @@ -207,7 +207,6 @@ |
207 | 207 | }); |
208 | 208 | |
209 | 209 | function handleSearch(searchValue: string) { |
210 | - console.log('searchValue', searchValue); | |
211 | 210 | if (searchValue !== searchText.value) searchText.value = searchValue; |
212 | 211 | emit('update:searchValue', searchValue); |
213 | 212 | if (!searchValue) { | ... | ... |
... | ... | @@ -16,8 +16,6 @@ |
16 | 16 | import { computed, defineComponent, unref, ref } from 'vue'; |
17 | 17 | import { Layout } from 'ant-design-vue'; |
18 | 18 | |
19 | - import { GithubFilled } from '@ant-design/icons-vue'; | |
20 | - | |
21 | 19 | import { DOC_URL, GITHUB_URL, SITE_URL } from '/@/settings/siteSetting'; |
22 | 20 | import { openWindow } from '/@/utils'; |
23 | 21 | |
... | ... | @@ -29,7 +27,7 @@ |
29 | 27 | |
30 | 28 | export default defineComponent({ |
31 | 29 | name: 'LayoutFooter', |
32 | - components: { Footer: Layout.Footer, GithubFilled }, | |
30 | + components: { Footer: Layout.Footer }, | |
33 | 31 | setup() { |
34 | 32 | const { t } = useI18n(); |
35 | 33 | const { getShowFooter } = useRootSetting(); | ... | ... |
... | ... | @@ -148,7 +148,6 @@ |
148 | 148 | |
149 | 149 | function renderMenu() { |
150 | 150 | const { menus, ...menuProps } = unref(getCommonProps); |
151 | - // console.log(menus); | |
152 | 151 | if (!menus || !menus.length) return null; |
153 | 152 | return !props.isHorizontal ? ( |
154 | 153 | <SimpleMenu {...menuProps} isSplitMenu={unref(getSplit)} items={menus} /> | ... | ... |
... | ... | @@ -100,7 +100,7 @@ export default defineComponent({ |
100 | 100 | <> |
101 | 101 | <TypePicker |
102 | 102 | menuTypeList={menuTypeList} |
103 | - handler={(item: typeof menuTypeList[0]) => { | |
103 | + handler={(item: (typeof menuTypeList)[0]) => { | |
104 | 104 | baseHandler(HandlerEnum.CHANGE_LAYOUT, { |
105 | 105 | mode: item.mode, |
106 | 106 | type: item.type, | ... | ... |
... | ... | @@ -85,9 +85,7 @@ |
85 | 85 | /^[1](([3][0-9])|([4][0,1,4-9])|([5][0-3,5-9])|([6][2,5,6,7])|([7][0-8])|([8][0-9])|([9][0-3,5-9]))[0-9]{8}$/; |
86 | 86 | if (reg.test(formData.mobile)) { |
87 | 87 | const sendRes = await passwordResetCode(formData.mobile); |
88 | - console.log(sendRes); | |
89 | 88 | if (sendRes === '') { |
90 | - console.log('发送成功了'); | |
91 | 89 | return true; |
92 | 90 | } |
93 | 91 | return false; | ... | ... |
... | ... | @@ -11,8 +11,7 @@ |
11 | 11 | */ |
12 | 12 | export function simpleDebounce(fn, delay = 100) { |
13 | 13 | let timer: any | null = null; |
14 | - return function () { | |
15 | - let args = arguments; | |
14 | + return function (...args) { | |
16 | 15 | if (timer) { |
17 | 16 | clearTimeout(timer); |
18 | 17 | } |
... | ... | @@ -61,4 +60,3 @@ export function dateFormat(date, block) { |
61 | 60 | }); |
62 | 61 | return format; |
63 | 62 | } |
64 | - | ... | ... |
... | ... | @@ -8,7 +8,6 @@ export function listToTree(lists: getMenuListResultModel): getMenuListResultMode |
8 | 8 | lists.forEach((goods) => { |
9 | 9 | goods['menuName'] = t(goods.meta.title); // 为goods添加属性menuName |
10 | 10 | |
11 | - // console.log(goods.children?.length); | |
12 | 11 | if (goods.children?.length) { |
13 | 12 | listToTree(goods.children); |
14 | 13 | // goods.children.forEach((goodChildren) => { | ... | ... |
... | ... | @@ -102,8 +102,7 @@ |
102 | 102 | avatar: [{ uid: buildUUID(), name: 'name', url: data.record.avatar } as FileItem], |
103 | 103 | }); |
104 | 104 | } |
105 | - const { avatar, ...params } = data.record; | |
106 | - console.log(avatar); | |
105 | + const { ...params } = data.record; | |
107 | 106 | await setFieldsValue({ ...params }); |
108 | 107 | } else { |
109 | 108 | editId.value = ''; | ... | ... |
... | ... | @@ -75,9 +75,7 @@ export const formSchema: FormSchema[] = [ |
75 | 75 | } |
76 | 76 | }, |
77 | 77 | // showUploadList: true, |
78 | - onDownload(file) { | |
79 | - console.log(file); | |
80 | - }, | |
78 | + onDownload() {}, | |
81 | 79 | onPreview: (fileList: FileItem) => { |
82 | 80 | createImgPreview({ imageList: [fileList.url!] }); |
83 | 81 | }, | ... | ... |
... | ... | @@ -192,7 +192,6 @@ |
192 | 192 | getRestData.value = resp; |
193 | 193 | commonRest(resp, jsonEditorRef.value?.setJsonValue); |
194 | 194 | } catch (e) { |
195 | - console.log(e); | |
196 | 195 | if (Object.prototype.toString.call(e) === '[object Object]') { |
197 | 196 | jsonEditorRef.value?.setJsonValue(e); |
198 | 197 | } else { | ... | ... |
... | ... | @@ -100,11 +100,9 @@ |
100 | 100 | const { send, close } = useWebSocket(state.server, { |
101 | 101 | onConnected() { |
102 | 102 | send(state.sendValue); |
103 | - console.log('建立连接了'); | |
104 | 103 | }, |
105 | 104 | onMessage(_, e) { |
106 | 105 | const { data } = JSON.parse(e.data); |
107 | - console.log('来新消息了', '---data---', data); | |
108 | 106 | const newArray: socketDataType[] = []; |
109 | 107 | for (const key in data) { |
110 | 108 | const [time, value] = data[key].flat(1); |
... | ... | @@ -134,7 +132,6 @@ |
134 | 132 | }); |
135 | 133 | }, |
136 | 134 | onDisconnected() { |
137 | - console.log('断开连接了'); | |
138 | 135 | close(); |
139 | 136 | }, |
140 | 137 | onError() { | ... | ... |
... | ... | @@ -32,13 +32,12 @@ |
32 | 32 | import { BasicTable, useTable, TableAction } from '/@/components/Table'; |
33 | 33 | import { Switch } from 'ant-design-vue'; |
34 | 34 | import { DeviceRecord } from '/@/api/device/model/deviceModel'; |
35 | - import { watch } from 'vue'; | |
36 | 35 | import VideoModal from './videoModal.vue'; |
37 | 36 | import { useModal } from '/@/components/Modal'; |
38 | 37 | import { onMounted } from 'vue'; |
39 | 38 | import { useMessage } from '/@/hooks/web/useMessage'; |
40 | 39 | |
41 | - const props = defineProps({ | |
40 | + defineProps({ | |
42 | 41 | fromId: { |
43 | 42 | type: String, |
44 | 43 | default: '', |
... | ... | @@ -49,13 +48,6 @@ |
49 | 48 | }, |
50 | 49 | }); |
51 | 50 | |
52 | - watch( | |
53 | - () => props, | |
54 | - () => { | |
55 | - console.log(props, 'props'); | |
56 | - } | |
57 | - ); | |
58 | - | |
59 | 51 | const [registerModal, { openModal }] = useModal(); |
60 | 52 | |
61 | 53 | const [registerTable, { setTableData, setProps, setSelectedRowKeys, reload }] = useTable({ |
... | ... | @@ -68,14 +60,10 @@ |
68 | 60 | labelWidth: 120, |
69 | 61 | schemas: searchFormSchema, |
70 | 62 | }, |
71 | - beforeFetch: (params) => { | |
72 | - console.log(params); | |
73 | - }, | |
74 | 63 | useSearchForm: true, |
75 | 64 | }); |
76 | 65 | |
77 | - const handleTurnVideo = async (checked: Boolean, record: Recordable) => { | |
78 | - console.log(checked, record, 'record'); | |
66 | + const handleTurnVideo = async (checked: Boolean, _record: Recordable) => { | |
79 | 67 | setProps({ |
80 | 68 | loading: true, |
81 | 69 | }); |
... | ... | @@ -281,7 +269,6 @@ |
281 | 269 | }); |
282 | 270 | |
283 | 271 | const handlePlay = (record: Recordable) => { |
284 | - console.log(record); | |
285 | 272 | openModal(true, { |
286 | 273 | record, |
287 | 274 | }); | ... | ... |
... | ... | @@ -235,7 +235,6 @@ |
235 | 235 | |
236 | 236 | function loadDataSuccess(excelDataList: ExcelData[]) { |
237 | 237 | tableListRef.value = []; |
238 | - console.log(excelDataList); | |
239 | 238 | for (const excelData of excelDataList) { |
240 | 239 | const { |
241 | 240 | header, |
... | ... | @@ -294,9 +293,7 @@ |
294 | 293 | }); |
295 | 294 | }; |
296 | 295 | //导入 |
297 | - function handleImport() { | |
298 | - console.log('record'); | |
299 | - } | |
296 | + function handleImport() {} | |
300 | 297 | function handleSuccess() { |
301 | 298 | reload(); |
302 | 299 | } | ... | ... |
... | ... | @@ -30,9 +30,7 @@ |
30 | 30 | import { SelectTypes } from 'ant-design-vue/es/select'; |
31 | 31 | |
32 | 32 | const emit = defineEmits(['register', 'emitSelect']); |
33 | - const [register] = useModalInner((data) => { | |
34 | - console.log(data); | |
35 | - }); | |
33 | + const [register] = useModalInner(() => {}); | |
36 | 34 | const heightNum = ref(80); |
37 | 35 | const visible = ref(false); |
38 | 36 | const selectValue = ref('LwM2M'); | ... | ... |
... | ... | @@ -130,14 +130,13 @@ |
130 | 130 | telemetry: [], |
131 | 131 | }); |
132 | 132 | |
133 | - const [registerModel, { resetFields: resetObjectListValue, getFieldsValue: getObjectListValue }] = | |
134 | - useForm({ | |
135 | - labelWidth: 100, | |
136 | - schemas: modelSchemas, | |
137 | - actionColOptions: { | |
138 | - span: 14, | |
139 | - }, | |
140 | - }); | |
133 | + const [registerModel, { resetFields: resetObjectListValue }] = useForm({ | |
134 | + labelWidth: 100, | |
135 | + schemas: modelSchemas, | |
136 | + actionColOptions: { | |
137 | + span: 14, | |
138 | + }, | |
139 | + }); | |
141 | 140 | const [ |
142 | 141 | registerSettings, |
143 | 142 | { |
... | ... | @@ -152,14 +151,13 @@ |
152 | 151 | span: 14, |
153 | 152 | }, |
154 | 153 | }); |
155 | - const [registerDevice, { resetFields: resetDeviceValue, getFieldsValue: getDeviceValue }] = | |
156 | - useForm({ | |
157 | - labelWidth: 100, | |
158 | - schemas: deviceSchemas, | |
159 | - actionColOptions: { | |
160 | - span: 14, | |
161 | - }, | |
162 | - }); | |
154 | + const [registerDevice, { resetFields: resetDeviceValue }] = useForm({ | |
155 | + labelWidth: 100, | |
156 | + schemas: deviceSchemas, | |
157 | + actionColOptions: { | |
158 | + span: 14, | |
159 | + }, | |
160 | + }); | |
163 | 161 | const [registerModal, { openModal }] = useModal(); |
164 | 162 | |
165 | 163 | const handleAdd = () => { |
... | ... | @@ -205,10 +203,6 @@ |
205 | 203 | }; |
206 | 204 | |
207 | 205 | const getFormData = async () => { |
208 | - const objectListVal = getObjectListValue(); | |
209 | - const deviceVal = getDeviceValue(); | |
210 | - console.log('第一个tab', objectListVal); | |
211 | - console.log('第四个tab', deviceVal); | |
212 | 206 | getBootStrapFormValue(); |
213 | 207 | const settingsVal = await settingsValidate(); |
214 | 208 | if (!settingsVal) return; | ... | ... |
... | ... | @@ -172,8 +172,7 @@ export const formSchema: FormSchema[] = [ |
172 | 172 | const record = await findMessageConfig(params); |
173 | 173 | return record.filter((item) => item.status === 1); |
174 | 174 | } catch (error) { |
175 | - // eslint-disable-next-line no-console | |
176 | - console.log(error); | |
175 | + console.error(error); | |
177 | 176 | return []; |
178 | 177 | } |
179 | 178 | }, | ... | ... |
... | ... | @@ -6,7 +6,7 @@ |
6 | 6 | border-color: #6b7280; |
7 | 7 | } |
8 | 8 | |
9 | -.vue-flow__handle:hover{ | |
9 | +.vue-flow__handle:hover { | |
10 | 10 | background-color: #000; |
11 | 11 | } |
12 | 12 | |
... | ... | @@ -15,7 +15,7 @@ |
15 | 15 | } |
16 | 16 | |
17 | 17 | .vue-flow__handle-left { |
18 | - left: -12px; | |
18 | + left: -12px; | |
19 | 19 | } |
20 | 20 | |
21 | 21 | .vue-flow__background.vue-flow__container { |
... | ... | @@ -32,7 +32,7 @@ |
32 | 32 | stroke-width: 4; |
33 | 33 | stroke: gray; |
34 | 34 | transition: stroke-width 0.3s; |
35 | -} | |
35 | +} | |
36 | 36 | |
37 | 37 | .connection-focus { |
38 | 38 | stroke-width: 6; |
... | ... | @@ -44,7 +44,7 @@ |
44 | 44 | } |
45 | 45 | |
46 | 46 | /* 连接线移入放大效果 */ |
47 | -.vue-flow__edge:hover > .vue-flow__edge-path { | |
47 | +.vue-flow__edge:hover > .vue-flow__edge-path { | |
48 | 48 | stroke-width: 6 !important; |
49 | 49 | } |
50 | 50 | |
... | ... | @@ -54,18 +54,19 @@ |
54 | 54 | } |
55 | 55 | |
56 | 56 | .vue-flow__edge:hover .vue-flow__edge-textbg { |
57 | - transform: scale(1.1) | |
57 | + transform: scale(1.1); | |
58 | 58 | } |
59 | 59 | |
60 | -.vue-flow__edge:hover .vue-flow__edge-text{ | |
61 | - transform: scale(1.1) | |
60 | +.vue-flow__edge:hover .vue-flow__edge-text { | |
61 | + transform: scale(1.1); | |
62 | 62 | } |
63 | 63 | |
64 | 64 | /* selection 选择框 */ |
65 | -.vue-flow__nodesselection-rect, .vue-flow__selection{ | |
65 | +.vue-flow__nodesselection-rect, | |
66 | +.vue-flow__selection { | |
66 | 67 | border-width: 3px; |
67 | 68 | } |
68 | 69 | |
69 | -.vue-flow__nodesselection-rect { | |
70 | +.vue-flow__nodesselection-rect { | |
70 | 71 | pointer-events: none; |
71 | 72 | } | ... | ... |
... | ... | @@ -85,9 +85,7 @@ |
85 | 85 | /^[1](([3][0-9])|([4][0,1,4-9])|([5][0-3,5-9])|([6][2,5,6,7])|([7][0-8])|([8][0-9])|([9][0-3,5-9]))[0-9]{8}$/; |
86 | 86 | if (reg.test(formData.mobile)) { |
87 | 87 | const sendRes = await passwordResetCode(formData.mobile); |
88 | - console.log(sendRes); | |
89 | 88 | if (sendRes === '') { |
90 | - console.log('发送成功了'); | |
91 | 89 | return true; |
92 | 90 | } |
93 | 91 | return false; | ... | ... |
... | ... | @@ -150,7 +150,6 @@ |
150 | 150 | getIsSharePage, |
151 | 151 | (value) => { |
152 | 152 | if (value) { |
153 | - console.log(unref(getDarkMode)); | |
154 | 153 | const root = document.querySelector('#app'); |
155 | 154 | (root as HTMLDivElement).style.backgroundColor = |
156 | 155 | unref(getDarkMode) === ThemeEnum.LIGHT ? '#F5F5F5' : '#1b1b1b'; | ... | ... |
... | ... | @@ -32,7 +32,6 @@ app.ws.use( |
32 | 32 | }); |
33 | 33 | ctx.websocket.send(data); |
34 | 34 | } |
35 | - console.log(message); | |
36 | 35 | }); |
37 | 36 | }) |
38 | 37 | ); |
... | ... | @@ -59,5 +58,6 @@ app.use(router.allowedMethods()); |
59 | 58 | app.use(koaStatic(path.join(__dirname))); |
60 | 59 | |
61 | 60 | app.listen(PORT, () => { |
61 | + // eslint-disable-next-line no-console | |
62 | 62 | console.log(`Application started successfully: http://localhost:${PORT}`); |
63 | 63 | }); | ... | ... |