Ver código fonte

update style & add digitUppercase util

ddcat1115 8 anos atrás
pai
commit
9c0b6752d3

+ 7 - 2
src/routes/Forms/AdvancedForm.js

@@ -222,12 +222,17 @@ function AdvancedForm({ form, dispatch, submitting }) {
                 )}
               </Form.Item>
             </Col>
-            <Col xl={{ span: 6, offset: 2 }} lg={{ span: 8 }} md={{ span: 12 }} sm={24}>
+            <Col id="timepicker-container" xl={{ span: 6, offset: 2 }} lg={{ span: 8 }} md={{ span: 12 }} sm={24}>
               <Form.Item label={fieldLabels.dateRange2}>
                 {getFieldDecorator('dateRange2', {
                   rules: [{ required: true, message: '请输入' }],
                 })(
-                  <TimePicker placeholder="提醒时间" style={{ width: '100%' }} />
+                  <TimePicker
+                    popupClassName={styles.popup}
+                    placeholder="提醒时间"
+                    style={{ width: '100%' }}
+                    getPopupContainer={() => document.getElementById('timepicker-container')}
+                  />
                 )}
               </Form.Item>
             </Col>

+ 3 - 1
src/routes/Forms/StepForm/Step2.js

@@ -1,6 +1,7 @@
 import React from 'react';
 import { Form, Input, Button, Alert, Divider } from 'antd';
 import { routerRedux } from 'dva/router';
+import { digitUppercase } from '../../../utils/utils';
 import styles from './style.less';
 
 export default ({ formItemLayout, form, data, dispatch, submitting }) => {
@@ -56,7 +57,8 @@ export default ({ formItemLayout, form, data, dispatch, submitting }) => {
         className={styles.stepFormText}
         label="转账金额"
       >
-        <span className={styles.money}>{data.amount}</span> 元
+        <span className={styles.money}>{data.amount}</span>
+        <span className={styles.uppercase}>({digitUppercase(data.amount)})</span>
       </Form.Item>
       <Divider style={{ margin: '24px 0' }} />
       <Form.Item

+ 5 - 0
src/routes/Forms/StepForm/style.less

@@ -64,7 +64,12 @@
 }
 
 .money {
+  font-family: Helvetica Neue;
   font-weight: 500;
   font-size: 20px;
   line-height: 14px;
 }
+
+.uppercase {
+  font-size: 12px;
+}

+ 1 - 1
src/routes/Forms/TableForm.js

@@ -213,7 +213,7 @@ export default class TableForm extends PureComponent {
           }}
         />
         <Button
-          style={{ width: '100%', marginTop: 24 }}
+          style={{ width: '100%', marginTop: 16, marginBottom: 8 }}
           type="dashed"
           onClick={this.newMember}
           icon="plus"

+ 9 - 0
src/routes/Forms/style.less

@@ -88,3 +88,12 @@
   color: @text-color-secondary;
   font-style: normal;
 }
+
+.popup {
+  width: ~"calc(100% - 16px)";
+  :global {
+    .ant-time-picker-panel-select {
+      width: 33.33%;
+    }
+  }
+}

+ 26 - 0
src/utils/utils.js

@@ -79,3 +79,29 @@ export function getRouteData(path) {
   const nodeList = getPlainNode(dataList.children);
   return nodeList;
 }
+
+export function digitUppercase(n) {
+  const fraction = ['角', '分'];
+  const digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
+  const unit = [
+    ['元', '万', '亿'],
+    ['', '拾', '佰', '仟'],
+  ];
+  let num = Math.abs(n);
+  let s = '';
+  fraction.forEach((item, index) => {
+    s += (digit[Math.floor(num * 10 * (10 ** index)) % 10] + item).replace(/零./, '');
+  });
+  s = s || '整';
+  num = Math.floor(num);
+  for (let i = 0; i < unit[0].length && num > 0; i += 1) {
+    let p = '';
+    for (let j = 0; j < unit[1].length && num > 0; j += 1) {
+      p = digit[num % 10] + unit[1][j] + p;
+      num = Math.floor(num / 10);
+    }
+    s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
+  }
+
+  return s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');
+}