gaoluyang
19 小时以前 9effd6fe741ec09c870a6a12aec394a09179c77b
1.整体样式修改
已修改43个文件
854 ■■■■ 文件已修改
src/assets/styles/element-ui.scss 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/index.scss 149 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/variables.module.scss 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/PIMTable/PIMTable.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/PIMTable/Pagination.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/AppMain.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/Logo.vue 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/index.vue 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/noticeManagement/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/notificationManagement/meetSetting/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/notificationManagement/summary/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/rulesRegulationsManagement/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/customerService/expiryAfterSales/index.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/customerService/feedbackRegistration/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/inspectionManagement/components/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/ledger/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/spareParts/index.vue 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/fileManagement/bookshelf/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/fileManagement/borrow/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/fileManagement/document/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/fileManagement/return/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/financialManagement/accounting/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/analytics/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/attendanceCheckin/index.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/classsSheduling/index.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/employeeRecord/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/monthlyStatistics/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/purchaseReturnOrder/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/processRoute/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productStructure/index.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionCosting/index.vue 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionOrder/index.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionReporting/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManagement/Management/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManagement/projectType/components/ProjectTypeDialog.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManagement/projectType/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/projectManagement/roles/index.vue 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/metricBinding/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/metricMaintenance/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/reportManagement/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/indicatorStats/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/returnOrder/index.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/element-ui.scss
@@ -163,6 +163,7 @@
.el-button {
  border-radius: 12px;
  font-weight: 600;
  box-shadow: none !important;
}
.el-button--primary {
@@ -172,7 +173,6 @@
  --el-button-hover-border-color: var(--el-color-primary-light-3);
  --el-button-active-bg-color: var(--el-color-primary-dark-2);
  --el-button-active-border-color: var(--el-color-primary-dark-2);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--el-color-primary) 18%, transparent);
}
.el-input__wrapper,
@@ -200,10 +200,9 @@
.el-table {
  --el-table-border-color: var(--surface-border);
  --el-table-header-bg-color: var(--surface-soft);
  --el-table-row-hover-bg-color: rgba(0, 47, 167, 0.04);
  --el-table-current-row-bg-color: rgba(0, 47, 167, 0.08);
  --el-table-row-hover-bg-color: #f1f6f4;
  --el-table-current-row-bg-color: #e9f0ed;
  border-radius: 18px;
  overflow: hidden;
}
.el-table th.el-table__cell {
@@ -212,6 +211,20 @@
  font-weight: 600;
}
.el-table tr,
.el-table td.el-table__cell,
.el-table__body tr > td.el-table__cell {
  background: var(--surface-base) !important;
}
.el-table .el-table__body tr:hover > td.el-table__cell {
  background: var(--el-table-row-hover-bg-color) !important;
}
.el-table .el-table__body tr.current-row > td.el-table__cell {
  background: var(--el-table-current-row-bg-color) !important;
}
.el-pagination {
  margin-top: 18px;
}
src/assets/styles/index.scss
@@ -6,38 +6,38 @@
@import './btn.scss';
@import './ruoyi.scss';
body {
  height: 100%;
  margin: 0;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(214, 226, 219, 0.8), transparent 28%),
    linear-gradient(180deg, #f7faf8 0%, var(--app-bg) 100%);
  color: var(--text-primary);
}
body {
  height: 100%;
  margin: 0;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(214, 226, 219, 0.8), transparent 28%),
    linear-gradient(180deg, #f7faf8 0%, var(--app-bg) 100%);
  color: var(--text-primary);
}
label {
  font-weight: 600;
  color: var(--text-secondary);
}
label {
  font-weight: 600;
  color: var(--text-secondary);
}
html {
  height: 100%;
  box-sizing: border-box;
}
#app {
  height: 100%;
}
html,
body,
#app {
  background-color: var(--app-bg);
}
#app {
  height: 100%;
}
html,
body,
#app {
  background-color: var(--app-bg);
}
*,
*:before,
@@ -133,29 +133,28 @@
}
//main-container全局样式
.app-container {
  padding: 20px 24px 24px;
}
.search_form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  .search_title {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
  }
}
.table_list {
  height: calc(100vh - 11em);
  margin-top: 20px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: 18px;
}
.app-container {
  padding: 20px 24px 24px;
}
.search_form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  .search_title {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
  }
}
.table_list {
  margin-top: 20px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--surface-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: 18px;
}
.components-container {
  margin: 30px 50px;
  position: relative;
@@ -189,36 +188,36 @@
  }
}
.link-type,
.link-type:focus {
  color: var(--el-color-primary);
  cursor: pointer;
  &:hover {
    color: #165e57;
  }
}
.link-type,
.link-type:focus {
  color: var(--el-color-primary);
  cursor: pointer;
.filter-container {
  padding-bottom: 10px;
  &:hover {
    color: #165e57;
  }
}
.filter-container {
  padding-bottom: 10px;
  .filter-item {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 10px;
  }
}
.app-container,
.table_list,
.components-container {
  .el-card,
  .el-dialog,
  .el-drawer,
  .el-table,
  .el-descriptions,
  .el-collapse-item__wrap,
  .el-tabs__content {
    border-radius: var(--radius-md);
  }
}
  }
}
.app-container,
.table_list,
.components-container {
  .el-card,
  .el-dialog,
  .el-drawer,
  .el-table,
  .el-descriptions,
  .el-collapse-item__wrap,
  .el-tabs__content {
    border-radius: var(--radius-md);
  }
}
src/assets/styles/variables.module.scss
@@ -21,8 +21,8 @@
$menuLightActiveText: #1f7a72;
// layout
$base-sidebar-width: 200px;
$sideBarWidth: 200px;
$base-sidebar-width: 216px;
$sideBarWidth: 216px;
// sidebar
$base-menu-color: #677287;
src/components/PIMTable/PIMTable.vue
@@ -47,7 +47,7 @@
      :width="item.width"
    >
      <template #header="scope">
        <div class="pim-table-header-cell">
        <div class="pim-table-header-cell" :class="{ 'has-extra': item.headerSlot }">
          <div class="pim-table-header-title">
            {{ item.label }}
          </div>
