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
use df_db::Mode;
use df_fields::Field;
use json::{JsonValue, object};
use crate::{Action, Model, Response};
use crate::dict::tranmode::Tranmode;

pub struct Add {
    pub model: Tranmode,
}

impl Action for Add {
    fn title(&mut self) -> &'static str { "新增" }
    fn name(&mut self) -> &'static str { "dict.tranmode.add" }
    fn token(&mut self) -> bool { true }
    fn params(&mut self) -> JsonValue {
        let mut fields = object! {};
        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();
        return fields;
    }

    fn index(&mut self, _header: JsonValue, request: JsonValue) -> Response {
        let add = self.tools().db.table(self.model.table()).insert(request);
        return if add.is_empty() {
            self.fail("新增失败")
        } else {
            self.success(object! {}, "新增成功")
        }
    }
}