Преглед изворни кода

Merge branch 'dev' of http://192.168.1.41:3000/outaozhen/cldV2react into dev

outaozhen пре 4 година
родитељ
комит
484acc068a

+ 2 - 0
config/config.js

@@ -86,6 +86,8 @@ export default defineConfig({
   ],
   ],
   chainWebpack(config, { env }) {
   chainWebpack(config, { env }) {
     config.plugin('windicss').use('windicss-webpack-plugin')
     config.plugin('windicss').use('windicss-webpack-plugin')
+    config.plugin('moment2dayjs').use('antd-dayjs-webpack-plugin')
+
     if (env === 'production') {
     if (env === 'production') {
       config.merge({
       config.merge({
         optimization: {
         optimization: {

+ 0 - 1
package.json

@@ -92,7 +92,6 @@
     "@types/react-dom": "^16.8.4",
     "@types/react-dom": "^16.8.4",
     "@types/react-helmet": "^6.1.0",
     "@types/react-helmet": "^6.1.0",
     "@umijs/fabric": "^2.11.1",
     "@umijs/fabric": "^2.11.1",
-    "@umijs/plugin-antd-dayjs": "^0.3.0",
     "@umijs/plugin-blocks": "^2.0.5",
     "@umijs/plugin-blocks": "^2.0.5",
     "@umijs/plugin-esbuild": "^1.4.1",
     "@umijs/plugin-esbuild": "^1.4.1",
     "@umijs/preset-ant-design-pro": "^1.2.0",
     "@umijs/preset-ant-design-pro": "^1.2.0",

+ 7 - 10
src/components/Table/src/BasicTable.tsx

@@ -163,16 +163,13 @@ const BasicTable: {
     [request]
     [request]
   )
   )
 
 
-  const _onLoad = useCallback(
-    _dataSource => {
-      onLoad?.(_dataSource)
-      // TODO: 使用[request]api才对dataSource进行赋值, 规避掉手动设置[dataSource] api 自适应高度失效
-      if (!isUnDef(request)) {
-        setState({ ...state, dataSource: _dataSource })
-      }
-    },
-    [onLoad]
-  )
+  const _onLoad = _dataSource => {
+    onLoad?.(_dataSource)
+    // TODO: 使用[request]api才对dataSource进行赋值, 规避掉手动设置[dataSource] api 自适应高度失效
+    if (!isUnDef(request)) {
+      setState({ ...state, dataSource: _dataSource })
+    }
+  }
 
 
   return (
   return (
     <React.StrictMode>
     <React.StrictMode>

+ 6 - 0
src/pages/Hr/Contacts/index.tsx

@@ -128,6 +128,12 @@ const Contacts: React.FC<ContactsProps> = props => {
       search: false,
       search: false,
       width: 100
       width: 100
     },
     },
+    // {
+    //   title: '生日',
+    //   dataIndex: 'birthday',
+    //   search: false,
+    //   width: 150
+    // },
     {
     {
       title: '入职时间',
       title: '入职时间',
       dataIndex: 'hiredate',
       dataIndex: 'hiredate',

+ 57 - 48
src/pages/Product/Cloud/components/Detail/index.jsx

@@ -1,7 +1,7 @@
 import React, { useState, useEffect } from 'react'
 import React, { useState, useEffect } from 'react'
 import { Row, Col, Button, Tooltip, Spin, Modal, Drawer } from 'antd'
 import { Row, Col, Button, Tooltip, Spin, Modal, Drawer } from 'antd'
 import { LinkOne, LinkInterrupt } from '@icon-park/react'
 import { LinkOne, LinkInterrupt } from '@icon-park/react'
-import { connect } from 'umi'
+import { connect, useModel } from 'umi'
 import consts from '@/consts'
 import consts from '@/consts'
 import Form from './Form'
 import Form from './Form'
 import ClientDetail from '@/pages/Customer/Client/components/ClientDetail/Form'
 import ClientDetail from '@/pages/Customer/Client/components/ClientDetail/Form'
@@ -10,9 +10,13 @@ import TabList from './TabList'
 import { apiRoadpricingDetail, apiRoadPricingUnLinkClient } from '@/services/product'
 import { apiRoadpricingDetail, apiRoadPricingUnLinkClient } from '@/services/product'
 import { useModal } from '@/components/ModalStore'
 import { useModal } from '@/components/ModalStore'
 import CardClientDetail from '../CardDetail'
 import CardClientDetail from '../CardDetail'
+import { WaterMark } from '@ant-design/pro-layout'
 
 
 const CloudDetail = props => {
 const CloudDetail = props => {
   const { dispatch, updateKey = 'cloud', refresh, visible, dataId, projectType, ...resetDrawerProps } = props
   const { dispatch, updateKey = 'cloud', refresh, visible, dataId, projectType, ...resetDrawerProps } = props
+  const {
+    initialState: { currentUser }
+  } = useModel('@@initialState')
   const dispatchModal = useModal()
   const dispatchModal = useModal()
   const shouldUpdate = refresh?.[dataId ?? updateKey] || false
   const shouldUpdate = refresh?.[dataId ?? updateKey] || false
   const refreshDetail = () => {
   const refreshDetail = () => {
@@ -91,56 +95,61 @@ const CloudDetail = props => {
       className="zh-drawer"
       className="zh-drawer"
       getContainer={() => document.getElementById('root')}>
       getContainer={() => document.getElementById('root')}>
       <Spin spinning={state.loading}>
       <Spin spinning={state.loading}>
-        <div className="sheet-box">
-          <Row>
-            <Col span={9} className="sheet-box-left">
-              <div className="sheet-left-panel pr-4">
-                <Form
-                  cloudUser={state.cloudUser}
+        <WaterMark
+          fontColor="rgba(0,0,0,.1)"
+          offsetTop={200}
+          content={`${currentUser.username}  ${currentUser.telephone.slice(-4)}`}>
+          <div className="sheet-box">
+            <Row>
+              <Col span={9} className="sheet-box-left">
+                <div className="sheet-left-panel pr-4">
+                  <Form
+                    cloudUser={state.cloudUser}
+                    actionPayload={{ main: updateKey, target: dataId }}
+                    projectType={projectType}
+                  />
+                  {state.cloudUser.cld?.clientId ? (
+                    <>
+                      <div className="mt-4">
+                        <CardClientDetail client={state.client} />
+                        {/* <ClientDetail client={state.client} filterTag={true} updateKey={updateKey} /> */}
+                      </div>
+                      <div className="text-center mt-6">
+                        <Tooltip placement="right" title="移除CLD客户">
+                          <Button
+                            type="primary"
+                            ghost
+                            size="small"
+                            onClick={() => pricingUnLinkClient(state.cloudUser.cld?.clientId)}>
+                            <LinkInterrupt size="14" />
+                            <span className="ml-5px">移除CLD客户</span>
+                          </Button>
+                        </Tooltip>
+                      </div>
+                    </>
+                  ) : (
+                    <div className="text-center mt-6">
+                      <Button type="primary" ghost size="small" onClick={handleConnectClient}>
+                        <LinkOne size="14" />
+                        <span className="ml-5px">关联CLD客户</span>
+                      </Button>
+                    </div>
+                  )}
+                </div>
+              </Col>
+              <Col span={15} flex={{ flexDirection: 'column' }} className="sheet-box-right">
+                <TabList
                   actionPayload={{ main: updateKey, target: dataId }}
                   actionPayload={{ main: updateKey, target: dataId }}
+                  compilationList={state.compilationList}
+                  cloudUser={state.cloudUser}
                   projectType={projectType}
                   projectType={projectType}
+                  ssoId={state.cloudUser.ssoId}
                 />
                 />
-                {state.cloudUser.cld?.clientId ? (
-                  <>
-                    <div className="mt-4">
-                      <CardClientDetail client={state.client} />
-                      {/* <ClientDetail client={state.client} filterTag={true} updateKey={updateKey} /> */}
-                    </div>
-                    <div className="text-center mt-6">
-                      <Tooltip placement="right" title="移除CLD客户">
-                        <Button
-                          type="primary"
-                          ghost
-                          size="small"
-                          onClick={() => pricingUnLinkClient(state.cloudUser.cld?.clientId)}>
-                          <LinkInterrupt size="14" />
-                          <span className="ml-5px">移除CLD客户</span>
-                        </Button>
-                      </Tooltip>
-                    </div>
-                  </>
-                ) : (
-                  <div className="text-center mt-6">
-                    <Button type="primary" ghost size="small" onClick={handleConnectClient}>
-                      <LinkOne size="14" />
-                      <span className="ml-5px">关联CLD客户</span>
-                    </Button>
-                  </div>
-                )}
-              </div>
-            </Col>
-            <Col span={15} flex={{ flexDirection: 'column' }} className="sheet-box-right">
-              <TabList
-                actionPayload={{ main: updateKey, target: dataId }}
-                compilationList={state.compilationList}
-                cloudUser={state.cloudUser}
-                projectType={projectType}
-                ssoId={state.cloudUser.ssoId}
-              />
-              <LowerList log={state.log} serviceLog={state.serviceLog} />
-            </Col>
-          </Row>
-        </div>
+                <LowerList log={state.log} serviceLog={state.serviceLog} />
+              </Col>
+            </Row>
+          </div>
+        </WaterMark>
       </Spin>
       </Spin>
     </Drawer>
     </Drawer>
   )
   )

+ 8 - 9
src/pages/Product/Lock/LockStore/components/LockDetail/TabList.tsx

@@ -165,7 +165,7 @@ const LockTabList: React.FC<LockTabListProps> = ({
                     {item.status !== 6 ? <>{item.client}</> : null}
                     {item.status !== 6 ? <>{item.client}</> : null}
                   </span>
                   </span>
                 </div>
                 </div>
-                <div className="text-black text-opacity-40">{dayjsFormat(item.createTime, 'HH:mm:ss')}</div>
+                <div className="text-black text-opacity-40">{dayjsFormat(item.dateline, 'HH:mm:ss')}</div>
               </div>
               </div>
             </div>
             </div>
           </div>
           </div>
@@ -180,7 +180,7 @@ const LockTabList: React.FC<LockTabListProps> = ({
               <span className="text-black text-opacity-60">服务内容:</span>
               <span className="text-black text-opacity-60">服务内容:</span>
               {renderLongleCon(item)}
               {renderLongleCon(item)}
               <div>
               <div>
-                {hasAddPerm && item.status === 8 && item.isOperation ? (
+                {item.status === 8 && item.isOperation ? (
                   <span className="mr-2">
                   <span className="mr-2">
                     <Button
                     <Button
                       className="mt-2"
                       className="mt-2"
@@ -192,12 +192,11 @@ const LockTabList: React.FC<LockTabListProps> = ({
                     </Button>
                     </Button>
                   </span>
                   </span>
                 ) : null}
                 ) : null}
-                {hasAddPerm &&
-                (item.status === 3 ||
-                  item.status === 4 ||
-                  item.status === 5 ||
-                  item.status === 9 ||
-                  (item.status === 8 && item.isOperation)) ? (
+                {item.status === 3 ||
+                item.status === 4 ||
+                item.status === 5 ||
+                item.status === 9 ||
+                (item.status === 8 && item.isOperation) ? (
                   <Popconfirm
                   <Popconfirm
                     title="确认删除"
                     title="确认删除"
                     onConfirm={() => delLonglelog(item.id)}
                     onConfirm={() => delLonglelog(item.id)}
@@ -227,7 +226,7 @@ const LockTabList: React.FC<LockTabListProps> = ({
               <TimeLineList<API.ServiceLogItem>
               <TimeLineList<API.ServiceLogItem>
                 rowkey="id"
                 rowkey="id"
                 mode="line"
                 mode="line"
-                dataField="createTime"
+                dataField="dateline"
                 dataSource={longleLog}
                 dataSource={longleLog}
                 renderItem={item => renderServiceLogItem(item)}
                 renderItem={item => renderServiceLogItem(item)}
               />
               />