@@ -531,13 +531,6 @@
.pim-table-header-extra :deep(.el-input),
.pim-table-header-extra :deep(.el-select) {
  width: 100%;
}
.pim-table-header-cell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.pim-table-header-title {
src/components/PIMTable/Pagination.vue
@@ -91,7 +91,6 @@
<style scoped>
.pagination-container {
  background: #fff;
  padding: 16px 0;
  margin-top: 0;
}
.pagination-container.hidden {
src/layout/components/AppMain.vue
@@ -37,24 +37,24 @@
</script>
<style lang="scss" scoped>
.app-main {
.app-main {
  /* 50= navbar  50  */
  min-height: calc(100vh - 50px);
  width: 100%;
  position: relative;
  overflow: hidden;
  background: transparent;
}
.route-view-wrapper {
  width: 100%;
  height: 100%;
  padding: 108px 16px 24px 0;
}
.fixed-header + .app-main {
  padding-top: 0;
}
  background: transparent;
}
.route-view-wrapper {
  width: 100%;
  height: 100%;
  padding: 120px 16px 24px 0;
}
.fixed-header + .app-main {
  padding-top: 0;
}
.hasTagsView {
  .app-main {
@@ -62,10 +62,10 @@
    min-height: calc(100vh - 84px);
  }
  .fixed-header + .app-main {
    padding-top: 0;
  }
}
  .fixed-header + .app-main {
    padding-top: 0;
  }
}
</style>
<style lang="scss">
@@ -81,13 +81,13 @@
  height: 6px;
}
::-webkit-scrollbar-track {
  background-color: rgba(218, 225, 220, 0.8);
}
::-webkit-scrollbar-thumb {
  background-color: #b2bdb5;
  border-radius: 3px;
}
::-webkit-scrollbar-track {
  background-color: rgba(218, 225, 220, 0.8);
}
::-webkit-scrollbar-thumb {
  background-color: #b2bdb5;
  border-radius: 3px;
}
</style>
src/layout/components/Sidebar/Logo.vue
@@ -3,11 +3,11 @@
    <transition name="sidebarLogoFade">
      <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
        <img v-if="logoUrl" :src="logoUrl" class="sidebar-logo" @error="handleImageError" alt="公司Logo" />
        <h1 v-if="!logoUrl" class="sidebar-title">{{ title }}</h1>
        <h1 v-if="!logoUrl" class="sidebar-title">{{ title }}</h1>
      </router-link>
      <router-link v-else key="expand" class="sidebar-logo-link" to="/">
        <img v-if="logoUrl" :src="logoUrl" class="sidebar-logo" @error="handleImageError" alt="公司Logo" />
        <h1 v-if="!logoUrl" class="sidebar-title">{{ title }}</h1>
        <h1 v-if="!logoUrl" class="sidebar-title">{{ title }}</h1>
      </router-link>
    </transition>
  </div>
@@ -87,57 +87,57 @@
  opacity: 0;
}
.sidebar-logo-container {
  position: relative;
  width: 100% !important;
  height: 56px !important;
  line-height: 56px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--surface-border);
  border-radius: 0 22px 22px 0;
  text-align: center;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  & .sidebar-logo-link {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px 0 14px;
    & .sidebar-logo {
      width: auto;
      max-width: 132px;
      max-height: 34px;
      height: auto;
      vertical-align: middle;
      object-fit: contain;
      object-position: center;
    }
    & .sidebar-title {
      display: inline-block;
      margin: 0;
      color: var(--text-primary);
      font-weight: 600;
      line-height: 1.2;
      font-size: 14px;
      font-family: "Segoe UI", "PingFang SC", sans-serif;
      vertical-align: middle;
    }
  }
