Эх сурвалжийг харах

Merge branch 'develop' of xujunjie/BomWeb into master

xujunjie 2 жил өмнө
parent
commit
4f2022a6c0

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
public/Luckysheet/luckysheet.umd.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
public/Luckysheet/luckysheet.umd.js.map


+ 13 - 0
src/pages/Detail/Index.js

@@ -34,6 +34,7 @@ import PreviewFile from '@/components/PreviewFile';
 import FormAndFilesNode from './FormAndFilesNode';
 import DropdownMenu from './DropdownMenu';
 import CurrentInfo from './CurrentInfo';
+import moment from 'moment';
 const LocalData = localStorage.luckysheet;
 
 function Detail(props) {
@@ -71,6 +72,7 @@ function Detail(props) {
     diff: 0,
     add: 0,
   });
+  const [saveTime, setSaveTime] = useState();
   const [exportDate, setExportData] = useState([]);
   const sheetRef = useRef();
   const sheetRef2 = useRef();
@@ -233,9 +235,13 @@ function Detail(props) {
       ...version,
       data: JSON.stringify(sheets),
     };
+
     dispatch({
       type: 'detail/saveSheet',
       payload: params,
+      callback: () => {
+        setSaveTime(moment().format('HH:mm:ss'));
+      },
     });
   };
 
@@ -367,6 +373,7 @@ function Detail(props) {
       localStorage.excelId = id;
     }
     setVersion(version);
+    setSaveTime(null);
     //请求历史版本
     dispatch({
       type: 'detail/queryVersionsTree',
@@ -493,6 +500,12 @@ function Detail(props) {
           <CurrentInfo version={version} flowDetail={flowDetail} />
         </div>
         <div className={styles.btns}>
+          {saveTime && <span style={{ color: '#333', fontSize: 14 }}>上次保存时间 {saveTime}</span>}
+          {version.audit_status === 0 && (
+            <Button type="primary" loading={loading.effects['detail/saveSheet']} onClick={onUpdate}>
+              保存
+            </Button>
+          )}
           <Button
             type="primary"
             style={{ marginRight: 20 }}

+ 9 - 3
src/pages/Detail/LuckySheet.js

@@ -98,11 +98,12 @@ class LuckySheet extends React.Component {
               _this.currentSheetIndex = operate.sheetIndex;
               return;
             }
+            // 延迟1秒
             clearTimeout(_this.updateTimer);
             _this.updateTimer = setTimeout(() => {
               onUpdate.bind(_this);
               onUpdate();
-            }, 3000);
+            }, 1000);
           }
         },
         // 修改批注后保存sheet
@@ -111,7 +112,7 @@ class LuckySheet extends React.Component {
           _this.updateTimer = setTimeout(() => {
             onUpdate.bind(_this);
             onUpdate(true);
-          }, 3000);
+          }, 1000);
         },
         sheetActivate: sheet => {
           console.log(sheet);
@@ -284,8 +285,13 @@ class LuckySheet extends React.Component {
       (sheet.celldata || []).forEach(cell => {
         if (!cell.v.cid) {
           unknowCid.push(cell);
-        } else {
+        } else if (!allCell[cell.v.cid]) {
           allCell[cell.v.cid] = cell;
+        } else {
+          // 当存在相同cid时
+          // 做异常处理
+          delete cell.v.cid;
+          unknowCid.push(cell);
         }
         if (cell.v.tb) cell.v.tb = Number(cell.v.tb);
         // 清除比对样式

+ 2 - 1
src/pages/Detail/models/detail.js

@@ -187,8 +187,9 @@ export default {
         });
       }
     },
-    *saveSheet({ payload }, { call }) {
+    *saveSheet({ payload, callback }, { call }) {
       yield call(commitSheet, payload);
+      callback && callback();
     },
     *queryBomComment({ payload }, { call, put }) {
       const response = yield call(queryBomComment, payload);

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно