import{U as w,W as a,D as r,n as f,F as g,h as y,r as b,s as v}from"./index.vzye5GYA.js";import{D as _,U as W,A as q,G as x,a as Y}from"./api.DJTU_E5z.js";import{a as l}from"./authFunction.CGt2HkWK.js";import{c as D}from"./commonCrud.DFF0_yTv.js";import{d as M}from"./dictionary.C8FjzKQ_.js";import{S as c,P as R,aj as C}from"./vue.YrNK8sx4.js";const O=function({crudExpose:u}){const d=async e=>await x(e),m=async({form:e,row:t})=>(e.id=t.id,await W(e)),p=async({row:e})=>await _(e.id),h=async({form:e})=>await q(e);return w.get(),{crudOptions:{request:{pageRequest:d,addRequest:h,editRequest:m,delRequest:p},toolbar:{show:!1},rowHandle:{fixed:"right",width:220,view:{show:!0,click:({row:e})=>{window.dispatchEvent(new CustomEvent("workflow-view",{detail:e}))}},edit:{show:!0,click:({row:e})=>{window.dispatchEvent(new CustomEvent("workflow-edit",{detail:e}))}},remove:{show:!0}},actionbar:{buttons:{add:{show:l("user:Create")},batchimport:{text:"批量导入",title:"导入"},export:{text:"导出",title:"导出",show:l("user:Export")},downloadtemplate:{text:"下载模板",title:"下载模板"},batchdelete:{text:"批量删除",title:"批量删除"}}},columns:{_index:{title:"序号",form:{show:!1},column:{align:"center",width:"70px",columnSetDisabled:!0,formatter:e=>{let t=e.index??1,o=u.crudBinding.value.pagination;return((o.currentPage??1)-1)*o.pageSize+t+1}}},code:{title:"设备编号",search:{show:!0},type:"input",column:{minWidth:120},form:{component:{placeholder:"请输入设备编号"},rules:[{required:!0,message:"请输入设备编号"}]}},category_name:{title:"设备分类",search:{show:!0},type:"dict-select",dict:a({url:"/api/system/device/category/",value:"id",label:"name"}),column:{minWidth:100},form:{show:!1,component:{placeholder:"请选择设备分类"},rules:[{required:!0,message:"请选择设备分类"}]}},name:{title:"设备名称",search:{show:!1},type:"input",column:{minWidth:120},form:{component:{placeholder:"请输入设备名称"},rules:[{required:!0,message:"请输入设备名称"}]}},"inventory.borrowed_quantity":{title:"设备状态",type:"dict-select",search:{show:!1},dict:a({data:[{label:"在借",value:1},{label:"空闲",value:0}],getData:e=>t=>t>0?"在借":"空闲"}),column:{show:!0,minWidth:100},form:{show:!1,component:{placeholder:"请选择设备状态"},rules:[{required:!0,message:"请选择设备状态"}]}},borrowed_quantity:{title:"已借出",type:"input",search:{show:!1},column:{minWidth:100},form:{show:!1,component:{placeholder:"请输入已借出"},rules:[{required:!0,message:"请输入已借出"}]}},brand:{title:"品牌",type:"input",column:{minWidth:100}},specification:{title:"规格型号",search:{show:!1},type:"input",column:{minWidth:100},form:{component:{placeholder:"请输入规格型号"}}},serial_number:{title:"序列号",type:"input",column:{minWidth:100}},total_quantity:{title:"库存数量",type:"input",column:{minWidth:100},addForm:{show:!1},viewForm:{show:!1},editForm:{show:!1},from:{show:!1,component:{placeholder:"请输入已借出"},rules:[{required:!0,message:"请输入已借出"}]}},warehouse:{title:"库存仓库",type:"dict-select",column:{minWidth:150},dict:a({url:"/api/system/warehouse/",value:"id",label:"name"}),form:{component:{placeholder:"请选择库存仓库"}}},status:{title:"是否可见",type:"dict-switch",column:{minWidth:90,component:{name:"fs-dict-switch",activeText:"",inactiveText:"",style:"--el-switch-on-color: var(--el-color-primary); --el-switch-off-color: #dcdfe6",onChange:f(e=>()=>{Y(e.row).then(t=>{v(t.msg)})})}},dict:a({data:M("device_button_status_bool")})},department:{title:"所属部门",search:{show:!1},type:"input",column:{minWidth:120},form:{component:{placeholder:"请输入所属部门"}}},purchase_date:{title:"采购时间",type:"date",search:{show:!1},column:{minWidth:120,formatter:({value:e})=>e?r(e).format("YYYY-MM-DD"):""},form:{component:{placeholder:"请选择购买日期"},rules:[{required:!0,message:"请选择购买日期"}]},valueResolve({form:e,value:t}){e.purchase_date=t?r(t).format("YYYY-MM-DD"):null},valueBuilder({form:e,value:t}){e.purchase_date=t}},supplier:{title:"供应商",type:"dict-select",search:{show:!1},column:{minWidth:120},dict:a({url:"/api/system/supplier/",value:"id",label:"name"}),form:{component:{placeholder:"请输入供应商"}}},price:{title:"价格",type:"number",search:{show:!1},column:{minWidth:100},form:{component:{placeholder:"请输入设备购入价格"},rules:[{required:!0,message:"请输入设备购入价格"}]}},warranty_expiration:{title:"保质期",type:"date",search:{show:!1},column:{minWidth:120,formatter:({value:e})=>e?r(e).format("YYYY-MM-DD"):""},form:{component:{placeholder:"请选择购买日期"},rules:[{required:!0,message:"请选择购买日期"}]},valueResolve({form:e,value:t}){e.warranty_expiration=t?r(t).format("YYYY-MM-DD"):null},valueBuilder({form:e,value:t}){e.warranty_expiration=t}},image:{title:"设备图片",type:"image-uploader",column:{minWidth:120,show:!1},form:{show:l("image:upload"),component:{uploader:{type:"form",limit:1,action:"/api/system/device/upload-image/",accept:".jpg,.png",uploadRequest:async({action:e,file:t,onProgress:o})=>{const i=y.get("token");console.log("token:::",i);const s=new FormData;return s.append("image",t),await b({url:e,method:"post",timeout:6e4,headers:{"Content-Type":"multipart/form-data",Authorization:i?`JWT ${i}`:""},data:s,onUploadProgress:n=>{o({percent:Math.round(n.loaded/n.total*100)})}})},successHandle(e){return console.log("ret.data.image_url:::",e.data.image_url),{url:g(e.data.image_url),key:e.data.id,...e.data}}}}},valueBuilder({row:e,key:t}){return e[t]?[e[t]]:[]},valueResolve({form:e,key:t}){console.log("form[key]:::",e[t]),e[t]=Array.isArray(e[t])?e[t][0]:e[t]}},tenant_id:{title:"租户id",type:"dict-select",column:{show:!1,minWidth:120},dict:a({url:"/api/system/tenant/list/",value:"id",label:"name"}),form:{component:{placeholder:"请填租户id"},rules:[{required:!1,message:"请填租户id"}]}},category:{show:!1,title:"类别id",search:{show:!1},type:"dict-select",column:{show:!1,minWidth:120},dict:a({url:"/api/system/device/category/",value:"id",label:"name"}),form:{component:{placeholder:"请输入类别id"}}},quantity:{show:!1,title:"库存数量",search:{show:!1},type:"input",column:{show:!1,minWidth:120},form:{component:{placeholder:"请输入库存数量"}}},tags:{show:!1,title:"设备标签",search:{show:!1},type:"dict-select",column:{show:!1,minWidth:120},dict:a({url:"/api/system/device_tags/",value:"id",label:"name"}),form:{component:{placeholder:"请选择设备标签"},valueResolve({form:e,value:t}){e.tags=Array.from(String(t),Number)},valueBuilder({form:e,value:t}){e.tags=Array.from(String(t),Number)}}},...D({create_datetime:{search:!1},update_datetime:{search:!1}})},form:{row:{gutter:20},group:{groupType:"tabs",accordion:!1,groups:{base:{slots:{label:e=>c("span",{style:{color:e.hasError?"red":"green"}},[c(C("fs-icon"),{icon:"ion:checkmark-circle"},null),R("基础信息")])},icon:"el-icon-goods",columns:["code","category_name","name","status","borrowed_quantity","brand","specification","serial_number","warehouse","is_visible","department","purchase_date","supplier","price","warranty_expiration","image","tenant_id","category","quantity","tags"]},borrow:{label:"借用记录",icon:"el-icon-price-tag",columns:[]},maintenance:{label:"维修记录",collapsed:!0,icon:"el-icon-warning-outline",columns:[""]},maintain:{label:"保养记录",collapsed:!0,icon:"el-icon-warning-outline",columns:[]},datastatis:{label:"数据统计",collapsed:!0,icon:"el-icon-warning-outline",columns:[]}}}}}}};export{O as createCrudOptions};