Bläddra i källkod

1、加载缓存数据

zhoux 2 år sedan
förälder
incheckning
61eaf3854a
3 ändrade filer med 98 tillägg och 40 borttagningar
  1. 88 40
      mixins/index.js
  2. 5 0
      package-basic-data/pages/staff/add/add.wxml
  3. 5 0
      utils/template.wxml

+ 88 - 40
mixins/index.js

@@ -10,11 +10,12 @@
 const api = require('../utils/api.js');
 const config = require('@/config/config.js');
 const Constants = require('../utils/Constants.js')
+import Dialog from '@/dist/dialog/dialog.js';
 const app = getApp()
 
 module.exports = {
   data: {
-    imageUrl:config.image_url + '/static/img/',
+    imageUrl: config.image_url + '/static/img/',
     // 加载中
     loading: false,
     // 没有更多
@@ -59,15 +60,15 @@ module.exports = {
     // 当前数据
     item: null,
     // 新建后刷新一览界面标识
-    refreshByAdd:false,
+    refreshByAdd: false,
     // 表名
-    table:null,
+    table: null,
     // 界面的功能编码
-    menuUuid:null,
+    menuUuid: null,
     // 语言包
     $t: app.globalData.lang,
     // 是否进行校验
-    validFlag:true,
+    validFlag: true,
   },
   /**
    * @desc : 获取路由信息,供data中的对象使用
@@ -182,7 +183,7 @@ module.exports = {
     }
     // 如果需要分页
     if (this.data.pageFlag) {
-      console.log("zhehsisha",this.data.pageInfo,params,this.data.searchForm);
+      console.log("zhehsisha", this.data.pageInfo, params, this.data.searchForm);
       params.pageSize = this.data.pageInfo.pageSize;
       params.currentPage = this.data.pageInfo.currentPage;
     }
@@ -217,19 +218,19 @@ module.exports = {
    * @date : 2024/1/22
    */
   toDetail(e) {
-    if (e) { 
+    if (e) {
       let item = null;
-      if(e.currentTarget.dataset.item){
+      if (e.currentTarget.dataset.item) {
         item = e.currentTarget.dataset.item
       }
       if (!e.detail) {
         e.detail = {
         }
       }
-      if(item){
+      if (item) {
         e.detail.item = item;
       }
-      console.log('e',e);
+      console.log('e', e);
       if (e.detail.item) {
         let button = {
           formMode: Constants.formMode.edit
@@ -268,7 +269,7 @@ module.exports = {
     // 默认是新建
     if (!name) {
       name = 'add'
-    } 
+    }
     let routeUrl = this.data.route[name];
     if (!routeUrl) return;
     this._openValidData(item, name, routeUrl.valid).then(res => {
@@ -280,10 +281,10 @@ module.exports = {
       if (routeUrl.url) {
         let url = routeUrl.url
         //保存按钮自定义跳转URL
-        if(e.detail.customUrl){
+        if (e.detail.customUrl) {
           url = e.detail.customUrl
         }
-   
+
         let _this = this;
         wx.navigateTo({
           url: url,
@@ -296,7 +297,7 @@ module.exports = {
           },
           success: function (res) {
             let data = {}
-            console.log('success',item)
+            console.log('success', item)
             if (item && item.button && item.button.idKey) {
               data['id'] = item[item.button.idKey]
             }
@@ -306,24 +307,24 @@ module.exports = {
             if (item && item.button && item.button.formMode) {
               data['formMode'] = item.button.formMode
             }
-            console.log('routeUrl111111',routeUrl)
+            console.log('routeUrl111111', routeUrl)
 
             //api 上的优先
-            if(_this.data.route[name].formMode){
+            if (_this.data.route[name].formMode) {
               data['formMode'] = _this.data.route[name].formMode
             }
-            if(_this.data.route[name].idKey){
+            if (_this.data.route[name].idKey) {
               data['id'] = item[_this.data.route[name].idKey]
             }
-            
+
             if (item && item.button && item.button.formType) {
               data['formType'] = item.button.formType
             }
-            if(routeUrl.formType){
+            if (routeUrl.formType) {
               data['formType'] = routeUrl.formType
             }
             // 新建增加默认的新建formMode
-            if(name === 'add'){
+            if (name === 'add') {
               data['formMode'] = Constants.formMode.add;
             }
             data['item'] = item
@@ -343,7 +344,7 @@ module.exports = {
    * @author : 周兴
    * @date : 2024/1/22
    */
-  save({ saveFlag = true, url, dialogMes}) {
+  save({ saveFlag = true, url, dialogMes }) {
     // 校验
     this._validData().then(res => {
       if (!res) {
@@ -415,12 +416,12 @@ module.exports = {
         } else {
           // 新建界面清空
           this.setData({
-            formData:null
+            formData: null
           })
           var pages = getCurrentPages();
           var prevPage = pages[pages.length - 2]; //上一个页面
           prevPage.setData({
-            refreshByAdd:true
+            refreshByAdd: true
           })
         }
       }
@@ -473,7 +474,7 @@ module.exports = {
   _validData() {
     return new Promise(resolve => {
       // 不需要校验直接返回
-      if(!this.data.validFlag){
+      if (!this.data.validFlag) {
         resolve(true);
       }
       // 非空校验
@@ -653,7 +654,7 @@ module.exports = {
   */
   handleLoadData() {
     let formMode = this.data.formMode;
-    console.log("handleLoadData",formMode);
+    console.log("handleLoadData", formMode);
     formMode = formMode ? formMode : Constants.formMode.index
     // 列表
     if (formMode == Constants.formMode.index) {
@@ -664,40 +665,67 @@ module.exports = {
       // 编辑
     } else if (formMode == Constants.formMode.edit) {
       let id = this.data.id;
-      console.log("handleLoadData-id",this.data);
+      console.log("handleLoadData-id", this.data);
       if (id) {
         // 调用明细
         this._detail(id);
       }
     } else if (formMode == Constants.formMode.other) {
       let other = this.data.other ? this.data.other : {};
-      other.id  =  this.data.id
+      other.id = this.data.id
       if (other) {
         // 调用
         this._other(other);
       }
     }
+    this.loadTempData();
+  },
+  /**
+  * @desc : 加载暂存数据
+  * @author : 周兴
+  * @date : 2024/1/22
+  */
+  loadTempData() {
+    var pages = getCurrentPages();
+    var currentPage = pages[pages.length - 1];
+    if (app.globalData[currentPage.route]) {
+      console.log('eee', pages, app.globalData[currentPage.route]);
+
+      Dialog.confirm({
+        message: '是否加载缓存数据',
+      }).then(() => {
+        // 执行保存方法
+        this.setData({
+          formData: app.globalData[currentPage.route]
+        })
+        // 删除缓存
+        delete  app.globalData[currentPage.route]
+      }).catch(()=>{
+         // 删除缓存
+         delete  app.globalData[currentPage.route]
+      })
+    }
   },
   /**
   * @desc : 保存用户功能频率
   * @author : 周兴
   * @date : 2024/1/22
   */
-  saveUserMenuFrequency(){
+  saveUserMenuFrequency() {
     let menuUuid = this.data.menuUuid
     if (menuUuid) {
       let params = {
-        menuUuid:menuUuid,
-        staffId:app.globalData.user.staffId,
-        appCode:Constants.APP_CODE,
+        menuUuid: menuUuid,
+        staffId: app.globalData.user.staffId,
+        appCode: Constants.APP_CODE,
       }
       let service = app.globalData['userMenuFrequencyService']
       // 保存用户功能频率
-      this.excute(service,service.save,params);
+      this.excute(service, service.save, params);
       service = app.globalData['menuFrequencyService']
       // 保存功能频率
       params.cpId = app.globalData.company.cpId
-      this.excute(service,service.save,params);
+      this.excute(service, service.save, params);
     }
   },
   /**
@@ -705,12 +733,12 @@ module.exports = {
   * @author : 周兴
   * @date : 2024/1/22
   */
-  onShow(){
+  onShow() {
     // 新建后关闭新建后刷新页面
-    if(this.data.refreshByAdd){
+    if (this.data.refreshByAdd) {
       this.searchData();
       this.setData({
-        refreshByAdd:false
+        refreshByAdd: false
       })
     }
   },
@@ -747,13 +775,13 @@ module.exports = {
         if (data.formMode) {
           _this.setData({
             id: data.id,
-            other: data.item?(data.item.button ? data.item.button.other : null):"",
+            other: data.item ? (data.item.button ? data.item.button.other : null) : "",
             formMode: data.formMode,
-            menuUuid:data.menuUuid,
+            menuUuid: data.menuUuid,
           })
         }
         //菜单编码
-        if(data.functionCode){
+        if (data.functionCode) {
           _this.setData({
             functionCode: data.functionCode
           })
@@ -773,7 +801,7 @@ module.exports = {
             chooseData: data
           })
         }
-        console.log('ddd',data);
+        console.log('ddd', data);
         if (data.route) {
           _this.setData({
             chooseRoute: data.route
@@ -796,6 +824,26 @@ module.exports = {
     }
   },
   /**
+  * @desc : 生命周期函数(onUnload)
+  * @author : 周兴
+  * @date : 2024/1/22
+  */
+  onUnload() {
+    // 关闭时,如果数据源有值,记录到缓存中
+    let formData = this.data.formData
+    if (formData && formData != '{}') {
+      // 获取当前页面的路由
+      var pages = getCurrentPages();
+      var currentPage = pages[pages.length - 1];
+      let route = currentPage.route;
+      // 记录缓存
+      app.globalData[route] = formData;
+    }else{
+      // 删除对应的缓存
+      delete app.globalData[route]
+    }
+  },
+  /**
  * @desc : 页面上拉触底事件的处理函数
  * @author : 于继渤
  * @date : 2022/5/24 12:16

+ 5 - 0
package-basic-data/pages/staff/add/add.wxml

@@ -1,7 +1,12 @@
 <!-- 前台导入wxmlUtil.wxs -->
 <wxs src='/utils/wxmlUtil.wxs' module="wxmlUtil"></wxs>
+<!-- 添加模版 -->
+<import src="/utils/template.wxml" />
+<template is="myTemplate" />
+
 <!-- 加载图层 -->
 <loading wx:if="{{loading}}"></loading>
+
 <!-- 列表区 -->
 <dk-form id="{{formName}}" routeObjName="{{routeObjName}}" cardList="{{cardList}}" contentObj="{{contentObj}}" model:value="{{formData}}" bind:chooseData="chooseData">
 </dk-form>

+ 5 - 0
utils/template.wxml

@@ -0,0 +1,5 @@
+
+<!-- template.wxml -->
+<template name="myTemplate">
+  <van-dialog id="van-dialog" />
+</template>