Просмотр исходного кода

refactor: 事项和审核资料清单模板

outaozhen 3 лет назад
Родитель
Сommit
c8c18180e3

+ 5 - 5
src/pages/Business/Inventory/hooks/useRowScript.tsx

@@ -144,7 +144,7 @@ export function useRowScript(modal: ModalAction) {
       cancelText: '取消',
       initialValues:
         mode === 'add'
-          ? { parentID: state.record?.ID, enable: '0', required: '1' }
+          ? { parentID: state.record?.ID, enable: 0, required: 1 }
           : {
               ...state.record,
               enable: Number(!!state.record?.enable),
@@ -163,8 +163,8 @@ export function useRowScript(modal: ModalAction) {
           <ProFormText name="name" label="名称" rules={[{ required: true, message: '请输入目录名称' }]} />
           <ProFormRadio.Group
             options={[
-              { label: '启用', value: '1' },
-              { label: '停用', value: '0' }
+              { label: '启用', value: 1 },
+              { label: '停用', value: 0 }
             ]}
             name="enable"
             label="状态"
@@ -172,8 +172,8 @@ export function useRowScript(modal: ModalAction) {
           />
           <ProFormRadio.Group
             options={[
-              { label: '是', value: '1' },
-              { label: '否', value: '0' }
+              { label: '是', value: 1 },
+              { label: '否', value: 0 }
             ]}
             name="required"
             label="是否必填"

+ 8 - 0
src/pages/Business/Inventory/index.less

@@ -0,0 +1,8 @@
+.modeBox {
+  span {
+    margin-left: 0.25rem;
+  }
+  span:first-child {
+    margin-left: 0;
+  }
+}

+ 3 - 2
src/pages/Business/Inventory/index.tsx

@@ -17,6 +17,7 @@ import {
 import LeftMenu from '../RuleCode/components/LeftMenu'
 import ProTable from '@ant-design/pro-table'
 import { useState } from 'react'
+import styles from './index.less'
 
 export enum TemplateMode {
   PAPER = 'paper',
@@ -93,14 +94,14 @@ const Inventory = () => {
       render: (mode: TemplateMode, record) => {
         if (record.folder) return null
         return (
-          <div>
+          <div className={styles.modeBox}>
             {mode.includes(TemplateMode.PAPER) ? (
               <span className="border border-hex-91d5ff text-blue bg-hex-e6f7ff rounded-1 px-1 text-sm">
                 纸质
               </span>
             ) : null}
             {mode.includes(TemplateMode.UPLOAD) ? (
-              <span className="border border-hex-9fede5 text-hex-13c2c2 bg-hex-e6fffb rounded-1 px-1 ml-2 text-sm">
+              <span className="border border-hex-9fede5 text-hex-13c2c2 bg-hex-e6fffb rounded-1 px-1 text-sm">
                 上传
               </span>
             ) : null}

+ 7 - 19
src/pages/Business/Matter/components/AssemblyDetail.tsx

@@ -15,22 +15,10 @@ export enum Assembly {
   DATAPROFILE = 'dataProfile' // 资料清单
 }
 
-export const assemblyToNameMap = {
-  [Assembly.FORM]: '表单',
-  [Assembly.COSTPROFILE]: '送审资料',
-  [Assembly.DATAPROFILE]: '造价文件'
-}
-
-export const assemblyToTypeMap = {
-  [Assembly.FORM]: '通用型',
-  [Assembly.COSTPROFILE]: '唯一型',
-  [Assembly.DATAPROFILE]: '唯一型'
-}
-
-export const assemblyToTitleMap = {
-  [Assembly.FORM]: '项目信息',
-  [Assembly.COSTPROFILE]: '送审资料',
-  [Assembly.DATAPROFILE]: '造价文件'
+export const assemblyToMap = {
+  [Assembly.FORM]: { name: '表单', type: '通用型', title: '项目信息' },
+  [Assembly.COSTPROFILE]: { name: '送审资料', type: '唯一型', title: '送审资料' },
+  [Assembly.DATAPROFILE]: { name: '造价文件', type: '唯一型', title: '造价文件' }
 }
 
 type AssemblyDetailProps = {
@@ -46,19 +34,19 @@ const AssemblyDetail: React.FC<AssemblyDetailProps> = ({ refresh, matterDetail }
       title: '组件名称',
       dataIndex: 'name',
       onHeaderCell: () => ({ style: { textAlign: 'center' } }),
-      renderText: name => <span>{assemblyToNameMap[name]}</span>
+      renderText: name => <span>{assemblyToMap[name]?.name}</span>
     },
     {
       title: '组件类型',
       dataIndex: 'type',
       align: 'center',
-      renderText: type => <Tag color="blue">{assemblyToTypeMap[type]}</Tag>
+      renderText: type => <Tag color="blue">{assemblyToMap[type]?.type}</Tag>
     },
     {
       title: '组件标题',
       dataIndex: 'title',
       onHeaderCell: () => ({ style: { textAlign: 'center' } }),
-      renderText: title => <span>{assemblyToTitleMap[title]}</span>
+      renderText: title => <span>{assemblyToMap[title]?.title}</span>
     },
     {
       title: '操作',

+ 2 - 2
src/pages/Business/Matter/index.tsx

@@ -6,7 +6,7 @@ import { ColumnsType } from 'antd/lib/table'
 import { useState } from 'react'
 import useDrawer from '@/components/Drawer'
 import LeftMenu from '../RuleCode/components/LeftMenu'
-import AssemblyDetail, { assemblyToNameMap } from './components/AssemblyDetail'
+import AssemblyDetail, { assemblyToMap } from './components/AssemblyDetail'
 import { MatterType, useRowScript } from './hooks/useRowScript'
 import { connect } from '@umijs/max'
 
@@ -87,7 +87,7 @@ const Matter: React.FC = ({ dispatch }) => {
       dataIndex: 'assemblyName',
       onHeaderCell: () => ({ style: { textAlign: 'center' } }),
       render: (assembly, record) =>
-        record?.assembly?.map(item => <Tag key={item}>{assemblyToNameMap[item]}</Tag>)
+        record?.assembly?.map(item => <Tag key={item}>{assemblyToMap[item]?.name}</Tag>)
     },
     {
       title: '操作',