fix
This commit is contained in:
@@ -52,10 +52,10 @@ static CONTRACT_FIELDS: &[Field] = &[
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::related("category_ref", "category_id", &CATEGORY_RELATION),
|
||||
Field::related("counterparty", "company", &COUNTERPARTY_RELATION),
|
||||
Field::related("project", "project", &PROJECT_RELATION),
|
||||
Field::related("frc", "frc", &FRC_RELATION),
|
||||
Field::related("employee", "get_employee", &EMPLOYEE_RELATION),
|
||||
Field::related("counterparty", "counterparty_id", &COUNTERPARTY_RELATION),
|
||||
Field::related("project", "project_id", &PROJECT_RELATION),
|
||||
Field::related("frc", "frc_id", &FRC_RELATION),
|
||||
Field::related("employee", "employee_id", &EMPLOYEE_RELATION),
|
||||
];
|
||||
|
||||
static CONTRACT_CATEGORY_FIELDS: &[Field] = &[
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
pub mod frcapp;
|
||||
pub mod personemanagment;
|
||||
pub mod projectapp;
|
||||
pub mod supplyapp;
|
||||
pub mod users;
|
||||
|
||||
use che_tauri::InstalledApps;
|
||||
@@ -12,5 +13,6 @@ pub fn installed_apps() -> InstalledApps {
|
||||
.add(projectapp::module())
|
||||
.add(personemanagment::module())
|
||||
.add(contractapp::module())
|
||||
.add(supplyapp::module())
|
||||
}
|
||||
pub mod contractapp;
|
||||
|
||||
@@ -14,6 +14,7 @@ static TASK_FILTERS: &[Filter] = &[
|
||||
Filter::exact("id"),
|
||||
Filter::contains("text"),
|
||||
Filter::remote_only("contract"),
|
||||
Filter::remote_only("bill"),
|
||||
Filter::remote_only("doer"),
|
||||
Filter::remote_only("author"),
|
||||
Filter::exact("archive"),
|
||||
|
||||
@@ -34,8 +34,9 @@ impl AppModule for TaskModule {
|
||||
serializers::task_transfer_serializer(),
|
||||
filters::task_transfer_filterset(),
|
||||
);
|
||||
ctx.resource::<models::Message>(
|
||||
ctx.mapped_remote_resource::<models::Message>(
|
||||
"message",
|
||||
"/api/persone/messages/",
|
||||
serializers::message_serializer(),
|
||||
filters::message_filterset(),
|
||||
);
|
||||
|
||||
@@ -101,6 +101,8 @@ pub struct Message {
|
||||
pub employee_id: i64,
|
||||
|
||||
pub text: String,
|
||||
|
||||
pub status: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Model)]
|
||||
|
||||
@@ -11,92 +11,271 @@ static EMPLOYEE_FIELDS: &[Field] = &[
|
||||
|
||||
static TASK_FIELDS: &[Field] = &[
|
||||
Field::new("id").read_only(),
|
||||
Field::json("project").required(false).nullable(),
|
||||
Field::json("doer").required(false).nullable(),
|
||||
Field::new("doer_name"),
|
||||
Field::json("author").required(false).nullable(),
|
||||
Field::json("memo_full").required(false).nullable(),
|
||||
Field::json("bill_full").required(false).nullable(),
|
||||
Field::json("contract_full").required(false).nullable(),
|
||||
Field::json("project")
|
||||
.ts_type("string")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("doer")
|
||||
.ts_type("Employee")
|
||||
.input_ts_type("Employee")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::new("doer_name").read_only(),
|
||||
Field::json("author")
|
||||
.ts_type("Employee")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("memo_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("bill_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("contract_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("contract_application_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("outgoing_letter_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::json("entry_letter_full").required(false).nullable(),
|
||||
Field::json("protocolitem_full").required(false).nullable(),
|
||||
Field::json("decree_full").required(false).nullable(),
|
||||
Field::json("delivery_full").required(false).nullable(),
|
||||
Field::new("get_status"),
|
||||
Field::new("get_status_class"),
|
||||
Field::new("get_scan_url").required(false).nullable(),
|
||||
Field::new("get_last_day"),
|
||||
Field::new("frc_icon"),
|
||||
Field::json("uploadfile_set").required(false).nullable(),
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("entry_letter_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("protocolitem_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("decree_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("delivery_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("get_status").read_only(),
|
||||
Field::new("get_status_class").read_only(),
|
||||
Field::new("get_scan_url")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("get_last_day").read_only(),
|
||||
Field::new("frc_icon").read_only(),
|
||||
Field::json("uploadfile_set")
|
||||
.ts_type("unknown[]")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("deadline"),
|
||||
Field::new("request_new_deadline")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("plan_date")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("date").read_only(),
|
||||
Field::json("message_set")
|
||||
.ts_type("unknown[]")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("responsible")
|
||||
.ts_type("Employee")
|
||||
.input_ts_type("Employee")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::new("plan_date").required(false).nullable(),
|
||||
Field::new("date"),
|
||||
Field::json("message_set").required(false).nullable(),
|
||||
Field::json("responsible").required(false).nullable(),
|
||||
Field::json("counterparty").required(false).nullable(),
|
||||
Field::json("counterparty")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("get_deadline_history")
|
||||
.ts_type("unknown[]")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::new("duration").required(false).nullable(),
|
||||
Field::json("bid_full").required(false).nullable(),
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("duration")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("bid_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("price_agreement_full")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::json("transfer").required(false).nullable(),
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("transfer")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("text"),
|
||||
Field::new("status"),
|
||||
Field::new("result"),
|
||||
Field::new("complit_date").required(false).nullable(),
|
||||
Field::new("comment"),
|
||||
Field::new("note"),
|
||||
Field::new("approve"),
|
||||
Field::new("archive"),
|
||||
Field::new("approve_date").required(false).nullable(),
|
||||
Field::new("approve_required"),
|
||||
Field::new("progress_status"),
|
||||
Field::new("start_date").required(false).nullable(),
|
||||
Field::new("end_date").required(false).nullable(),
|
||||
Field::new("order_number").required(false).nullable(),
|
||||
Field::new("priority").required(false).nullable(),
|
||||
Field::new("typ"),
|
||||
Field::json("stage").required(false).nullable(),
|
||||
Field::json("contract").required(false).nullable(),
|
||||
Field::json("questionnair").required(false).nullable(),
|
||||
Field::json("contract_application")
|
||||
Field::new("status").read_only(),
|
||||
Field::new("result").read_only(),
|
||||
Field::new("complit_date")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::json("entry_letter").required(false).nullable(),
|
||||
Field::json("outgoing_letter").required(false).nullable(),
|
||||
Field::json("protocol").required(false).nullable(),
|
||||
Field::json("bill").required(false).nullable(),
|
||||
Field::json("decree").required(false).nullable(),
|
||||
Field::json("court_case").required(false).nullable(),
|
||||
Field::json("bill_register").required(false).nullable(),
|
||||
Field::json("price_agreement").required(false).nullable(),
|
||||
Field::json("bid").required(false).nullable(),
|
||||
Field::json("delivery").required(false).nullable(),
|
||||
Field::json("scheduled_task").required(false).nullable(),
|
||||
Field::json("report").required(false).nullable(),
|
||||
Field::json("memo").required(false).nullable(),
|
||||
Field::json("protocolitem").required(false).nullable(),
|
||||
Field::json("related_note").required(false).nullable(),
|
||||
Field::json("task").required(false).nullable(),
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("comment").read_only(),
|
||||
Field::new("note").read_only(),
|
||||
Field::new("approve").read_only(),
|
||||
Field::new("archive").read_only(),
|
||||
Field::new("approve_date")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("approve_required").read_only(),
|
||||
Field::new("progress_status").read_only(),
|
||||
Field::new("start_date")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("end_date")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("order_number")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("priority")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::new("typ").read_only(),
|
||||
Field::json("stage")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("contract")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("questionnair")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("contract_application")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("entry_letter")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("outgoing_letter")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("protocol")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("bill")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("decree")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("court_case")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("bill_register")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("price_agreement")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("bid")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("delivery")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("scheduled_task")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("report")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("memo")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("protocolitem")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("related_note")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
Field::json("task")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable()
|
||||
.read_only(),
|
||||
];
|
||||
|
||||
static MESSAGE_FIELDS: &[Field] = &[
|
||||
Field::new("id").read_only(),
|
||||
Field::new("task_id"),
|
||||
Field::new("employee_id"),
|
||||
Field::new("task").source("task_id"),
|
||||
Field::new("recipient").source("employee_id"),
|
||||
Field::new("text"),
|
||||
Field::new("status"),
|
||||
];
|
||||
|
||||
static TASK_TRANSFER_FIELDS: &[Field] = &[
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
use che_tauri::{Filter, FilterSet};
|
||||
|
||||
use super::models::Bill;
|
||||
|
||||
static BILL_FILTERS: &[Filter] = &[
|
||||
Filter::exact("id"),
|
||||
Filter::exact("number"),
|
||||
Filter::contains("number"),
|
||||
Filter::exact("text"),
|
||||
Filter::contains("text"),
|
||||
Filter::exact("status"),
|
||||
Filter::exact("status_name"),
|
||||
Filter::contains("status_name"),
|
||||
Filter::exact("date"),
|
||||
Filter::exact("date_due"),
|
||||
Filter::exact("date_bill"),
|
||||
Filter::exact("contract_typ"),
|
||||
Filter::remote_only("counterparty"),
|
||||
Filter::remote_only("frc"),
|
||||
Filter::remote_only("project"),
|
||||
Filter::remote_only("category"),
|
||||
];
|
||||
|
||||
pub fn bill_filterset() -> FilterSet<Bill> {
|
||||
FilterSet::new(BILL_FILTERS).remote_ordering("order_by")
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
CREATE TABLE IF NOT EXISTS supply_bill (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
number TEXT NOT NULL,
|
||||
text TEXT NOT NULL,
|
||||
status TEXT NOT NULL,
|
||||
status_name TEXT NOT NULL,
|
||||
date TEXT NOT NULL,
|
||||
date_due TEXT,
|
||||
date_bill TEXT,
|
||||
month_of_costs TEXT,
|
||||
cost REAL NOT NULL,
|
||||
to_payd REAL NOT NULL,
|
||||
paid REAL NOT NULL,
|
||||
nds_cost REAL NOT NULL,
|
||||
scan TEXT,
|
||||
comment TEXT NOT NULL,
|
||||
absolute_url TEXT NOT NULL,
|
||||
date_pay TEXT,
|
||||
transaction_date TEXT,
|
||||
date_applay TEXT,
|
||||
archive_s BOOLEAN NOT NULL,
|
||||
pp_maked BOOLEAN NOT NULL,
|
||||
composit BOOLEAN NOT NULL,
|
||||
contract_typ TEXT NOT NULL,
|
||||
frc TEXT,
|
||||
project TEXT,
|
||||
counterparty TEXT,
|
||||
contract TEXT,
|
||||
responsible TEXT,
|
||||
author TEXT,
|
||||
category TEXT,
|
||||
transferdocument_set TEXT
|
||||
);
|
||||
@@ -0,0 +1,350 @@
|
||||
{
|
||||
"models": [
|
||||
{
|
||||
"table": "supply_bill",
|
||||
"fields": [
|
||||
{
|
||||
"name": "id",
|
||||
"ty": "integer",
|
||||
"primary_key": true,
|
||||
"nullable": false,
|
||||
"auto": true,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "number",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "text",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "status_name",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "date",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "date_due",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "date_bill",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "month_of_costs",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "cost",
|
||||
"ty": "real",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "to_payd",
|
||||
"ty": "real",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "paid",
|
||||
"ty": "real",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "nds_cost",
|
||||
"ty": "real",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "scan",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "comment",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "absolute_url",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "date_pay",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "transaction_date",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "date_applay",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "archive_s",
|
||||
"ty": "boolean",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "pp_maked",
|
||||
"ty": "boolean",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "composit",
|
||||
"ty": "boolean",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "contract_typ",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": false,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "frc",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "project",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "counterparty",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "contract",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "responsible",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "author",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "category",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
},
|
||||
{
|
||||
"name": "transferdocument_set",
|
||||
"ty": "text",
|
||||
"primary_key": false,
|
||||
"nullable": true,
|
||||
"auto": false,
|
||||
"unique": false,
|
||||
"max_length": null,
|
||||
"default": null,
|
||||
"foreign_key": null
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
pub mod filters;
|
||||
pub mod models;
|
||||
pub mod serializers;
|
||||
|
||||
use che_tauri::{AppModule, ModuleContext};
|
||||
|
||||
pub fn module() -> SupplyappModule {
|
||||
SupplyappModule
|
||||
}
|
||||
|
||||
pub struct SupplyappModule;
|
||||
|
||||
impl AppModule for SupplyappModule {
|
||||
fn name(&self) -> &'static str {
|
||||
"supplyapp"
|
||||
}
|
||||
|
||||
fn init(&self, ctx: &mut ModuleContext) {
|
||||
ctx.mapped_remote_resource::<models::Bill>(
|
||||
"bill",
|
||||
"/api/supply/bill/",
|
||||
serializers::bill_serializer(),
|
||||
filters::bill_filterset(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
use che_orm::Model;
|
||||
|
||||
#[derive(Debug, Clone, Model)]
|
||||
#[model(table = "supply_bill")]
|
||||
pub struct Bill {
|
||||
#[field(primary_key)]
|
||||
pub id: i64,
|
||||
|
||||
pub number: String,
|
||||
pub text: String,
|
||||
pub status: String,
|
||||
pub status_name: String,
|
||||
pub date: String,
|
||||
pub date_due: Option<String>,
|
||||
pub date_bill: Option<String>,
|
||||
pub month_of_costs: Option<String>,
|
||||
pub cost: f64,
|
||||
pub to_payd: f64,
|
||||
pub paid: f64,
|
||||
pub nds_cost: f64,
|
||||
pub scan: Option<String>,
|
||||
pub comment: String,
|
||||
pub absolute_url: String,
|
||||
pub date_pay: Option<String>,
|
||||
pub transaction_date: Option<String>,
|
||||
pub date_applay: Option<String>,
|
||||
pub archive_s: bool,
|
||||
pub pp_maked: bool,
|
||||
pub composit: bool,
|
||||
pub contract_typ: String,
|
||||
|
||||
pub frc: Option<String>,
|
||||
pub project: Option<String>,
|
||||
pub counterparty: Option<String>,
|
||||
pub contract: Option<String>,
|
||||
pub responsible: Option<String>,
|
||||
pub author: Option<String>,
|
||||
pub category: Option<String>,
|
||||
pub transferdocument_set: Option<String>,
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
use che_tauri::{Field, ModelSerializer};
|
||||
|
||||
use super::models::Bill;
|
||||
|
||||
static BILL_FIELDS: &[Field] = &[
|
||||
Field::new("id").read_only(),
|
||||
Field::new("number"),
|
||||
Field::new("text"),
|
||||
Field::new("status"),
|
||||
Field::new("status_name").source("get_status_display"),
|
||||
Field::new("date"),
|
||||
Field::new("date_due").required(false).nullable(),
|
||||
Field::new("date_bill").required(false).nullable(),
|
||||
Field::new("month_of_costs").required(false).nullable(),
|
||||
Field::new("cost"),
|
||||
Field::new("to_payd"),
|
||||
Field::new("paid"),
|
||||
Field::new("nds_cost"),
|
||||
Field::new("scan").required(false).nullable(),
|
||||
Field::new("comment"),
|
||||
Field::new("absolute_url").source("get_absolute_url"),
|
||||
Field::new("date_pay").required(false).nullable(),
|
||||
Field::new("transaction_date").required(false).nullable(),
|
||||
Field::new("date_applay").required(false).nullable(),
|
||||
Field::new("archive_s"),
|
||||
Field::new("pp_maked"),
|
||||
Field::new("composit"),
|
||||
Field::new("contract_typ"),
|
||||
Field::json("frc")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::json("project")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::json("counterparty")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::json("contract")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::json("responsible")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::json("author")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::json("category")
|
||||
.ts_type("unknown")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
Field::json("transferdocument_set")
|
||||
.ts_type("unknown[]")
|
||||
.required(false)
|
||||
.nullable(),
|
||||
];
|
||||
|
||||
pub fn bill_serializer() -> ModelSerializer<Bill> {
|
||||
ModelSerializer::new(BILL_FIELDS)
|
||||
}
|
||||
Reference in New Issue
Block a user