.sidebar-logo-container {
  position: relative;
  width: 100% !important;
  height: 56px !important;
  line-height: 56px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--surface-border);
  border-radius: 0 22px 22px 0;
  text-align: center;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  & .sidebar-logo-link {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px 0 14px;
    & .sidebar-logo {
      width: auto;
      max-width: 250px;
      max-height: 50px;
      height: auto;
      vertical-align: middle;
      object-fit: contain;
      object-position: center;
    }
    & .sidebar-title {
      display: inline-block;
      margin: 0;
      color: var(--text-primary);
      font-weight: 600;
      line-height: 1.2;
      font-size: 14px;
      font-family: "Segoe UI", "PingFang SC", sans-serif;
      vertical-align: middle;
    }
  }
  &.collapse {
    .sidebar-logo-link {
      padding: 0;
    }
    .sidebar-logo {
      max-width: 30px;
      max-height: 30px;
    }
  }
}
</style>
    .sidebar-logo-link {
      padding: 0;
    }
    .sidebar-logo {
      max-width: 30px;
      max-height: 30px;
    }
  }
}
</style>
src/layout/index.vue
@@ -69,14 +69,14 @@
  @import "@/assets/styles/mixin.scss";
  @import "@/assets/styles/variables.module.scss";
.app-wrapper {
  @include clearfix;
  position: relative;
  height: 100%;
  width: 100%;
  background:
    radial-gradient(circle at top, rgba(223, 232, 226, 0.95), transparent 32%),
    linear-gradient(180deg, #f7faf8 0%, var(--app-bg) 100%);
.app-wrapper {
  @include clearfix;
  position: relative;
  height: 100%;
  width: 100%;
  background:
    radial-gradient(circle at top, rgba(223, 232, 226, 0.95), transparent 32%),
    linear-gradient(180deg, #f7faf8 0%, var(--app-bg) 100%);
  &.mobile.openSidebar {
    position: fixed;
@@ -94,25 +94,25 @@
  z-index: 999;
}
.fixed-header {
  position: fixed;
  top: 12px;
  right: 16px;
  z-index: 9;
  width: calc(100% - #{$base-sidebar-width} - 32px);
  transition: width 0.28s, right 0.28s;
  padding-bottom: 8px;
}
.hideSidebar .fixed-header {
  width: calc(100% - 70px);
}
.sidebarHide .fixed-header {
  width: calc(100% - 32px);
}
.fixed-header {
  position: fixed;
  top: 12px;
  right: 16px;
  z-index: 9;
  width: calc(100% - #{$base-sidebar-width} - 32px);
  transition: width 0.28s, right 0.28s;
  padding-bottom: 8px;
}
.hideSidebar .fixed-header {
  width: calc(100% - 70px);
}
.sidebarHide .fixed-header {
  width: calc(100% - 32px);
}
.mobile .fixed-header {
  width: 100%;
}
</style>
</style>
src/views/collaborativeApproval/noticeManagement/index.vue
@@ -929,7 +929,7 @@
}
.dialog-footer {
  text-align: right;
  text-align: center;
}
.notice-type-container {
src/views/collaborativeApproval/notificationManagement/meetSetting/index.vue
@@ -93,8 +93,8 @@
      </el-form>
      <template #footer>
        <div class="dialog-footer">
          <el-button @click="cancel">取 消</el-button>
          <el-button type="primary" @click="submitForm">确 定</el-button>
          <el-button @click="cancel">取 消</el-button>
        </div>
      </template>
    </el-dialog>
@@ -313,8 +313,6 @@
}
.dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
    text-align: center;
}
</style>
src/views/collaborativeApproval/notificationManagement/summary/index.vue
@@ -146,8 +146,8 @@
      <template #footer>
        <div class="dialog-footer">
          <el-button @click="minutesDialogVisible = false">取 消</el-button>
          <el-button type="primary" @click="submitMinutes">保 存</el-button>
          <el-button @click="minutesDialogVisible = false">取 消</el-button>
        </div>
      </template>
    </el-dialog>
@@ -367,9 +367,7 @@
}
.dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  text-align: center;
}
.content-section h4 {
src/views/collaborativeApproval/rulesRegulationsManagement/index.vue
@@ -126,9 +126,8 @@
      </el-form>
      <template #footer>
        <span class="dialog-footer">
          <el-button type="primary" @click="submitRegulation">发布制度</el-button>
          <el-button @click="showRegulationDialog = false">取消</el-button>
          <el-button type="primary"
                     @click="submitRegulation">发布制度</el-button>
        </span>
      </template>
    </el-dialog>
@@ -687,8 +686,6 @@
  }
  .dialog-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    text-align: center;
  }
</style>
src/views/customerService/expiryAfterSales/index.vue
@@ -34,11 +34,12 @@
                >重置</el-button
                >
            </div>
            <div class="table_actions">
                <el-button type="primary" @click="openForm('add')">新增</el-button>
                <el-button type="danger" @click="handleDelete">删除</el-button>
            </div>
        </div>
        <div class="table_actions" style="margin-bottom: 10px;">
            <el-button type="primary" @click="openForm('add')">新增</el-button>
            <el-button type="danger" @click="handleDelete">删除</el-button>
        </div>
        <div class="table_list">
            <PIMTable
                rowKey="id"
src/views/customerService/feedbackRegistration/index.vue
@@ -495,7 +495,6 @@
.table_list {
  height: calc(100vh - 380px);
  min-height: 360px;
  background: #fff;
  margin-top: 20px;
  display: flex;
src/views/equipmentManagement/inspectionManagement/components/formDia.vue
@@ -91,8 +91,8 @@
      </el-form>
      <template #footer>
        <div class="dialog-footer">
          <el-button @click="cancel">取消</el-button>
          <el-button type="primary" @click="submitForm">保存</el-button>
          <el-button @click="cancel">取消</el-button>
        </div>
      </template>
    </el-dialog>
src/views/equipmentManagement/ledger/index.vue
@@ -4,7 +4,7 @@
      <el-form-item label="设备名称">
        <el-input
          v-model="filters.deviceName"
          style="width: 240px"
          style="width: 200px"
          placeholder="请输入设备名称"
          clearable
          @change="getTableData"
@@ -13,7 +13,7 @@
      <el-form-item label="规格型号">
        <el-input
            v-model="filters.deviceModel"
            style="width: 240px"
            style="width: 200px"
            placeholder="请输入规格型号"
            clearable
            @change="getTableData"
@@ -22,7 +22,7 @@
      <el-form-item label="供应商">
        <el-input
            v-model="filters.supplierName"
            style="width: 240px"
            style="width: 200px"
            placeholder="请输入供应商"
            clearable
            @change="getTableData"
src/views/equipmentManagement/spareParts/index.vue
@@ -21,20 +21,21 @@
            <el-button type="primary" @click="addCategory">新增</el-button>
          </div>
        </div>
        <PIMTable
          rowKey="id"
          :column="columns"
          :tableData="renderTableData"
          :tableLoading="loading"
          :page="pagination"
          :isShowPagination="true"
          @pagination="handleSizeChange"
        >
          <template #status="{ row }">
            <el-tag type="success" size="small">{{ row.status }}</el-tag>
          </template>
        </PIMTable>
                <div class="table_list">
                    <PIMTable
                        rowKey="id"
                        :column="columns"
                        :tableData="renderTableData"
                        :tableLoading="loading"
                        :page="pagination"
                        :isShowPagination="true"
                        @pagination="handleSizeChange"
                    >
                        <template #status="{ row }">
                            <el-tag type="success" size="small">{{ row.status }}</el-tag>
                        </template>
                    </PIMTable>
                </div>
        <el-dialog title="分类管理" v-model="dialogVisible" width="60%">
          <el-form :model="form" :rules="rules" ref="formRef" label-width="100px">
@@ -112,16 +113,17 @@
            </el-form-item>
          </el-form>
        </div>
        <PIMTable
          rowKey="rowKey"
          :column="usageColumns"
          :tableData="usageTableData"
          :tableLoading="usageLoading"
          :page="usagePagination"
          :isShowPagination="true"
          @pagination="handleUsagePageChange"
        />
                <div class="table_list">
                    <PIMTable
                        rowKey="rowKey"
                        :column="usageColumns"
                        :tableData="usageTableData"
                        :tableLoading="usageLoading"
                        :page="usagePagination"
                        :isShowPagination="true"
                        @pagination="handleUsagePageChange"
                    />
                </div>
      </el-tab-pane>
    </el-tabs>
  </div>
@@ -538,7 +540,6 @@
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
  padding: 16px 0;
}
.el-table__header-wrapper th {
src/views/fileManagement/bookshelf/index.vue
@@ -97,8 +97,8 @@
      </el-tree>
      <template #footer>
        <span class="dialog-footer">
          <el-button @click="keepVisible = false">取 消</el-button>
          <el-button type="primary" @click="keepVisible = false" >确 定</el-button>
          <el-button @click="keepVisible = false">取 消</el-button>
        </span>
      </template>
    </el-dialog>
@@ -115,8 +115,8 @@
      </el-row>
      <template #footer>
        <span class="dialog-footer">
          <el-button @click="warehouseVisible = false">取 消</el-button>
          <el-button type="primary" @click="confirmWarehouse" :loading="upLoadWarehouse">确 定</el-button>
          <el-button @click="warehouseVisible = false">取 消</el-button>
        </span>
      </template>
    </el-dialog>
@@ -149,8 +149,8 @@
      </el-row>
      <template #footer>
        <span class="dialog-footer">
          <el-button @click="shelvesVisible = false">取 消</el-button>
          <el-button type="primary" @click="confirmShelves" :loading="upLoadShelves">确 定</el-button>
          <el-button @click="shelvesVisible = false">取 消</el-button>
        </span>
      </template>
    </el-dialog>
src/views/fileManagement/borrow/index.vue
@@ -625,7 +625,7 @@
}
.dialog-footer {
  text-align: right;
  text-align: center;
}
:deep(.el-form-item__label) {
src/views/fileManagement/document/index.vue
@@ -1298,7 +1298,7 @@
}
.dialog-footer {
  text-align: right;
  text-align: center;
}
.operation-column {
src/views/fileManagement/return/index.vue
@@ -677,7 +677,7 @@
}
.dialog-footer {
  text-align: right;
  text-align: center;
}
:deep(.el-form-item__label) {
src/views/financialManagement/accounting/index.vue
@@ -526,7 +526,6 @@
/* 页面背景 */
main {
  background: #f5f5f5;
  padding: 0;
  margin: 0 -20px;
  padding: 0 20px 20px;
src/views/personnelManagement/analytics/index.vue
@@ -503,7 +503,6 @@
<style scoped>
.analytics-container {
  padding: 20px;
  background-color: #f5f7fa;
  min-height: 100vh;
}
src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue
@@ -110,12 +110,8 @@
    </el-form>
    <template #footer>
      <span class="dialog-footer">
        <el-button type="primary" @click="submitForm" v-if="operationType !== 'view'">确定</el-button>
        <el-button @click="dialogVisible = false">取消</el-button>
        <el-button type="primary"
                   @click="submitForm"
                   v-if="operationType !== 'view'">
          确定
        </el-button>
      </span>
    </template>
  </el-dialog>
src/views/personnelManagement/attendanceCheckin/index.vue
@@ -455,6 +455,9 @@
</script>
<style scoped lang="scss">
.table_list {
    margin-top: unset;
}
  .mb16 {
    margin-bottom: 16px;
  }
src/views/personnelManagement/classsSheduling/index.vue
@@ -49,13 +49,11 @@
          <div class="search-actions">
            <el-button size="small"
                       type="primary"
                       @click="refreshTable()"
                       :icon="Search">
                       @click="refreshTable()">
              查询
            </el-button>
            <el-button size="small"
                       @click="refresh()"
                       :icon="Refresh"
                       style="margin-left: 8px">
              重置
            </el-button>
@@ -63,22 +61,19 @@
          <div class="search-buttons">
            <el-button size="small"
                       type="primary"
                       @click="configTime"
                       :icon="Setting">
                       @click="configTime">
              班次配置
            </el-button>
            <el-button size="small"
                       type="success"
                       @click="handleDown"
                       :loading="downLoading"
                       :icon="Download"
                       style="margin-left: 8px">
              导出
            </el-button>
            <el-button size="small"
                       type="warning"
                       @click="schedulingVisible = true"
                       :icon="Calendar"
                       style="margin-left: 8px">
              排班
            </el-button>
src/views/personnelManagement/employeeRecord/index.vue
@@ -116,7 +116,7 @@
    entryDateStart: undefined,
    entryDateEnd: undefined,
  },
  deptOptions: { type: Array, default: () => [] },
  deptOptions: [],
});
const { searchForm, deptOptions } = toRefs(data);
const isShowRenewContractModal = ref(false);
src/views/personnelManagement/monthlyStatistics/index.vue
@@ -36,7 +36,7 @@
      </div>
    </div>
    <div class="table_list">
      <div style="margin-bottom: 10px">
      <div style="margin-bottom: 10px;text-align: right">
        <el-button type="primary" @click="openForm('add')">新建工资表</el-button>
        <el-button @click="handleDelete">删除</el-button>
        <el-button @click="openBankSetting">设置银行</el-button>
