js+css实现可编辑和打印it工程报价单代码

代码语言:html

所属分类:布局界面

代码描述:js+css实现可编辑和打印it工程报价单代码

代码标签: js css 编辑 打印 it 工程 报价单 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>IT 系统 功能报价单 与 工时单</title>
<style>
  :root{
    --bg:#F6F7FB;
    --card:#ffffff;
    --text:#1F2937;
    --muted:#6B7280;
    --line:#E5E7EB;
    --accent:#3A86FF;
    --accent-weak:#E8F1FF;
    --good:#10B981;
    --danger:#EF4444;
    --radius:14px;
    --shadow:0 8px 30px rgba(17,24,39,0.08);
  }
  *{box-sizing:border-box}
  html,body{height:100%}
  body{
    margin:0; color:var(--text); background:
      radial-gradient(1200px 600px at 80% -100px, #ffffff 0, #ffffff00 60%),
      radial-gradient(1400px 800px at -100px 0, #EAF2FF 0, #ffffff 60%),
      var(--bg);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  }
  .container{max-width:1160px;margin:38px auto;padding:0 20px 60px}
  .topbar{
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom:18px;
  }
  .brand{
    display:flex; align-items:center; gap:12px; font-weight:700; letter-spacing:.2px;
  }
  .logo{
    width:36px;height:36px;border-radius:10px;
    background:linear-gradient(135deg,var(--accent),#7CC4FF);
    box-shadow:0 6px 18px rgba(58,134,255,.35);
  }
  .tabs{display:flex; gap:8px; flex-wrap:wrap}
  .btn{
    appearance:none; border:1px solid var(--line); background:#fff; color:var(--text);
    padding:10px 14px; border-radius:10px; font-weight:600; cursor:pointer;
    transition:.18s ease; line-height:1; box-shadow:0 1px 0 rgba(0,0,0,0.03);
  }
  .btn:hover{transform:translateY(-1px); box-shadow:0 6px 16px rgba(17,24,39,.08)}
  .btn.active{background:var(--accent); border-color:transparent; color:#fff}
  .btn.ghost{background:#fff; color:var(--accent); border-color:var(--accent)}
  .btn.danger{border-color:#ffd9d9; color:#B91C1C; background:#fff5f5}
  .spacer{flex:1}

  .sheet{
    background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow);
    padding:24px; display:none;
  }
  .sheet.active{display:block}
  .sheet header{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px}
  .sheet h1{margin:0; font-size:26px; letter-spacing:.2px}
  .subtitle{color:var(--muted); font-size:13px}
  .badge{
    font-size:12px; color:var(--accent); background:var(--accent-weak);
    padding:6px 10px; border-radius:999px; font-weight:700; letter-spacing:.3px;
  }

  .grid{display:grid; gap:14px}
  .grid.cols-4{grid-template-columns:repeat(4,1fr)}
  .grid.cols-3{grid-template-columns:repeat(3,1fr)}
  .grid.cols-2{grid-template-columns:repeat(2,1fr)}
  @media(max-width:980px){ .grid.cols-4{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:560px){ .grid.cols-3,.grid.cols-4{grid-template-columns:1fr} }

  .field{display:flex; flex-direction:column; gap:6px}
  .field>label{font-size:12px; color:var(--muted)}
  .field input,.field select,.field textarea{
    width:100%; padding:10px 12px; border:1px solid var(--line);
    border-radius:10px; font-size:14px; background:#fff; color:var(--text);
  }
  .field textarea{min-height:90px; resize:vertical}

  table{width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:12px; border:1px solid var(--line); background:#fff}
  thead th{
    position:sticky; top:0; background:#fafbff; color:#334155;
    font-size:12px; letter-spacing:.3px; text-transform:uppercase;
    padding:12px; border-bottom:1px solid var(--line);
  }
  tbody td{border-top:1px solid var(--line); padding:8px}
  tbody tr:nth-child(odd){background:#fcfdff}
  tbody input, tbody select{
    width:100%; border:1px solid #e9eef7; padding:8px 10px; border-radius:8px; font-size:14px;
  }
  tbody input[readonly]{background:#f7f9ff; color:#111827; font-weight:600}
  .num{ text-align:right }
  .actions-row{display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:14px 0}
  .muted{color:var(--muted)}
  .money{font-variant-numeric:tabular-nums}
  .summary{
    display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:14px;
  }
  .summary .card{
    border:1px solid var(--line); border-radius:12px; padding:14px; background:#fff;
  }
  .summary .line{display:flex; justify-content:space-between; align-items:center; margin:6px 0; gap:10px}
  .summary .line strong{font-size:18px}
  .summary .line .total{font-size:22px; color:#0f172a}
  .note{margin-top:14px}
  .signs{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:18px}
  .sign{border:1px dashed var(--line); border-radius:10px; padding:12px; min-height:92px}
  .sign .small{color:var(--muted); font-size:12px}

  .footer-actions{display:.........完整代码请登录后点击上方下载按钮下载查看

网友评论0