Browse Source

2026-04-14

优化
master
fengyuan_yang 4 days ago
parent
commit
df0e97184f
  1. 308
      src/views/modules/qc/qcPartAttribute.vue
  2. 2
      src/views/modules/yieldReport/com_produce_report_normal.vue

308
src/views/modules/qc/qcPartAttribute.vue

@ -1361,9 +1361,17 @@
</el-dialog>
<!-- 检验标准维护新增 -->
<el-dialog title="新增检验标准" @close="refreshQcSpecList" :close-on-click-modal="false" v-drag :visible.sync="qcSpecAddFlag" width="1100px">
<div style="font-size: 12px">
<el-form :inline="true" label-position="top" :model="qcSpecSearchData">
<el-dialog
title="新增检验标准"
@close="refreshQcSpecList"
:close-on-click-modal="false"
v-drag
:visible.sync="qcSpecAddFlag"
width="1100px"
custom-class="config-dialog">
<!-- 查询区域 -->
<div class="search-section">
<el-form :inline="true" size="small">
<el-form-item label="检验类型">
<el-select v-model="qcSpecSearchData.inspectionTypeNo" placeholder="请选择" style="width: 120px">
<el-option label="全部" value=""></el-option>
@ -1376,45 +1384,89 @@
<el-form-item label="项目名称">
<el-input v-model="qcSpecSearchData.itemDesc" clearable style="width: 200px"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="getQcSpecItemList()">查询</el-button>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="getQcSpecItemList()" size="small">查询</el-button>
</el-form-item>
</el-form>
</div>
<el-container style="margin-top: 0px;">
<el-main style="width: 640px; padding: 1px">
<span style="font-size: 12px">可选项目</span>
<el-table height="400px" :data="qcSpecItemList1" border ref="qcSpecItemTable1" @row-click="qcSpecItemClickRow1" @selection-change="qcSpecSelectionItem1" highlight-current-row style="width: 100%">
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column prop="inspectionTypeName" header-align="center" align="left" min-width="80" label="检验类型"></el-table-column>
<div class="item-operation-content">
<!-- 可选项目 -->
<div class="item-panel available-panel">
<div class="panel-header">
<i class="el-icon-s-unfold"></i>
<span class="panel-title">可选项目</span>
<span class="item-count">({{ qcSpecItemList1.length }})</span>
</div>
<el-table
height="420px"
:data="qcSpecItemList1"
ref="qcSpecItemTable1"
@row-click="qcSpecItemClickRow1"
@selection-change="qcSpecSelectionItem1"
highlight-current-row
class="operation-table"
:header-cell-style="{background: '#f5f7fa', color: '#606266', fontWeight: '500'}">
<el-table-column type="selection" header-align="center" align="center" width="45"></el-table-column>
<el-table-column prop="inspectionTypeName" header-align="center" align="left" min-width="60" label="检验类型"></el-table-column>
<el-table-column prop="itemNo" header-align="center" align="left" min-width="100" label="项目编码"></el-table-column>
<el-table-column prop="itemDesc" header-align="center" align="left" min-width="120" label="项目名称"></el-table-column>
<el-table-column prop="defaultValue" header-align="center" align="center" min-width="100" label="标准值"></el-table-column>
<el-table-column prop="itemDesc" header-align="center" align="left" min-width="120" label="项目名称" show-overflow-tooltip></el-table-column>
<el-table-column prop="defaultValue" header-align="center" align="center" min-width="80" label="标准值"></el-table-column>
<el-table-column prop="maxValue" header-align="center" align="right" min-width="60" label="最大值"></el-table-column>
<el-table-column prop="minValue" header-align="center" align="right" min-width="60" label="最小值"></el-table-column>
</el-table>
</el-main>
<el-main style="width: 111px;padding: 1px">
<div style="margin-top: 182px;margin-left: 18px">
<el-button type="primary" @click="addQcSpecItem()">添加>></el-button>
</div>
<div style="margin-top: 15px;margin-left: 18px">
<el-button type="primary" @click="deleteQcSpecItem()">删除<<</el-button>
</div>
<!-- 操作按钮 -->
<div class="operation-buttons">
<el-tooltip content="添加选中项目" placement="left">
<el-button
type="primary"
icon="el-icon-d-arrow-right"
circle
@click="addQcSpecItem"
:disabled="!qcSpecItemSelections1 || qcSpecItemSelections1.length === 0">
</el-button>
</el-tooltip>
<el-tooltip content="移除选中项目" placement="right">
<el-button
type="danger"
icon="el-icon-d-arrow-left"
circle
@click="deleteQcSpecItem"
:disabled="!qcSpecItemSelections2 || qcSpecItemSelections2.length === 0">
</el-button>
</el-tooltip>
</div>
<!-- 已有项目 -->
<div class="item-panel selected-panel">
<div class="panel-header">
<i class="el-icon-s-check"></i>
<span class="panel-title">已有项目</span>
<span class="item-count">({{ qcSpecItemList2.length }})</span>
</div>
</el-main>
<el-main style="width: 420px;padding: 1px">
<span style="font-size: 12px">已有项目</span>
<el-table height="400px" :data="qcSpecItemList2" border ref="qcSpecItemTable2" @row-click="qcSpecItemClickRow2" @selection-change="qcSpecSelectionItem2" highlight-current-row style="width: 100%">
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table
height="420px"
:data="qcSpecItemList2"
ref="qcSpecItemTable2"
@row-click="qcSpecItemClickRow2"
@selection-change="qcSpecSelectionItem2"
highlight-current-row
class="operation-table"
:header-cell-style="{background: '#f5f7fa', color: '#606266', fontWeight: '500'}">
<el-table-column type="selection" header-align="center" align="center" width="45"></el-table-column>
<el-table-column prop="inspectionTypeName" header-align="center" align="left" min-width="80" label="检验类型"></el-table-column>
<el-table-column prop="itemNo" header-align="center" align="left" min-width="100" label="项目编码"></el-table-column>
<el-table-column prop="itemDesc" header-align="center" align="left" min-width="150" label="项目名称"></el-table-column>
<el-table-column prop="itemDesc" header-align="center" align="left" min-width="150" label="项目名称" show-overflow-tooltip></el-table-column>
</el-table>
</el-main>
</el-container>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="qcSpecAddFlag = false">关闭</el-button>
</el-footer>
</div>
</div>
<!-- 底部按钮 -->
<div slot="footer" class="dialog-footer">
<el-button @click="qcSpecAddFlag = false" size="small" style="width: 80px;">关闭</el-button>
</div>
</el-dialog>
<QcSpecUpload ref="qcSpecUpload" @refreshQcSpecList="refreshQcSpecList()" v-drag></QcSpecUpload>
@ -4465,4 +4517,198 @@
.part-edit-dialog .dialog-content::-webkit-scrollbar-thumb:hover {
background: #909399;
}
/* ==================== 检验标准维护配置对话框样式 ==================== */
/deep/ .config-dialog {
border-radius: 8px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}
/deep/ .config-dialog .el-dialog__header {
background: linear-gradient(135deg, #9ac3d0 20%, #b6c7dd 80%);
padding: 20px 24px;
border-radius: 8px 8px 0 0;
}
/deep/ .config-dialog .el-dialog__title {
color: #ffffff;
font-size: 18px;
font-weight: 600;
}
/deep/ .config-dialog .el-dialog__headerbtn .el-dialog__close {
color: #ffffff;
font-size: 20px;
font-weight: bold;
}
/deep/ .config-dialog .el-dialog__headerbtn .el-dialog__close:hover {
color: #f0f0f0;
}
/deep/ .config-dialog .el-dialog__body {
padding: 0;
background: #f5f7fa;
}
/* 查询区域 */
.search-section {
padding: 16px 24px;
background: #ffffff;
border-bottom: 1px solid #e8e8e8;
}
.search-section .el-form {
margin-bottom: 0;
}
.search-section .el-form-item {
margin-bottom: 0;
}
/* 项目操作容器 */
.item-operation-content {
display: flex;
gap: 16px;
align-items: stretch;
padding: 16px;
}
/* 面板样式 */
.item-panel {
flex: 1;
background: #ffffff;
border-radius: 6px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
overflow: hidden;
transition: all 0.3s ease;
}
.item-panel:hover {
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.available-panel {
flex: 1.5;
}
.selected-panel {
flex: 1;
}
/* 面板头部 */
.panel-header {
padding: 8px 16px;
background: linear-gradient(135deg, #9ac3d0 20%, #b6c7dd 80%);
border-bottom: 2px solid #9ac3d0;
display: flex;
align-items: center;
gap: 8px;
}
.panel-header i {
font-size: 18px;
color: #ffffff;
}
.panel-title {
font-size: 15px;
font-weight: 600;
color: #ffffff;
flex: 1;
}
.item-count {
font-size: 13px;
color: #ffffff;
background: rgba(255, 255, 255, 0.2);
padding: 2px 10px;
border-radius: 12px;
font-weight: 500;
}
/* 表格样式 */
.operation-table {
border: none;
}
/deep/ .operation-table .el-table__body-wrapper {
max-height: 420px;
overflow-y: auto;
}
/deep/ .operation-table .el-table__row {
cursor: pointer;
transition: background-color 0.2s ease;
}
/deep/ .operation-table .el-table__row:hover {
background-color: #f0f9ff !important;
}
/deep/ .operation-table .current-row > td {
background-color: #e6f7ff !important;
}
/* 操作按钮 */
.operation-buttons {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 20px;
padding: 0 8px;
}
.operation-buttons .el-button {
width: 48px;
height: 48px;
font-size: 20px;
transition: all 0.3s ease;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.operation-buttons .el-button:hover {
transform: scale(1.1);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
.operation-buttons .el-button.is-disabled {
opacity: 0.4;
cursor: not-allowed;
}
.operation-buttons .el-button--primary {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border: none;
}
.operation-buttons .el-button--danger {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
border: none;
}
/* 底部按钮 */
.dialog-footer {
text-align: center;
padding: 16px 0 16px 0;
}
.dialog-footer .el-button {
min-width: 100px;
font-weight: 500;
}
/* 响应式优化 */
@media (max-width: 1300px) {
.item-operation-content {
gap: 12px;
}
.operation-buttons .el-button {
width: 42px;
height: 42px;
font-size: 18px;
}
}
</style>

2
src/views/modules/yieldReport/com_produce_report_normal.vue

@ -928,7 +928,7 @@
style="margin-top: 0px;">
</el-pagination>
<span slot="footer" class="dialog-footer">
<el-button @click="showMaterialRecordFlag = false">关闭</el-button>
<el-button @click="showMaterialRecordFlag = false" size="small" style="width: 80px;">关闭</el-button>
</span>
</el-dialog>

Loading…
Cancel
Save