1 |
- import{W as d,D as u,p as x,I as Y,h as R,r as B,Y as b,Z as i,q as M}from"./index.CzsJjcs4.js";import{D as A,U as C,A as E,G as j,g as O,a as T,b as S}from"./api.CQz5C3HX.js";import{a as y}from"./authFunction.CiXlykyD.js";import{d as H}from"./dictionary.eHFbQdhn.js";import{r as p,S as r,a as F,P as w,aj as N,ai as v,w as q,L as _,at as D}from"./vue.YrNK8sx4.js";const k=F({props:{form:Object},setup(a){try{const l=p([]),n=p(!1);return q(()=>{var o;return(o=a.form)==null?void 0:o.id},async()=>{var o;if((o=a.form)!=null&&o.id){n.value=!0;try{const c=await T(a.form.id);l.value=c.data||[]}finally{n.value=!1}}},{immediate:!0}),()=>_(r(b,{data:l.value,style:"width: 100%"},{default:()=>[r(i,{prop:"application_no",label:"借用编号"},null),r(i,{prop:"borrower_name",label:"借用人"},null),r(i,{prop:"record_type_label",label:"状态"},null),r(i,{prop:"borrower_type",label:"借用类型"},null)]}),[[D("loading"),n.value]])}catch(l){return console.error("BorrowRecords setup error:",l),()=>r("div",null,[w("组件加载失败")])}}}),U=F({props:{form:Object},setup(a){try{const l=p([]),n=p(!1);return q(()=>{var o;return(o=a.form)==null?void 0:o.id},async()=>{var o;if((o=a.form)!=null&&o.id){n.value=!0;try{const c=await O(a.form.id);l.value=c.data||[]}finally{n.value=!1}}},{immediate:!0}),()=>_(r(b,{data:l.value,style:"width: 100%"},{default:()=>[r(i,{prop:"damage_no",label:"维修编号"},null),r(i,{prop:"device_name",label:"设备名称"},null),r(i,{prop:"damage_reason",label:"损坏原因"},null),r(i,{prop:"estimated_loss",label:"损失价格"},null)]}),[[D("loading"),n.value]])}catch(l){return console.error("MaintenanceHistory setup error:",l),()=>r("div",null,[w("组件加载失败")])}}}),G=function({crudExpose:a}){const l=async e=>await j(e),n=async({form:e,row:t})=>(e.id=t.id,await C(e)),h=async({row:e})=>await A(e.id),o=async({form:e})=>await E(e),c=p([]),W=e=>{console.log("selection",e),c.value=e.map(t=>t.id)};return a.selectedIds=c,{crudOptions:{request:{pageRequest:l,addRequest:o,editRequest:n,delRequest:h},table:{rowKey:"id",onSelectionChange:W},toolbar:{show:!0},rowHandle:{fixed:"right",width:220,view:{show:!0},edit:{show:!0},remove:{show:!0}},actionbar:{buttons:{add:{show:y("user:Create")}}},columns:{$checked:{title:"选择",form:{show:!1},column:{type:"selection",align:"center",width:"55px",columnSetDisabled:!0,selectable(e,t){return e.id}}},_index:{title:"序号",form:{show:!1},column:{align:"center",width:"70px",columnSetDisabled:!0,formatter:e=>{let t=e.index??1,s=a.crudBinding.value.pagination;return((s.currentPage??1)-1)*s.pageSize+t+1}}},code:{title:"设备编号",search:{show:!0},type:"input",column:{minWidth:120},form:{component:{placeholder:"请输入设备编号"},rules:[{required:!0,message:"请输入设备编号"}]},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},category_name:{title:"设备分类",search:{show:!0},type:"dict-select",dict:d({url:"/api/system/device/category/?page=1&limit=100",value:"id",label:"name"}),column:{minWidth:100},form:{show:!1,component:{placeholder:"请选择设备分类"},rules:[{required:!0,message:"请选择设备分类"}]},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},name:{title:"设备名称",search:{show:!1},type:"input",column:{minWidth:120},form:{component:{placeholder:"请输入设备名称"},rules:[{required:!0,message:"请输入设备名称"}]},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},"inventory.borrowed_quantity":{title:"设备状态",type:"text",search:{show:!1},column:{show:!0,minWidth:100,formatter:({row:e})=>{const t=e.borrowed_quantity>0,s=t?"在借":"空闲",m=t?"#FFA500":"#4CAF50";return v("span",{style:{display:"inline-block",padding:"2px 8px",border:`1px solid ${m}`,borderRadius:"4px",backgroundColor:m,color:"white",fontWeight:"bold"}},s)}},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:"请输入已借出"}]},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},brand:{title:"品牌",type:"input",column:{minWidth:100},form:{component:{placeholder:"请输入品牌"}},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},specification:{title:"规格型号",search:{show:!1},type:"input",column:{minWidth:100},form:{component:{placeholder:"请输入规格型号"}},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},serial_number:{title:"序列号",type:"input",column:{minWidth:100},form:{component:{placeholder:"请输入序列号"}},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},total_quantity:{title:"库存数量",type:"input",column:{minWidth:100},addForm:{show:!1},viewForm:{show:!1},editForm:{show:!1},from:{show:!1,component:{placeholder:"请输入库存数量"},rules:[{required:!1,message:"请输入库存数量"}]}},warehouse:{title:"存放仓库",search:{show:!0},type:"dict-select",column:{minWidth:150},dict:d({url:"/api/system/warehouse/",value:"id",label:"name"}),form:{component:{placeholder:"请选择存放仓库"},rules:[{required:!0,message:"请选择存放仓库"}]}},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:x(e=>()=>{S(e.row).then(t=>{M(t.msg)})})}},dict:d({data:H("device_button_status_bool")}),form:{rules:[{required:!0,message:"请选择是否可见"}]},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},department:{title:"所属部门",search:{show:!1},type:"input",column:{minWidth:120},form:{component:{placeholder:"请输入所属部门"}},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},purchase_date:{title:"采购时间",type:"date",search:{show:!1},column:{minWidth:120,formatter:({value:e})=>e?u(e).format("YYYY-MM-DD"):""},form:{component:{placeholder:"请选择采购时间"},rules:[{required:!1,message:"请选择采购时间"}]},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]},valueResolve({form:e,value:t}){e.purchase_date=t?u(t).format("YYYY-MM-DD"):null},valueBuilder({form:e,value:t}){e.purchase_date=t}},supplier:{title:"供应商",type:"dict-select",search:{show:!0},column:{minWidth:120},dict:d({url:"/api/system/supplier/",value:"id",label:"name"}),form:{component:{placeholder:"请输入供应商"}},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},price:{title:"价格",type:"number",search:{show:!1},column:{minWidth:100},form:{component:{placeholder:"请输入设备购入价格"},rules:[{required:!1,message:"请输入设备购入价格"}]},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},warranty_expiration:{title:"质保到期",type:"date",search:{show:!1},column:{minWidth:120,formatter:({value:e})=>e?u(e).format("YYYY-MM-DD"):""},viewForm:{title:"质保到期",component:{render({value:e}){if(console.log("valuevaluevalue:::",e),!e)return"";const t=u(e).format("YYYY-MM-DD"),s=u(e).isBefore(u(),"day");return v("span",{style:{color:s?"red":"inherit",fontWeight:s?"bold":"normal"}},s?`${t}(已过期)`:t)},showHtml:!0}},form:{component:{placeholder:"请选择质保到期"},rules:[{required:!1,message:"请选择质保到期"}]},valueResolve({form:e,value:t}){e.warranty_expiration=t?u(t).format("YYYY-MM-DD"):null},valueBuilder({form:e,value:t}){e.warranty_expiration=t}},tenant_id:{title:"租户id",type:"input",value:1,column:{show:!1,minWidth:120},form:{value:1,show:!1,component:{placeholder:"请填租户id"},rules:[{required:!1,message:"请填租户id"}]},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},category:{show:!1,title:"设备类别",search:{show:!1},type:"dict-select",column:{show:!1,minWidth:120},dict:d({url:"/api/system/device/category/?page=1&limit=100",value:"id",label:"name"}),form:{component:{placeholder:"请输入设备类别",filterable:!0},rules:[{required:!0,message:"请输入设备类别"}]},viewForm:{component:{placeholder:""},rules:[{required:!0,message:""}]}},quantity:{show:!1,title:"库存数量",search:{show:!1},type:"input",column:{show:!1,minWidth:120},viewForm:{component:{placeholder:""}},form:{component:{placeholder:"请输入库存数量"},rules:[{required:!0,message:"请输入库存数量"}],valueResolve({form:e,value:t}){e.quantity=Number(t??0)},valueBuilder({form:e,value:t}){e.quantity=e.total_quantity}}},tags:{show:!1,title:"设备标签",search:{show:!1},type:"dict-select",column:{show:!1,minWidth:120},dict:d({url:"/api/system/device_tags/?page=1&limit=100",value:"id",label:"name"}),viewForm:{component:{placeholder:""}},form:{component:{placeholder:"请选择设备标签",filterable:!0},rules:[{required:!0,message:"请选择设备标签"}],valueResolve({form:e,value:t}){e.tags=Array.from(String(t),Number)},valueBuilder({form:e,value:t}){t&&(e.tags=Array.isArray(t)?t.length>0?Number(t[0]):"":Number(t))}}},image:{title:"设备图片",type:"image-uploader",column:{minWidth:120,show:!1},form:{show:y("image:upload"),component:{uploader:{type:"form",limit:1,action:"/api/system/device/upload-image/",accept:".jpg,.png",uploadRequest:async({action:e,file:t,onProgress:s})=>{const m=R.get("token"),f=new FormData;return f.append("image",t),await B({url:e,method:"post",timeout:6e4,headers:{"Content-Type":"multipart/form-data",Authorization:m?`JWT ${m}`:""},data:f,onUploadProgress:g=>{s({percent:Math.round(g.loaded/g.total*100)})}})},successHandle(e){return{url:Y(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]}},id:{title:"deviceid",search:{show:!1},type:"input",column:{show:!1,minWidth:120},form:{show:!1,component:{placeholder:"请输入维修"}},viewForm:{show:!0,component:{placeholder:""},rules:[{required:!0,message:""}]}}},viewForm:{wrapper:{buttons:{ok:{text:"提交"}}},row:{gutter:20},group:{groupType:"tabs",groups:{base:{slots:{label:e=>r("span",{style:{color:e.hasError?"red":"green"}},[r(N("fs-icon"),{icon:"ion:checkmark-circle"},null),w("基础信息")])},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","tenant_id","category","quantity","tags","image"]},borrow:{show:!0,label:"借用记录",icon:"el-icon-price-tag",columns:["id"],slots:{default:e=>{const t=a.getFormData();return console.log("currentRow::",t),r(k,{form:t||{}},null)}}},maintenance:{show:!0,label:"维修记录",icon:"el-icon-warning-outline",columns:["id"],slots:{default:e=>{const t=a.getFormData();return console.log("currentRowwx::",t),r(U,{form:t||{}},null)}}},maintain:{label:"保养记录",collapsed:!0,icon:"el-icon-warning-outline",columns:[]},datastatis:{label:"数据统计",collapsed:!0,icon:"el-icon-warning-outline",columns:[]}}}}}}};export{G as createCrudOptions};
|