gaoluyang
5 天以前 20cca5d5daa229b6e141eb072dc6a297f5dafc1d
style(app): 统一各页面右下角新增按钮样式

所有页面的悬浮新增按钮统一为 104rpx 圆形主色按钮,位置距右 30rpx、
距底 32rpx(含安全区),内部用同一套白色十字图标;同时把 create-fab、
fab-plus、文字加号、96/100/132rpx 等历史写法全部收敛到 .fab。

Co-Authored-By: Claude Code <noreply@anthropic.com>
已修改83个文件
962 ■■■■■ 文件已修改
src/pages/aftersales/list.scss 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/ai/list.scss 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/basic-data/category/index.vue 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/basic-data/material/index.vue 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/basic-data/unit/index.vue 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/bpm/category/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/bpm/form/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/bpm/group/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/bpm/model/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/bpm/process-expression/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/bpm/process-listener/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/business/index.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/business/status-config.vue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/clue/index.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/contact/index.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/contract/index.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/customer/index.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/customer/limit-config.vue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/invoice/index.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/receivable-plan/index.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/receivable/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/crm/sale-quotation/index.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/energy/alert/index.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/energy/record/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/hrm/list.scss 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/cal/plan/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/cal/team/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/dv/checkplan/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/dv/checkrecord/index.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/dv/machinery/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/dv/machinery/type/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/dv/maintenrecord/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/dv/metering/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/dv/meteringcheck/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/dv/repair/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/dv/spare/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/dv/subject/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/md/workstation/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/md/workstation/workshop/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/pd/project/bom.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/pd/project/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/pd/project/task.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/pd/project/version.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/pro/card/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/pro/feedback/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/pro/mps/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/pro/workorder/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/process-design/parameter/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/process-design/process/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/process-design/route/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/process-design/template/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/qc/defect/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/qc/indicator/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/qc/ipqc/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/qc/iqc/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/qc/ncr/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/qc/oqc/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/qc/report/template/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/qc/rqc/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/qc/template/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/tm/tool/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/mes/tm/tool/type/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/purchase/invoice/index.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/purchase/order/index.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/purchase/payment/index.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/purchase/request/index.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/sale/order/index.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/sale/sales-target/index.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/srm/tender/index.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/supplier/access/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/supplier/archive/index.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/supplier/certificate/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/supplier/performance/index.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/wls/barcode/config.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/wls/barcode/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/wls/components/WlsComplexList.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/wls/components/WlsDocList.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/wls/components/WlsExtraDocList.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/wls/components/WlsFlowDocList.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/wls/sn/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/wls/warehouse/area.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/wls/warehouse/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/wls/warehouse/location.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/aftersales/list.scss
@@ -6,4 +6,4 @@
.grid{display:grid;grid-template-columns:1fr 1fr;gap:11rpx;padding:16rpx 0;margin-top:15rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}
.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}
.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff}.fab view::before{top:17rpx;width:38rpx;height:4rpx}.fab view::after{left:17rpx;width:4rpx;height:38rpx}
.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
src/pages/ai/list.scss
@@ -1 +1 @@
.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view>text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.tags{display:flex;gap:10rpx;margin-top:14rpx}.tags text{padding:5rpx 13rpx;font-size:21rpx;border-radius:999rpx}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-orange{color:#c78210;background:#fff5e6}.summary{margin-top:14rpx;padding:14rpx;color:#596b82;font-size:24rpx;line-height:1.5;background:#f7faff;border-radius:10rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid.two{grid-template-columns:1fr 1fr}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view>text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.tags{display:flex;gap:10rpx;margin-top:14rpx}.tags text{padding:5rpx 13rpx;font-size:21rpx;border-radius:999rpx}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-orange{color:#c78210;background:#fff5e6}.summary{margin-top:14rpx;padding:14rpx;color:#596b82;font-size:24rpx;line-height:1.5;background:#f7faff;border-radius:10rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid.two{grid-template-columns:1fr 1fr}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
src/pages/basic-data/category/index.vue
@@ -163,10 +163,8 @@
      <view class="state">登录后查看物料分类</view>
    </scroll-view>
    <button v-if="canCreate"
            class="create-fab"
            @click="go()">
      <view class="fab-plus"></view>
    </button>
            class="fab"
            @click="go()"><view /></button>
  </view>
</template>
<style lang="scss" scoped>
@@ -230,7 +228,7 @@
  }
  .tools button::after,
  .actions button::after,
  .create-fab::after {
  .fab::after {
    border: 0;
  }
  .tree-list {
@@ -345,52 +343,5 @@
  .error {
    color: #c3654d;
  }
  .create-fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 104rpx; height: 104rpx; min-height: 104rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 25rpx;
    font-weight: 600;
    line-height: 32rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab-plus,
  .fab-plus::before,
  .fab-plus::after {
    display: block;
    background: currentColor;
    border-radius: 4rpx;
  }
  .fab-plus {
    position: relative;
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::before,
  .fab-plus::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    transform: translate(-50%, -50%);
  }
  .fab-plus::before {
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::after {
    width: 8rpx;
    height: 36rpx;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/basic-data/material/index.vue
@@ -168,10 +168,8 @@
      <view class="state"><text>登录后查看物料信息</text><button @click="uni.navigateTo({ url: '/pages/login/index' })">立即登录</button></view>
    </scroll-view>
    <button v-if="canCreate"
            class="create-fab"
            @click="goForm()">
      <view class="fab-plus"></view>
    </button>
            class="fab"
            @click="goForm()"><view /></button>
  </view>
</template>
<style lang="scss" scoped>
@@ -288,7 +286,7 @@
    border-radius: 10rpx;
  }
  .actions button::after,
  .create-fab::after {
  .fab::after {
    border: 0;
  }
  .actions .danger {
@@ -314,52 +312,5 @@
    background: var(--color-primary, #1769d8);
    border-radius: 12rpx;
  }
  .create-fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 104rpx; height: 104rpx; min-height: 104rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 25rpx;
    font-weight: 600;
    line-height: 32rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab-plus,
  .fab-plus::before,
  .fab-plus::after {
    display: block;
    background: currentColor;
    border-radius: 4rpx;
  }
  .fab-plus {
    position: relative;
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::before,
  .fab-plus::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    transform: translate(-50%, -50%);
  }
  .fab-plus::before {
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::after {
    width: 8rpx;
    height: 36rpx;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/basic-data/unit/index.vue
@@ -127,10 +127,8 @@
      <view class="state">登录后查看计量单位</view>
    </scroll-view>
    <button v-if="canCreate"
            class="create-fab"
            @click="go()">
      <view class="fab-plus"></view>
    </button>
            class="fab"
            @click="go()"><view /></button>
  </view>
</template>
<style lang="scss" scoped>
@@ -268,7 +266,7 @@
    border-radius: 10rpx;
  }
  .actions button::after,
  .create-fab::after {
  .fab::after {
    border: 0;
  }
  .actions .danger {
@@ -289,52 +287,5 @@
  .error {
    color: #c3654d;
  }
  .create-fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 104rpx; height: 104rpx; min-height: 104rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 25rpx;
    font-weight: 600;
    line-height: 32rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab-plus,
  .fab-plus::before,
  .fab-plus::after {
    display: block;
    background: currentColor;
    border-radius: 4rpx;
  }
  .fab-plus {
    position: relative;
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::before,
  .fab-plus::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    transform: translate(-50%, -50%);
  }
  .fab-plus::before {
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::after {
    width: 8rpx;
    height: 36rpx;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/bpm/category/index.vue
@@ -45,4 +45,4 @@
  onReachBottom(() => load());
</script>
<template><view class="page"><view class="search"><input v-model="keyword" placeholder="搜索分类名称" confirm-type="search" @confirm="load(true)"/><text @click="load(true)">搜索</text></view><view v-if="error" class="state error" @click="load(true)">{{ error }}</view><view v-for="item in list" :key="item.id" class="card"><view class="head"><view><text class="name">{{ item.name }}</text><text>{{ fmt(item.code) }}</text></view><text :class="['tag', statusClass(item.status)]">{{ statusText(item.status) }}</text></view><view class="grid"><text>排序:{{ fmt(item.sort) }}</text><text>描述:{{ fmt(item.description) }}</text></view><view class="actions"><button @click="go(item.id,'detail')">详情</button><button v-if="canUpdate" @click="go(item.id)">编辑</button><button v-if="canDelete" class="danger" @click="remove(item.id)">删除</button></view></view><view v-if="!list.length && !loading" class="state">暂无流程分类</view><view v-else class="more">{{ hasMore ? (loading ? '加载中...' : '上拉加载更多') : '没有更多了' }}</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}</style>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}</style>
src/pages/bpm/form/index.vue
@@ -12,4 +12,4 @@
  onShow(()=>load(true)); onPullDownRefresh(async()=>{await load(true);uni.stopPullDownRefresh()}); onReachBottom(()=>load());
</script>
<template><view class="page"><view class="search"><input v-model="keyword" placeholder="搜索表单名称" confirm-type="search" @confirm="load(true)"/><text @click="load(true)">搜索</text></view><view v-if="error" class="state error" @click="load(true)">{{ error }}</view><view v-for="item in list" :key="item.id" class="card"><view class="head"><view><text class="name">{{ item.name }}</text><text>字段数:{{ item.fields?.length || 0 }}</text></view><text :class="['tag',statusClass(item.status)]">{{ statusText(item.status) }}</text></view><view class="grid"><text>备注:{{ fmt(item.remark) }}</text><text>创建时间:{{ fmt(item.createTime) }}</text></view><view class="actions"><button @click="go(item.id,'detail')">详情</button><button v-if="canUpdate" @click="go(item.id)">编辑</button><button v-if="canDelete" class="danger" @click="remove(item.id)">删除</button></view></view><view v-if="!list.length&&!loading" class="state">暂无流程表单</view><view v-else class="more">{{ hasMore ? (loading?'加载中...':'上拉加载更多') : '没有更多了' }}</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}</style>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}</style>
src/pages/bpm/group/index.vue
@@ -12,4 +12,4 @@
  onShow(()=>load(true)); onPullDownRefresh(async()=>{await load(true);uni.stopPullDownRefresh()}); onReachBottom(()=>load());
</script>
<template><view class="page"><view class="search"><input v-model="keyword" placeholder="搜索分组名称" confirm-type="search" @confirm="load(true)"/><text @click="load(true)">搜索</text></view><view v-if="error" class="state error" @click="load(true)">{{ error }}</view><view v-for="item in list" :key="item.id" class="card"><view class="head"><view><text class="name">{{ item.name }}</text><text>成员数:{{ item.userIds?.length || 0 }}</text></view><text :class="['tag',statusClass(item.status)]">{{ statusText(item.status) }}</text></view><view class="grid"><text>描述:{{ fmt(item.description) }}</text><text>备注:{{ fmt(item.remark) }}</text><text>创建时间:{{ fmt(item.createTime) }}</text></view><view class="actions"><button @click="go(item.id,'detail')">详情</button><button v-if="canUpdate" @click="go(item.id)">编辑</button><button v-if="canDelete" class="danger" @click="remove(item.id)">删除</button></view></view><view v-if="!list.length&&!loading" class="state">暂无用户分组</view><view v-else class="more">{{ hasMore ? (loading?'加载中...':'上拉加载更多') : '没有更多了' }}</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}</style>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}</style>
src/pages/bpm/model/index.vue
@@ -12,4 +12,4 @@
  onShow(load); onPullDownRefresh(async()=>{await load();uni.stopPullDownRefresh()});
</script>
<template><view class="page"><view class="search"><input v-model="keyword" placeholder="搜索模型名称" confirm-type="search" @confirm="load"/><text @click="load">搜索</text></view><view v-if="error" class="state error" @click="load">{{ error }}</view><view v-for="item in list" :key="item.id" class="card"><view class="head"><view><text class="name">{{ item.name }}</text><text>{{ fmt(item.key) }}</text></view><text :class="['tag',statusClass(item.status)]">{{ statusText(item.status) }}</text></view><view class="chips"><text>{{ formTypeText(item.formType) }}</text><text>分类 {{ fmt(item.category) }}</text><text>版本 {{ fmt(item.processDefinition?.version) }}</text></view><view class="grid"><text>表单:{{ fmt(item.formName) }}</text><text>描述:{{ fmt(item.description) }}</text><text>创建时间:{{ fmt(item.createTime) }}</text></view><view class="actions"><button @click="go(item.id,'detail')">详情</button><button v-if="canUpdate" @click="go(item.id)">编辑</button><button v-if="canUpdate" @click="action('state',item)">{{ item.status===1?'启用':'禁用' }}</button><button v-if="canDeploy" @click="action('deploy',item)">部署</button><button v-if="canUpdate" @click="action('clean',item)">清理</button><button v-if="canDelete" class="danger" @click="action('delete',item)">删除</button></view></view><view v-if="!list.length&&!loading" class="state">暂无流程模型</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.chips{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.chips text{padding:5rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #eef6ff);border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}</style>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.chips{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.chips text{padding:5rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #eef6ff);border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}</style>
src/pages/bpm/process-expression/index.vue
@@ -12,4 +12,4 @@
  onShow(()=>load(true)); onPullDownRefresh(async()=>{await load(true);uni.stopPullDownRefresh()}); onReachBottom(()=>load());
</script>
<template><view class="page"><view class="search"><input v-model="keyword" placeholder="搜索表达式名称" confirm-type="search" @confirm="load(true)"/><text @click="load(true)">搜索</text></view><view v-if="error" class="state error" @click="load(true)">{{ error }}</view><view v-for="item in list" :key="item.id" class="card"><view class="head"><view><text class="name">{{ item.name }}</text><text>{{ fmt(item.expression) }}</text></view><text :class="['tag',statusClass(item.status)]">{{ statusText(item.status) }}</text></view><view class="grid"><text>创建时间:{{ fmt(item.createTime) }}</text></view><view class="actions"><button @click="go(item.id,'detail')">详情</button><button v-if="canUpdate" @click="go(item.id)">编辑</button><button v-if="canDelete" class="danger" @click="remove(item.id)">删除</button></view></view><view v-if="!list.length&&!loading" class="state">暂无流程表达式</view><view v-else class="more">{{ hasMore ? (loading?'加载中...':'上拉加载更多') : '没有更多了' }}</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}</style>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}</style>
src/pages/bpm/process-listener/index.vue
@@ -13,4 +13,4 @@
  onShow(()=>load(true)); onPullDownRefresh(async()=>{await load(true);uni.stopPullDownRefresh()}); onReachBottom(()=>load());
</script>
<template><view class="page"><view class="search"><input v-model="keyword" placeholder="搜索监听器名称" confirm-type="search" @confirm="load(true)"/><text @click="load(true)">搜索</text></view><view v-if="error" class="state error" @click="load(true)">{{ error }}</view><view v-for="item in list" :key="item.id" class="card"><view class="head"><view><text class="name">{{ item.name }}</text><text>{{ typeText(item.type) }} · {{ fmt(item.event) }}</text></view><text :class="['tag',statusClass(item.status)]">{{ statusText(item.status) }}</text></view><view class="grid"><text>值类型:{{ fmt(item.valueType) }}</text><text>监听值:{{ fmt(item.value) }}</text><text>创建时间:{{ fmt(item.createTime) }}</text></view><view class="actions"><button @click="go(item.id,'detail')">详情</button><button v-if="canUpdate" @click="go(item.id)">编辑</button><button v-if="canDelete" class="danger" @click="remove(item.id)">删除</button></view></view><view v-if="!list.length&&!loading" class="state">暂无流程监听器</view><view v-else class="more">{{ hasMore ? (loading?'加载中...':'上拉加载更多') : '没有更多了' }}</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}</style>
<style lang="scss" scoped>.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{min-width:0;display:flex;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 16rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.tag-off{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}</style>
src/pages/crm/business/index.vue
@@ -152,8 +152,8 @@
      <view class="state">登录后查看商机信息<button @click="uni.navigateTo({url:'/pages/login/index'})">立即登录</button></view>
    </scroll-view>
    <button v-if="canCreate"
            class="create-fab"
            @click="goForm">+</button>
            class="fab"
            @click="goForm"><view /></button>
  </view>
</template>
@@ -278,7 +278,7 @@
    border-radius: 10rpx;
  }
  .actions button::after,
  .create-fab::after {
  .fab::after {
    border: 0;
  }
  .actions .danger {
@@ -304,20 +304,5 @@
    background: var(--color-primary, #1769d8);
    border-radius: 12rpx;
  }
  .create-fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 10;
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 58rpx;
    line-height: 120rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/crm/business/status-config.vue
@@ -90,12 +90,12 @@
        </view>
        <view v-else class="state">{{ loading ? '加载中...' : '暂无商机状态' }}</view>
      </scroll-view>
      <button v-if="canCreate && !editing" class="fab" @click="openCreate">+</button>
      <button v-if="canCreate && !editing" class="fab" @click="openCreate"><view /></button>
    </template>
    <view v-else class="state">{{ isLoggedIn ? '暂无商机状态配置查看权限' : '登录后查看商机状态配置' }}</view>
  </view>
</template>
<style lang="scss" scoped>
  .page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin:24rpx 0 16rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.card,.row{margin-bottom:18rpx;overflow:hidden;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.05)}.section{padding:22rpx 24rpx 12rpx;color:var(--color-primary, #1769d8);font-size:25rpx;font-weight:600;background:#f8fbff}.field{display:flex;align-items:center;min-height:92rpx;gap:20rpx;padding:0 24rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:180rpx;flex:none;color:#33455d;font-size:26rpx}.field input{flex:1;min-width:0;text-align:right;font-size:26rpx}.column{align-items:flex-start;flex-direction:column;padding:20rpx 24rpx}.column>text{width:auto!important}.checks{display:flex;flex-wrap:wrap;gap:12rpx}.checks text{padding:10rpx 16rpx;color:#66778c;font-size:23rpx;background:#f1f4f8;border-radius:10rpx}.checks .picked{color:var(--color-primary, #1769d8);background:#eaf3ff}.help{color:#98a5b4!important;font-size:22rpx!important}.stage{border-top:1rpx solid #edf1f6}.form-actions,.actions,.head{display:flex;align-items:center;justify-content:flex-end;gap:16rpx}.form-actions{padding:20rpx 24rpx}button{margin:0;font-size:24rpx;border-radius:10rpx}button::after,.fab::after{border:0}.primary,.fab{color:#fff;background:var(--color-primary, #1769d8)}.head{justify-content:space-between;padding:24rpx 22rpx 12rpx}.head text:first-child{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{flex:none;color:#718198;font-size:22rpx}.grid{display:grid;grid-template-columns:1fr;gap:10rpx;padding:12rpx 22rpx 18rpx;color:#66778c;font-size:23rpx}.actions{padding:0 22rpx 18rpx}.actions button{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee)}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));width:132rpx;height:132rpx;padding:0;font-size:58rpx;line-height:120rpx;border-radius:50%}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}
  .page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin:24rpx 0 16rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.card,.row{margin-bottom:18rpx;overflow:hidden;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.05)}.section{padding:22rpx 24rpx 12rpx;color:var(--color-primary, #1769d8);font-size:25rpx;font-weight:600;background:#f8fbff}.field{display:flex;align-items:center;min-height:92rpx;gap:20rpx;padding:0 24rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:180rpx;flex:none;color:#33455d;font-size:26rpx}.field input{flex:1;min-width:0;text-align:right;font-size:26rpx}.column{align-items:flex-start;flex-direction:column;padding:20rpx 24rpx}.column>text{width:auto!important}.checks{display:flex;flex-wrap:wrap;gap:12rpx}.checks text{padding:10rpx 16rpx;color:#66778c;font-size:23rpx;background:#f1f4f8;border-radius:10rpx}.checks .picked{color:var(--color-primary, #1769d8);background:#eaf3ff}.help{color:#98a5b4!important;font-size:22rpx!important}.stage{border-top:1rpx solid #edf1f6}.form-actions,.actions,.head{display:flex;align-items:center;justify-content:flex-end;gap:16rpx}.form-actions{padding:20rpx 24rpx}button{margin:0;font-size:24rpx;border-radius:10rpx}button::after,.fab::after{border:0}.primary{color:#fff;background:var(--color-primary, #1769d8)}.head{justify-content:space-between;padding:24rpx 22rpx 12rpx}.head text:first-child{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.head text:last-child{flex:none;color:#718198;font-size:22rpx}.grid{display:grid;grid-template-columns:1fr;gap:10rpx;padding:12rpx 22rpx 18rpx;color:#66778c;font-size:23rpx}.actions{padding:0 22rpx 18rpx}.actions button{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee)}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}
</style>
src/pages/crm/clue/index.vue
@@ -180,8 +180,8 @@
      <view class="state">登录后查看线索信息<button @click="uni.navigateTo({ url: '/pages/login/index' })">立即登录</button></view>
    </scroll-view>
    <button v-if="canCreate"
            class="create-fab"
            @click="goForm()">+</button>
            class="fab"
            @click="goForm()"><view /></button>
  </view>
</template>
@@ -325,7 +325,7 @@
    border-radius: 10rpx;
  }
  .actions button::after,
  .create-fab::after {
  .fab::after {
    border: 0;
  }
  .actions .danger {
@@ -351,20 +351,5 @@
    background: var(--color-primary, #1769d8);
    border-radius: 12rpx;
  }
  .create-fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 10;
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 58rpx;
    line-height: 120rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/crm/contact/index.vue
@@ -157,8 +157,8 @@
    <view v-else
          class="state">登录后查看联系人信息<button @click="uni.navigateTo({ url: '/pages/login/index' })">立即登录</button></view>
    <button v-if="canCreate"
            class="create-fab"
            @click="goForm">+</button>
            class="fab"
            @click="goForm"><view /></button>
  </view>
</template>
@@ -283,7 +283,7 @@
    border-radius: 10rpx;
  }
  .actions button::after,
  .create-fab::after {
  .fab::after {
    border: 0;
  }
  .actions .danger {
@@ -310,20 +310,5 @@
    background: var(--color-primary, #1769d8);
    border-radius: 12rpx;
  }
  .create-fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 10;
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 58rpx;
    line-height: 120rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/crm/contract/index.vue
@@ -138,7 +138,7 @@
      <view class="state">登录后查看合同信息<button @click="uni.navigateTo({url:'/pages/login/index'})">立即登录</button></view>
    </scroll-view><button v-if="canCreate"
            class="fab"
            @click="goForm">+</button></view>
            @click="goForm"><view /></button></view>
</template>
<style lang="scss" scoped>
  .page {
@@ -279,20 +279,5 @@
    background: var(--color-primary, #1769d8);
    border-radius: 12rpx;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 10;
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 58rpx;
    line-height: 120rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/crm/customer/index.vue
@@ -188,8 +188,8 @@
                 scroll-y>
      <view class="state">登录后查看客户信息<button @click="uni.navigateTo({url:'/pages/login/index'})">立即登录</button></view>
    </scroll-view><button v-if="canCreate"
            class="create-fab"
            @click="goForm">+</button></view>
            class="fab"
            @click="goForm"><view /></button></view>
</template>
<style lang="scss" scoped>
  .page {
@@ -311,7 +311,7 @@
    border-radius: 10rpx;
  }
  .actions button::after,
  .create-fab::after {
  .fab::after {
    border: 0;
  }
  .actions .danger {
@@ -337,20 +337,5 @@
    background: var(--color-primary, #1769d8);
    border-radius: 12rpx;
  }
  .create-fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 10;
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 58rpx;
    line-height: 120rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/crm/customer/limit-config.vue
@@ -87,12 +87,12 @@
        </view>
        <view v-else class="state">{{ loading ? '加载中...' : '暂无规则' }}</view>
      </scroll-view>
      <button v-if="canCreate && !editing" class="fab" @click="openCreate">+</button>
      <button v-if="canCreate && !editing" class="fab" @click="openCreate"><view /></button>
    </template>
    <view v-else class="state">{{ isLoggedIn ? '暂无客户限制配置查看权限' : '登录后查看客户限制配置' }}</view>
  </view>
</template>
<style lang="scss" scoped>
  .page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.tabs{display:flex;height:88rpx;align-items:flex-end;gap:22rpx}.tabs text{padding:0 6rpx 18rpx;color:#718198;font-size:27rpx}.tabs .active{color:var(--color-primary, #1769d8);font-weight:600;border-bottom:4rpx solid var(--color-primary, #1769d8)}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.card,.row{margin-bottom:18rpx;overflow:hidden;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.05)}.section{padding:22rpx 24rpx 12rpx;color:var(--color-primary, #1769d8);font-size:25rpx;font-weight:600;background:#f8fbff}.field{display:flex;align-items:center;min-height:92rpx;gap:20rpx;padding:0 24rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:230rpx;flex:none;color:#33455d;font-size:26rpx}.field input{flex:1;min-width:0;text-align:right;font-size:26rpx}.column{align-items:flex-start;flex-direction:column;padding:20rpx 24rpx}.column>text{width:auto!important}.checks{display:flex;flex-wrap:wrap;gap:12rpx}.checks text{padding:10rpx 16rpx;color:#66778c;font-size:23rpx;background:#f1f4f8;border-radius:10rpx}.checks .picked{color:var(--color-primary, #1769d8);background:#eaf3ff}radio-group{display:flex;flex:1;justify-content:flex-end;gap:24rpx;font-size:25rpx}.form-actions,.actions,.head{display:flex;align-items:center;justify-content:flex-end;gap:16rpx}.form-actions{padding:20rpx 24rpx}button{margin:0;font-size:24rpx;border-radius:10rpx}button::after,.fab::after{border:0}.primary,.fab{color:#fff;background:var(--color-primary, #1769d8)}.head{justify-content:space-between;padding:24rpx 22rpx 12rpx}.head text:first-child{color:#20334c;font-size:30rpx;font-weight:600}.head text:last-child{color:#df5d36;font-size:30rpx;font-weight:600}.grid{display:grid;grid-template-columns:1fr;gap:10rpx;padding:12rpx 22rpx 18rpx;color:#66778c;font-size:23rpx}.actions{padding:0 22rpx 18rpx}.actions button{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee)}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));width:132rpx;height:132rpx;padding:0;font-size:58rpx;line-height:120rpx;border-radius:50%}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}
  .page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.tabs{display:flex;height:88rpx;align-items:flex-end;gap:22rpx}.tabs text{padding:0 6rpx 18rpx;color:#718198;font-size:27rpx}.tabs .active{color:var(--color-primary, #1769d8);font-weight:600;border-bottom:4rpx solid var(--color-primary, #1769d8)}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.card,.row{margin-bottom:18rpx;overflow:hidden;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.05)}.section{padding:22rpx 24rpx 12rpx;color:var(--color-primary, #1769d8);font-size:25rpx;font-weight:600;background:#f8fbff}.field{display:flex;align-items:center;min-height:92rpx;gap:20rpx;padding:0 24rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:230rpx;flex:none;color:#33455d;font-size:26rpx}.field input{flex:1;min-width:0;text-align:right;font-size:26rpx}.column{align-items:flex-start;flex-direction:column;padding:20rpx 24rpx}.column>text{width:auto!important}.checks{display:flex;flex-wrap:wrap;gap:12rpx}.checks text{padding:10rpx 16rpx;color:#66778c;font-size:23rpx;background:#f1f4f8;border-radius:10rpx}.checks .picked{color:var(--color-primary, #1769d8);background:#eaf3ff}radio-group{display:flex;flex:1;justify-content:flex-end;gap:24rpx;font-size:25rpx}.form-actions,.actions,.head{display:flex;align-items:center;justify-content:flex-end;gap:16rpx}.form-actions{padding:20rpx 24rpx}button{margin:0;font-size:24rpx;border-radius:10rpx}button::after,.fab::after{border:0}.primary{color:#fff;background:var(--color-primary, #1769d8)}.head{justify-content:space-between;padding:24rpx 22rpx 12rpx}.head text:first-child{color:#20334c;font-size:30rpx;font-weight:600}.head text:last-child{color:#df5d36;font-size:30rpx;font-weight:600}.grid{display:grid;grid-template-columns:1fr;gap:10rpx;padding:12rpx 22rpx 18rpx;color:#66778c;font-size:23rpx}.actions{padding:0 22rpx 18rpx}.actions button{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee)}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}
</style>
src/pages/crm/invoice/index.vue
@@ -145,7 +145,7 @@
    <view v-else
          class="state">登录后查看开票申请<button @click="uni.navigateTo({url:'/pages/login/index'})">立即登录</button></view><button v-if="canCreate"
            class="fab"
            @click="goForm">+</button>
            @click="goForm"><view /></button>
  </view>
</template>
<style lang="scss" scoped>
@@ -286,18 +286,5 @@
    background: var(--color-primary, #1769d8);
    border-radius: 12rpx;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 58rpx;
    line-height: 120rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/crm/receivable-plan/index.vue
@@ -151,7 +151,7 @@
          class="state">登录后查看回款计划<button @click="uni.navigateTo({ url: '/pages/login/index' })">立即登录</button></view>
    <button v-if="canCreate"
            class="fab"
            @click="goForm">+</button>
            @click="goForm"><view /></button>
  </view>
</template>
@@ -304,20 +304,5 @@
    background: var(--color-primary, #1769d8);
    border-radius: 12rpx;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 10;
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 58rpx;
    line-height: 120rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/crm/receivable/index.vue
@@ -126,7 +126,7 @@
      <view v-else class="state">暂无回款查看权限</view>
    </template>
    <view v-else class="state">登录后查看回款信息<button @click="uni.navigateTo({ url: '/pages/login/index' })">立即登录</button></view>
    <button v-if="canCreate" class="fab" @click="goForm">+</button>
    <button v-if="canCreate" class="fab" @click="goForm"><view /></button>
  </view>
</template>
@@ -144,7 +144,7 @@
  .tag { flex: none; padding: 4rpx 10rpx; color: #b86c16; font-size: 21rpx; background: #fff5e8; border-radius: 7rpx; } .tag.audited { color: #16835d; background: #eaf8f2; }
  .amount { padding: 17rpx 0; margin-top: 14rpx; color: #718198; font-size: 23rpx; border-top: 1rpx solid #edf1f6; } .amount text:last-child { color: #df5d36; font-size: 31rpx; font-weight: 600; }
  .grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10rpx 16rpx; padding: 16rpx 0; color: #66778c; font-size: 22rpx; border-top: 1rpx solid #edf1f6; border-bottom: 1rpx solid #edf1f6; } .grid text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .actions { justify-content: flex-end; padding-top: 16rpx; } .actions button { min-height: 48rpx; padding: 0 16rpx; margin: 0; color: var(--color-primary, #1769d8); font-size: 22rpx; line-height: 46rpx; background: var(--color-primary-soft, #f5f8ff); border: 1rpx solid var(--color-primary-border, #8ab3ee); border-radius: 10rpx; } .actions button::after, .fab::after { border: 0; } .actions .danger { color: #c65050; background: #fff7f7; border-color: #e3a0a0; }
  .actions { justify-content: flex-end; padding-top: 16rpx; } .actions button { min-height: 48rpx; padding: 0 16rpx; margin: 0; color: var(--color-primary, #1769d8); font-size: 22rpx; line-height: 46rpx; background: var(--color-primary-soft, #f5f8ff); border: 1rpx solid var(--color-primary-border, #8ab3ee); border-radius: 10rpx; }.actions button::after,.fab::after{ border: 0; } .actions .danger { color: #c65050; background: #fff7f7; border-color: #e3a0a0; }
  .more, .state { display: block; padding: 35rpx; color: #8795a8; font-size: 26rpx; text-align: center; } .error { color: #c3654d; } .state button { width: 220rpx; margin: 20rpx auto; color: #fff; background: var(--color-primary, #1769d8); border-radius: 12rpx; }
  .fab { position: fixed; right: 30rpx; bottom: calc(32rpx + env(safe-area-inset-bottom)); z-index: 10; width: 132rpx; height: 132rpx; padding: 0; margin: 0; color: #fff; font-size: 58rpx; line-height: 120rpx; background: var(--color-primary, #1769d8); border-radius: 50%; box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, .3); }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/crm/sale-quotation/index.vue
@@ -148,7 +148,7 @@
    <view v-else
          class="state">登录后查看销售报价<button @click="uni.navigateTo({url:'/pages/login/index'})">立即登录</button></view><button v-if="canCreate"
            class="fab"
            @click="form">+</button>
            @click="form"><view /></button>
  </view>
</template><style lang="scss" scoped>
  .page {
@@ -306,18 +306,5 @@
    background: var(--color-primary, #1769d8);
    border-radius: 12rpx;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    margin: 0;
    color: #fff;
    font-size: 58rpx;
    line-height: 120rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/energy/alert/index.vue
@@ -916,36 +916,7 @@
    background: #f4f6f8;
    border: 1rpx solid #dbe2ea;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104rpx; height: 104rpx; min-height: 104rpx;
    padding: 0;
    margin: 0;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab view,
  .fab view::before {
    display: block;
    width: 38rpx;
    height: 8rpx;
    background: #fff;
    border-radius: 4rpx;
    content: "";
  }
  .fab view {
    position: relative;
  }
  .fab view::before {
    position: absolute;
    transform: rotate(90deg);
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .modal-mask {
    position: fixed;
    inset: 0;
src/pages/energy/record/index.vue
@@ -103,5 +103,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{min-width:0;flex:1;color:#1e3049;font-size:27rpx}.search text{flex:none;color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{overflow:hidden;color:#78879b;font-size:23rpx;text-overflow:ellipsis;white-space:nowrap}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx 18rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border:1rpx solid var(--color-primary-border, #c9e1ff)}.tag-orange{color:#b06a00;background:#fff6df;border:1rpx solid #f0d390}.tag-green{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{min-width:0;flex:1;color:#1e3049;font-size:27rpx}.search text{flex:none;color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{overflow:hidden;color:#78879b;font-size:23rpx;text-overflow:ellipsis;white-space:nowrap}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx 18rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border:1rpx solid var(--color-primary-border, #c9e1ff)}.tag-orange{color:#b06a00;background:#fff6df;border:1rpx solid #f0d390}.tag-green{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/hrm/list.scss
@@ -1 +1 @@
.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:12rpx}.search input{min-width:0;flex:1;font-size:27rpx}.search text{padding-left:18rpx;color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:14rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.07)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sub{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 15rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2}.tag-off{color:#66778c;background:#f0f3f7}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-danger{color:#c65050;background:#fff0f0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:11rpx;padding:16rpx 0;margin-top:15rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
.page{min-height:100vh;padding: 20rpx 30rpx 132rpx;box-sizing:border-box;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;padding:0 20rpx;margin-bottom:18rpx;background:#fff;border-radius:12rpx}.search input{min-width:0;flex:1;font-size:27rpx}.search text{padding-left:18rpx;color:var(--color-primary, #1769d8);font-size:24rpx}.card{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:14rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.07)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sub{color:#78879b;font-size:23rpx}.tag{flex:none;padding:6rpx 15rpx;font-size:22rpx;border-radius:999rpx}.tag-on{color:#0e9663;background:#e9fbf2}.tag-off{color:#66778c;background:#f0f3f7}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-danger{color:#c65050;background:#fff0f0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:11rpx;padding:16rpx 0;margin-top:15rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state,.more{display:block;padding:45rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
src/pages/mes/cal/plan/index.vue
@@ -87,5 +87,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/cal/team/index.vue
@@ -82,5 +82,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/dv/checkplan/index.vue
@@ -60,5 +60,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef5ff);border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef5ff);border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/dv/checkrecord/index.vue
@@ -264,34 +264,5 @@
  .error {
    color: #c3654d;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104rpx; height: 104rpx; min-height: 104rpx;
    padding: 0;
    margin: 0;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx rgba(23, 105, 216, 0.3);
  }
  .fab view,
  .fab view::before {
    display: block;
    width: 38rpx;
    height: 8rpx;
    background: #fff;
    border-radius: 4rpx;
    content: "";
  }
  .fab view {
    position: relative;
  }
  .fab view::before {
    position: absolute;
    transform: rotate(90deg);
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/dv/machinery/index.vue
@@ -185,5 +185,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 24rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;flex:none;align-items:center;height:80rpx;margin:20rpx 0 14rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.main-layout{height:0;min-height:0;flex:1;display:flex;gap:16rpx;padding-bottom: 132rpx;box-sizing:border-box}.type-nav{width:188rpx;height:100%;flex:none;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.05)}.type-item{position:relative;display:flex;align-items:center;gap:4rpx;min-height:78rpx;padding:14rpx 12rpx 14rpx 16rpx;box-sizing:border-box;color:#617287;font-size:23rpx;border-bottom:1rpx solid #edf1f6}.type-item:last-child{border-bottom:0}.tree-arrow{width:24rpx;height:34rpx;flex:none;opacity:0}.tree-arrow.show{position:relative;opacity:1}.tree-arrow.show::after{position:absolute;top:11rpx;left:5rpx;width:12rpx;height:12rpx;box-sizing:border-box;border-right:3rpx solid #7a8a9d;border-bottom:3rpx solid #7a8a9d;content:"";transform:rotate(-45deg)}.tree-arrow.open::after{transform:rotate(45deg)}.type-item text{display:-webkit-box;min-width:0;overflow:hidden;line-height:1.25;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.type-item.active{color:var(--color-primary, #1769d8);font-weight:600;background:var(--color-primary-soft, #eef5ff)}.type-item.active::before{position:absolute;top:18rpx;bottom:18rpx;left:0;width:6rpx;background:var(--color-primary, #1769d8);border-radius:0 6rpx 6rpx 0;content:""}.type-item.active .tree-arrow.show::after{border-color:var(--color-primary, #1769d8)}.content{height:100%;min-width:0;flex:1;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:center;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view text:last-child{overflow:hidden;color:#78879b;font-size:23rpx;text-overflow:ellipsis;white-space:nowrap}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;font-size:22rpx!important;border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.running{color:#1c9b68;background:#e8f8f0}.maintain{color:#d78321;background:#fff3df}.stopped{color:#8d9bad;background:#f0f3f6}.grid{display:grid;grid-template-columns:1fr;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 24rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;flex:none;align-items:center;height:80rpx;margin:20rpx 0 14rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.main-layout{height:0;min-height:0;flex:1;display:flex;gap:16rpx;padding-bottom: 132rpx;box-sizing:border-box}.type-nav{width:188rpx;height:100%;flex:none;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.05)}.type-item{position:relative;display:flex;align-items:center;gap:4rpx;min-height:78rpx;padding:14rpx 12rpx 14rpx 16rpx;box-sizing:border-box;color:#617287;font-size:23rpx;border-bottom:1rpx solid #edf1f6}.type-item:last-child{border-bottom:0}.tree-arrow{width:24rpx;height:34rpx;flex:none;opacity:0}.tree-arrow.show{position:relative;opacity:1}.tree-arrow.show::after{position:absolute;top:11rpx;left:5rpx;width:12rpx;height:12rpx;box-sizing:border-box;border-right:3rpx solid #7a8a9d;border-bottom:3rpx solid #7a8a9d;content:"";transform:rotate(-45deg)}.tree-arrow.open::after{transform:rotate(45deg)}.type-item text{display:-webkit-box;min-width:0;overflow:hidden;line-height:1.25;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.type-item.active{color:var(--color-primary, #1769d8);font-weight:600;background:var(--color-primary-soft, #eef5ff)}.type-item.active::before{position:absolute;top:18rpx;bottom:18rpx;left:0;width:6rpx;background:var(--color-primary, #1769d8);border-radius:0 6rpx 6rpx 0;content:""}.type-item.active .tree-arrow.show::after{border-color:var(--color-primary, #1769d8)}.content{height:100%;min-width:0;flex:1;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:center;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view text:last-child{overflow:hidden;color:#78879b;font-size:23rpx;text-overflow:ellipsis;white-space:nowrap}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;font-size:22rpx!important;border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.running{color:#1c9b68;background:#e8f8f0}.maintain{color:#d78321;background:#fff3df}.stopped{color:#8d9bad;background:#f0f3f6}.grid{display:grid;grid-template-columns:1fr;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/dv/machinery/type/index.vue
@@ -129,5 +129,5 @@
</template>
<style lang="scss" scoped>
  .page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.tree{overflow:hidden;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.row{display:flex;align-items:center;gap:12rpx;min-height:94rpx;padding:14rpx 18rpx 14rpx 22rpx;box-sizing:border-box;border-bottom:1rpx solid #edf1f7}.row:last-child{border-bottom:0}.main{display:flex;align-items:center;min-width:0;flex:1;gap:12rpx}.arrow{width:18rpx;height:18rpx;flex:none;opacity:0;border-right:4rpx solid #637891;border-bottom:4rpx solid #637891;transform:rotate(-45deg)}.arrow.show{opacity:1}.arrow.open{transform:rotate(45deg)}.info{display:flex;min-width:0;flex:1;flex-direction:column;gap:6rpx}.title-line{display:flex;align-items:center;gap:10rpx;min-width:0}.name{overflow:hidden;color:#20334c;font-size:29rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.title-line .name{flex:1}.info>text{overflow:hidden;color:#78879b;font-size:22rpx;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;font-size:22rpx!important;border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.actions{display:flex;flex:none;flex-wrap:wrap;justify-content:flex-end;gap:8rpx}.actions button{min-height:50rpx;padding:0 14rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state{display:block;padding:70rpx 20rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.tree{overflow:hidden;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.row{display:flex;align-items:center;gap:12rpx;min-height:94rpx;padding:14rpx 18rpx 14rpx 22rpx;box-sizing:border-box;border-bottom:1rpx solid #edf1f7}.row:last-child{border-bottom:0}.main{display:flex;align-items:center;min-width:0;flex:1;gap:12rpx}.arrow{width:18rpx;height:18rpx;flex:none;opacity:0;border-right:4rpx solid #637891;border-bottom:4rpx solid #637891;transform:rotate(-45deg)}.arrow.show{opacity:1}.arrow.open{transform:rotate(45deg)}.info{display:flex;min-width:0;flex:1;flex-direction:column;gap:6rpx}.title-line{display:flex;align-items:center;gap:10rpx;min-width:0}.name{overflow:hidden;color:#20334c;font-size:29rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.title-line .name{flex:1}.info>text{overflow:hidden;color:#78879b;font-size:22rpx;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;font-size:22rpx!important;border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.actions{display:flex;flex:none;flex-wrap:wrap;justify-content:flex-end;gap:8rpx}.actions button{min-height:50rpx;padding:0 14rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state{display:block;padding:70rpx 20rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/dv/maintenrecord/index.vue
@@ -14,5 +14,5 @@
</script>
<template><view class="page"><template v-if="isLoggedIn"><view v-if="canQuery" class="search"><input v-model="keyword" placeholder="搜索设备名称" confirm-type="search" @confirm="load(true)" /><text v-if="keyword" @click="keyword='';load(true)">清除</text></view><scroll-view v-if="canQuery" class="content" scroll-y lower-threshold="80" @scrolltolower="hasMore&&load()"><view v-if="loadError" class="state error" @click="load(true)">{{loadError}},点击重试</view><view v-else-if="rows.length"><view v-for="item in rows" :key="item.id" class="row" @click="go(item.id,'detail')"><view class="head"><view><text class="name">{{item.machineryName||'未命名设备'}}</text><text>{{item.machineryCode||'暂无编码'}}</text></view><view class="status-wrap"><text :class="['status', item.status === 20 ? 'enabled' : 'disabled']">{{dictLabel(dicts,'mes_mainten_record_status',item.status)}}</text></view></view><view class="grid"><text>计划名称:{{item.planName||'--'}}</text><text>保养时间:{{dateText(item.maintenTime)}}</text><text>保养人:{{item.nickname||'--'}}</text><text>创建时间:{{dateText(item.createTime)}}</text></view><view class="actions"><button v-if="canQuery" @click.stop="go(item.id,'detail')">详情</button><button v-if="canUpdate&&item.status===10" @click.stop="go(item.id)">编辑</button><button v-if="canUpdate&&item.status===10" @click.stop="action(item,'submit')">提交</button><button v-if="canDelete&&item.status===10" class="danger" @click.stop="action(item,'delete')">删除</button></view></view><text class="more">{{loading?'加载中...':hasMore?'上拉加载更多':'没有更多了'}}</text></view><view v-else class="state">{{loading?'加载中...':keyword?'没有匹配的记录':'暂无保养记录'}}</view></scroll-view><view v-else class="state">暂无保养记录查看权限</view></template><view v-else class="state">登录后查看保养记录</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef5ff);border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef5ff);border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/dv/metering/index.vue
@@ -14,5 +14,5 @@
</script>
<template><view class="page"><template v-if="isLoggedIn"><view v-if="canQuery" class="search"><input v-model="keyword" placeholder="搜索器具名称" confirm-type="search" @confirm="load(true)" /><text v-if="keyword" @click="keyword='';load(true)">清除</text></view><scroll-view v-if="canQuery" class="content" scroll-y lower-threshold="80" @scrolltolower="hasMore&&load()"><view v-if="loadError" class="state error" @click="load(true)">{{loadError}},点击重试</view><view v-else-if="rows.length"><view v-for="item in rows" :key="item.id" class="row" @click="go(item.id,'detail')"><view class="head"><view><text class="name">{{item.name||'未命名器具'}}</text><text>{{item.code||'暂无编码'}}</text></view><view class="status-wrap"><text :class="['status', item.expireStatus === 0 ? 'enabled' : item.expireStatus === 1 ? 'warning' : 'danger']">{{dictLabel(dicts,'mes_dv_metering_expire_status',item.expireStatus)}}</text></view></view><view class="tags"><text>{{dictLabel(dicts,'mes_dv_metering_category',item.category)}}</text><text :class="item.status === 0 ? 'enabled' : 'disabled'">{{dictLabel(dicts,'mes_dv_metering_status',item.status)}}</text></view><view class="grid"><text>规格型号:{{item.specification||'--'}}</text><text>品牌/生产厂家:{{item.brand||'--'}}</text><text>使用部门:{{item.deptName||'--'}}</text><text>责任人:{{item.chargeUserNickname||'--'}}</text><text>下次检测日期:{{dayText(item.nextCheckDate)}}</text><text>创建时间:{{dateText(item.createTime)}}</text></view><view class="actions"><button v-if="canQuery" @click.stop="go(item.id,'detail')">详情</button><button v-if="canUpdate" @click.stop="go(item.id)">编辑</button><button v-if="canDelete" class="danger" @click.stop="remove(item)">删除</button></view></view><text class="more">{{loading?'加载中...':hasMore?'上拉加载更多':'没有更多了'}}</text></view><view v-else class="state">{{loading?'加载中...':keyword?'没有匹配的器具':'暂无计量器具'}}</view></scroll-view><view v-else class="state">暂无计量器具查看权限</view></template><view v-else class="state">登录后查看计量器具</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef5ff);border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef5ff);border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/dv/meteringcheck/index.vue
@@ -14,5 +14,5 @@
</script>
<template><view class="page"><template v-if="isLoggedIn"><view v-if="canQuery" class="search"><input v-model="keyword" placeholder="搜索检测编号" confirm-type="search" @confirm="load(true)" /><text v-if="keyword" @click="keyword='';load(true)">清除</text></view><scroll-view v-if="canQuery" class="content" scroll-y lower-threshold="80" @scrolltolower="hasMore&&load()"><view v-if="loadError" class="state error" @click="load(true)">{{loadError}},点击重试</view><view v-else-if="rows.length"><view v-for="item in rows" :key="item.id" class="row" @click="go(item.id,'detail')"><view class="head"><view><text class="name">{{item.checkCode||'检测记录'}}</text><text>{{item.meteringName||item.meteringCode||'计量器具'}}</text></view><view class="status-wrap"><text :class="['status', item.checkResult === 1 ? 'enabled' : 'danger']">{{dictLabel(dicts,'mes_dv_metering_check_result',item.checkResult)}}</text></view></view><view class="grid"><text>器具编码:{{item.meteringCode||'--'}}</text><text>检测日期:{{dayText(item.checkDate)}}</text><text>检测机构:{{item.checkOrg||'--'}}</text><text>证书编号:{{item.certNo||'--'}}</text><text>检测人:{{item.checkUserNickname||'--'}}</text><text>下次检测日期:{{dayText(item.nextCheckDate)}}</text><text>创建时间:{{dateText(item.createTime)}}</text></view><view class="actions"><button v-if="canQuery" @click.stop="go(item.id,'detail')">详情</button><button v-if="canUpdate" @click.stop="go(item.id)">编辑</button><button v-if="canDelete" class="danger" @click.stop="remove(item)">删除</button></view></view><text class="more">{{loading?'加载中...':hasMore?'上拉加载更多':'没有更多了'}}</text></view><view v-else class="state">{{loading?'加载中...':keyword?'没有匹配的记录':'暂无计量检测记录'}}</view></scroll-view><view v-else class="state">暂无计量检测记录查看权限</view></template><view v-else class="state">登录后查看计量检测记录</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef5ff);border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef5ff);border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/dv/repair/index.vue
@@ -14,5 +14,5 @@
</script>
<template><view class="page"><template v-if="isLoggedIn"><view v-if="canQuery" class="search"><input v-model="keyword" placeholder="搜索维修单名称" confirm-type="search" @confirm="load(true)" /><text v-if="keyword" @click="keyword='';load(true)">清除</text></view><scroll-view v-if="canQuery" class="content" scroll-y lower-threshold="80" @scrolltolower="hasMore&&load()"><view v-if="loadError" class="state error" @click="load(true)">{{loadError}},点击重试</view><view v-else-if="rows.length"><view v-for="item in rows" :key="item.id" class="row" @click="go(item.id,'detail')"><view class="head"><view><text class="name">{{item.name||'未命名维修单'}}</text><text>{{item.code||'暂无编码'}}</text></view><view class="status-wrap"><text :class="['status', item.status === 10 ? 'disabled' : item.status === 40 ? 'enabled' : 'warning']">{{dictLabel(dicts,'mes_dv_repair_status',item.status)}}</text></view></view><view v-if="item.result" class="tags"><text :class="item.result === 1 ? 'enabled' : 'danger'">{{dictLabel(dicts,'mes_dv_repair_result',item.result)}}</text></view><view class="grid"><text>设备名称:{{item.machineryName||'--'}}</text><text>报修日期:{{dateText(item.requireDate)}}</text><text>完成日期:{{dateText(item.finishDate)}}</text><text>创建时间:{{dateText(item.createTime)}}</text></view><view class="actions"><button v-if="canQuery" @click.stop="go(item.id,'detail')">详情</button><button v-if="canUpdate&&item.status===10" @click.stop="go(item.id)">编辑</button><button v-if="canUpdate&&item.status===10" @click.stop="action(item,'submit')">提交</button><button v-if="canUpdate&&item.status===20" @click.stop="go(item.id,'confirm')">确认完成</button><button v-if="canUpdate&&item.status===30" @click.stop="action(item,'finishPass')">验收通过</button><button v-if="canUpdate&&item.status===30" @click.stop="action(item,'finishFail')">验收不通过</button><button v-if="canDelete&&item.status===10" class="danger" @click.stop="action(item,'delete')">删除</button></view></view><text class="more">{{loading?'加载中...':hasMore?'上拉加载更多':'没有更多了'}}</text></view><view v-else class="state">{{loading?'加载中...':keyword?'没有匹配的维修单':'暂无维修单'}}</view></scroll-view><view v-else class="state">暂无维修单查看权限</view></template><view v-else class="state">登录后查看维修单</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef5ff);border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef5ff);border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/dv/spare/index.vue
@@ -40,5 +40,5 @@
.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;line-height:36rpx;border-radius:999rpx;white-space:nowrap}.tag-ok{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-stop{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}
.stock{display:grid;grid-template-columns:repeat(3,1fr);gap:12rpx;margin-top:16rpx;padding:16rpx 0;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.stock span{display:flex;align-items:center;flex-direction:column;gap:6rpx;color:#8795a8;font-size:21rpx}.stock b{color:#20334c;font-size:29rpx}.stock .low{color:#d45b50}.meta{padding-top:14rpx;color:#66778c;font-size:23rpx}
.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}
.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/dv/subject/index.vue
@@ -74,5 +74,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;font-size:22rpx!important;border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.status.enabled{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff)}.status.disabled{color:#8d9bad;background:#f0f3f6}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:16rpx}.tags text{max-width:100%;padding:6rpx 14rpx;overflow:hidden;color:var(--color-primary, #1769d8);font-size:22rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap;background:var(--color-primary-soft, #eef5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:14rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;width:auto!important;min-width:0!important;min-height:36rpx!important;height:36rpx!important;padding:4rpx 14rpx!important;font-size:22rpx!important;border-radius:999rpx!important;line-height:1.2!important;white-space:nowrap}.status.enabled{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff)}.status.disabled{color:#8d9bad;background:#f0f3f6}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:16rpx}.tags text{max-width:100%;padding:6rpx 14rpx;overflow:hidden;color:var(--color-primary, #1769d8);font-size:22rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap;background:var(--color-primary-soft, #eef5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:14rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/md/workstation/index.vue
@@ -91,5 +91,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-disabled{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after,.fab::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-disabled{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after,.fab::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/md/workstation/workshop/index.vue
@@ -91,5 +91,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-disabled{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after,.fab::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-disabled{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after,.fab::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/pd/project/bom.vue
@@ -271,12 +271,8 @@
  .more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}
  .state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}
  .state.error{color:#c65050}
  .fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .fab::after{border:0}
  .fab view{position:relative;width:38rpx;height:38rpx}
  .fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}
  .fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}
  .fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
  .mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:flex-end;background:rgba(16,35,63,.45)}
  .modal{display:flex;width:100%;max-height:84vh;flex-direction:column;background:#fff;border-radius:24rpx 24rpx 0 0}
  .modal-head{display:flex;align-items:center;justify-content:space-between;height:96rpx;padding:0 28rpx;border-bottom:1rpx solid #edf1f6}
src/pages/mes/pd/project/index.vue
@@ -364,10 +364,6 @@
  .more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}
  .state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}
  .state.error{color:#c65050}
  .fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .fab::after{border:0}
  .fab view{position:relative;width:38rpx;height:38rpx}
  .fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}
  .fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}
  .fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
</style>
src/pages/mes/pd/project/task.vue
@@ -387,12 +387,8 @@
  .more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}
  .state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}
  .state.error{color:#c65050}
  .fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .fab::after{border:0}
  .fab view{position:relative;width:38rpx;height:38rpx}
  .fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}
  .fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}
  .fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
  .mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:flex-end;background:rgba(16,35,63,.45)}
  .modal{display:flex;width:100%;max-height:84vh;flex-direction:column;background:#fff;border-radius:24rpx 24rpx 0 0}
  .modal-head{display:flex;align-items:center;justify-content:space-between;height:96rpx;padding:0 28rpx;border-bottom:1rpx solid #edf1f6}
src/pages/mes/pd/project/version.vue
@@ -324,12 +324,8 @@
  .more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}
  .state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}
  .state.error{color:#c65050}
  .fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .fab::after{border:0}
  .fab view{position:relative;width:38rpx;height:38rpx}
  .fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}
  .fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}
  .fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
  .mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:flex-end;background:rgba(16,35,63,.45)}
  .modal{display:flex;width:100%;max-height:84vh;flex-direction:column;background:#fff;border-radius:24rpx 24rpx 0 0}
  .modal-head{display:flex;align-items:center;justify-content:space-between;height:96rpx;padding:0 28rpx;border-bottom:1rpx solid #edf1f6}
src/pages/mes/pro/card/index.vue
@@ -45,5 +45,5 @@
.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;line-height:36rpx;border-radius:999rpx;white-space:nowrap}.s0{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.s1{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.s2{color:#7a52c6;background:#f3edff;border:1rpx solid #d4c0ff}.s3{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}
.grid{display:grid;gap:9rpx;padding:14rpx 0;margin-top:14rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after,.fab::after{border:0}.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}
.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/pro/feedback/index.vue
@@ -133,5 +133,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 24rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;flex:none;align-items:center;height:80rpx;margin:20rpx 0 14rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.list{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tag-draft{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-wait{color:#b58100;background:#fff7e6;border:1rpx solid #ffd591}.tag-ok{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-stop{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:9rpx;padding:14rpx 0;margin-top:14rpx;color:#66778c;font-size:22rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 24rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;flex:none;align-items:center;height:80rpx;margin:20rpx 0 14rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.list{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tag-draft{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-wait{color:#b58100;background:#fff7e6;border:1rpx solid #ffd591}.tag-ok{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-stop{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:9rpx;padding:14rpx 0;margin-top:14rpx;color:#66778c;font-size:22rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/pro/mps/index.vue
@@ -152,5 +152,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 24rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;flex:none;align-items:center;height:80rpx;margin:20rpx 0 14rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text,.merge{color:var(--color-primary, #1769d8);font-size:24rpx}.merge{align-self:flex-end;padding:10rpx 18rpx;margin-bottom:14rpx;background:var(--color-primary-soft, #eef5ff);border:1rpx solid #9bc1f5;border-radius:999rpx}.list{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;gap:14rpx}.select{width:42rpx;flex:none}.title{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.title text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tag-draft{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-ok{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-finish{color:#7a52c6;background:#f3edff;border:1rpx solid #d4c0ff}.tag-stop{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:9rpx;padding:14rpx 0;margin-top:14rpx;color:#66778c;font-size:22rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 24rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;flex:none;align-items:center;height:80rpx;margin:20rpx 0 14rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text,.merge{color:var(--color-primary, #1769d8);font-size:24rpx}.merge{align-self:flex-end;padding:10rpx 18rpx;margin-bottom:14rpx;background:var(--color-primary-soft, #eef5ff);border:1rpx solid #9bc1f5;border-radius:999rpx}.list{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;gap:14rpx}.select{width:42rpx;flex:none}.title{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.title text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tag-draft{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-ok{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-finish{color:#7a52c6;background:#f3edff;border:1rpx solid #d4c0ff}.tag-stop{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:9rpx;padding:14rpx 0;margin-top:14rpx;color:#66778c;font-size:22rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/pro/workorder/index.vue
@@ -144,5 +144,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 24rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;flex:none;align-items:center;height:80rpx;margin:20rpx 0 14rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.list{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.title{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.title text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tag-draft{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-ok{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-finish{color:#7a52c6;background:#f3edff;border:1rpx solid #d4c0ff}.tag-stop{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:9rpx;padding:14rpx 0;margin-top:14rpx;color:#66778c;font-size:22rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress{display:flex;align-items:center;gap:12rpx;margin-top:14rpx;color:#66778c;font-size:22rpx}.progress>view{height:12rpx;flex:1;overflow:hidden;background:#eef3f8;border-radius:999rpx}.progress>view>view{height:100%;background:var(--color-primary, #1769d8);border-radius:999rpx}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 24rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;flex:none;align-items:center;height:80rpx;margin:20rpx 0 14rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.list{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.title{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.title text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tag-draft{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-ok{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-finish{color:#7a52c6;background:#f3edff;border:1rpx solid #d4c0ff}.tag-stop{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:9rpx;padding:14rpx 0;margin-top:14rpx;color:#66778c;font-size:22rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress{display:flex;align-items:center;gap:12rpx;margin-top:14rpx;color:#66778c;font-size:22rpx}.progress>view{height:12rpx;flex:1;overflow:hidden;background:#eef3f8;border-radius:999rpx}.progress>view>view{height:100%;background:var(--color-primary, #1769d8);border-radius:999rpx}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/process-design/parameter/index.vue
@@ -164,5 +164,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-required{color:#c2570d;background:#fff4e7;border:1rpx solid #f5cfa4}.tag-optional{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab::after{border:0}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}.mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:flex-end;background:rgba(16,35,63,.45)}.sheet{width:100%;max-height:76vh;background:#fff;border-radius:24rpx 24rpx 0 0}.sheet-head{display:flex;align-items:center;justify-content:space-between;height:96rpx;padding:0 28rpx;border-bottom:1rpx solid #edf1f6}.sheet-head text:first-child{color:#10233f;font-size:30rpx;font-weight:600}.sheet-head text:last-child{color:var(--color-primary, #1769d8);font-size:25rpx}.sheet-body{height:600rpx;padding:0 28rpx;box-sizing:border-box}.link-row{display:flex;flex-direction:column;gap:10rpx;padding:22rpx 0;border-bottom:1rpx solid #f2f5f9}.link-row>view{display:flex;align-items:baseline;gap:14rpx}.link-name{color:#1e3049;font-size:27rpx;font-weight:600}.link-code{color:#8494a8;font-size:23rpx}.link-attention{color:#66778c;font-size:23rpx}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-required{color:#c2570d;background:#fff4e7;border:1rpx solid #f5cfa4}.tag-optional{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.fab::after{border:0}.mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:flex-end;background:rgba(16,35,63,.45)}.sheet{width:100%;max-height:76vh;background:#fff;border-radius:24rpx 24rpx 0 0}.sheet-head{display:flex;align-items:center;justify-content:space-between;height:96rpx;padding:0 28rpx;border-bottom:1rpx solid #edf1f6}.sheet-head text:first-child{color:#10233f;font-size:30rpx;font-weight:600}.sheet-head text:last-child{color:var(--color-primary, #1769d8);font-size:25rpx}.sheet-body{height:600rpx;padding:0 28rpx;box-sizing:border-box}.link-row{display:flex;flex-direction:column;gap:10rpx;padding:22rpx 0;border-bottom:1rpx solid #f2f5f9}.link-row>view{display:flex;align-items:baseline;gap:14rpx}.link-name{color:#1e3049;font-size:27rpx;font-weight:600}.link-code{color:#8494a8;font-size:23rpx}.link-attention{color:#66778c;font-size:23rpx}
</style>
src/pages/mes/process-design/process/index.vue
@@ -134,5 +134,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-disabled{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab::after{border:0}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-disabled{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.fab::after{border:0}
</style>
src/pages/mes/process-design/route/index.vue
@@ -151,5 +151,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-disabled{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab::after{border:0}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-disabled{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.fab::after{border:0}
</style>
src/pages/mes/process-design/template/index.vue
@@ -120,5 +120,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-type{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:32rpx;bottom:56rpx;display:flex;width:100rpx;height:100rpx;align-items:center;justify-content:center;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 14rpx 28rpx rgba(23,105,216,.32)}.fab::after{border:0}.fab view{position:relative;width:38rpx;height:38rpx}.fab view::before,.fab view::after{position:absolute;content:"";background:#fff;border-radius:3rpx}.fab view::before{top:17rpx;left:0;width:38rpx;height:4rpx}.fab view::after{top:0;left:17rpx;width:4rpx;height:38rpx}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-type{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions button::after{border:0}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more{display:block;padding:16rpx 0 6rpx;color:#93a1b3;font-size:22rpx;text-align:center}.state{padding:60rpx 20rpx;color:#8795a8;font-size:25rpx;text-align:center}.state.error{color:#c65050}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.fab::after{border:0}
</style>
src/pages/mes/qc/defect/index.vue
@@ -65,5 +65,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;font-size:22rpx;border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.enabled{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.warning{color:#b06a00;background:#fff6df;border:1rpx solid #f0d390}.danger{color:#c65050;background:#fff2f2;border:1rpx solid #efb8b8}.info,.tag-info{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border:1rpx solid var(--color-primary-border, #c9e1ff)}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-progress{color:#8a5a00;background:#fff6df}.tag-success{color:#0e9663;background:#e9fbf2}.tag-finish{color:#6b55c8;background:#f1efff}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;font-size:22rpx;border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.enabled{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.warning{color:#b06a00;background:#fff6df;border:1rpx solid #f0d390}.danger{color:#c65050;background:#fff2f2;border:1rpx solid #efb8b8}.info,.tag-info{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border:1rpx solid var(--color-primary-border, #c9e1ff)}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-progress{color:#8a5a00;background:#fff6df}.tag-success{color:#0e9663;background:#e9fbf2}.tag-finish{color:#6b55c8;background:#f1efff}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/qc/indicator/index.vue
@@ -84,5 +84,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;font-size:22rpx;border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;font-size:22rpx;border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/qc/ipqc/index.vue
@@ -75,5 +75,5 @@
</template>
<style lang="scss" scoped>
.page{min-height:100vh;background:#f3f6fb}.search{display:flex;align-items:center;height:76rpx;margin:18rpx 20rpx 0;padding:0 20rpx;gap:16rpx;background:#fff;border-radius:14rpx}.search input{min-width:0;flex:1;font-size:26rpx;color:#1e3049}.search text{flex:none;color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:calc(100vh - 100rpx);padding:18rpx 20rpx 32rpx;box-sizing:border-box}.card{margin-bottom:18rpx;padding:22rpx 22rpx 18rpx;background:#fff;border-radius:14rpx;box-shadow:0 8rpx 20rpx rgba(33,54,86,.05)}.head{display:flex;justify-content:space-between;gap:16rpx;border-bottom:1rpx solid #edf1f6;padding-bottom:16rpx}.head>view:first-child{display:grid;gap:6rpx;min-width:0;color:#63758c;font-size:24rpx}.name{color:#10253f;font-size:31rpx;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;justify-content:flex-end;flex:none;min-width:92rpx}.status,.tags text{display:inline-flex;align-items:center;justify-content:center;min-height:40rpx;padding:0 18rpx;border-radius:999rpx;font-size:22rpx;border:1rpx solid #bdd8ff;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-green{color:#159166;background:#e9fbf2;border-color:#bcebd4}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border-color:#bdd8ff}.tag-orange{color:#b36b00;background:#fff7e8;border-color:#f3d49b}.tag-red{color:#d64b4b;background:#fff1f0;border-color:#efb0b0}.tags{display:flex;gap:10rpx;flex-wrap:wrap;margin-top:14rpx}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx 18rpx;margin-top:16rpx;color:#40536c;font-size:25rpx}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid text.full{grid-column:1/-1;white-space:normal}.actions{display:flex;justify-content:flex-end;gap:12rpx;margin-top:16rpx;border-top:1rpx solid #edf1f6;padding-top:16rpx}.actions button{min-width:96rpx;margin:0;padding:0 16rpx;color:var(--color-primary, #1769d8);font-size:24rpx;line-height:56rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.actions .danger{color:#d64b4b;border-color:#efb0b0}.actions button::after{border:0}.state,.more{display:block;padding:42rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#d64b4b}.fab{position:fixed;right:28rpx;bottom:44rpx;width:104rpx;height:104rpx;border-radius:50%;background:var(--color-primary, #1769d8);box-shadow:0 12rpx 26rpx rgba(23,105,216,.35)}.fab::after{border:0}.fab view,.fab view::after{position:absolute;left:50%;top:50%;content:"";background:#fff;border-radius:4rpx;transform:translate(-50%,-50%)}.fab view{width:42rpx;height:8rpx}.fab view::after{width:8rpx;height:42rpx}
.page{min-height:100vh;background:#f3f6fb}.search{display:flex;align-items:center;height:76rpx;margin:18rpx 20rpx 0;padding:0 20rpx;gap:16rpx;background:#fff;border-radius:14rpx}.search input{min-width:0;flex:1;font-size:26rpx;color:#1e3049}.search text{flex:none;color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:calc(100vh - 100rpx);padding:18rpx 20rpx 32rpx;box-sizing:border-box}.card{margin-bottom:18rpx;padding:22rpx 22rpx 18rpx;background:#fff;border-radius:14rpx;box-shadow:0 8rpx 20rpx rgba(33,54,86,.05)}.head{display:flex;justify-content:space-between;gap:16rpx;border-bottom:1rpx solid #edf1f6;padding-bottom:16rpx}.head>view:first-child{display:grid;gap:6rpx;min-width:0;color:#63758c;font-size:24rpx}.name{color:#10253f;font-size:31rpx;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;justify-content:flex-end;flex:none;min-width:92rpx}.status,.tags text{display:inline-flex;align-items:center;justify-content:center;min-height:40rpx;padding:0 18rpx;border-radius:999rpx;font-size:22rpx;border:1rpx solid #bdd8ff;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-green{color:#159166;background:#e9fbf2;border-color:#bcebd4}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border-color:#bdd8ff}.tag-orange{color:#b36b00;background:#fff7e8;border-color:#f3d49b}.tag-red{color:#d64b4b;background:#fff1f0;border-color:#efb0b0}.tags{display:flex;gap:10rpx;flex-wrap:wrap;margin-top:14rpx}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx 18rpx;margin-top:16rpx;color:#40536c;font-size:25rpx}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid text.full{grid-column:1/-1;white-space:normal}.actions{display:flex;justify-content:flex-end;gap:12rpx;margin-top:16rpx;border-top:1rpx solid #edf1f6;padding-top:16rpx}.actions button{min-width:96rpx;margin:0;padding:0 16rpx;color:var(--color-primary, #1769d8);font-size:24rpx;line-height:56rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.actions .danger{color:#d64b4b;border-color:#efb0b0}.actions button::after{border:0}.state,.more{display:block;padding:42rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#d64b4b}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.fab::after{border:0}
</style>
src/pages/mes/qc/iqc/index.vue
@@ -75,5 +75,5 @@
</template>
<style lang="scss" scoped>
.page{min-height:100vh;background:#f3f6fb}.search{display:flex;align-items:center;height:76rpx;margin:18rpx 20rpx 0;padding:0 20rpx;gap:16rpx;background:#fff;border-radius:14rpx}.search input{min-width:0;flex:1;font-size:26rpx;color:#1e3049}.search text{flex:none;color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:calc(100vh - 100rpx);padding:18rpx 20rpx 32rpx;box-sizing:border-box}.card{margin-bottom:18rpx;padding:22rpx 22rpx 18rpx;background:#fff;border-radius:14rpx;box-shadow:0 8rpx 20rpx rgba(33,54,86,.05)}.head{display:flex;justify-content:space-between;gap:16rpx;border-bottom:1rpx solid #edf1f6;padding-bottom:16rpx}.head>view:first-child{display:grid;gap:6rpx;min-width:0;color:#63758c;font-size:24rpx}.name{color:#10253f;font-size:31rpx;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;justify-content:flex-end;flex:none;min-width:92rpx}.status,.tags text{display:inline-flex;align-items:center;justify-content:center;min-height:40rpx;padding:0 18rpx;border-radius:999rpx;font-size:22rpx;border:1rpx solid #bdd8ff;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-green{color:#159166;background:#e9fbf2;border-color:#bcebd4}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border-color:#bdd8ff}.tag-orange{color:#b36b00;background:#fff7e8;border-color:#f3d49b}.tag-red{color:#d64b4b;background:#fff1f0;border-color:#efb0b0}.tags{display:flex;gap:10rpx;flex-wrap:wrap;margin-top:14rpx}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx 18rpx;margin-top:16rpx;color:#40536c;font-size:25rpx}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid text.full{grid-column:1/-1;white-space:normal}.actions{display:flex;justify-content:flex-end;gap:12rpx;margin-top:16rpx;border-top:1rpx solid #edf1f6;padding-top:16rpx}.actions button{min-width:96rpx;margin:0;padding:0 16rpx;color:var(--color-primary, #1769d8);font-size:24rpx;line-height:56rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.actions .danger{color:#d64b4b;border-color:#efb0b0}.actions button::after{border:0}.state,.more{display:block;padding:42rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#d64b4b}.fab{position:fixed;right:28rpx;bottom:44rpx;width:104rpx;height:104rpx;border-radius:50%;background:var(--color-primary, #1769d8);box-shadow:0 12rpx 26rpx rgba(23,105,216,.35)}.fab::after{border:0}.fab view,.fab view::after{position:absolute;left:50%;top:50%;content:"";background:#fff;border-radius:4rpx;transform:translate(-50%,-50%)}.fab view{width:42rpx;height:8rpx}.fab view::after{width:8rpx;height:42rpx}
.page{min-height:100vh;background:#f3f6fb}.search{display:flex;align-items:center;height:76rpx;margin:18rpx 20rpx 0;padding:0 20rpx;gap:16rpx;background:#fff;border-radius:14rpx}.search input{min-width:0;flex:1;font-size:26rpx;color:#1e3049}.search text{flex:none;color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:calc(100vh - 100rpx);padding:18rpx 20rpx 32rpx;box-sizing:border-box}.card{margin-bottom:18rpx;padding:22rpx 22rpx 18rpx;background:#fff;border-radius:14rpx;box-shadow:0 8rpx 20rpx rgba(33,54,86,.05)}.head{display:flex;justify-content:space-between;gap:16rpx;border-bottom:1rpx solid #edf1f6;padding-bottom:16rpx}.head>view:first-child{display:grid;gap:6rpx;min-width:0;color:#63758c;font-size:24rpx}.name{color:#10253f;font-size:31rpx;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;justify-content:flex-end;flex:none;min-width:92rpx}.status,.tags text{display:inline-flex;align-items:center;justify-content:center;min-height:40rpx;padding:0 18rpx;border-radius:999rpx;font-size:22rpx;border:1rpx solid #bdd8ff;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-green{color:#159166;background:#e9fbf2;border-color:#bcebd4}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border-color:#bdd8ff}.tag-orange{color:#b36b00;background:#fff7e8;border-color:#f3d49b}.tag-red{color:#d64b4b;background:#fff1f0;border-color:#efb0b0}.tags{display:flex;gap:10rpx;flex-wrap:wrap;margin-top:14rpx}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx 18rpx;margin-top:16rpx;color:#40536c;font-size:25rpx}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid text.full{grid-column:1/-1;white-space:normal}.actions{display:flex;justify-content:flex-end;gap:12rpx;margin-top:16rpx;border-top:1rpx solid #edf1f6;padding-top:16rpx}.actions button{min-width:96rpx;margin:0;padding:0 16rpx;color:var(--color-primary, #1769d8);font-size:24rpx;line-height:56rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.actions .danger{color:#d64b4b;border-color:#efb0b0}.actions button::after{border:0}.state,.more{display:block;padding:42rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#d64b4b}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.fab::after{border:0}
</style>
src/pages/mes/qc/ncr/index.vue
@@ -115,5 +115,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;font-size:22rpx;border-radius:999rpx}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid .full{grid-column:1/3}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button,.modal-actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after,.modal-actions button::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.enabled{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.warning{color:#b06a00;background:#fff6df;border:1rpx solid #f0d390}.danger{color:#c65050;background:#fff2f2;border:1rpx solid #efb8b8}.info,.tag-info{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border:1rpx solid var(--color-primary-border, #c9e1ff)}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-progress{color:#6b55c8;background:#f1efff}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;background:rgba(20,31,48,.42)}.modal{width:100%;max-height:78vh;padding:24rpx 30rpx 34rpx;overflow:auto;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{padding:8rpx 0 22rpx;color:#20334c;font-size:31rpx;font-weight:700}.field{display:flex;align-items:center;min-height:92rpx;gap:20rpx;padding:0 6rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:190rpx;flex:none;color:#33455d;font-size:26rpx}.picker{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between;gap:12rpx;color:#65758a;font-size:26rpx}.picker text:first-child{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;color:#8092a7;font-size:36rpx;text-align:right}.column{align-items:flex-start;flex-direction:column;padding:18rpx 6rpx}.column>text:first-child{width:auto}.column textarea{width:100%;height:140rpx;box-sizing:border-box;font-size:26rpx}.required{color:#e23b3b}.modal-actions{display:flex;justify-content:flex-end;gap:16rpx;padding-top:24rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;font-size:22rpx;border-radius:999rpx}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid .full{grid-column:1/3}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button,.modal-actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after,.modal-actions button::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.enabled{color:#0e9663;background:#e9fbf2;border:1rpx solid #b8eed4}.warning{color:#b06a00;background:#fff6df;border:1rpx solid #f0d390}.danger{color:#c65050;background:#fff2f2;border:1rpx solid #efb8b8}.info,.tag-info{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border:1rpx solid var(--color-primary-border, #c9e1ff)}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-progress{color:#6b55c8;background:#f1efff}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;background:rgba(20,31,48,.42)}.modal{width:100%;max-height:78vh;padding:24rpx 30rpx 34rpx;overflow:auto;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{padding:8rpx 0 22rpx;color:#20334c;font-size:31rpx;font-weight:700}.field{display:flex;align-items:center;min-height:92rpx;gap:20rpx;padding:0 6rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:190rpx;flex:none;color:#33455d;font-size:26rpx}.picker{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between;gap:12rpx;color:#65758a;font-size:26rpx}.picker text:first-child{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;color:#8092a7;font-size:36rpx;text-align:right}.column{align-items:flex-start;flex-direction:column;padding:18rpx 6rpx}.column>text:first-child{width:auto}.column textarea{width:100%;height:140rpx;box-sizing:border-box;font-size:26rpx}.required{color:#e23b3b}.modal-actions{display:flex;justify-content:flex-end;gap:16rpx;padding-top:24rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}
</style>
src/pages/mes/qc/oqc/index.vue
@@ -75,5 +75,5 @@
</template>
<style lang="scss" scoped>
.page{min-height:100vh;background:#f3f6fb}.search{display:flex;align-items:center;height:76rpx;margin:18rpx 20rpx 0;padding:0 20rpx;gap:16rpx;background:#fff;border-radius:14rpx}.search input{min-width:0;flex:1;font-size:26rpx;color:#1e3049}.search text{flex:none;color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:calc(100vh - 100rpx);padding:18rpx 20rpx 32rpx;box-sizing:border-box}.card{margin-bottom:18rpx;padding:22rpx 22rpx 18rpx;background:#fff;border-radius:14rpx;box-shadow:0 8rpx 20rpx rgba(33,54,86,.05)}.head{display:flex;justify-content:space-between;gap:16rpx;border-bottom:1rpx solid #edf1f6;padding-bottom:16rpx}.head>view:first-child{display:grid;gap:6rpx;min-width:0;color:#63758c;font-size:24rpx}.name{color:#10253f;font-size:31rpx;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;justify-content:flex-end;flex:none;min-width:92rpx}.status,.tags text{display:inline-flex;align-items:center;justify-content:center;min-height:40rpx;padding:0 18rpx;border-radius:999rpx;font-size:22rpx;border:1rpx solid #bdd8ff;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-green{color:#159166;background:#e9fbf2;border-color:#bcebd4}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border-color:#bdd8ff}.tag-orange{color:#b36b00;background:#fff7e8;border-color:#f3d49b}.tag-red{color:#d64b4b;background:#fff1f0;border-color:#efb0b0}.tags{display:flex;gap:10rpx;flex-wrap:wrap;margin-top:14rpx}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx 18rpx;margin-top:16rpx;color:#40536c;font-size:25rpx}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid text.full{grid-column:1/-1;white-space:normal}.actions{display:flex;justify-content:flex-end;gap:12rpx;margin-top:16rpx;border-top:1rpx solid #edf1f6;padding-top:16rpx}.actions button{min-width:96rpx;margin:0;padding:0 16rpx;color:var(--color-primary, #1769d8);font-size:24rpx;line-height:56rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.actions .danger{color:#d64b4b;border-color:#efb0b0}.actions button::after{border:0}.state,.more{display:block;padding:42rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#d64b4b}.fab{position:fixed;right:28rpx;bottom:44rpx;width:104rpx;height:104rpx;border-radius:50%;background:var(--color-primary, #1769d8);box-shadow:0 12rpx 26rpx rgba(23,105,216,.35)}.fab::after{border:0}.fab view,.fab view::after{position:absolute;left:50%;top:50%;content:"";background:#fff;border-radius:4rpx;transform:translate(-50%,-50%)}.fab view{width:42rpx;height:8rpx}.fab view::after{width:8rpx;height:42rpx}
.page{min-height:100vh;background:#f3f6fb}.search{display:flex;align-items:center;height:76rpx;margin:18rpx 20rpx 0;padding:0 20rpx;gap:16rpx;background:#fff;border-radius:14rpx}.search input{min-width:0;flex:1;font-size:26rpx;color:#1e3049}.search text{flex:none;color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:calc(100vh - 100rpx);padding:18rpx 20rpx 32rpx;box-sizing:border-box}.card{margin-bottom:18rpx;padding:22rpx 22rpx 18rpx;background:#fff;border-radius:14rpx;box-shadow:0 8rpx 20rpx rgba(33,54,86,.05)}.head{display:flex;justify-content:space-between;gap:16rpx;border-bottom:1rpx solid #edf1f6;padding-bottom:16rpx}.head>view:first-child{display:grid;gap:6rpx;min-width:0;color:#63758c;font-size:24rpx}.name{color:#10253f;font-size:31rpx;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;justify-content:flex-end;flex:none;min-width:92rpx}.status,.tags text{display:inline-flex;align-items:center;justify-content:center;min-height:40rpx;padding:0 18rpx;border-radius:999rpx;font-size:22rpx;border:1rpx solid #bdd8ff;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-green{color:#159166;background:#e9fbf2;border-color:#bcebd4}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border-color:#bdd8ff}.tag-orange{color:#b36b00;background:#fff7e8;border-color:#f3d49b}.tag-red{color:#d64b4b;background:#fff1f0;border-color:#efb0b0}.tags{display:flex;gap:10rpx;flex-wrap:wrap;margin-top:14rpx}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx 18rpx;margin-top:16rpx;color:#40536c;font-size:25rpx}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid text.full{grid-column:1/-1;white-space:normal}.actions{display:flex;justify-content:flex-end;gap:12rpx;margin-top:16rpx;border-top:1rpx solid #edf1f6;padding-top:16rpx}.actions button{min-width:96rpx;margin:0;padding:0 16rpx;color:var(--color-primary, #1769d8);font-size:24rpx;line-height:56rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.actions .danger{color:#d64b4b;border-color:#efb0b0}.actions button::after{border:0}.state,.more{display:block;padding:42rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#d64b4b}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.fab::after{border:0}
</style>
src/pages/mes/qc/report/template/index.vue
@@ -64,5 +64,5 @@
</template><view v-else class="state">登录后查看报告模板</view><button v-if="canCreate" class="fab" @click="go()"><view /></button></view></template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;font-size:22rpx;border-radius:999rpx;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid .full{grid-column:1/3}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.enabled,.tag-success{color:#0e9663!important;background:#e9fbf2!important;border:1rpx solid #b8eed4}.warning{color:#b06a00;background:#fff6df;border:1rpx solid #f0d390}.danger{color:#c65050;background:#fff2f2;border:1rpx solid #efb8b8}.info,.tag-info{color:var(--color-primary, #1769d8)!important;background:var(--color-primary-soft, #eef6ff)!important;border:1rpx solid var(--color-primary-border, #c9e1ff)}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;font-size:22rpx;border-radius:999rpx;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid .full{grid-column:1/3}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.enabled,.tag-success{color:#0e9663!important;background:#e9fbf2!important;border:1rpx solid #b8eed4}.warning{color:#b06a00;background:#fff6df;border:1rpx solid #f0d390}.danger{color:#c65050;background:#fff2f2;border:1rpx solid #efb8b8}.info,.tag-info{color:var(--color-primary, #1769d8)!important;background:var(--color-primary-soft, #eef6ff)!important;border:1rpx solid var(--color-primary-border, #c9e1ff)}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/qc/rqc/index.vue
@@ -75,5 +75,5 @@
</template>
<style lang="scss" scoped>
.page{min-height:100vh;background:#f3f6fb}.search{display:flex;align-items:center;height:76rpx;margin:18rpx 20rpx 0;padding:0 20rpx;gap:16rpx;background:#fff;border-radius:14rpx}.search input{min-width:0;flex:1;font-size:26rpx;color:#1e3049}.search text{flex:none;color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:calc(100vh - 100rpx);padding:18rpx 20rpx 32rpx;box-sizing:border-box}.card{margin-bottom:18rpx;padding:22rpx 22rpx 18rpx;background:#fff;border-radius:14rpx;box-shadow:0 8rpx 20rpx rgba(33,54,86,.05)}.head{display:flex;justify-content:space-between;gap:16rpx;border-bottom:1rpx solid #edf1f6;padding-bottom:16rpx}.head>view:first-child{display:grid;gap:6rpx;min-width:0;color:#63758c;font-size:24rpx}.name{color:#10253f;font-size:31rpx;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;justify-content:flex-end;flex:none;min-width:92rpx}.status,.tags text{display:inline-flex;align-items:center;justify-content:center;min-height:40rpx;padding:0 18rpx;border-radius:999rpx;font-size:22rpx;border:1rpx solid #bdd8ff;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-green{color:#159166;background:#e9fbf2;border-color:#bcebd4}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border-color:#bdd8ff}.tag-orange{color:#b36b00;background:#fff7e8;border-color:#f3d49b}.tag-red{color:#d64b4b;background:#fff1f0;border-color:#efb0b0}.tags{display:flex;gap:10rpx;flex-wrap:wrap;margin-top:14rpx}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx 18rpx;margin-top:16rpx;color:#40536c;font-size:25rpx}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid text.full{grid-column:1/-1;white-space:normal}.actions{display:flex;justify-content:flex-end;gap:12rpx;margin-top:16rpx;border-top:1rpx solid #edf1f6;padding-top:16rpx}.actions button{min-width:96rpx;margin:0;padding:0 16rpx;color:var(--color-primary, #1769d8);font-size:24rpx;line-height:56rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.actions .danger{color:#d64b4b;border-color:#efb0b0}.actions button::after{border:0}.state,.more{display:block;padding:42rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#d64b4b}.fab{position:fixed;right:28rpx;bottom:44rpx;width:104rpx;height:104rpx;border-radius:50%;background:var(--color-primary, #1769d8);box-shadow:0 12rpx 26rpx rgba(23,105,216,.35)}.fab::after{border:0}.fab view,.fab view::after{position:absolute;left:50%;top:50%;content:"";background:#fff;border-radius:4rpx;transform:translate(-50%,-50%)}.fab view{width:42rpx;height:8rpx}.fab view::after{width:8rpx;height:42rpx}
.page{min-height:100vh;background:#f3f6fb}.search{display:flex;align-items:center;height:76rpx;margin:18rpx 20rpx 0;padding:0 20rpx;gap:16rpx;background:#fff;border-radius:14rpx}.search input{min-width:0;flex:1;font-size:26rpx;color:#1e3049}.search text{flex:none;color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:calc(100vh - 100rpx);padding:18rpx 20rpx 32rpx;box-sizing:border-box}.card{margin-bottom:18rpx;padding:22rpx 22rpx 18rpx;background:#fff;border-radius:14rpx;box-shadow:0 8rpx 20rpx rgba(33,54,86,.05)}.head{display:flex;justify-content:space-between;gap:16rpx;border-bottom:1rpx solid #edf1f6;padding-bottom:16rpx}.head>view:first-child{display:grid;gap:6rpx;min-width:0;color:#63758c;font-size:24rpx}.name{color:#10253f;font-size:31rpx;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;justify-content:flex-end;flex:none;min-width:92rpx}.status,.tags text{display:inline-flex;align-items:center;justify-content:center;min-height:40rpx;padding:0 18rpx;border-radius:999rpx;font-size:22rpx;border:1rpx solid #bdd8ff;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff)}.tag-green{color:#159166;background:#e9fbf2;border-color:#bcebd4}.tag-blue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #eef6ff);border-color:#bdd8ff}.tag-orange{color:#b36b00;background:#fff7e8;border-color:#f3d49b}.tag-red{color:#d64b4b;background:#fff1f0;border-color:#efb0b0}.tags{display:flex;gap:10rpx;flex-wrap:wrap;margin-top:14rpx}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10rpx 18rpx;margin-top:16rpx;color:#40536c;font-size:25rpx}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid text.full{grid-column:1/-1;white-space:normal}.actions{display:flex;justify-content:flex-end;gap:12rpx;margin-top:16rpx;border-top:1rpx solid #edf1f6;padding-top:16rpx}.actions button{min-width:96rpx;margin:0;padding:0 16rpx;color:var(--color-primary, #1769d8);font-size:24rpx;line-height:56rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.actions .danger{color:#d64b4b;border-color:#efb0b0}.actions button::after{border:0}.state,.more{display:block;padding:42rpx 0;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#d64b4b}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.fab::after{border:0}
</style>
src/pages/mes/qc/template/index.vue
@@ -70,5 +70,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;font-size:22rpx;border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;font-size:22rpx;border-radius:999rpx}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/tm/tool/index.vue
@@ -112,5 +112,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 24rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;flex:none;align-items:center;height:80rpx;margin:20rpx 0 14rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.main-layout{height:0;min-height:0;flex:1;display:flex;gap:16rpx;padding-bottom: 132rpx;box-sizing:border-box}.type-nav{width:188rpx;height:100%;flex:none;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.05)}.type-item{position:relative;display:flex;align-items:center;min-height:78rpx;padding:14rpx 12rpx 14rpx 18rpx;box-sizing:border-box;color:#617287;font-size:23rpx;border-bottom:1rpx solid #edf1f6}.type-item text{display:-webkit-box;min-width:0;overflow:hidden;line-height:1.25;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.type-item.active{color:var(--color-primary, #1769d8);font-weight:600;background:var(--color-primary-soft, #eef5ff)}.type-item.active::before{position:absolute;top:18rpx;bottom:18rpx;left:0;width:6rpx;background:var(--color-primary, #1769d8);border-radius:0 6rpx 6rpx 0;content:""}.content{height:100%;min-width:0;flex:1;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tag-store{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-issue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-repair{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-scrap{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.tags{display:flex;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:9rpx;padding:14rpx 0;margin-top:14rpx;color:#66778c;font-size:22rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 24rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;flex:none;align-items:center;height:80rpx;margin:20rpx 0 14rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.main-layout{height:0;min-height:0;flex:1;display:flex;gap:16rpx;padding-bottom: 132rpx;box-sizing:border-box}.type-nav{width:188rpx;height:100%;flex:none;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.05)}.type-item{position:relative;display:flex;align-items:center;min-height:78rpx;padding:14rpx 12rpx 14rpx 18rpx;box-sizing:border-box;color:#617287;font-size:23rpx;border-bottom:1rpx solid #edf1f6}.type-item text{display:-webkit-box;min-width:0;overflow:hidden;line-height:1.25;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.type-item.active{color:var(--color-primary, #1769d8);font-weight:600;background:var(--color-primary-soft, #eef5ff)}.type-item.active::before{position:absolute;top:18rpx;bottom:18rpx;left:0;width:6rpx;background:var(--color-primary, #1769d8);border-radius:0 6rpx 6rpx 0;content:""}.content{height:100%;min-width:0;flex:1;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.tag-store{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-issue{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-repair{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-scrap{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.tags{display:flex;gap:10rpx;margin-top:14rpx}.tags text{padding:4rpx 12rpx;color:var(--color-primary, #1769d8);font-size:22rpx;background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff);border-radius:999rpx}.grid{display:grid;gap:9rpx;padding:14rpx 0;margin-top:14rpx;color:#66778c;font-size:22rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/mes/tm/tool/type/index.vue
@@ -92,5 +92,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.disabled{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;flex:none;height:48rpx}.status{display:inline-flex;align-items:center;height:36rpx;padding:0 16rpx;font-size:22rpx;border-radius:999rpx;white-space:nowrap}.enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.disabled{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/purchase/invoice/index.vue
@@ -119,9 +119,7 @@
              class="state">{{loading?'加载中...':'暂无采购来票'}}</view>
      </scroll-view><button v-if="canCreate"
              class="fab"
              @click="go('form')">
        <view class="fab-plus"></view>
      </button>
              @click="go('form')"><view /></button>
    </template>
    <view v-else
          class="state">暂无查看权限</view>
@@ -267,46 +265,5 @@
    color: #86909c;
    text-align: center;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104rpx; height: 104rpx; min-height: 104rpx;
    padding: 0;
    color: #fff;
    background: var(--color-primary, #165dff);
    border-radius: 50%;
  }
  .fab-plus,
  .fab-plus::before,
  .fab-plus::after {
    display: block;
    background: currentColor;
    border-radius: 4rpx;
  }
  .fab-plus {
    position: relative;
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::before,
  .fab-plus::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    transform: translate(-50%, -50%);
  }
  .fab-plus::before {
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::after {
    width: 8rpx;
    height: 36rpx;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/purchase/order/index.vue
@@ -162,9 +162,7 @@
              class="state">{{loading?'加载中...':'暂无采购订单'}}</view>
      </scroll-view><button v-if="canCreate"
              class="fab"
              @click="go('form')">
        <view class="fab-plus"></view>
      </button>
              @click="go('form')"><view /></button>
    </template>
    <view v-else
          class="state">{{isLoggedIn?'暂无查看权限':'登录后查看业务数据'}}</view>
@@ -263,46 +261,5 @@
  .error {
    color: #f53f3f;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104rpx; height: 104rpx; min-height: 104rpx;
    padding: 0;
    color: #fff;
    background: var(--color-primary, #165dff);
    border-radius: 50%;
  }
  .fab-plus,
  .fab-plus::before,
  .fab-plus::after {
    display: block;
    background: currentColor;
    border-radius: 4rpx;
  }
  .fab-plus {
    position: relative;
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::before,
  .fab-plus::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    transform: translate(-50%, -50%);
  }
  .fab-plus::before {
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::after {
    width: 8rpx;
    height: 36rpx;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/purchase/payment/index.vue
@@ -145,9 +145,7 @@
              class="state">{{loading?'加载中...':'暂无采购付款'}}</view>
      </scroll-view><button v-if="canCreate"
              class="fab"
              @click="go('form')">
        <view class="fab-plus"></view>
      </button>
              @click="go('form')"><view /></button>
    </template>
    <view v-else
          class="state">暂无查看权限</view>
@@ -288,46 +286,5 @@
    color: #86909c;
    text-align: center;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104rpx; height: 104rpx; min-height: 104rpx;
    padding: 0;
    color: #fff;
    background: var(--color-primary, #165dff);
    border-radius: 50%;
  }
  .fab-plus,
  .fab-plus::before,
  .fab-plus::after {
    display: block;
    background: currentColor;
    border-radius: 4rpx;
  }
  .fab-plus {
    position: relative;
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::before,
  .fab-plus::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    transform: translate(-50%, -50%);
  }
  .fab-plus::before {
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::after {
    width: 8rpx;
    height: 36rpx;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/purchase/request/index.vue
@@ -209,9 +209,7 @@
              class="state">{{ loading?'加载中...':'暂无采购申请' }}</view>
      </scroll-view><button v-if="canCreate"
              class="fab"
              @click="go('form')">
        <view class="fab-plus"></view>
      </button>
              @click="go('form')"><view /></button>
    </template>
    <view v-else
          class="state">登录后查看业务数据</view>
@@ -336,48 +334,7 @@
  .error {
    color: #f53f3f;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104rpx; height: 104rpx; min-height: 104rpx;
    padding: 0;
    color: #fff;
    background: var(--color-primary, #165dff);
    border-radius: 50%;
  }
  .fab-plus,
  .fab-plus::before,
  .fab-plus::after {
    display: block;
    background: currentColor;
    border-radius: 4rpx;
  }
  .fab-plus {
    position: relative;
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::before,
  .fab-plus::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    transform: translate(-50%, -50%);
  }
  .fab-plus::before {
    width: 36rpx;
    height: 8rpx;
  }
  .fab-plus::after {
    width: 8rpx;
    height: 36rpx;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .process-mask {
    position: fixed;
    inset: 0;
src/pages/sale/order/index.vue
@@ -219,7 +219,7 @@
      </scroll-view>
      <button v-if="canCreate"
              class="fab"
              @click="go('form')"><view class="fab-plus"></view></button>
              @click="go('form')"><view /></button>
    </template>
    <view v-else
          class="state">{{ isLoggedIn ? '暂无查看权限' : '登录后查看销售订单' }}</view>
@@ -244,13 +244,8 @@
  .meta text:last-child { color: #ff7d00; }
  .actions { flex-wrap: wrap; justify-content: flex-end; gap: 12rpx; margin-top: 18rpx; }
  .actions button { margin: 0; padding: 0 16rpx; color: var(--color-primary, #165dff); font-size: 23rpx; background: #f2f6ff; border-radius: 8rpx; }
  .actions .danger { color: #f53f3f; background: #fff1f0; }
  .actions button::after, .fab::after { border: 0; }
  .actions .danger { color: #f53f3f; background: #fff1f0; }.actions button::after,.fab::after{ border: 0; }
  .state { padding: 48rpx 0; color: #86909c; text-align: center; }
  .error { color: #f53f3f; }
  .fab { position: fixed; right: 30rpx; bottom: calc(32rpx + env(safe-area-inset-bottom)); z-index: 5; display: flex; align-items: center; justify-content: center; width: 96rpx; height: 96rpx; border-radius: 50%; background: var(--color-primary, #165dff); box-shadow: 0 12rpx 24rpx rgba(22, 93, 255, 0.28); }
  .fab-plus { position: relative; width: 34rpx; height: 34rpx; }
  .fab-plus::before, .fab-plus::after { position: absolute; top: 50%; left: 50%; content: ""; background: #fff; border-radius: 2rpx; transform: translate(-50%, -50%); }
  .fab-plus::before { width: 34rpx; height: 4rpx; }
  .fab-plus::after { width: 4rpx; height: 34rpx; }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/sale/sales-target/index.vue
@@ -161,7 +161,7 @@
      </scroll-view>
      <button v-if="canCreate"
              class="fab"
              @click="go('form')">+</button>
              @click="go('form')"><view /></button>
    </template>
    <view v-else
          class="state">{{ isLoggedIn ? '暂无查看权限' : '登录后查看销售目标' }}</view>
@@ -185,9 +185,8 @@
  .grid text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .actions { flex-wrap: wrap; justify-content: flex-end; margin-top: 18rpx; }
  .actions button { margin: 0; padding: 0 18rpx; color: var(--color-primary, #1769d8); font-size: 23rpx; background: #edf4ff; border-radius: 8rpx; }
  .actions .danger { color: #e54949; background: #fff1f0; }
  .actions button::after, .fab::after { border: 0; }
  .actions .danger { color: #e54949; background: #fff1f0; }.actions button::after,.fab::after{ border: 0; }
  .state, .more { display: block; padding: 42rpx 0; color: #86909c; text-align: center; }
  .error { color: #e54949; }
  .fab { position: fixed; right: 30rpx; bottom: calc(32rpx + env(safe-area-inset-bottom)); width: 96rpx; height: 96rpx; color: #fff; font-size: 48rpx; line-height: 96rpx; background: var(--color-primary, #1769d8); border-radius: 50%; box-shadow: 0 12rpx 28rpx rgba(23, 105, 216, 0.28); }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/srm/tender/index.vue
@@ -316,13 +316,8 @@
      </view>
    </view>
    <button v-if="isLoggedIn && canCreate"
            class="create-fab"
            @click="openForm()">
      <view class="fab-plus">
        <view></view>
        <view></view>
      </view>
    </button>
            class="fab"
            @click="openForm()"><view /></button>
  </view>
</template>
@@ -645,38 +640,5 @@
  .winner-confirm::after {
    border: 0;
  }
  .create-fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 104rpx; height: 104rpx; min-height: 104rpx;
    padding: 0;
    color: #fff;
    background: var(--color-primary, #165dff);
    border: 0;
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx var(--color-primary, #165dff)55;
  }
  .fab-plus {
    position: relative;
    width: 40rpx;
    height: 40rpx;
  }
  .fab-plus view {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40rpx;
    height: 6rpx;
    background: #fff;
    border-radius: 6rpx;
    transform: translate(-50%, -50%);
  }
  .fab-plus view:last-child {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/supplier/access/index.vue
@@ -255,12 +255,7 @@
    <view v-else
          class="state">{{isLoggedIn?'暂无准入申请查看权限':'登录后查看供应商准入'}}</view><button v-if="canCreate"
            class="fab"
            @click="openEditor()">
      <view class="fab-plus">
        <view></view>
        <view></view>
      </view>
    </button>
            @click="openEditor()"><view /></button>
    <view v-if="editorOpen"
          class="mask"><scroll-view class="editor"
                   scroll-y>
@@ -409,23 +404,7 @@
    color: #8795a8;
    font-size: 26rpx;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    color: #fff;
    line-height: 32rpx;
    font-size: 24rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .fab:after,
  .save:after {
    border: 0;
@@ -580,23 +559,5 @@
    color: #fff;
    background: var(--color-primary, #1769d8);
    border-color: var(--color-primary, #1769d8);
  }
  .fab-plus {
    position: relative;
    width: 40rpx;
    height: 40rpx;
  }
  .fab-plus view {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40rpx;
    height: 6rpx;
    background: #fff;
    border-radius: 6rpx;
    transform: translate(-50%, -50%);
  }
  .fab-plus view:last-child {
    transform: translate(-50%, -50%) rotate(90deg);
  }
</style>
src/pages/supplier/archive/index.vue
@@ -182,12 +182,7 @@
    <view v-else
          class="state">{{ isLoggedIn ? '暂无供应商查看权限' : '登录后查看供应商档案' }}</view><button v-if="canCreate"
            class="fab"
            @click="openEditor()">
      <view class="fab-plus">
        <view></view>
        <view></view>
      </view>
    </button>
            @click="openEditor()"><view /></button>
    <view v-if="editorOpen"
          class="mask"><scroll-view class="editor"
                   scroll-y>
@@ -360,24 +355,7 @@
    color: #8795a8;
    font-size: 26rpx;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    color: #fff;
    line-height: 32rpx;
    font-size: 24rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
    box-shadow: 0 12rpx 24rpx var(--color-primary, #1769d8)55;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .fab:after,
  .save:after {
    border: 0;
@@ -472,23 +450,5 @@
    color: #fff;
    background: var(--color-primary, #1769d8);
    border-radius: 14rpx;
  }
  .fab-plus {
    position: relative;
    width: 40rpx;
    height: 40rpx;
  }
  .fab-plus view {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40rpx;
    height: 6rpx;
    background: #fff;
    border-radius: 6rpx;
    transform: translate(-50%, -50%);
  }
  .fab-plus view:last-child {
    transform: translate(-50%, -50%) rotate(90deg);
  }
</style>
src/pages/supplier/certificate/index.vue
@@ -211,12 +211,7 @@
    <view v-else
          class="state">{{isLoggedIn?'暂无资质查看权限':'登录后查看供应商资质'}}</view><button v-if="canCreate"
            class="fab"
            @click="openEditor()">
      <view class="fab-plus">
        <view></view>
        <view></view>
      </view>
    </button>
            @click="openEditor()"><view /></button>
    <view v-if="editorOpen"
          class="mask"><scroll-view class="editor"
                   scroll-y>
@@ -412,23 +407,7 @@
    color: #8795a8;
    font-size: 26rpx;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    color: #fff;
    line-height: 32rpx;
    font-size: 24rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .fab:after,
  .save:after {
    border: 0;
@@ -550,23 +529,5 @@
    color: #fff;
    background: var(--color-primary, #1769d8);
    border-radius: 14rpx;
  }
  .fab-plus {
    position: relative;
    width: 40rpx;
    height: 40rpx;
  }
  .fab-plus view {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40rpx;
    height: 6rpx;
    background: #fff;
    border-radius: 6rpx;
    transform: translate(-50%, -50%);
  }
  .fab-plus view:last-child {
    transform: translate(-50%, -50%) rotate(90deg);
  }
</style>
src/pages/supplier/performance/index.vue
@@ -204,12 +204,7 @@
          class="state">{{ isLoggedIn ? '暂无绩效查看权限' : '登录后查看供应商绩效' }}</view>
    <button v-if="canCreate"
            class="fab"
            @click="openEditor()">
      <view class="fab-plus">
        <view></view>
        <view></view>
      </view>
    </button>
            @click="openEditor()"><view /></button>
    <view v-if="editorOpen"
          class="mask"><scroll-view class="editor"
                   scroll-y>
@@ -350,44 +345,10 @@
    color: #8795a8;
    font-size: 26rpx;
  }
  .fab {
    position: fixed;
    right: 30rpx;
    bottom: calc(32rpx + env(safe-area-inset-bottom));
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 132rpx;
    height: 132rpx;
    padding: 0;
    color: #fff;
    line-height: 32rpx;
    font-size: 24rpx;
    background: var(--color-primary, #1769d8);
    border-radius: 50%;
  }
  .fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
  .fab:after,
  .save:after {
    border: 0;
  }
  .fab-plus {
    position: relative;
    width: 40rpx;
    height: 40rpx;
  }
  .fab-plus view {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40rpx;
    height: 6rpx;
    background: #fff;
    border-radius: 6rpx;
    transform: translate(-50%, -50%);
  }
  .fab-plus view:last-child {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .mask {
    position: fixed;
src/pages/wls/barcode/config.vue
@@ -108,5 +108,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.disabled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.danger{color:#c65050!important;background:#fff7f7!important;border-color:#e3a0a0!important}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:60;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:86vh;overflow:auto;padding-bottom:28rpx;box-sizing:border-box;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#10233f;font-size:30rpx;font-weight:600;text-align:center}.field{display:flex;align-items:center;min-height:86rpx;padding:0 22rpx;border-bottom:1rpx solid #edf1f6;box-sizing:border-box}.field>text:first-child{flex:none;width:190rpx;color:#10233f;font-size:26rpx}.field>picker{display:block;flex:1;min-width:0}.field input,.field textarea,.value,.picker{flex:1;min-width:0;color:#10233f;font-size:26rpx;text-align:right}.field textarea{height:120rpx;padding:22rpx 0}.field.column{align-items:flex-start;flex-direction:column;padding:22rpx}.field.column>text:first-child{width:auto;margin-bottom:12rpx}.field.column textarea{text-align:left;width:100%;height:120rpx;padding:0}.required{color:#e23b3b}.picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10rpx}.picker text:first-child{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;text-align:right}.modal-actions{display:flex;gap:18rpx;padding:24rpx}.modal-actions button{flex:1;height:72rpx;line-height:72rpx;font-size:27rpx;border-radius:10rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}.actions button::after,.fab::after,.modal-actions button::after{border:0}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.disabled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.danger{color:#c65050!important;background:#fff7f7!important;border-color:#e3a0a0!important}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:60;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:86vh;overflow:auto;padding-bottom:28rpx;box-sizing:border-box;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#10233f;font-size:30rpx;font-weight:600;text-align:center}.field{display:flex;align-items:center;min-height:86rpx;padding:0 22rpx;border-bottom:1rpx solid #edf1f6;box-sizing:border-box}.field>text:first-child{flex:none;width:190rpx;color:#10233f;font-size:26rpx}.field>picker{display:block;flex:1;min-width:0}.field input,.field textarea,.value,.picker{flex:1;min-width:0;color:#10233f;font-size:26rpx;text-align:right}.field textarea{height:120rpx;padding:22rpx 0}.field.column{align-items:flex-start;flex-direction:column;padding:22rpx}.field.column>text:first-child{width:auto;margin-bottom:12rpx}.field.column textarea{text-align:left;width:100%;height:120rpx;padding:0}.required{color:#e23b3b}.picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10rpx}.picker text:first-child{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;text-align:right}.modal-actions{display:flex;gap:18rpx;padding:24rpx}.modal-actions button{flex:1;height:72rpx;line-height:72rpx;font-size:27rpx;border-radius:10rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}.actions button::after,.fab::after,.modal-actions button::after{border:0}
</style>
src/pages/wls/barcode/index.vue
@@ -252,5 +252,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.disabled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12rpx;padding-top:16rpx}.actions button,.close{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.danger{color:#c65050!important;background:#fff7f7!important;border-color:#e3a0a0!important}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.config-fab{position:fixed;right:42rpx;bottom:calc(194rpx + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:center;width:112rpx;height:112rpx;min-height:112rpx;padding:0;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:1.25;background:#fff;border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:50%;box-shadow:0 10rpx 24rpx rgba(43,69,107,.16)}.config-fab text{display:block;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:1.25;text-align:center}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:60;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:86vh;overflow:auto;padding-bottom:28rpx;box-sizing:border-box;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#10233f;font-size:30rpx;font-weight:600;text-align:center}.field{display:flex;align-items:center;min-height:86rpx;padding:0 22rpx;border-bottom:1rpx solid #edf1f6;box-sizing:border-box}.field>text:first-child{flex:none;width:190rpx;color:#10233f;font-size:26rpx}.field>picker{display:block;flex:1;min-width:0}.field input,.field textarea,.value,.picker{flex:1;min-width:0;color:#10233f;font-size:26rpx;text-align:right}.field textarea{height:120rpx;padding:22rpx 0}.field.column{align-items:flex-start;flex-direction:column;padding:22rpx}.field.column>text:first-child{width:auto;margin-bottom:12rpx}.field.column textarea{text-align:left;width:100%;height:120rpx;padding:0}.required{color:#e23b3b}.picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10rpx}.picker text:first-child{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;text-align:right}.code-field input{text-align:left}.code-field button{height:52rpx;min-height:52rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:23rpx;line-height:50rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.modal-actions{display:flex;gap:18rpx;padding:24rpx}.modal-actions button{flex:1;height:72rpx;line-height:72rpx;font-size:27rpx;border-radius:10rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}.actions button::after,.fab::after,.config-fab::after,.modal-actions button::after,.close::after,.code-field button::after{border:0}.close{width:calc(100% - 48rpx);height:72rpx;margin:24rpx}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.enabled{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.disabled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12rpx;padding-top:16rpx}.actions button,.close{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.danger{color:#c65050!important;background:#fff7f7!important;border-color:#e3a0a0!important}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.config-fab{position:fixed;right:42rpx;bottom:calc(194rpx + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:center;width:112rpx;height:112rpx;min-height:112rpx;padding:0;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:1.25;background:#fff;border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:50%;box-shadow:0 10rpx 24rpx rgba(43,69,107,.16)}.config-fab text{display:block;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:1.25;text-align:center}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:60;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:86vh;overflow:auto;padding-bottom:28rpx;box-sizing:border-box;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#10233f;font-size:30rpx;font-weight:600;text-align:center}.field{display:flex;align-items:center;min-height:86rpx;padding:0 22rpx;border-bottom:1rpx solid #edf1f6;box-sizing:border-box}.field>text:first-child{flex:none;width:190rpx;color:#10233f;font-size:26rpx}.field>picker{display:block;flex:1;min-width:0}.field input,.field textarea,.value,.picker{flex:1;min-width:0;color:#10233f;font-size:26rpx;text-align:right}.field textarea{height:120rpx;padding:22rpx 0}.field.column{align-items:flex-start;flex-direction:column;padding:22rpx}.field.column>text:first-child{width:auto;margin-bottom:12rpx}.field.column textarea{text-align:left;width:100%;height:120rpx;padding:0}.required{color:#e23b3b}.picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10rpx}.picker text:first-child{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;text-align:right}.code-field input{text-align:left}.code-field button{height:52rpx;min-height:52rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:23rpx;line-height:50rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.modal-actions{display:flex;gap:18rpx;padding:24rpx}.modal-actions button{flex:1;height:72rpx;line-height:72rpx;font-size:27rpx;border-radius:10rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}.actions button::after,.fab::after,.config-fab::after,.modal-actions button::after,.close::after,.code-field button::after{border:0}.close{width:calc(100% - 48rpx);height:72rpx;margin:24rpx}
</style>
src/pages/wls/components/WlsComplexList.vue
@@ -152,5 +152,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-draft{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-progress{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-finished{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-cancelled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-draft{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-progress{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-finished{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-cancelled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/wls/components/WlsDocList.vue
@@ -216,5 +216,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.toolbar{display:flex;justify-content:flex-end;padding-bottom:16rpx}.toolbar button{height:62rpx;padding:0 22rpx;margin:0;color:var(--color-primary, #1769d8);font-size:24rpx;line-height:62rpx;background:#fff;border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:12rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-draft{color:#6f7e92;background:#f3f6fa;border:1rpx solid #dce4ee}.tag-progress{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-finished{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-cancelled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after,.modal-close::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:50;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:82vh;padding-bottom:24rpx;background:#f3f6fb;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#1d2f46;font-size:30rpx;font-weight:600;text-align:center;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-list{max-height:60vh;padding:20rpx 24rpx;box-sizing:border-box}.select-row{display:grid;gap:9rpx;padding:22rpx;margin-bottom:16rpx;color:#66778c;font-size:23rpx;background:#fff;border-radius:14rpx}.select-title{color:#20334c;font-size:29rpx;font-weight:600}.modal-close{margin:0 24rpx;color:var(--color-primary, #1769d8);background:#fff;border-radius:12rpx}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.toolbar{display:flex;justify-content:flex-end;padding-bottom:16rpx}.toolbar button{height:62rpx;padding:0 22rpx;margin:0;color:var(--color-primary, #1769d8);font-size:24rpx;line-height:62rpx;background:#fff;border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:12rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-draft{color:#6f7e92;background:#f3f6fa;border:1rpx solid #dce4ee}.tag-progress{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-finished{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-cancelled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after,.modal-close::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:50;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:82vh;padding-bottom:24rpx;background:#f3f6fb;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#1d2f46;font-size:30rpx;font-weight:600;text-align:center;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-list{max-height:60vh;padding:20rpx 24rpx;box-sizing:border-box}.select-row{display:grid;gap:9rpx;padding:22rpx;margin-bottom:16rpx;color:#66778c;font-size:23rpx;background:#fff;border-radius:14rpx}.select-title{color:#20334c;font-size:29rpx;font-weight:600}.modal-close{margin:0 24rpx;color:var(--color-primary, #1769d8);background:#fff;border-radius:12rpx}
</style>
src/pages/wls/components/WlsExtraDocList.vue
@@ -162,5 +162,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;justify-content:center;flex:none;height:44rpx}.status{display:inline-flex;align-items:center;justify-content:center;height:44rpx;padding:0 18rpx;font-size:23rpx;line-height:44rpx;border-radius:999rpx;white-space:nowrap}.tag-draft{color:#6f7e92;background:#f3f6fa;border:1rpx solid #dce4ee}.tag-progress{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-finished{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-cancelled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:center;justify-content:center;flex:none;height:44rpx}.status{display:inline-flex;align-items:center;justify-content:center;height:44rpx;padding:0 18rpx;font-size:23rpx;line-height:44rpx;border-radius:999rpx;white-space:nowrap}.tag-draft{color:#6f7e92;background:#f3f6fa;border:1rpx solid #dce4ee}.tag-progress{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-finished{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-cancelled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/wls/components/WlsFlowDocList.vue
@@ -222,5 +222,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;justify-content:center;flex:none;min-height:44rpx}.status{display:inline-flex;align-items:center;justify-content:center;height:44rpx;padding:0 18rpx;font-size:23rpx;line-height:44rpx;border-radius:999rpx;white-space:nowrap}.tag-draft{color:#6f7e92;background:#f3f6fa;border:1rpx solid #dce4ee}.tag-progress{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-finished{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-cancelled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;justify-content:center;flex:none;min-height:44rpx}.status{display:inline-flex;align-items:center;justify-content:center;height:44rpx;padding:0 18rpx;font-size:23rpx;line-height:44rpx;border-radius:999rpx;white-space:nowrap}.tag-draft{color:#6f7e92;background:#f3f6fa;border:1rpx solid #dce4ee}.tag-progress{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-finished{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-cancelled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/wls/sn/index.vue
@@ -86,5 +86,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:50;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:86vh;overflow:auto;padding-bottom:24rpx;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#1d2f46;font-size:30rpx;font-weight:600;text-align:center;border-bottom:1rpx solid #eef1f5}.field{display:flex;align-items:center;min-height:92rpx;padding:0 24rpx;gap:20rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:190rpx;flex:none;color:#33455d;font-size:26rpx}.field>picker{display:block;flex:1;min-width:0}.required{color:#e64340}.field input,.picker{min-width:0;flex:1;color:#1e3049;font-size:26rpx;text-align:right}.picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12rpx}.picker text:first-child{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;color:#8092a7;font-size:34rpx;text-align:right}.modal-actions{display:flex;gap:18rpx;padding:24rpx}.modal-actions button{flex:1;margin:0;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border-radius:12rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}.modal-list{max-height:60vh;padding:20rpx 24rpx;box-sizing:border-box;background:#f3f6fb}.select-row{display:grid;gap:9rpx;padding:22rpx;margin-bottom:16rpx;color:#66778c;font-size:23rpx;background:#fff;border-radius:14rpx}.select-title{color:#20334c;font-size:29rpx;font-weight:600}button::after{border:0}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:50;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:86vh;overflow:auto;padding-bottom:24rpx;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#1d2f46;font-size:30rpx;font-weight:600;text-align:center;border-bottom:1rpx solid #eef1f5}.field{display:flex;align-items:center;min-height:92rpx;padding:0 24rpx;gap:20rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:190rpx;flex:none;color:#33455d;font-size:26rpx}.field>picker{display:block;flex:1;min-width:0}.required{color:#e64340}.field input,.picker{min-width:0;flex:1;color:#1e3049;font-size:26rpx;text-align:right}.picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12rpx}.picker text:first-child{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;color:#8092a7;font-size:34rpx;text-align:right}.modal-actions{display:flex;gap:18rpx;padding:24rpx}.modal-actions button{flex:1;margin:0;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border-radius:12rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}.modal-list{max-height:60vh;padding:20rpx 24rpx;box-sizing:border-box;background:#f3f6fb}.select-row{display:grid;gap:9rpx;padding:22rpx;margin-bottom:16rpx;color:#66778c;font-size:23rpx;background:#fff;border-radius:14rpx}.select-title{color:#20334c;font-size:29rpx;font-weight:600}button::after{border:0}
</style>
src/pages/wls/warehouse/area.vue
@@ -138,5 +138,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.tip{margin:18rpx 0 0;color:#53677f;font-size:24rpx}.search{display:flex;align-items:center;height:80rpx;margin:16rpx 0;padding:0 20rpx;background:#fff;border-radius:16rpx}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom:120rpx}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-success,.tag-draft{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-danger,.tag-cancelled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-progress{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-finished{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:50;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:86vh;overflow:auto;padding-bottom:24rpx;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#1d2f46;font-size:30rpx;font-weight:600;text-align:center;border-bottom:1rpx solid #eef1f5}.field{display:flex;align-items:center;min-height:92rpx;padding:0 24rpx;gap:20rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:190rpx;flex:none;color:#33455d;font-size:26rpx}.required{color:#e64340}.field>picker{display:block;flex:1;min-width:0}.field input,.picker,.value{min-width:0;flex:1;color:#1e3049;font-size:26rpx;text-align:right}.picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12rpx;color:#65758a}.picker text:first-child,.value{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;color:#8092a7;font-size:34rpx;text-align:right}.code-field input{flex:1}.code-field button{flex:none;min-width:132rpx;padding:0 14rpx;margin:0;color:var(--color-primary, #1769d8);font-size:23rpx;line-height:54rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.column{align-items:flex-start;flex-direction:column;padding:18rpx 24rpx}.column>text:first-child{width:auto}.column textarea{width:100%;height:118rpx;font-size:26rpx}.modal-actions{display:flex;gap:18rpx;padding:24rpx}.modal-actions button{flex:1;margin:0;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border-radius:12rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}button::after{border:0}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.tip{margin:18rpx 0 0;color:#53677f;font-size:24rpx}.search{display:flex;align-items:center;height:80rpx;margin:16rpx 0;padding:0 20rpx;background:#fff;border-radius:16rpx}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom:120rpx}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-success,.tag-draft{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-danger,.tag-cancelled{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.tag-progress{color:#b57800;background:#fff7dd;border:1rpx solid #f3dc98}.tag-approved{color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border:1rpx solid var(--color-primary-border, #bfdbff)}.tag-finished{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-info{color:#66778c;background:#f6f8fb;border:1rpx solid #dce4ee}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:50;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:86vh;overflow:auto;padding-bottom:24rpx;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#1d2f46;font-size:30rpx;font-weight:600;text-align:center;border-bottom:1rpx solid #eef1f5}.field{display:flex;align-items:center;min-height:92rpx;padding:0 24rpx;gap:20rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:190rpx;flex:none;color:#33455d;font-size:26rpx}.required{color:#e64340}.field>picker{display:block;flex:1;min-width:0}.field input,.picker,.value{min-width:0;flex:1;color:#1e3049;font-size:26rpx;text-align:right}.picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12rpx;color:#65758a}.picker text:first-child,.value{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;color:#8092a7;font-size:34rpx;text-align:right}.code-field input{flex:1}.code-field button{flex:none;min-width:132rpx;padding:0 14rpx;margin:0;color:var(--color-primary, #1769d8);font-size:23rpx;line-height:54rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.column{align-items:flex-start;flex-direction:column;padding:18rpx 24rpx}.column>text:first-child{width:auto}.column textarea{width:100%;height:118rpx;font-size:26rpx}.modal-actions{display:flex;gap:18rpx;padding:24rpx}.modal-actions button{flex:1;margin:0;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border-radius:12rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}button::after{border:0}
</style>
src/pages/wls/warehouse/index.vue
@@ -79,5 +79,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-success{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-danger{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.search{display:flex;align-items:center;height:80rpx;margin:20rpx 0 16rpx;padding:0 20rpx;background:#fff;border-radius:16rpx;box-shadow:0 8rpx 20rpx rgba(43,69,107,.06)}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom: 132rpx;box-sizing:border-box}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-success{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-danger{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.actions button::after,.fab::after{border:0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}
</style>
src/pages/wls/warehouse/location.vue
@@ -121,5 +121,5 @@
</template>
<style lang="scss" scoped>
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.tip{margin:18rpx 0 0;color:#53677f;font-size:24rpx}.search{display:flex;align-items:center;height:80rpx;margin:16rpx 0;padding:0 20rpx;background:#fff;border-radius:16rpx}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom:120rpx}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-success{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-danger{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width: 104rpx; height: 104rpx; min-height: 104rpx;padding:0;margin:0;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:50;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:86vh;overflow:auto;padding-bottom:24rpx;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#1d2f46;font-size:30rpx;font-weight:600;text-align:center;border-bottom:1rpx solid #eef1f5}.field{display:flex;align-items:center;min-height:92rpx;padding:0 24rpx;gap:20rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:180rpx;flex:none;color:#33455d;font-size:26rpx}.required{color:#e64340}.field>picker{display:block;flex:1;min-width:0}.field input,.picker,.value{min-width:0;flex:1;color:#1e3049;font-size:26rpx;text-align:right}.picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12rpx;color:#65758a}.picker text:first-child,.value{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;color:#8092a7;font-size:34rpx;text-align:right}.code-field input{flex:1}.code-field button{flex:none;min-width:132rpx;padding:0 14rpx;margin:0;color:var(--color-primary, #1769d8);font-size:23rpx;line-height:54rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.column{align-items:flex-start;flex-direction:column;padding:18rpx 24rpx}.column>text:first-child{width:auto}.column textarea{width:100%;height:118rpx;font-size:26rpx}.modal-actions{display:flex;gap:18rpx;padding:24rpx}.modal-actions button{flex:1;margin:0;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border-radius:12rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}button::after{border:0}
.page{height:100vh;display:flex;flex-direction:column;padding:0 30rpx;box-sizing:border-box;overflow:hidden;background:#f3f6fb}.tip{margin:18rpx 0 0;color:#53677f;font-size:24rpx}.search{display:flex;align-items:center;height:80rpx;margin:16rpx 0;padding:0 20rpx;background:#fff;border-radius:16rpx}.search input{flex:1;font-size:27rpx}.search text{color:var(--color-primary, #1769d8);font-size:24rpx}.content{height:0;flex:1;padding-bottom:120rpx}.row{padding:24rpx 22rpx 20rpx;margin-bottom:18rpx;background:#fff;border-radius:16rpx;box-shadow:0 10rpx 24rpx rgba(43,69,107,.08)}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:16rpx}.head>view:first-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:8rpx}.head>view:first-child text:last-child{color:#78879b;font-size:23rpx}.name{overflow:hidden;color:#20334c;font-size:30rpx;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.status-wrap{display:flex;align-items:flex-start;flex:none}.status{display:inline-flex;align-items:center;height:44rpx;padding:0 18rpx;font-size:23rpx;border-radius:999rpx}.tag-success{color:#17865a;background:#eafaf2;border:1rpx solid #b8efd5}.tag-danger{color:#c65050;background:#fff7f7;border:1rpx solid #e3a0a0}.grid{display:grid;gap:10rpx;padding:16rpx 0;margin-top:16rpx;color:#66778c;font-size:23rpx;border-top:1rpx solid #edf1f6;border-bottom:1rpx solid #edf1f6}.grid text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12rpx;padding-top:16rpx}.actions button{min-height:50rpx;padding:0 16rpx;margin:0;color:var(--color-primary, #1769d8);font-size:22rpx;line-height:48rpx;background:var(--color-primary-soft, #f5f8ff);border:1rpx solid var(--color-primary-border, #8ab3ee);border-radius:8rpx}.actions .danger{color:#c65050;background:#fff7f7;border-color:#e3a0a0}.more,.state{display:block;padding:35rpx;color:#8795a8;font-size:26rpx;text-align:center}.error{color:#c3654d}.fab{position:fixed;right:30rpx;bottom:calc(32rpx + env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;justify-content:center;width:104rpx;height:104rpx;min-height:104rpx;padding:0;margin:0;color:#fff;background:var(--color-primary, #1769d8);border-radius:50%;box-shadow:0 12rpx 24rpx rgba(23,105,216,.3)}.fab view{width:38rpx;height:38rpx;background:linear-gradient(#fff,#fff) center/38rpx 8rpx no-repeat,linear-gradient(#fff,#fff) center/8rpx 38rpx no-repeat}.fab view::before,.fab view::after{display:none;content:none}.mask{position:fixed;left:0;right:0;top:0;bottom:0;z-index:50;display:flex;align-items:flex-end;background:rgba(0,0,0,.35)}.modal{width:100%;max-height:86vh;overflow:auto;padding-bottom:24rpx;background:#fff;border-radius:24rpx 24rpx 0 0}.modal-title{height:88rpx;line-height:88rpx;color:#1d2f46;font-size:30rpx;font-weight:600;text-align:center;border-bottom:1rpx solid #eef1f5}.field{display:flex;align-items:center;min-height:92rpx;padding:0 24rpx;gap:20rpx;border-bottom:1rpx solid #eef1f5}.field>text:first-child{width:180rpx;flex:none;color:#33455d;font-size:26rpx}.required{color:#e64340}.field>picker{display:block;flex:1;min-width:0}.field input,.picker,.value{min-width:0;flex:1;color:#1e3049;font-size:26rpx;text-align:right}.picker{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12rpx;color:#65758a}.picker text:first-child,.value{min-width:0;flex:1;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.picker text:last-child{flex:none;width:24rpx;color:#8092a7;font-size:34rpx;text-align:right}.code-field input{flex:1}.code-field button{flex:none;min-width:132rpx;padding:0 14rpx;margin:0;color:var(--color-primary, #1769d8);font-size:23rpx;line-height:54rpx;background:#fff;border:1rpx solid var(--color-primary, #1769d8);border-radius:8rpx}.column{align-items:flex-start;flex-direction:column;padding:18rpx 24rpx}.column>text:first-child{width:auto}.column textarea{width:100%;height:118rpx;font-size:26rpx}.modal-actions{display:flex;gap:18rpx;padding:24rpx}.modal-actions button{flex:1;margin:0;color:var(--color-primary, #1769d8);background:var(--color-primary-soft, #edf5ff);border-radius:12rpx}.modal-actions .primary{color:#fff;background:var(--color-primary, #1769d8)}button::after{border:0}
</style>