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
use df_fields::Field;
use json::{JsonValue, object};
use crate::dict::flow::add::Add;
use crate::dict::flow::delete::Delete;
use crate::dict::flow::disable::Disable;
use crate::dict::flow::edit::Edit;
use crate::dict::flow::enable::Enable;
use crate::dict::flow::select::Select;
use crate::dict::flow::table::Table;
use crate::{Action, actions, Model};
pub struct Flow {}
impl Model for Flow {
fn title(&mut self) -> &'static str { "流程节点" }
fn table(&mut self) -> &'static str { "dict_flow" }
fn unique(&mut self) -> Vec<&'static str> {
vec!["code"]
}
fn index(&mut self) -> Vec<Vec<&'static str>> {
vec![
vec!["name"],
vec!["code"],
]
}
fn fields(&mut self) -> JsonValue {
let mut fields = object! {};
fields[self.primary_key()] = df_fields::str::Key::new(true, self.primary_key(), "ID", 20).field();
fields["name"] = df_fields::str::Str::new(true, "name", "流程名称", 50, "").field();
fields["code"] = df_fields::str::Str::new(true, "code", "流程编号", 20, "").field();
fields["note"] = df_fields::text::Text::new(false, "note", "备注", "").field();
fields["state"] = df_fields::select::Radio::new(true, "state", "状态", vec!["启用", "禁用"], "启用").field();
return fields;
}
fn action(&mut self, name: &str) -> Box<dyn Action> {
match name {
"table" => Box::new(Table { model: Flow {} }),
"add" => Box::new(Add { model: Flow {} }),
"select" => Box::new(Select { model: Flow {} }),
"delete" => Box::new(Delete { model: Flow {} }),
"edit" => Box::new(Edit { model: Flow {} }),
"disable" => Box::new(Disable { model: Flow {} }),
"enable" => Box::new(Enable { model: Flow {} }),
_ => actions(name)
}
}
}
pub mod table;
pub mod add;
pub mod select;
pub mod delete;
pub mod edit;
pub mod disable;
pub mod enable;