From 5b5c6374749159db03a14ee645760327930bbb28 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期一, 13 十月 2025 14:46:41 +0800
Subject: [PATCH] 修改
---
src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/index.vue | 128 ++++++++++++++++++++++++++++++++++--------
1 files changed, 102 insertions(+), 26 deletions(-)
diff --git a/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/index.vue b/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/index.vue
index fb3e233..2b3892a 100644
--- a/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/index.vue
+++ b/src/views/work/procurementPlatform/warehouseManagement/monthlyInspectionRecord/index.vue
@@ -33,16 +33,22 @@
</el-form>
</div>
<!-- 表格数据 -->
- <el-table v-loading="loading" :data="dataList" :border="true" @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55" />
- <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
- <el-table-column label="企业名称" prop="companyName" align="center" v-if="data.isAdmin" />
- <el-table-column label="名称" align="center">
- <template #default="scope">
- <span>{{scope.row.recordName}}登记</span>
- </template>
+ <el-table v-loading="loading" :data="dataList" :border="true" @selection-change="handleSelectionChange" :span-method="mergeCells">
+ <el-table-column type="selection" prop="selection" width="55" />
+<!-- <el-table-column type="index" prop="sequenceNumber" label="序号" width="80" align="center"></el-table-column>-->
+<!-- <el-table-column label="企业名称" prop="companyName" align="center" v-if="data.isAdmin" />-->
+ <el-table-column label="名称" prop="recordName" align="center">
</el-table-column>
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160">
+ <el-table-column label="时间" prop="monthlyTime" align="center" />
+ <el-table-column label="检查人" prop="checkUser" align="center" />
+ <el-table-column label="防护" prop="entrench" align="center" />
+ <el-table-column label="标识" prop="identification" align="center" />
+ <el-table-column label="摆放" prop="place" align="center" />
+ <el-table-column label="清洁" prop="clean" align="center" />
+ <el-table-column label="安全" prop="safety" align="center" />
+ <el-table-column label="环境" prop="environment" align="center" />
+ <el-table-column label="帐务卡一致性" prop="consistency" align="center" />
+ <el-table-column label="操作" align="center" prop="operate" class-name="small-padding fixed-width" width="160">
<template #default="scope">
<el-button link type="primary" @click="openDialog('review',scope.row)" >查看</el-button>
<el-button link type="primary" @click="openDialog('edit',scope.row)" >编辑</el-button>
@@ -51,17 +57,17 @@
</el-table-column>
</el-table>
- <div class="pag-container">
- <el-pagination
- v-model:current-page="data.queryParams.pageNum"
- v-model:page-size="data.queryParams.pageSize"
- :page-sizes="[10,15,20,25]"
- layout="total, sizes, prev, pager, next, jumper"
- :total="total"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
- </div>
+<!-- <div class="pag-container">-->
+<!-- <el-pagination-->
+<!-- v-model:current-page="data.queryParams.pageNum"-->
+<!-- v-model:page-size="data.queryParams.pageSize"-->
+<!-- :page-sizes="[10,15,20,25]"-->
+<!-- layout="total, sizes, prev, pager, next, jumper"-->
+<!-- :total="total"-->
+<!-- @size-change="handleSizeChange"-->
+<!-- @current-change="handleCurrentChange"-->
+<!-- />-->
+<!-- </div>-->
<editDialog ref="noticeRef" @getList = "getList"></editDialog>
</div>
</template>
@@ -75,7 +81,8 @@
import {generateWordDocument} from "@/utils/exportWord";
import {delTable, getTable} from "@/api/qualityObjectives/table";
import {delNeedDiscren, getNeedDiscren} from "@/api/need/need";
-import {delMonthlyRecord, getMonthlyRecord} from "@/api/monthlyInspectionRecord";
+import {delMonthlyRecord, getMonthlyRecord, getMonthlyRecordById} from "@/api/monthlyInspectionRecord";
+import {getQualityTemplateById} from "@/api/standardSys/standardSys";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const noticeRef = ref();
@@ -113,12 +120,41 @@
getCompanyList()
}
});
+
+const resData = ref([])
const getList = async () => {
loading.value = true;
const res = await getMonthlyRecord(data.queryParams);
if(res.code === 200){
- dataList.value = res.data.list
- total.value = res.data.total
+ const resultArray = [];
+ for (const obj of res.data.list) {
+ const listItemArray = obj.inspectionMesses;
+ for (const listItem of listItemArray) {
+ resultArray.push({
+ id:obj.id,
+ companyName: obj.companyName,
+ recordName: obj.recordName,
+ monthlyTime: listItem.monthlyTime,
+ checkUser: listItem.checkUser,
+ entrench: listItem.entrench,
+ identification: listItem.identification,
+ place: listItem.place,
+ clean: listItem.clean,
+ safety: listItem.safety,
+ environment: listItem.environment,
+ consistency: listItem.consistency,
+ });
+ }
+ }
+ dataList.value = resultArray.map((item,index) => {
+ return {
+ ...item,
+ sequenceNumber: index + 1
+ }
+ })
+ calculateSpan()
+ // dataList.value = res.data.list
+ // total.value = res.data.total
}else{
ElMessage.warning(res.message)
}
@@ -193,7 +229,7 @@
item.tableData = item.inspectionMesses
console.log('xxx',item.tableData)
try {
- generateWordDocument(templatePath.value, item, item.companyName + `_月度检查记录表.docx`);
+ generateWordDocument(templatePath.value, item, item.recordName + `_月度检查记录表.docx`);
} catch (error){
ElMessage({
type: 'warning',
@@ -202,8 +238,17 @@
}
})
}
-const handleSelectionChange = (val) => {
- choosedData.value = val
+const handleSelectionChange = async (val) => {
+ let arr = []
+ for (const item of val) {
+ const res = await getMonthlyRecordById({monthlyId: item.id})
+ if(res.code == 200){
+ arr.push(res.data)
+ }else{
+ ElMessage.warning(res.message)
+ }
+ }
+ choosedData.value = arr
}
const handleDelete = (val) => {
ElMessageBox.confirm(
@@ -228,6 +273,37 @@
})
}
+const mergeCells = ({ row, column, rowIndex, columnIndex }) => {
+ if ( column.property == 'operate' || column.property == 'recordName' || column.property == 'selection') {
+ const _row = spanArr.value[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return [_row, _col];
+ }
+};
+
+const spanArr = ref([]); // 存储每一行的合并信息
+const position = ref(0); // 记录当前位置
+// 计算合并的行数
+const calculateSpan = () => {
+ spanArr.value = [];
+ position.value = 0;
+
+ dataList.value.forEach((item, index) => {
+ if (index === 0) {
+ spanArr.value.push(1);
+ position.value = 0;
+ } else {
+ // 判断当前行的id与上一行是否相同
+ if (dataList.value[index].id === dataList.value[index - 1].id) {
+ spanArr.value[position.value] += 1;
+ spanArr.value.push(0);
+ } else {
+ spanArr.value.push(1);
+ position.value = index;
+ }
+ }
+ });
+};
</script>
<style lang="scss">
--
Gitblit v1.9.2