From a905850345120a616f9607ef4d0add63e03d865d Mon Sep 17 00:00:00 2001
From: linxin <2981207131@qq.com>
Date: Fri, 9 Aug 2019 10:31:42 +0800
Subject: [PATCH 1/5] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/page/Login.vue | 153 ++++++++++++++++++----------------
1 file changed, 80 insertions(+), 73 deletions(-)
diff --git a/src/components/page/Login.vue b/src/components/page/Login.vue
index 7f21605..7e712c7 100644
--- a/src/components/page/Login.vue
+++ b/src/components/page/Login.vue
@@ -2,19 +2,24 @@
后台管理系统
-
+
-
+
-
+
- 登录
+ 登录
Tips : 用户名和密码随便填。
@@ -23,79 +28,81 @@
\ No newline at end of file
From 53d067f0d1e9219fbc08fb6e0df83c2ed6eb3e16 Mon Sep 17 00:00:00 2001
From: linxin <2981207131@qq.com>
Date: Fri, 9 Aug 2019 10:34:32 +0800
Subject: [PATCH 2/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0prettier=E6=A0=BC?=
=?UTF-8?q?=E5=BC=8F=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.prettierrc | 6 ++++++
src/components/page/Login.vue | 28 ++++++++++++----------------
2 files changed, 18 insertions(+), 16 deletions(-)
create mode 100644 .prettierrc
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..5ca9a13
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "tabWidth": 4,
+ "singleQuote": true,
+ "trailingComma": "es5",
+ "printWidth": 140
+}
\ No newline at end of file
diff --git a/src/components/page/Login.vue b/src/components/page/Login.vue
index 7e712c7..589b163 100644
--- a/src/components/page/Login.vue
+++ b/src/components/page/Login.vue
@@ -32,34 +32,30 @@ export default {
data: function() {
return {
param: {
- username: "admin",
- password: "123123"
+ username: 'admin',
+ password: '123123',
},
rules: {
- username: [
- { required: true, message: "请输入用户名", trigger: "blur" }
- ],
- password: [
- { required: true, message: "请输入密码", trigger: "blur" }
- ]
- }
+ username: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
+ password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
+ },
};
},
methods: {
submitForm() {
this.$refs.login.validate(valid => {
if (valid) {
- this.$message.success("登录成功");
- localStorage.setItem("ms_username", this.param.username);
- this.$router.push("/");
+ this.$message.success('登录成功');
+ localStorage.setItem('ms_username', this.param.username);
+ this.$router.push('/');
} else {
- this.$message.error("请输入账号和密码");
- console.log("error submit!!");
+ this.$message.error('请输入账号和密码');
+ console.log('error submit!!');
return false;
}
});
- }
- }
+ },
+ },
};
From 285ea37245f42439fbf84a62c6b496e9207cbacc Mon Sep 17 00:00:00 2001
From: linxin <2981207131@qq.com>
Date: Tue, 13 Aug 2019 09:36:53 +0800
Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=86=E8=8A=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.prettierrc | 2 +-
package.json | 4 +-
src/components/page/BaseForm.vue | 161 +++++++-------
src/components/page/BaseTable.vue | 347 ++++++++++++++++--------------
4 files changed, 276 insertions(+), 238 deletions(-)
diff --git a/.prettierrc b/.prettierrc
index 5ca9a13..c5f454b 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,6 +1,6 @@
{
"tabWidth": 4,
"singleQuote": true,
- "trailingComma": "es5",
+ "trailingComma": "none",
"printWidth": 140
}
\ No newline at end of file
diff --git a/package.json b/package.json
index 895b961..50fe0fc 100644
--- a/package.json
+++ b/package.json
@@ -10,7 +10,7 @@
"dependencies": {
"axios": "^0.18.0",
"babel-polyfill": "^6.26.0",
- "element-ui": "^2.9.2",
+ "element-ui": "^2.11.0",
"mavon-editor": "^2.6.17",
"vue": "^2.6.10",
"vue-cropperjs": "^3.0.0",
@@ -25,4 +25,4 @@
"@vue/cli-service": "^3.2.0",
"vue-template-compiler": "^2.5.21"
}
-}
+}
\ No newline at end of file
diff --git a/src/components/page/BaseForm.vue b/src/components/page/BaseForm.vue
index 4a726d1..9beb0dd 100644
--- a/src/components/page/BaseForm.vue
+++ b/src/components/page/BaseForm.vue
@@ -2,7 +2,9 @@
- 表单
+
+ 表单
+
基本表单
@@ -21,11 +23,21 @@
-
+
-
-
+
@@ -58,84 +70,83 @@
-
\ No newline at end of file
diff --git a/src/components/page/BaseTable.vue b/src/components/page/BaseTable.vue
index 9aa442f..6046fc9 100644
--- a/src/components/page/BaseTable.vue
+++ b/src/components/page/BaseTable.vue
@@ -2,12 +2,19 @@
- 基础表格
+
+ 基础表格
+
- 批量删除
+ 批量删除
@@ -15,24 +22,40 @@
搜索
-
+
-
-
-
-
-
-
+
+
+
- 编辑
- 删除
+ 编辑
+ 删除
@@ -40,7 +63,13 @@
-
+
@@ -48,7 +77,6 @@
-
-
-
-
-
-
+
+
@@ -83,15 +98,6 @@
确 定
-
-
-
- 删除不可恢复,是否确定删除?
-
-
@@ -107,13 +113,12 @@ export default {
select_cate: '',
select_word: '',
del_list: [],
- is_search: false,
editVisible: false,
- delVisible: false,
- form: {
- name: '',
- date: '',
- address: ''
+ form: {},
+ page: {
+ index: 1,
+ size: 10,
+ total: 50
},
idx: -1,
id: -1
@@ -157,30 +162,32 @@ export default {
this.tableData = res.list;
});
},
- search() {
- this.is_search = true;
- },
- formatter(row, column) {
- return row.address;
- },
- filterTag(value, row) {
- return row.tag === value;
- },
+ search() {},
handleEdit(index, row) {
this.idx = index;
this.id = row.id;
- this.form = {
- id: row.id,
- name: row.name,
- date: row.date,
- address: row.address
- };
+ this.form = row;
this.editVisible = true;
},
handleDelete(index, row) {
- this.idx = index;
- this.id = row.id;
- this.delVisible = true;
+ // 二次确认删除
+ this.$confirm('确定要删除吗?', '提示', {
+ type: 'warning'
+ })
+ .then(() => {
+ this.$message.success('删除成功');
+ if (this.tableData[index].id === row.id) {
+ this.tableData.splice(index, 1);
+ } else {
+ for (let i = 0; i < this.tableData.length; i++) {
+ if (this.tableData[i].id === row.id) {
+ this.tableData.splice(i, 1);
+ return;
+ }
+ }
+ }
+ })
+ .catch(() => {});
},
delAll() {
const length = this.multipleSelection.length;
@@ -209,21 +216,6 @@ export default {
}
}
}
- },
- // 确定删除
- deleteRow() {
- this.$message.success('删除成功');
- this.delVisible = false;
- if (this.tableData[this.idx].id === this.id) {
- this.tableData.splice(this.idx, 1);
- } else {
- for (let i = 0; i < this.tableData.length; i++) {
- if (this.tableData[i].id === this.id) {
- this.tableData.splice(i, 1);
- return;
- }
- }
- }
}
}
};
@@ -256,4 +248,10 @@ export default {
.mr10 {
margin-right: 10px;
}
+.table-td-thumb {
+ display: block;
+ margin: auto;
+ width: 40px;
+ height: 40px;
+}
From 2cb246ec3e7e7708c2388e3e8b8befea63107712 Mon Sep 17 00:00:00 2001
From: linxin <2981207131@qq.com>
Date: Sat, 17 Aug 2019 14:41:53 +0800
Subject: [PATCH 5/5] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A1=A8=E6=A0=BC?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/page/BaseTable.vue | 93 ++++++++++++-------------------
1 file changed, 37 insertions(+), 56 deletions(-)
diff --git a/src/components/page/BaseTable.vue b/src/components/page/BaseTable.vue
index eddf97c..bdb9e24 100644
--- a/src/components/page/BaseTable.vue
+++ b/src/components/page/BaseTable.vue
@@ -1,5 +1,5 @@
-
+
@@ -13,14 +13,14 @@
type="primary"
icon="el-icon-delete"
class="handle-del mr10"
- @click="delAll"
+ @click="delAllSelection"
>批量删除
-
+
-
- 搜索
+
+ 搜索
@@ -108,18 +108,17 @@ export default {
data() {
return {
tableData: [],
- cur_page: 1,
multipleSelection: [],
- select_cate: '',
- select_word: '',
- del_list: [],
+ delList: [],
+ selectCate: '',
+ selectWord: '',
editVisible: false,
- form: {},
page: {
index: 1,
size: 10,
total: 50
},
+ form: {},
idx: -1,
id: -1
};
@@ -131,16 +130,16 @@ export default {
data() {
return this.tableData.filter(d => {
let is_del = false;
- for (let i = 0; i < this.del_list.length; i++) {
- if (d.name === this.del_list[i].name) {
+ for (let i = 0; i < this.delList.length; i++) {
+ if (d.name === this.delList[i].name) {
is_del = true;
break;
}
}
if (!is_del) {
if (
- d.address.indexOf(this.select_cate) > -1 &&
- (d.name.indexOf(this.select_word) > -1 || d.address.indexOf(this.select_word) > -1)
+ d.address.indexOf(this.selectCate) > -1 &&
+ (d.name.indexOf(this.selectWord) > -1 || d.address.indexOf(this.selectWord) > -1)
) {
return d;
}
@@ -149,26 +148,17 @@ export default {
}
},
methods: {
- // 分页导航
- handleCurrentChange(val) {
- this.cur_page = val;
- this.getData();
- },
// 获取 easy-mock 的模拟数据
getData() {
fetchData({
- page: this.cur_page
+ page: this.page.index
}).then(res => {
this.tableData = res.list;
});
},
- search() {},
- handleEdit(index, row) {
- this.idx = index;
- this.id = row.id;
- this.form = row;
- this.editVisible = true;
- },
+ // 触发搜索按钮
+ handleSearch() {},
+ // 删除操作
handleDelete(index, row) {
// 二次确认删除
this.$confirm('确定要删除吗?', '提示', {
@@ -176,46 +166,41 @@ export default {
})
.then(() => {
this.$message.success('删除成功');
- if (this.tableData[index].id === row.id) {
- this.tableData.splice(index, 1);
- } else {
- for (let i = 0; i < this.tableData.length; i++) {
- if (this.tableData[i].id === row.id) {
- this.tableData.splice(i, 1);
- return;
- }
- }
- }
+ this.tableData.splice(index, 1);
})
.catch(() => {});
},
- delAll() {
+ // 多选操作
+ handleSelectionChange(val) {
+ this.multipleSelection = val;
+ },
+ delAllSelection() {
const length = this.multipleSelection.length;
let str = '';
- this.del_list = this.del_list.concat(this.multipleSelection);
+ this.delList = this.delList.concat(this.multipleSelection);
for (let i = 0; i < length; i++) {
str += this.multipleSelection[i].name + ' ';
}
this.$message.error(`删除了${str}`);
this.multipleSelection = [];
},
- handleSelectionChange(val) {
- this.multipleSelection = val;
+ // 编辑操作
+ handleEdit(index, row) {
+ this.idx = index;
+ this.id = row.id;
+ this.form = row;
+ this.editVisible = true;
},
// 保存编辑
saveEdit() {
this.editVisible = false;
this.$message.success(`修改第 ${this.idx + 1} 行成功`);
- if (this.tableData[this.idx].id === this.id) {
- this.$set(this.tableData, this.idx, this.form);
- } else {
- for (let i = 0; i < this.tableData.length; i++) {
- if (this.tableData[i].id === this.id) {
- this.$set(this.tableData, i, this.form);
- return;
- }
- }
- }
+ this.$set(this.tableData, this.idx, this.form);
+ },
+ // 分页导航
+ handlePageChange(val) {
+ this.page.index = val;
+ this.getData();
}
}
};
@@ -234,10 +219,6 @@ export default {
width: 300px;
display: inline-block;
}
-.del-dialog-cnt {
- font-size: 16px;
- text-align: center;
-}
.table {
width: 100%;
font-size: 14px;