保存进度!
This commit is contained in:
parent
c768a04b90
commit
2a160aaabc
@ -2,47 +2,55 @@
|
|||||||
* @Author: Kane
|
* @Author: Kane
|
||||||
* @Date: 2022-10-21 16:39:27
|
* @Date: 2022-10-21 16:39:27
|
||||||
* @LastEditors: Kane
|
* @LastEditors: Kane
|
||||||
* @LastEditTime: 2022-10-21 18:56:19
|
* @LastEditTime: 2022-10-22 01:23:49
|
||||||
* @FilePath: \car_dealer\css\todo-list\to-list.css
|
* @FilePath: \car_dealer\css\todo-list\to-list.css
|
||||||
* @Description: 用于待办事项页面的css!
|
* @Description: 用于待办事项页面的css!
|
||||||
*
|
*
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
html {
|
html {
|
||||||
--border-color: #cfcfcf;
|
--border-color: #cfcfcf;
|
||||||
|
--hr-color: #efefef;
|
||||||
--backupground-color: #f7f7f7;
|
--backupground-color: #f7f7f7;
|
||||||
--btn-color-blue: #307dbe;
|
--btn-color-blue: #307dbe;
|
||||||
--btn-color-yellow: #f7b24d;
|
--btn-color-yellow: #f7b24d;
|
||||||
--btn-color-green: #5bad60;
|
--btn-color-green: #5bad60;
|
||||||
--btn-color-red: #e56651;
|
--btn-color-red: #e56651;
|
||||||
--btn-font-color: #fff;
|
--btn-font-color: #fff;
|
||||||
}
|
|
||||||
|
|
||||||
.border {
|
--light-shadow: #cfcfcf;
|
||||||
|
--dark-shadow: #afafaf;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border {
|
||||||
border: 2px solid var(--border-color);
|
border: 2px solid var(--border-color);
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
width: 30rem;
|
width: 30rem;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
}
|
box-shadow: 0px 0px 10px var(--light-shadow);
|
||||||
|
}
|
||||||
|
|
||||||
.border > .add_todo {
|
.border:hover {
|
||||||
|
box-shadow: 0px 0px 10px var(--dark-shadow);
|
||||||
|
transition: box-shadow 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border > .add_todo {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.border > .add_todo > button {
|
|
||||||
|
|
||||||
|
.border > .add_todo > button {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
flex-basis: 4rem;
|
flex-basis: 4rem;
|
||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
height: 2.3rem;
|
height: 2.3rem;
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.border > .add_todo > input {
|
.border > .add_todo > input {
|
||||||
flex-shrink: auto;
|
flex-shrink: auto;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
@ -50,59 +58,87 @@
|
|||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
outline-color: var(--border-color);
|
outline-color: var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
border: none;
|
border: none;
|
||||||
margin-top: 15px;
|
margin-top: 1rem;
|
||||||
background-color: var(--border-color);
|
background-color: var(--border-color);
|
||||||
height: 2px;
|
height: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.border > .todo_list {
|
.border > .todo_list {
|
||||||
margin-top: 15px;
|
margin-top: 1rem;
|
||||||
}
|
height: 12.2rem;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
.border > .todo_list > *+* {
|
.todo_list::-webkit-scrollbar {
|
||||||
margin-top:5px;
|
width: 10px;
|
||||||
}
|
height: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
.border > .todo_list div {
|
.todo_list::-webkit-scrollbar-thumb {
|
||||||
|
border-radius: 10px;
|
||||||
|
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
|
||||||
|
background: #535353;
|
||||||
|
}
|
||||||
|
|
||||||
|
.todo_list::-webkit-scrollbar-track {
|
||||||
|
-webkit-box-shadow: inset 0 0 5px var(--backupground-color);
|
||||||
|
border-radius: 10px;
|
||||||
|
background: #ededed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border > .todo_list > * + * {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border > .todo_list div {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.border > .todo_list div > input[type=checkbox] {
|
.border > .todo_list div > input[type="checkbox"] {
|
||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.border > .todo_list div *+* {
|
.border > .todo_list div * + * {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.border > .todo_list span {
|
.border > .todo_list span {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
border-bottom: 1px solid var(--border-color);
|
border-bottom: 1px solid var(--border-color);
|
||||||
height: 1.25rem;
|
height: 1.25rem;
|
||||||
vertical-align: center;
|
vertical-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.border > .todo_list input {
|
.border > .todo_list input {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
line-height: 2rem;
|
line-height: 2rem;
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
outline-color: var(--border-color);
|
outline-color: var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.border > .todo_list button {
|
.border > .todo_list button {
|
||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
width: 4rem;
|
width: 4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.border > .todo_list input {
|
.border > .todo_list input {
|
||||||
outline: 1px solid var(--border-color);
|
outline: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.border > .tools {
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border > .tools > p {
|
||||||
|
text-align: right;
|
||||||
|
margin: 0px 1rem;
|
||||||
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: Kane
|
* @Author: Kane
|
||||||
* @Date: 2022-10-21 16:36:51
|
* @Date: 2022-10-21 16:36:51
|
||||||
* @LastEditors: Kane
|
* @LastEditors: Kane
|
||||||
* @LastEditTime: 2022-10-21 19:02:01
|
* @LastEditTime: 2022-10-22 00:45:07
|
||||||
* @FilePath: \car_dealer\vue\todo-lilst.html
|
* @FilePath: \car_dealer\vue\todo-lilst.html
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
@ -10,79 +10,177 @@
|
|||||||
-->
|
-->
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
<head>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
<title>待办任务</title>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<link rel="stylesheet" href="../css/root.css" />
|
<title>待办任务</title>
|
||||||
<link rel="stylesheet" href="../css/normalize.css" />
|
<link rel="stylesheet" href="../css/root.css" />
|
||||||
<link rel="stylesheet" href="../css/kane.css" />
|
<link rel="stylesheet" href="../css/normalize.css" />
|
||||||
<link rel="stylesheet" href="../css/todo-list/to-list.css" />
|
<link rel="stylesheet" href="../css/kane.css" />
|
||||||
<script src="../js/vue/vue.global.js"></script>
|
<link rel="stylesheet" href="../css/todo-list/to-list.css" />
|
||||||
</head>
|
<script src="../js/vue/vue.global.js"></script>
|
||||||
<body>
|
</head>
|
||||||
<div id="app">
|
|
||||||
<div class="content">
|
<body>
|
||||||
<h1>{{title}}</h1>
|
<div id="app">
|
||||||
<div class="border">
|
<div class="content">
|
||||||
<div class="add_todo">
|
<h1>{{title}}</h1>
|
||||||
<input type="text" placeholder="请输入待办事项" />
|
<div class="border">
|
||||||
<button type="button">添加</button>
|
<div class="add_todo">
|
||||||
|
<input type="text" placeholder="请输入待办事项" />
|
||||||
|
<button type="button">添加</button>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="todo_list">
|
||||||
|
<div v-for="(item,index) in todo_list" :key="index">
|
||||||
|
<input type="checkbox" v-model="todo_list[index].selected" />
|
||||||
|
<span v-show="!item.edit">{{item.todo_text}}</span>
|
||||||
|
<input type="text" v-show="item.edit" v-model="item.todo_text" />
|
||||||
|
<button type="button" v-on:click="editTodo(index,event)">
|
||||||
|
修改
|
||||||
|
</button>
|
||||||
|
<button type="button" @click="removeTodo(index)">删除</button>
|
||||||
</div>
|
</div>
|
||||||
<hr />
|
</div>
|
||||||
<div class="todo_list">
|
<hr>
|
||||||
<div v-for="(item,index) in todo_list" :key="index">
|
<div class="tools">
|
||||||
<input
|
<p class="summary">总计:{{todo_list.length}}</p>
|
||||||
type="checkbox"
|
|
||||||
v-model="todo_list[index].selected"
|
|
||||||
/>
|
|
||||||
<span v-show="!item.edit">{{item.todo_text}}</span>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
v-show="item.edit"
|
|
||||||
v-model="item.todo_text"
|
|
||||||
/>
|
|
||||||
<button type="button" v-on:click="editTodo(index)">
|
|
||||||
修改
|
|
||||||
</button>
|
|
||||||
<button type="button">删除</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tools"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</div>
|
||||||
<script>
|
</body>
|
||||||
const app = {
|
<script>
|
||||||
data() {
|
const app = {
|
||||||
return {
|
data() {
|
||||||
title: "待办任务",
|
return {
|
||||||
todo_list: [
|
title: "待办任务",
|
||||||
{ selected: false, todo_text: "回家", edit: false },
|
todo_list: [{
|
||||||
{ selected: true, todo_text: "吃饭", edit: false },
|
selected: false,
|
||||||
{ selected: false, todo_text: "洗澡", edit: false },
|
todo_text: "回家",
|
||||||
{ selected: false, todo_text: "玩游戏", edit: false },
|
edit: false
|
||||||
],
|
},
|
||||||
};
|
{
|
||||||
},
|
selected: true,
|
||||||
methods: {
|
todo_text: "吃饭",
|
||||||
addTodo() {},
|
edit: false
|
||||||
editTodo(index) {
|
},
|
||||||
console.log(index);
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "洗澡",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "玩游戏",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "回家",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: true,
|
||||||
|
todo_text: "吃饭",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "洗澡",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "玩游戏",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "回家",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: true,
|
||||||
|
todo_text: "吃饭",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "洗澡",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "玩游戏",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "回家",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: true,
|
||||||
|
todo_text: "吃饭",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "洗澡",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "玩游戏",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "回家",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: true,
|
||||||
|
todo_text: "吃饭",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "洗澡",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
selected: false,
|
||||||
|
todo_text: "玩游戏",
|
||||||
|
edit: false
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
addTodo() {},
|
||||||
|
editTodo(index, event) {
|
||||||
|
console.log(index);
|
||||||
|
console.log(event);
|
||||||
|
|
||||||
this.todo_list[index].edit = !this.todo_list[index].edit;
|
this.todo_list[index].edit = !this.todo_list[index].edit;
|
||||||
},
|
|
||||||
},
|
},
|
||||||
computed: {
|
removeTodo(index) {
|
||||||
buttonText(edit) {
|
this.todo_list.splice(index, 1);
|
||||||
return edit ? 修改 : 保存;
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
buttonText(edit) {
|
||||||
|
return edit ? 修改 : 保存;
|
||||||
},
|
},
|
||||||
};
|
},
|
||||||
|
};
|
||||||
|
|
||||||
const vm = Vue.createApp(app);
|
const vm = Vue.createApp(app);
|
||||||
vm.mount("#app");
|
vm.mount("#app");
|
||||||
</script>
|
</script>
|
||||||
</html>
|
|
||||||
|
</html>
|
Loading…
x
Reference in New Issue
Block a user