From 13a13e3335791899f0efe39e06df66b4ae60b26c Mon Sep 17 00:00:00 2001
From: liyang <1711467488@qq.com>
Date: Thu, 29 Nov 2018 10:14:44 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=95=B0=E6=8D=AE=E6=8C=81?=
=?UTF-8?q?=E4=B9=85=E5=8C=96=E6=96=B9=E5=BC=8F=E7=BC=93=E5=AD=98=E7=A4=BA?=
=?UTF-8?q?=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Former-commit-id: ad9918157b0f25f353e218870a1486fd111c76b3 [formerly ad9918157b0f25f353e218870a1486fd111c76b3 [formerly ad9918157b0f25f353e218870a1486fd111c76b3 [formerly ad9918157b0f25f353e218870a1486fd111c76b3 [formerly 5ab32ee88ba0cbb71499514202fa88131944b6cf [formerly 8b6298bcec0cf00eda1342846fa3f8ff3fea5192]]]]]
Former-commit-id: fca6f35a71568c622756ce2341ca4c8d6a043fa9
Former-commit-id: ec6ab591de18bd6c57c3e4e93f708686a2d75386
Former-commit-id: d3153bca1972183e08a4e709c98cbb525914a8cd [formerly 051d39ec9aa2aa953143b2bb6f10fcb74f53d8b3]
Former-commit-id: 76b941703caef91041247018a11b1cf10999d440
Former-commit-id: f39e54960b15eb225abb0019219895f1d3864bb8
Former-commit-id: 0c790b19d0b4040413cdb16dacb11ce3db465694
Former-commit-id: 929843b780f1309638bdd31aa00965806820b41d
Former-commit-id: e5609aee97279c71ed2963f67f9521aef2fb86b1
---
.../business/issues/142/edit-cache-db.vue | 98 +++++++++++++++++++
src/pages/demo/business/issues/142/edit.vue | 57 ++---------
src/pages/demo/business/issues/142/index.vue | 14 ++-
.../demo/business/issues/142/mixins/index.js | 54 ++++++++++
src/router/modules/business.js | 10 ++
src/store/modules/d2admin/modules/db.js | 30 +++---
6 files changed, 199 insertions(+), 64 deletions(-)
create mode 100644 src/pages/demo/business/issues/142/edit-cache-db.vue
create mode 100644 src/pages/demo/business/issues/142/mixins/index.js
diff --git a/src/pages/demo/business/issues/142/edit-cache-db.vue b/src/pages/demo/business/issues/142/edit-cache-db.vue
new file mode 100644
index 00000000..e4af898f
--- /dev/null
+++ b/src/pages/demo/business/issues/142/edit-cache-db.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+ 修改
+
+
+
+
+
+
+
+
diff --git a/src/pages/demo/business/issues/142/edit.vue b/src/pages/demo/business/issues/142/edit.vue
index ca9ccdb4..48b96f63 100644
--- a/src/pages/demo/business/issues/142/edit.vue
+++ b/src/pages/demo/business/issues/142/edit.vue
@@ -1,13 +1,12 @@
- 编辑 id: {{id}}
+ class="page">
+ class="page--form">
@@ -22,22 +21,11 @@
diff --git a/src/pages/demo/business/issues/142/index.vue b/src/pages/demo/business/issues/142/index.vue
index ceb280e6..c52280ac 100644
--- a/src/pages/demo/business/issues/142/index.vue
+++ b/src/pages/demo/business/issues/142/index.vue
@@ -2,7 +2,8 @@
goToEditPage('demo-business-issues-142-edit', row.id)"
+ @edit-cache-db="({ index, row }) => goToEditPage('demo-business-issues-142-edit-cache-db', row.id)"
style="margin: -15px 0;"/>
{
+ // 重置表单
+ this.resetFormData()
+ // 请求数据
+ get(id)
+ .then(res => {
+ const { name, address } = res
+ this.form = { name, address }
+ this.$message.success('getFormData')
+ resolve()
+ })
+ .catch(err => {
+ console.log('err', err)
+ reject(err)
+ })
+ })
+ },
+ // [业务逻辑] 提交
+ handleSubmit () {
+ this.$notify({
+ title: 'Submit',
+ message: '提交了表单',
+ type: 'info'
+ })
+ }
+ }
+}
diff --git a/src/router/modules/business.js b/src/router/modules/business.js
index 7ba893a8..bf5a31af 100644
--- a/src/router/modules/business.js
+++ b/src/router/modules/business.js
@@ -45,6 +45,16 @@ export default {
...meta,
title: '无缓存编辑'
}
+ },
+ {
+ path: 'issues/142/edit-cache-db/:id',
+ name: `${pre}issues-142-edit-cache-db`,
+ component: () => import('@/pages/demo/business/issues/142/edit-cache-db'),
+ props: true,
+ meta: {
+ ...meta,
+ title: '带缓存编辑 DB'
+ }
}
])('demo-business-')
}
diff --git a/src/store/modules/d2admin/modules/db.js b/src/store/modules/d2admin/modules/db.js
index b8045c71..4bf6dd15 100644
--- a/src/store/modules/d2admin/modules/db.js
+++ b/src/store/modules/d2admin/modules/db.js
@@ -1,5 +1,6 @@
import db from '@/libs/db.js'
import util from '@/libs/util.js'
+import { cloneDeep } from 'lodash'
/**
* @description 检查路径是否存在 不存在的话初始化
@@ -20,6 +21,13 @@ function pathInit ({
const uuid = util.cookies.get('uuid') || 'ghost-uuid'
const currentPath = `${dbName}.${user ? `user.${uuid}` : 'public'}${path ? `.${path}` : ''}`
const value = db.get(currentPath).value()
+ console.group('pathInit')
+ console.log('dbName', dbName)
+ console.log('path', path)
+ console.log('user', user)
+ console.log('defaultValue', defaultValue)
+ console.log('value', value)
+ console.groupEnd()
if (!(value !== undefined && validator(value))) {
db
.set(currentPath, defaultValue)
@@ -66,12 +74,12 @@ export default {
user = false
}) {
return new Promise(resolve => {
- resolve(db.get(pathInit({
+ resolve(cloneDeep(db.get(pathInit({
dbName,
path,
user,
defaultValue
- })).value())
+ })).value()))
})
},
/**
@@ -118,7 +126,7 @@ export default {
*/
databasePage (context, {
vm,
- basis = 'name',
+ basis = 'fullPath',
user = false
} = {}) {
return new Promise(resolve => {
@@ -139,7 +147,7 @@ export default {
*/
databasePageClear (context, {
vm,
- basis = 'name',
+ basis = 'fullPath',
user = false
} = {}) {
return new Promise(resolve => {
@@ -161,7 +169,7 @@ export default {
*/
pageSet (context, {
vm,
- basis = 'name',
+ basis = 'fullPath',
user = false
}) {
return new Promise(resolve => {
@@ -170,7 +178,7 @@ export default {
path: `$page.${vm.$route[basis]}.$data`,
user,
validator: () => false,
- defaultValue: vm.$data
+ defaultValue: cloneDeep(vm.$data)
})))
})
},
@@ -183,16 +191,16 @@ export default {
*/
pageGet (context, {
vm,
- basis = 'name',
+ basis = 'fullPath',
user = false
}) {
return new Promise(resolve => {
- resolve(db.get(pathInit({
+ resolve(cloneDeep(db.get(pathInit({
dbName: 'database',
path: `$page.${vm.$route[basis]}.$data`,
user,
- defaultValue: vm.$data
- })).value())
+ defaultValue: cloneDeep(vm.$data)
+ })).value()))
})
},
/**
@@ -204,7 +212,7 @@ export default {
*/
pageClear (context, {
vm,
- basis = 'name',
+ basis = 'fullPath',
user = false
}) {
return new Promise(resolve => {