src/views/procurementManagement/purchaseReturnOrder/index.vue
@@ -340,4 +340,9 @@
  getList()
})
</script>
<style scoped>
.table_list {
    margin-top: unset;
}
</style>
src/views/productionManagement/processRoute/index.vue
@@ -201,4 +201,8 @@
});
</script>
<style scoped></style>
<style scoped>
.table_list {
    margin-top: unset;
}
</style>
src/views/productionManagement/productStructure/index.vue
@@ -1,20 +1,22 @@
<template>
  <div class="app-container">
    <div style="text-align: right; margin-bottom: 10px;">
      <el-button type="info" plain icon="Upload" @click="handleImport"
        v-hasPermi="['product:bom:import']">导入</el-button>
      <el-button type="warning" plain icon="Download" @click="handleExport" :disabled="selectedRows.length !== 1"
        v-hasPermi="['product:bom:export']">导出</el-button>
      <el-button type="primary" @click="handleAdd">新增</el-button>
      <el-button type="danger" plain @click="handleBatchDelete" :disabled="selectedRows.length === 0">删除</el-button>
    </div>
    <PIMTable rowKey="id" :column="tableColumn" :tableData="tableData" :page="page" :isSelection="true"
      @selection-change="handleSelectionChange" :tableLoading="tableLoading" @pagination="pagination">
      <template #detail="{ row }">
        <el-button type="primary" text @click="showDetail(row)">{{ row.bomNo }}
        </el-button>
      </template>
    </PIMTable>
        <div class="table_list">
            <div style="text-align: right; margin-bottom: 10px;">
                <el-button type="primary" @click="handleAdd">新增</el-button>
                <el-button type="info" plain icon="Upload" @click="handleImport"
                           v-hasPermi="['product:bom:import']">导入</el-button>
                <el-button type="warning" plain icon="Download" @click="handleExport" :disabled="selectedRows.length !== 1"
                           v-hasPermi="['product:bom:export']">导出</el-button>
                <el-button type="danger" plain @click="handleBatchDelete" :disabled="selectedRows.length === 0">删除</el-button>
            </div>
            <PIMTable rowKey="id" :column="tableColumn" :tableData="tableData" :page="page" :isSelection="true"
                      @selection-change="handleSelectionChange" :tableLoading="tableLoading" @pagination="pagination">
                <template #detail="{ row }">
                    <el-button type="primary" text @click="showDetail(row)">{{ row.bomNo }}
                    </el-button>
                </template>
            </PIMTable>
        </div>
    <StructureEdit v-if="showEdit" v-model:show-model="showEdit" :record="currentRow" />
    <!-- 新增/编辑弹窗 -->
