瀏覽代碼

fix: 标段权限默认管理员不做任何限制

lanjianrong 4 年之前
父節點
當前提交
eade99aa97

+ 8 - 6
src/components/MoneyInput/index.tsx

@@ -1,5 +1,5 @@
-import { Form } from 'antd'
-import Input, { InputProps } from 'antd/lib/input'
+import Input from 'antd/lib/input'
+import BigNumber from 'bignumber.js'
 import React, { ChangeEvent, useState, useEffect } from 'react'
 import './index.scss'
 
@@ -53,10 +53,12 @@ const MoneyInput: React.FC<MoneyInputProps> = (props) => {
   const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
     const val = e.target.value?.match(/^(\d*)\.?(\d{0,2})/)
 
-    const newInputVal = val && val[0] || ''
-
+    let newInputVal = val && val[0] || ''
 
     if (newInputVal) {
+      newInputVal = new BigNumber(newInputVal).toString()
+    }
+    if (newInputVal) {
       // newInputVal = parseFloat(newInputVal).toString()
       // if (maxPrice && parseFloat(newInputVal) > maxPrice) {
       //   newInputVal = maxPrice.toString()
@@ -67,7 +69,7 @@ const MoneyInput: React.FC<MoneyInputProps> = (props) => {
 
       //   newInputVal = minPrice.toString()
       // }
-      const len = val && parseFloat(val[1]) && parseFloat(val[1]).toString().length || null
+      const len = val && val[1] && new BigNumber(val[1]).toString().length || null
 
       if (len && len > 12) {
         return
@@ -89,7 +91,7 @@ const MoneyInput: React.FC<MoneyInputProps> = (props) => {
     <div className='ant-input ant-input-sm'>
       <div className="pi-flex-row">
         <span className="pi-fz-14 pi-mg-right-5">¥</span>
-        <Input bordered={false} value={inputVal || value} size="small" onChange={handleChange} autoComplete="off" />
+        <Input bordered={false} value={inputVal || (value && new BigNumber(value).toString())} size="small" onChange={handleChange} autoComplete="off" />
       </div>
       {
         digit ?

+ 3 - 3
src/pages/Contract/Content/Summary/components/Content/index.tsx

@@ -67,12 +67,12 @@ const Content: React.FC<iContentProps> = ({ data, type }) => {
 
   const dualAxesConfig: DualAxesConfig = {
     data: [ data.returnDate, data.returnDate ],
-    // padding: 'auto',
+    padding: 'auto',
     xField: 'month',
     yField: [ 'value', 'count' ],
-    slider: {},
+    // slider: {},
     limitInPlot: false,
-    padding: [ 20, 20, 60, 30 ],
+    // padding: [ 20, 20, 60, 30 ],
     meta: {
       month: {
         sync: false

+ 3 - 0
src/store/mobx/user/index.ts

@@ -42,6 +42,9 @@ class UserState {
   @computed get role() {
     return this.userInfo.isAdmin ? 'ADMIN' : 'USER'
   }
+  @computed get isAdmin() {
+    return this.userInfo.isAdmin
+  }
 
   @computed get projectName() {
     return this.projectInfo.name

+ 4 - 1
src/utils/common/request.ts

@@ -62,7 +62,7 @@ service.interceptors.response.use(
     removePending(response.config)
     const data: ResponseData = response.data
     // 对Code不等于Success进行message提示
-    if (data.code !== consts.RET_CODE.SUCCESS) {
+    if (data && data.code !== consts.RET_CODE.SUCCESS) {
       message.error(data.msg)
       if (consts.TOKEN_INVALID_CODE.includes(data.code)) {
         userStore.logout()
@@ -115,5 +115,8 @@ export default {
   },
   del(url: string, data?: any) {
     return service.delete(url, { params: data })
+  },
+  uploadFile(url: string, formData: FormData, config?: AxiosRequestConfig) {
+    return service.post(url, formData, config)
   }
 }

+ 2 - 2
src/utils/util.ts

@@ -1,4 +1,4 @@
-import { tenderStore } from '@/store/mobx'
+import { tenderStore, userStore } from '@/store/mobx'
 import { apiAutoCode } from './common/api'
 import { message } from 'antd'
 import dayjs from 'dayjs'
@@ -217,7 +217,7 @@ const formatMoney = (num: string | number | undefined | BigNumber.Value) => {
 const handleIntoBidsection = async (permission_type: 'contract' | 'safe' | 'quality', bid: string, name: string) => {
   await tenderStore.saveTenderPermission()
   const permission = tenderStore.permission && !!tenderStore.permission[permission_type].access
-  if (permission) {
+  if (permission || userStore.isAdmin) {
     history.push(`/console/${permission_type}/content/summary`, { id: bid, name })
   } else {
     message.error('暂无权限进入此标段,请联系管理员')