import{D as g,U as w,A as y,G as f}from"./api.GJxuA-T0.js";import{G as b}from"./api.ZM89sPf6.js";import{W as o,I as l,am as _}from"./index.BORolnlR.js";import{aH as q,S as W,aj as x,ad as D}from"./vue.D1BjjNmv.js";function v(a){return typeof a=="function"||Object.prototype.toString.call(a)==="[object Object]"&&!D(a)}const F=function({crudExpose:a}){const c=q(),u=async e=>await f(e),m=async({form:e,row:t})=>(e.id=t.id,await w(e)),d=async({row:e})=>await g(e.id),p=async({form:e})=>{const t=e==null?void 0:e.document_link;if(!t||Array.isArray(t)&&t.length===0)throw _("请上传合约文档"),new Error("document_link required");return Array.isArray(t)&&(e.document_link=t[0]),await y(e)},h=e=>{console.log(e.document_link),c.push({path:"/system/contract/preview",query:{file:e.document_link,contractName:e.contract_name}})};return{crudOptions:{toolbar:{buttons:{search:{show:!1},refresh:{show:!1},compact:{show:!1},export:{text:"导出",type:"primary",size:"small",icon:"upload",circle:!1,display:!0,show:!1},columns:{show:!1}}},search:{col:{span:3},show:!0,autoSearch:!1,buttons:{search:{size:"small"},reset:{size:"small"}}},request:{pageRequest:u,addRequest:p,editRequest:m,delRequest:d},actionbar:{buttons:{add:{show:!0}}},rowHandle:{fixed:"right",width:200,buttons:{view:{text:"详细信息",iconRight:"View",type:"text",show:!0},edit:{iconRight:"Edit",type:"text",show:!1},remove:{iconRight:"Delete",type:"text",show:!1},Viewcontract:{text:"查看合约",iconRight:"",type:"text",show:!0,click:e=>{h(e.row)}}}},columns:{_index:{title:"序号",form:{show:!1},column:{type:"index",align:"center",width:"70px",columnSetDisabled:!0}},contract_number:{title:"合约编号",search:{show:!0},type:"input",form:{rules:[{required:!0,message:"合约编号必填"}],component:{placeholder:"请输入合约编号"}},column:{minWidth:150}},document_link:{title:"合约文档",type:"file-uploader",form:{rules:[{required:!0,message:"请上传合约文档"}],component:{uploader:{type:"form",action:"/api/uploadfile/",accept:".pdf,.doc,.docx",maxSize:10*1024*1024,limit:1},placeholder:"请上传PDF或Word格式的合约文档",helpMessage:"支持PDF、Word格式,文件大小不超过10MB"}},column:{show:!1,component:{render:({value:e})=>{if(!e)return"未上传";const t=e.split("/").pop();return W(x("el-link"),{type:"primary",href:e,target:"_blank"},v(t)?t:{default:()=>[t]})}},minWidth:180}},contract_name:{title:"合约名称",search:{show:!0},type:"input",form:{rules:[{required:!0,message:"合约名称必填"}],component:{placeholder:"请输入合约名称"}},column:{minWidth:180}},tenant_name:{title:"企业名称",search:{show:!0},type:"input",form:{show:!1,rules:[{required:!0,message:"企业名称必填"}],component:{placeholder:"请选择企业名称",filterable:!0,clearable:!0}},column:{minWidth:120,show:!1}},tenant:{title:"企业名称",search:{show:!1},type:"dict-select",dict:o({url:"/api/platform/tenants/",value:"tenant_id",label:"name",getData:e=>b({page:1,limit:20}).then(t=>t.data.results)}),form:{rules:[{required:!0,message:"企业名称必填"}],component:{placeholder:"请选择企业名称",filterable:!0,clearable:!0}},column:{minWidth:120}},contract_amount:{title:"合约金额",type:"number",form:{rules:[{required:!0,message:"合约金额必填"},{type:"number",min:0,message:"合约金额不能为负数",trigger:"blur"}],component:{placeholder:"请输入合约金额",precision:2,step:1e3,min:0}},column:{minWidth:120}},start_date:{title:"开始时间",type:"date",search:{show:!0},form:{rules:[{required:!0,message:"开始时间必填"}],component:{type:"datetime",valueFormat:"YYYY-MM-DD",placeholder:"请选择开始时间"}},column:{minWidth:150}},end_date:{title:"结束时间",type:"date",search:{show:!0},form:{rules:l(({form:e})=>[{required:!0,message:"结束时间必填",trigger:"change"},{validator:(t,r,n)=>{if(!r||!(e!=null&&e.start_date))return n();const s=new Date(e.start_date).getTime(),i=new Date(r).getTime();isFinite(s)&&isFinite(i)&&it=>{if(!(e!=null&&e.start_date))return!1;const r=new Date(e.start_date).getTime();return isFinite(r)?t.getTime()