Parcourir la source

style: 增加request前置的prefix配置

lanjianrong il y a 5 ans
Parent
commit
32cef2e81b

+ 3 - 8
src/basic/utils/request.js

@@ -50,7 +50,6 @@ const errorHandler = error => {
   return response
 }
 
-
 /**
  * 配置request请求时的默认参数
  */
@@ -58,10 +57,10 @@ const errorHandler = error => {
 const request = extend({
   errorHandler,
   // 默认错误处理
-  credentials: 'include' // 默认请求是否带上cookie
+  credentials: 'include', // 默认请求是否带上cookie
+  prefix: consts.PREFIX_URL
 })
 
-
 /**
  * 获取token令牌
  */
@@ -95,11 +94,7 @@ const refreshTokenIfNeed = async (response, config) => {
     return response
   }
 
-  if (
-    res &&
-    res.code &&
-    consts.TOKEN_INVALID_CODE.includes(res.code)
-  ) {
+  if (res && res.code && consts.TOKEN_INVALID_CODE.includes(res.code)) {
     const account = getUserAccount()
     if (!account || !currentTokenRetry) {
       redirectToLogin()

+ 2 - 1
src/consts.js

@@ -6,5 +6,6 @@ export default {
   // 自定义变量
   PAGE_SIZE: 20, // 分页条数
   MAX_PAGE_SIZE: 215000,
-  ENCRYPTION_ZERO: 'McAlO0O0OdO0O0Oi'
+  ENCRYPTION_ZERO: 'McAlO0O0OdO0O0Oi',
+  PREFIX_URL: '/api'
 }

+ 48 - 0
src/models/staff.js

@@ -0,0 +1,48 @@
+/**
+ * 人资模块
+ */
+
+import consts from '@/consts'
+import { getDepartMentList } from '@/services/department'
+
+const StaffModel = {
+  namespace: 'staff',
+  state: {
+    departments: [],
+    departmentsMap: {}
+  },
+  effects: {
+    *fetchDepartments({ payload }, { call, put }) {
+      const response = yield call(getDepartMentList, payload)
+      if (response?.code === consts.RET_CODE.SUCCESS) {
+        yield put({
+          type: 'changState',
+          payload: {
+            key: 'departments',
+            value: response?.data || []
+          }
+        })
+        yield put({
+          type: 'changState',
+          payload: {
+            key: 'departmentsMap',
+            value: (response?.data || []).reduce((prev, curr) => {
+              return { ...prev, [curr.id]: { text: curr.name } }
+            }, {})
+          }
+        })
+      }
+    }
+  },
+  reducers: {
+    // 通用的reducer
+    changState(state, action) {
+      return {
+        ...state,
+        [action.payload.key]: action.payload.value
+      }
+    }
+  }
+}
+
+export default StaffModel

+ 1 - 1
src/models/user.js

@@ -17,7 +17,7 @@ const UserModel = {
 
     *fetchCurrent(_, { call, put }) {
       const response = yield call(apiCurrent)
-      if (response && response.code === consts.RET_CODE.SUCCESS) {
+      if (response?.code === consts.RET_CODE.SUCCESS) {
         yield put({
           type: 'saveCurrentUser',
           payload: response.data

+ 1 - 1
src/pages/Customer/Company/components/CompanyDetail/CompanyForm.jsx

@@ -80,7 +80,7 @@ const CompanyForm = props => {
       <EditableForm
         dataSource={customer}
         columns={columns}
-        tartgetUrl="/api/customer/update"
+        tartgetUrl="/customer/update"
         type="company"
       />
     </div>

+ 5 - 4
src/pages/Customer/Company/components/CompanyDetail/CompanyTabList.jsx

@@ -6,16 +6,17 @@ import { apiAddClient } from '@/services/contact'
 import { formatValues } from '@/components/LazyCascader'
 import consts from '@/consts'
 import ProTable from '@ant-design/pro-table'
-import { queryContact } from '@/services/contact'
-// import { useScroll } from '_ahooks@2.10.2@ahooks'
+// import { queryContact } from '@/services/contact'
 
-const CompanyTabList = ({ initData, customerId, client, software }) => {
+const CompanyTabList = ({ initData, customerId, client, software, departmentsMap }) => {
   const { TabPane } = Tabs
   const tRef = useRef(null)
   const columns = [
     {
       title: '所有部门',
-      dataIndex: 'department'
+      dataIndex: 'department',
+      filters: true,
+      valueEnum: departmentsMap
     },
     {
       title: '姓名',

+ 19 - 3
src/pages/Customer/Company/components/CompanyDetail/index.jsx

@@ -10,7 +10,15 @@ import { IconPark } from '@/components/SvgIcon'
 import { FlipOverEnum, useFlipOver } from '@/hooks/web/useFlipOver'
 
 const Index = props => {
-  const { dispatch, shouldUpdate, visible, id = '', orderIds = [] } = props
+  const {
+    dispatch,
+    shouldUpdate,
+    visible,
+    id = '',
+    orderIds = [],
+    departments = [],
+    departmentsMap = {}
+  } = props
   const [state, setState] = useState({
     loading: false,
     customer: {},
@@ -40,6 +48,11 @@ const Index = props => {
   }, [shouldUpdate])
   useEffect(() => {
     visible && initData(id)
+    if (!departments.length) {
+      dispatch({
+        type: 'staff/fetchDepartments'
+      })
+    }
   }, [visible])
   return (
     <Spin spinning={state.loading}>
@@ -81,6 +94,7 @@ const Index = props => {
               customerId={flipConsts.curId}
               software={state.software}
               client={state.client}
+              departmentsMap={departmentsMap}
             />
             <CompanyLowerList log={state.log} />
           </Col>
@@ -91,7 +105,9 @@ const Index = props => {
 }
 
 // export default index
-export default connect(({ refresh, single }) => ({
+export default connect(({ refresh, single, staff }) => ({
   shouldUpdate: refresh.company,
-  visible: single.drawer.visible
+  visible: single.drawer.visible,
+  departments: staff.departments,
+  departmentsMap: staff.departmentsMap
 }))(Index)

+ 1 - 1
src/pages/Customer/Contact/components/ContactDetail/ContanctForm.jsx

@@ -142,7 +142,7 @@ const ContanctForm = props => {
       <EditableForm
         dataSource={client}
         columns={columns}
-        tartgetUrl="/api/client/update"
+        tartgetUrl="/client/update"
         type="contact"
       />
     </div>

+ 3 - 3
src/services/company.js

@@ -5,7 +5,7 @@ import request from '@/basic/utils/request'
  * @param {*} payload 载荷
  */
 export async function queryCompany(params) {
-  const data = await request.post('/api/customer/list', {
+  const data = await request.post('/customer/list', {
     data: { current: 1, ...params }
   })
   return data
@@ -17,7 +17,7 @@ export async function queryCompany(params) {
  */
 export async function apiCompanyDetail(id) {
   const params = { id }
-  const data = await request('/api/customer/detail', { params })
+  const data = await request('/customer/detail', { params })
   return data
 }
 
@@ -26,6 +26,6 @@ export async function apiCompanyDetail(id) {
  * @param {string} data
  */
 export async function apiAddCompany(payload) {
-  const data = await request.post('/api/customer/add', { data: payload })
+  const data = await request.post('/customer/add', { data: payload })
   return data
 }

+ 7 - 7
src/services/contact.js

@@ -5,7 +5,7 @@ import request from '@/basic/utils/request'
  * @param {*} payload 载荷
  */
 export async function queryContact(payload) {
-  const data = await request.post('/api/client/list', {
+  const data = await request.post('/client/list', {
     data: payload
   })
   return data
@@ -17,7 +17,7 @@ export async function queryContact(payload) {
  */
 export async function apiContactDetail(id) {
   const params = { id }
-  const data = await request('/api/client/detail', { params })
+  const data = await request('/client/detail', { params })
   return data
 }
 
@@ -26,7 +26,7 @@ export async function apiContactDetail(id) {
  * @param {*} payload 载荷
  */
 export async function apiAddClient(payload) {
-  const data = await request.post('/api/client/add', { data: { ...payload } })
+  const data = await request.post('/client/add', { data: { ...payload } })
   return data
 }
 
@@ -35,7 +35,7 @@ export async function apiAddClient(payload) {
  * @param {*} payload 载荷
  */
 export async function apiAddService(payload) {
-  const data = await request.post('/api/serviceLog/add', { data: { ...payload } })
+  const data = await request.post('/serviceLog/add', { data: { ...payload } })
   return data
 }
 
@@ -45,7 +45,7 @@ export async function apiAddService(payload) {
  * @returns
  */
 export async function apiChangeCustomer(payload) {
-  const data = await request.post('/api/client/change/customer', { data: { ...payload } })
+  const data = await request.post('/client/change/customer', { data: { ...payload } })
   return data
 }
 
@@ -55,7 +55,7 @@ export async function apiChangeCustomer(payload) {
  * @returns
  */
 export async function apiDelCustomer(payload) {
-  const data = await request.post('/api/client/customer/delete', { data: { ...payload } })
+  const data = await request.post('/client/customer/delete', { data: { ...payload } })
   return data
 }
 
@@ -64,6 +64,6 @@ export async function apiDelCustomer(payload) {
  * @returns
  */
 export async function queryNatures() {
-  const data = await request('/api/customer/nature')
+  const data = await request('/customer/nature')
   return data
 }

+ 7 - 7
src/services/customer.js

@@ -6,7 +6,7 @@ import request from '@/basic/utils/request'
  * @returns 结果集
  */
 export async function queryCustomers(payload) {
-  const data = await request.post('/api/customer/list', {
+  const data = await request.post('/customer/list', {
     data: payload
   })
   return data
@@ -18,7 +18,7 @@ export async function queryCustomers(payload) {
  * @returns
  */
 export async function createCustomer(payload) {
-  const data = await request.post('/api/customer/add', {
+  const data = await request.post('/customer/add', {
     data: { ...payload }
   })
   return data
@@ -29,7 +29,7 @@ export async function createCustomer(payload) {
  * @param {*} params
  */
 export async function queryTagList(params) {
-  const data = await request('/api/tag/list', { params })
+  const data = await request('/tag/list', { params })
   return data
 }
 
@@ -40,9 +40,9 @@ export async function queryTagList(params) {
  * @returns
  */
 export async function apiConnOrDelTag({ type, payload }) {
-  let url = '/api/tag/link/delete'
+  let url = '/tag/link/delete'
   if (type) {
-    url = '/api/tag/link'
+    url = '/tag/link'
   }
   const data = await request.post(url, { data: payload })
   return data
@@ -54,7 +54,7 @@ export async function apiConnOrDelTag({ type, payload }) {
  * @returns
  */
 export async function apiUpdateTag(payload) {
-  const data = await request.post('/api/tag/update', { data: payload })
+  const data = await request.post('/tag/update', { data: payload })
   return data
 }
 
@@ -64,6 +64,6 @@ export async function apiUpdateTag(payload) {
  * @returns
  */
 export async function apiBatchLink(payload) {
-  const data = await request.post('/api/tag/batch/link', { data: payload })
+  const data = await request.post('/tag/batch/link', { data: payload })
   return data
 }

+ 24 - 0
src/services/department.js

@@ -0,0 +1,24 @@
+import request from '@/basic/utils/request'
+
+/**
+ * @description 获取部门列表
+ */
+export function getDepartMentList(parentId) {
+  return request('/department/list', {
+    params: { parentId }
+  })
+}
+
+/**
+ * @description 新增部门
+ */
+export function addDepartment(payload) {
+  return request.post('/department/add', { data: payload })
+}
+
+/**
+ * @description 删除部门
+ */
+export function delDepartment(id) {
+  return request.post('/department/del', { data: { id } })
+}

+ 4 - 4
src/services/district.js

@@ -1,8 +1,8 @@
 import request from '@/basic/utils/request'
 
 export async function queryDistrict(payload) {
-    const data = await request('/api/district', {
-        params: { ...payload }
-    })
-    return data
+  const data = await request('/district', {
+    params: { ...payload }
+  })
+  return data
 }

+ 3 - 3
src/services/lock.js

@@ -7,7 +7,7 @@ import consts from '@/consts'
  */
 export async function queryLock(payload) {
   const params = { page: 1, size: consts.PAGE_SIZE, ...payload }
-  const data = await request('/api/software/list', {
+  const data = await request('/software/list', {
     params: { ...params }
   })
   return data
@@ -19,7 +19,7 @@ export async function queryLock(payload) {
  */
 export async function apiSoftwareDetail(id) {
   const params = { id }
-  const data = await request('/api/software/detail', { params })
+  const data = await request('/software/detail', { params })
   return data
 }
 
@@ -28,6 +28,6 @@ export async function apiSoftwareDetail(id) {
  * @param {string} id 软件锁记录id
  */
 export async function apiSoftwareAddLonglelog(payload) {
-  const data = await request.post('/api/software/add/longlelog', { data: payload })
+  const data = await request.post('/software/add/longlelog', { data: payload })
   return data
 }

+ 1 - 1
src/services/login.js

@@ -5,6 +5,6 @@ import request from '@/basic/utils/request'
  * @param {*} params 登录所需参数
  */
 export async function apiLogin(params) {
-  const data = await request.post('/api/login', { data: params })
+  const data = await request.post('/login', { data: params })
   return data
 }

+ 5 - 5
src/services/user.js

@@ -1,17 +1,17 @@
 import request from '@/basic/utils/request'
 
-export async function query() {
-  return request('/api/users')
+export function query() {
+  return request('/users')
 }
 
 /**
  * 获取当前用户信息
  */
 export async function apiCurrent() {
-  const data = await request.get('/api/login/staff')
+  const data = await request.get('/login/staff')
   return data
 }
 
-export async function queryNotices() {
-  return request('/api/notices')
+export function queryNotices() {
+  return request('/notices')
 }