crud.Bw9Y1dD8.js 6.6 KB

1
  1. import{T as d,W as l,D as n}from"./index.D9MSRuO0.js";import{u as p,D as h,U as f,A as g,G as y}from"./api.BvNIjsbw.js";import{a as s}from"./authFunction.gOycM0k4.js";import{c as w}from"./commonCrud.B0Q86j-x.js";import{S as u,P as b,aj as v}from"./vue.YrNK8sx4.js";async function _(a){var t;const i=new FormData;i.append("image",a.file);const o=await p(i);if(!((t=o==null?void 0:o.data)==null?void 0:t.image_url))throw new Error("上传接口未返回 image_url");const r="http://58.34.94.147:8086/media/files/3/c/3c711548de2284d59922379243a60bd8.png",e={url:r,name:a.file.name,...o.data};return a.value=r,a.url=r,a.response=e,a.fsRes=e,console.log("上传返回 response:",e),e}const R=function({crudExpose:a}){const i=async e=>await y(e),o=async({form:e,row:t})=>(e.id=t.id,await f(e)),c=async({row:e})=>await h(e.id),r=async({form:e})=>await g(e);return d.get(),{crudOptions:{request:{pageRequest:i,addRequest:r,editRequest:o,delRequest:c},toolbar:{show:!1},actionbar:{buttons:{add:{show:s("user:Create")},batchimport:{text:"批量导入",title:"导入"},export:{text:"导出",title:"导出",show:s("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,m=a.crudBinding.value.pagination;return((m.currentPage??1)-1)*m.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:l({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:"请输入设备名称"}]}},status:{title:"设备状态",type:"dict-select",search:{show:!1},dict:l({data:[{label:"在借",value:1},{label:"空闲",value:2}]}),column:{minWidth:100},form:{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},from:{show:!1}},warehouse:{title:"库存仓库",type:"dict-select",column:{minWidth:150},dict:l({url:"/api/system/warehouse/",value:"id",label:"name"}),form:{component:{placeholder:"请选择库存仓库"}}},is_visible:{title:"是否可见",type:"dict-select",column:{minWidth:120},dict:l({data:[{label:"可见",value:!0},{label:"隐藏",value:!1}]}),form:{component:{placeholder:"请输入是否可见"}}},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?n(e).format("YYYY-MM-DD"):""},form:{component:{placeholder:"请选择购买日期"},rules:[{required:!0,message:"请选择购买日期"}]},valueResolve({form:e,value:t}){e.purchase_date=t?n(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:l({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?n(e).format("YYYY-MM-DD"):""},form:{component:{placeholder:"请选择购买日期"},rules:[{required:!0,message:"请选择购买日期"}]},valueResolve({form:e,value:t}){e.warranty_expiration=t?n(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:s("image:upload"),component:{uploader:{type:"form",limit:1,accept:".jpg,.png",uploadRequest:_}}}},tenant_id:{title:"租户id",type:"dict-select",column:{minWidth:120},dict:l({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:l({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:l({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)}}},maintenancename:{title:"维修名称",type:"input",search:{show:!1},column:{minWidth:100},form:{component:{placeholder:"请输入设备购入价格"},rules:[{required:!0,message:"请输入设备购入价格"}]}},...w({create_datetime:{search:!1},update_datetime:{search:!1}})},form:{row:{gutter:20},group:{groupType:"tabs",accordion:!1,groups:{base:{slots:{label:e=>u("span",{style:{color:e.hasError?"red":"green"}},[u(v("fs-icon"),{icon:"ion:checkmark-circle"},null),b("基础信息")])},icon:"el-icon-goods",columns:["code","category_name","name","status","brand","specification","serial_number","total_quantity","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:["maintenancename"]},maintain:{label:"保养记录",collapsed:!0,icon:"el-icon-warning-outline",columns:[]},datastatis:{label:"数据统计",collapsed:!0,icon:"el-icon-warning-outline",columns:[]}}}}}}};export{R as createCrudOptions,_ as uploadRequestHandler};