src/views/productionManagement/productionCosting/index.vue
@@ -1,66 +1,68 @@
<template>
    <div class="app-container">
        <el-row :gutter="16" class="content-row">
            <!-- 左侧台账 + 顶部筛选 -->
            <el-col :xs="24" :sm="24" :md="24" :lg="8" :xl="8" class="left-col">
                <div class="left-panel">
                <div class="left-header">
          <el-form :model="searchForm" inline>
            <el-form-item prop="dateType">
              <el-radio-group v-model="searchForm.dateType" size="small" @change="handleDateTypeChange">
                <el-radio-button label="day">日</el-radio-button>
                <el-radio-button label="month">月</el-radio-button>
              </el-radio-group>
            </el-form-item>
            <el-form-item label="日期:" prop="dateRange">
              <el-date-picker
                  v-model="searchForm.dateRange"
                  :type="searchForm.dateType === 'day' ? 'date' : 'daterange'"
                  range-separator="至"
                  start-placeholder="开始日期"
                  end-placeholder="结束日期"
                  format="YYYY-MM-DD"
                  value-format="YYYY-MM-DD"
                  style="width: 200px"
                  @change="handleDateRangeChange"
              />
            </el-form-item>
          </el-form>
                </div>
                <PIMTable
                    rowKey="id"
                    :column="leftTableColumn"
                    :tableData="leftTableData"
                    :tableLoading="tableLoading"
          :page="page"
          @row-click="handleLeftRowClick"
          @pagination="pagination"
        ></PIMTable>
                </div>
            </el-col>
            <!-- 右侧明细 -->
            <el-col :xs="24" :sm="24" :md="24" :lg="16" :xl="16" class="right-col">
                <div class="right-panel">
        <div class="table_list">
            <el-row :gutter="16" class="content-row">
                <!-- 左侧台账 + 顶部筛选 -->
                <el-col :xs="24" :sm="24" :md="24" :lg="8" :xl="8" class="left-col">
                    <div class="left-panel">
                        <div class="left-header">
                            <el-form :model="searchForm" inline>
                                <el-form-item prop="dateType">
                                    <el-radio-group v-model="searchForm.dateType" size="small" @change="handleDateTypeChange">
                                        <el-radio-button label="day">日</el-radio-button>
                                        <el-radio-button label="month">月</el-radio-button>
                                    </el-radio-group>
                                </el-form-item>
                                <el-form-item label="日期:" prop="dateRange">
                                    <el-date-picker
                                        v-model="searchForm.dateRange"
                                        :type="searchForm.dateType === 'day' ? 'date' : 'daterange'"
                                        range-separator="至"
                                        start-placeholder="开始日期"
                                        end-placeholder="结束日期"
                                        format="YYYY-MM-DD"
                                        value-format="YYYY-MM-DD"
                                        style="width: 200px"
                                        @change="handleDateRangeChange"
                                    />
                                </el-form-item>
                            </el-form>
                        </div>
                        <PIMTable
                            rowKey="id"
                            :column="leftTableColumn"
                            :tableData="leftTableData"
                            :tableLoading="tableLoading"
                            :page="page"
                            @row-click="handleLeftRowClick"
                            @pagination="pagination"
                        ></PIMTable>
                    </div>
                </el-col>
                
                    <el-form inline>
                        <el-form-item>
                            <el-button type="primary" @click="handleOut">导出</el-button>
                        </el-form-item>
                    </el-form>
                    <PIMTable
                        rowKey="id"
                        :column="tableColumn"
                        :tableData="tableData"
                        :page="page1"
                        :tableLoading="tableLoading1"
                        style="margin-right: 20px;"
                        @pagination="pagination1"
                    ></PIMTable>
                </div>
            </el-col>
        </el-row>
                <!-- 右侧明细 -->
                <el-col :xs="24" :sm="24" :md="24" :lg="16" :xl="16" class="right-col">
                    <div class="right-panel">
                        <el-form inline>
                            <el-form-item>
                                <el-button type="primary" @click="handleOut">导出</el-button>
                            </el-form-item>
                        </el-form>
                        <PIMTable
                            rowKey="id"
                            :column="tableColumn"
                            :tableData="tableData"
                            :page="page1"
                            :tableLoading="tableLoading1"
                            style="margin-right: 20px;"
                            @pagination="pagination1"
                        ></PIMTable>
                    </div>
                </el-col>
            </el-row>
        </div>
    </div>
