feat: 完成履约管理模块全量功能迭代
本次迭代包含以下核心功能: 1. 新增履约时效总览可视化页面,支持多维度数据统计 2. 实现物料/客户/供应商的Excel批量导入导出功能 3. 新增订单批量结单功能,优化结单流程校验 4. 完善日志配置,新增文件日志落地 5. 修复分类查询逻辑,优化多租户数据隔离 6. 新增甲方履约结单管理页面与权限控制 7. 重构部分Mapper与Service接口,增强代码健壮性
This commit is contained in:
@@ -60,6 +60,12 @@
|
||||
<el-col :span="1.5">
|
||||
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete">删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" v-hasPermi="['bid:material:import']">导入</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['bid:material:export']">导出</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5" v-if="currentCategoryName">
|
||||
<el-tag size="medium" closable @close="clearCategoryFilter" type="warning">
|
||||
当前分类: {{ currentCategoryName }}
|
||||
@@ -303,6 +309,16 @@
|
||||
<el-button type="primary" @click="submitCategoryForm">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- ═══ Excel 导入对话框 ═══ -->
|
||||
<excel-import-dialog
|
||||
ref="importRef"
|
||||
title="物料导入"
|
||||
action="/bid/material/importData"
|
||||
template-action="/bid/material/importTemplate"
|
||||
template-file-name="material_template"
|
||||
update-support-label="是否更新已经存在的物料数据"
|
||||
@success="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -310,9 +326,11 @@
|
||||
import { listMaterial, getMaterial, addMaterial, updateMaterial, delMaterial, listManufacturer } from "@/api/bid/material";
|
||||
import { getCategoryList, addCategory, updateCategory, delCategory } from "@/api/bid/category";
|
||||
import request from '@/utils/request'
|
||||
import ExcelImportDialog from "@/components/ExcelImportDialog"
|
||||
|
||||
export default {
|
||||
name: "Material",
|
||||
components: { ExcelImportDialog },
|
||||
data() {
|
||||
return {
|
||||
loading: false, multiple: true, total: 0, materialList: [],
|
||||
@@ -409,6 +427,10 @@ export default {
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.perfParams = [];
|
||||
// 自动带入当前选中的分类
|
||||
if (this.queryParams.categoryId) {
|
||||
this.form.categoryId = this.queryParams.categoryId;
|
||||
}
|
||||
this.open = true;
|
||||
this.title = "新增物料";
|
||||
},
|
||||
@@ -428,6 +450,13 @@ export default {
|
||||
const ids = row.materialId || (this.ids || []).join(",");
|
||||
this.$modal.confirm("确认删除?").then(() => delMaterial(ids)).then(() => { this.getList(); this.$modal.msgSuccess("删除成功"); });
|
||||
},
|
||||
// ═══ Excel 导入导出 ═══
|
||||
handleImport() {
|
||||
this.$refs.importRef.open();
|
||||
},
|
||||
handleExport() {
|
||||
this.download('/bid/material/export', { ...this.queryParams }, `material_${new Date().getTime()}.xlsx`);
|
||||
},
|
||||
handleStatusChange(row) { updateMaterial(row); },
|
||||
// 性能参数
|
||||
addPerfRow() {
|
||||
|
||||
Reference in New Issue
Block a user