diff --git a/src/assets/css/base.scss b/src/assets/css/base.scss index 709b468..a1cd5b1 100644 --- a/src/assets/css/base.scss +++ b/src/assets/css/base.scss @@ -758,3 +758,15 @@ color:var(--color-text) !important; margin-top: 0 !important; } } + +.yisa-custom-scrollbar{ + &::-webkit-scrollbar{ + width: 10px; + background-color: #3e4557; + cursor: pointer; + } + &::-webkit-scrollbar-thumb{ + background-color: #9da2ab; + border-radius: 5px; + } +} diff --git a/src/config/ajax.js b/src/config/ajax.js index f7e4b62..e348cb2 100644 --- a/src/config/ajax.js +++ b/src/config/ajax.js @@ -7,6 +7,10 @@ import qs from 'qs' axios.defaults.baseURL = baseApi axios.defaults.timeout = 5 * 60 * 1000 axios.defaults.headers.common['Authorization'] = getToken() +window.queryRecord = {} // 临时方案, 对于查询比较慢的接口, 先统一在这里处理, todo, 后期每个接口再加loading, +const longtimeInterfaces = [ // 对于一些查询比较慢的接口, 先定义一个数组, + "/api/orp/road/road_list" +] // axios.defaults.headers.common['Authorization'] = `Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTk2MzAwNzUsInN1YiI6Inlpc2Ffand0IiwibmJmIjoxNjk5NjI2NDc1LCJhdWQiOiJ5aXNhX3VzZXIiLCJpYXQiOjE2OTk2MjY0NzUsImp0aSI6IjlhYzg3MzcxNGUyYWUyNjQyOWNlMTFjMDliZjZiMTFiIiwiaXNzIjoieWlzYV9pc3MiLCJzdGF0dXMiOjEsImRhdGEiOnsidXNlcl91aWQiOjE4MTkwOTEwNDA1MzQ2MTU5NjksImlkX2NhcmQiOm51bGwsInJvbGVfaWQiOjE3NjcyMTAwNDQ0NDE2MTQ0NzksIm5hbWUiOiLotoXnuqfnrqHnkIblkZgiLCJkZXBhcnRtZW50X25hbWUiOiLopb_mtbflsrjlhaznlKjkuovkuJrpm4blm6IiLCJ1c2VyX25hbWUiOiJ4dXF1biIsInRlbCI6IjE4OTc2MzMwMzIwIiwiYXV0aCI6IjE1MiwxNTMsMTU0LDE1NSwxNTYsMTU3LDE1OCwxNTksMTYwLDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3MywxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTUyLDEyMSwxMzQsMTM1LDEzOSwxNDMsMTQ5LDEzNiwxMzcsMTM4LDE0MCwxNDEsMTQyLDE0NCwxNDUsMTUwLDE1MSwxMjAsMTIyLDEyMywxMjQsMTI1LDExMiwxMTMsMTE0LDExNSwxNDYsMTQ3LDE0OCw4OCw4OSw5MCw5MSwxMDMsMTE4LDEyNiwxMzAsOTcsMTE2LDExNyw5Miw5Myw5NCw5NSw5NiwxMDQsMTA1LDExOSwxMjcsMTI4LDEyOSwxMzEsMTMyLDEzMyw5OCw5OSwxMDAsMTAxLDEwMiwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxLDIsMyw2LDcsOCw5LDEwLDQsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMTEsMTIsMjEsMjIsMjcsMjgsMzMsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDksNTAsNTEsNTIsNTMsNSw1Nyw1OCw1NCw1NSw1Niw3MSw3Miw1OSw2MCw2MSw2Miw2OSw3MCw3Myw3NCw3NSw3Niw3Nyw2NSw2Niw2Nyw2OCw2Myw2NCwyMywyNCwyNSwyNiwzNCwzNSwyOSwzMCwzMSwzMiw0Nyw0OCw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4NyIsInBpZCI6MCwiaWRfbmFtZSI6IuiuuOe-pCJ9fQ.mYH-k_uKUDxysOiytBSRzOj4hWjKSxkTBVEpy4FnLe8` /** * @description 请求全局拦截 @@ -37,6 +41,27 @@ function ajax(ajaxData = {}) { if (ajaxData.transFormData) { ajaxData.data = { ...ajaxData.data, transFormData: true } } + // 新增逻辑 + if(ajaxData.data?.guard){ + if( window.queryRecord[ajaxData.url]?.ing ){ + message.destroy() + if(ajaxData.data.pn && ajaxData.data.pn != window.queryRecord[ajaxData.url].pn){ // 约定pn 作为分页器 页码的唯一变量名 + message.error('建议不要快速切换') + }else{ + message.error('请勿重复操作') + // 返回一个promise防止语法错误 + return new Promise((resolve, reject)=>{ + new Error(1) + }) + } + }else{ + if(ajaxData.data.pn){ + window.queryRecord[ajaxData.url] = {ing: true, pn: ajaxData.data.pn} + }else{ + window.queryRecord[ajaxData.url] = {ing: true} + } + } + } return new Promise((resolve, reject) => { if (!utils.isObject(ajaxData)) { return reject(new Error('ajax请求配置错误')) @@ -44,7 +69,6 @@ function ajax(ajaxData = {}) { let method = ajaxData.type || 'GET' method = method.toLowerCase() let url = ajaxData.mock && isDevelopment ? `/mock` + ajaxData.url : ajaxData.url - // let data = method === 'get' ? { params: ajaxData.data } : ajaxData.data let data = method === "get" || method === 'delete' @@ -53,17 +77,23 @@ function ajax(ajaxData = {}) { axios[method](url, data) .then(res => { + if(res?.config?.data && JSON.parse(res.config.data)?.guard){ + window.queryRecord[res.config.url].ing = false + } if (res.data.status === 30009 || res.data.status === 40006 || res.data.status === 40005 ) { removeToken() window.location.replace(sysConfig.logout_url) // window.location.replace("/#/login") message.error(res.data.message) reject(res) - } else { + } else { resolve(res.data) } }) .catch(err => { + if(err?.config?.data && JSON.parse(err.config.data)?.guard){ + window.queryRecord[err.config.url].ing = false + } let response = err.response if (response) { switch (response.status) { diff --git a/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx b/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx index c582393..2c14b72 100644 --- a/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx +++ b/src/pages/InRoadMgm/EquipmentOpe/faultReport/loadable.jsx @@ -92,6 +92,7 @@ function faultReport(props) { { title: '序号', render: (text, record, index) => index + 1, + width: 80, }, { title: '商户名称', @@ -109,6 +110,11 @@ function faultReport(props) { key: 'park_name', }, { + title: '泊位号', + dataIndex: 'berth_code', + key: 'berth_code', + }, + { title: '设备类型', dataIndex: 'fault_type_name', key: 'fault_type_name', @@ -119,9 +125,11 @@ function faultReport(props) { key: 'name', }, { - title: '故障原因', + title: '备注', dataIndex: 'reason', key: 'reason', + width: 200, + ellipsis: true }, { title: '上报时间', @@ -286,7 +294,7 @@ function faultReport(props) { ]} />
-