</template>
src/views/productionManagement/productionOrder/index.vue
@@ -470,4 +470,7 @@
:deep(.purple){
  background-color: #F4DEFA;
}
.table_list {
    margin-top: unset;
}
</style>
src/views/productionManagement/productionReporting/index.vue
@@ -417,4 +417,8 @@
  });
</script>
<style scoped></style>
<style scoped>
.table_list {
    margin-top: unset;
}
</style>
src/views/projectManagement/Management/index.vue
@@ -422,9 +422,7 @@
  border-radius: 4px;
}
.table-actions {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: right;
    margin-bottom: 10px;
}
</style>
src/views/projectManagement/projectType/components/ProjectTypeDialog.vue
@@ -148,8 +148,8 @@
    <template #footer>
      <div class="dialog-footer">
        <el-button @click="visible = false">取消</el-button>
        <el-button type="primary" @click="submitForm">提交</el-button>
        <el-button @click="visible = false">取消</el-button>
      </div>
    </template>
  </el-dialog>
@@ -457,10 +457,7 @@
}
.dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 15px;
  padding-top: 10px;
  text-align: center;
}
.top-tip {
  
src/views/projectManagement/projectType/index.vue
@@ -266,8 +266,6 @@
<style scoped lang="scss">
.app-container {
  background-color: #f5f7fa;
  height: calc(100vh - 84px);
  padding: 20px;
  display: flex;
  flex-direction: column;
src/views/projectManagement/roles/index.vue
@@ -60,45 +60,46 @@
    </el-row>
    <!-- 表格数据 -->
    <el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="角色编号" prop="no" />
      <el-table-column label="角色名称" prop="name" :show-overflow-tooltip="true" />
      <el-table-column label="状态" align="center" width="100">
        <template #default="scope">
          <el-switch
              v-model="scope.row.status"
              :active-value="0"
              :inactive-value="1"
              @change="handleStatusChange(scope.row)"
          ></el-switch>
        </template>
      </el-table-column>
      <el-table-column label="创建时间" align="center" prop="createTime">
        <template #default="scope">
          <span>{{ parseTime(scope.row.createTime) }}</span>
        </template>
      </el-table-column>
      <el-table-column fixed="right" label="操作" align="center" width="120">
        <template #default="scope">
          <el-tooltip content="修改" placement="top" v-if="scope.row.roleId !== 1">
            <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:role:edit']"></el-button>
          </el-tooltip>
          <el-tooltip content="删除" placement="top" v-if="scope.row.roleId !== 1">
            <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:role:remove']"></el-button>
          </el-tooltip>
        </template>
      </el-table-column>
    </el-table>
    <pagination
        v-show="total > 0"
        :total="total"
        v-model:page="queryParams.current"
        v-model:limit="queryParams.size"
        @pagination="getList"
    />
        <div class="table_list">
            <el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
                <el-table-column type="selection" width="55" align="center" />
                <el-table-column label="角色编号" prop="no" />
                <el-table-column label="角色名称" prop="name" :show-overflow-tooltip="true" />
                <el-table-column label="状态" align="center" width="100">
                    <template #default="scope">
                        <el-switch
                            v-model="scope.row.status"
                            :active-value="0"
                            :inactive-value="1"
                            @change="handleStatusChange(scope.row)"
                        ></el-switch>
                    </template>
                </el-table-column>
                <el-table-column label="创建时间" align="center" prop="createTime">
                    <template #default="scope">
                        <span>{{ parseTime(scope.row.createTime) }}</span>
                    </template>
                </el-table-column>
                <el-table-column fixed="right" label="操作" align="center" width="120">
                    <template #default="scope">
                        <el-tooltip content="修改" placement="top" v-if="scope.row.roleId !== 1">
                            <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:role:edit']"></el-button>
                        </el-tooltip>
                        <el-tooltip content="删除" placement="top" v-if="scope.row.roleId !== 1">
                            <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:role:remove']"></el-button>
                        </el-tooltip>
                    </template>
                </el-table-column>
            </el-table>
            <pagination
                v-show="total > 0"
                :total="total"
                v-model:page="queryParams.current"
                v-model:limit="queryParams.size"
                @pagination="getList"
            />
        </div>
    <!-- 添加或修改角色配置对话框 -->
    <el-dialog :title="title" v-model="open" width="500px" append-to-body>
      <el-form ref="roleRef" :model="form" :rules="rules" label-width="100px">
src/views/qualityManagement/metricBinding/index.vue
@@ -432,10 +432,6 @@
</script>
<style scoped>
.metric-binding {
  padding: 0;
}
.metric-binding-row {
  width: 100%;
}
src/views/qualityManagement/metricMaintenance/index.vue
@@ -698,11 +698,6 @@
</script>
<style scoped>
.metric-maintenance {
  padding: 0;
  min-width: 0;
}
.metric-maintenance-row {
  width: 100%;
}
src/views/reportAnalysis/reportManagement/index.vue
@@ -912,7 +912,6 @@
<style scoped>
.report-management {
  padding: 20px;
  background-color: #f5f5f5;
  min-height: 100vh;
  /* height: 87vh;
  overflow: hidden; */
src/views/salesManagement/indicatorStats/index.vue
@@ -406,7 +406,6 @@
<style scoped lang="scss">
.indicator-stats {
  padding: 20px;
  background: #f5f7fa;
  min-height: calc(100vh - 84px);
}
src/views/salesManagement/returnOrder/index.vue
@@ -1,35 +1,23 @@
<template>
  <div class="app-container">
    <div class="search-wrapper">
      <el-form :model="searchForm" class="demo-form-inline">
        <el-row :gutter="20">
          <el-col :span="4">
            <el-form-item label="退货单号">
              <el-input v-model="searchForm.returnNo" placeholder="请输入退货单号" clearable />
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item label="客户名称">
              <el-input v-model="searchForm.customerName" placeholder="客户名称" clearable />
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item label="销售单号">
              <el-input v-model="searchForm.salesContractNo" placeholder="销售单号" clearable />
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item label="关联出库单号">
              <el-input v-model="searchForm.shippingNo" placeholder="关联出库单号" clearable />
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item>
              <el-button type="primary" @click="handleQuery">搜索</el-button>
              <el-button @click="handleReset">重置</el-button>
            </el-form-item>
          </el-col>
        </el-row>
    <div class="search_form">
      <el-form :model="searchForm" class="demo-form-inline" :inline="true">
                <el-form-item label="退货单号">
                    <el-input v-model="searchForm.returnNo" placeholder="请输入退货单号" clearable />
                </el-form-item>
                <el-form-item label="客户名称">
                    <el-input v-model="searchForm.customerName" placeholder="客户名称" clearable />
                </el-form-item>
                <el-form-item label="销售单号">
                    <el-input v-model="searchForm.salesContractNo" placeholder="销售单号" clearable />
                </el-form-item>
                <el-form-item label="关联出库单号">
                    <el-input v-model="searchForm.shippingNo" placeholder="关联出库单号" clearable />
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" @click="handleQuery">搜索</el-button>
                    <el-button @click="handleReset">重置</el-button>
                </el-form-item>
      </el-form>
    </div>
    <div class="table_list">
@@ -225,10 +213,7 @@
</script>
<style scoped lang="scss">
.search-wrapper {
  background: white;
  padding: 1rem 1rem 0 1rem;
  border: 8px;
  border-radius: 16px;
.table_list {
    margin-top: unset;
}
</style>