{ "widgettype": "VBox", "options": { "height": "100%", "width": "100%", "padding": "8px", "gap": "8px" }, "subwidgets": [ { "widgettype": "InlineForm", "id": "filter_form", "options": { "css": "card", "padding": "8px", "submit_label": "查询", "submit_css": "primary", "fields": [ { "name": "handled", "label": "处理状态", "uitype": "code", "cwidth": 10, "codes": [ {"value": "", "text": "全部"}, {"value": "0", "text": "未处理"}, {"value": "1", "text": "已处理"} ] }, { "name": "filter_llmid", "label": "模型", "uitype": "str", "placeholder": "模型ID或名称", "cwidth": 12 }, { "name": "filter_userid", "label": "用户", "uitype": "str", "placeholder": "用户ID", "cwidth": 12 }, { "name": "failed_reason", "label": "失败原因", "uitype": "str", "placeholder": "关键词", "cwidth": 15 } ] }, "binds": [ { "wid": "self", "event": "submit", "actiontype": "method", "target": "llmusage_accounting_failed_tbl", "method": "render" } ] }, { "widgettype": "HBox", "options": { "css": "card", "padding": "4px 8px", "cheight": 3 }, "subwidgets": [ { "widgettype": "Button", "id": "btn_recover_usages", "options": { "label": "从IO文件恢复Usages", "css": "primary" }, "binds": [ { "wid": "self", "event": "click", "actiontype": "urldata", "target": "msg_area", "options": { "url": "{{entire_url('./recover_usages.dspy')}}" }, "mode": "replace" }, { "wid": "self", "event": "click", "actiontype": "method", "target": "llmusage_accounting_failed_tbl", "method": "render" } ] }, { "widgettype": "VBox", "id": "msg_area", "options": { "width": "100%", "css": "filler" } } ] }, { "id": "llmusage_accounting_failed_tbl", "widgettype": "Tabular", "options": { "width": "100%", "height": "100%", "title": "记账失败记录", "css": "card", "editable": { "new_data_url": "{{entire_url('add_llmusage_accounting_failed.dspy')}}", "delete_data_url": "{{entire_url('delete_llmusage_accounting_failed.dspy')}}", "update_data_url": "{{entire_url('update_llmusage_accounting_failed.dspy')}}" }, "data_url": "{{entire_url('./get_llmusage_accounting_failed.dspy')}}", "data_method": "GET", "data_params": {{json.dumps(params_kw, indent=4, ensure_ascii=False)}}, "row_options": { "browserfields": { "exclouded": ["id"], "alters": { "handled": { "uitype": "code", "data": [ {"value": "0", "text": "未处理"}, {"value": "1", "text": "已处理"} ] } } }, "editexclouded": ["id", "llmusageid", "failed_time"], "fields": [ { "name": "id", "title": "id", "type": "str", "length": 32, "cwidth": 18, "uitype": "str", "datatype": "str", "label": "id" }, { "name": "llmusageid", "title": "使用记录id", "type": "str", "length": 32, "cwidth": 18, "uitype": "str", "datatype": "str", "label": "使用记录id" }, { "name": "llmid", "title": "模型", "type": "str", "length": 32, "cwidth": 18, "uitype": "code", "valueField": "llmid", "textField": "llmid_text", "params": { "dbname": "llmage", "table": "llm", "tblvalue": "id", "tbltext": "name", "valueField": "llmid", "textField": "llmid_text" }, "dataurl": "{{entire_url('/appbase/get_code.dspy')}}", "datatype": "str", "label": "模型" }, { "name": "userid", "title": "用户", "type": "str", "length": 32, "cwidth": 18, "uitype": "code", "valueField": "userid", "textField": "userid_text", "params": { "dbname": "sage", "table": "users", "tblvalue": "userid", "tbltext": "username", "valueField": "userid", "textField": "userid_text" }, "dataurl": "{{entire_url('/appbase/get_code.dspy')}}", "datatype": "str", "label": "用户" }, { "name": "userorgid", "title": "机构", "type": "str", "length": 32, "cwidth": 18, "uitype": "code", "valueField": "userorgid", "textField": "userorgid_text", "params": { "dbname": "sage", "table": "organization", "tblvalue": "id", "tbltext": "orgname", "valueField": "userorgid", "textField": "userorgid_text" }, "dataurl": "{{entire_url('/appbase/get_code.dspy')}}", "datatype": "str", "label": "机构" }, { "name": "use_time", "title": "使用时间", "type": "timestamp", "length": 0, "uitype": "str", "datatype": "timestamp", "label": "使用时间" }, { "name": "amount", "title": "交易金额", "type": "double", "length": 18, "dec": 5, "cwidth": 18, "uitype": "float", "datatype": "double", "label": "交易金额" }, { "name": "failed_reason", "title": "失败原因", "type": "text", "length": 0, "uitype": "text", "datatype": "text", "label": "失败原因" }, { "name": "failed_time", "title": "失败时间", "type": "timestamp", "length": 0, "uitype": "str", "datatype": "timestamp", "label": "失败时间" }, { "name": "retry_count", "title": "重试次数", "type": "int", "length": 0, "uitype": "int", "datatype": "int", "label": "重试次数" }, { "name": "handled", "title": "是否已处理", "type": "str", "length": 1, "default": "0", "cwidth": 4, "uitype": "code", "datatype": "str", "label": "是否已处理", "data": [ {"value": "0", "text": "未处理"}, {"value": "1", "text": "已处理"} ] }, { "name": "handled_time", "title": "处理时间", "type": "timestamp", "length": 0, "uitype": "str", "datatype": "timestamp", "label": "处理时间" }, { "name": "handled_note", "title": "处理备注", "type": "text", "length": 0, "uitype": "text", "datatype": "text", "label": "处理备注" } ] }, "page_rows": 160, "cache_limit": 5 }, "binds": [] } ] }