forked from sunyymq/JSBox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
我的账本.js
151 lines (146 loc) · 3.79 KB
/
我的账本.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/* 作者:Hhdº 未经允许,禁止转载/盗用脚本 */
新的账单 = {
账单情况: {
text: "添加"
},
记账时间: {
text: "添加一个新的账单"
}
}
$ui.render({
props: {
title: "记账"
},
views: [{
type: "list",
props: {
id: "账单列表",
grouped: true,
rowHeight: 60,
footer: {
type: "label",
props: {
height: 20,
text: "作者:Hhdº",
textColor: $color("#AAAAAA"),
align: $align.center,
font: $font(12)
}
},
data: [新的账单],
actions: [{
title: "删除",
handler(sender, indexPath) {
var 历史记录 = JSON.parse($file.read("我的账本.txt").string)
历史记录.splice(indexPath.row, 1)
$file.write({
path: "我的账本.txt",
data: $data({
string: JSON.stringify(历史记录)
})
})
sender.delete(indexPath)
}
}],
template: [{
type: "label",
props: {
id: "账单情况",
font: $font(22)
},
layout(make) {
make.left.equalTo(10)
make.top.right.inset(8)
make.height.equalTo(24)
}
},
{
type: "label",
props: {
id: "记账时间",
textColor: $color("#888888"),
font: $font(14)
},
layout(make) {
make.left.right.equalTo($("账单情况"))
make.top.equalTo($("账单情况").bottom)
make.bottom.equalTo(0)
}
}
],
},
layout: $layout.fill,
events: {
didSelect(sender, indexPath) {
新账单(sender, indexPath)
}
}
}]
})
function 刷新() {
var 历史记录 = JSON.parse($file.read("我的账本.txt").string)
数组 = new Array()
for (循环次数 in 历史记录) {
var 信息 = 历史记录[循环次数]
数组.push({
账单情况: {
text: 信息.情况
},
记账时间: {
text: 信息.时间
}
})
}
数组.push(新的账单)
$("账单列表").data = 数组
}
function 新账单(sender, indexPath) {
var 数量 = sender.data.length - 1
if (indexPath.row == 数量) {
$ui.menu({
items: ["收入", "支出"],
handler(idx, title) {
$input.text({
type: $kbType.number,
placeholder: "输入数目",
handler(text) {
var 日期对象 = new Date()
月份 = 日期对象.getMonth() + 1
当前时间 = "周" + "日一二三四五六".charAt(日期对象.getDay()) + ", " + 日期对象.getFullYear() + "-" + 月份 + "-" + 日期对象.getDate() + " " + 日期对象.getHours() + ":" + 日期对象.getMinutes() + ":" + 日期对象.getSeconds()
情况 = (idx == "收入") ? "+ " + text : "- " + text
if ($file.exists("我的账本.txt") == 0) {
var 数据 = [{
情况: 情况,
时间: 当前时间
}]
} else {
var 数据 = JSON.parse($file.read("我的账本.txt").string)
数据.push({
情况: 情况,
时间: 当前时间
})
}
$file.write({
path: "我的账本.txt",
data: $data({
string: JSON.stringify(数据)
})
})
sender.insert({
index: 数量,
value: {
账单情况: {
text: 情况
},
记账时间: {
text: 当前时间
}
}
})
}
})
}
})
}
}
刷新()