This commit is contained in:
itcast 2025-12-17 16:49:01 +08:00
parent e97b14446a
commit 912d0fb4f7
8 changed files with 66 additions and 42 deletions

View File

@ -234,8 +234,21 @@ export default {
}, },
methods: { methods: {
open() { open() {
this.visible = true this.visible = true;
this.getItemList() // 1.
this.selectedItems = [];
this.allSelectedItems = [];
// 2. DOMreserve-selection
if (this.$refs.itemTable) {
this.$refs.itemTable.clearSelection();
}
// 3.
this.queryParams.pageNum = 1;
this.getItemList();
// 4. selectable
this.$nextTick(() => {
if (this.$refs.itemTable) this.$refs.itemTable.$forceUpdate();
});
}, },
async getItemList() { async getItemList() {
@ -281,6 +294,7 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
} }
this.selectedItems=[]
this.getItemList() this.getItemList()
}, },
selectable(row) { selectable(row) {
@ -333,6 +347,11 @@ export default {
onClose() { onClose() {
this.selectedItems = [] this.selectedItems = []
this.allSelectedItems = [] this.allSelectedItems = []
// 1.
this.onHandleReset()
// 2.
this.visible = false
}, },
// //

View File

@ -120,9 +120,9 @@ export default {
console.log('🚀 ~ this.queryParams.dateRange:', this.queryParams.dateRange) console.log('🚀 ~ this.queryParams.dateRange:', this.queryParams.dateRange)
const params = { const params = {
...this.queryParams, ...this.queryParams,
startDate: this.queryParams.dateRange ? this.queryParams.dateRange[0] : undefined, startTime: this.queryParams.dateRange ? this.queryParams.dateRange[0] : '',
endDate: this.queryParams.dateRange ? this.queryParams.dateRange[1] : undefined, endTime: this.queryParams.dateRange ? this.queryParams.dateRange[1] : '',
dateRange: undefined dateRange: ''
} }
const res = await getRetireApplyListAPI(params) const res = await getRetireApplyListAPI(params)
this.tableData = res.rows || [] this.tableData = res.rows || []
@ -244,7 +244,7 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
::v-deep .el-card__body { ::v-deep .el-card__body {
display: flex !important; display: flex !important;
flex-direction: column !important; flex-direction: column !important;

View File

@ -18,7 +18,7 @@
<el-form-item label="操作时间" style="margin-left: 10px"> <el-form-item label="操作时间" style="margin-left: 10px">
<el-date-picker <el-date-picker
v-model="dateRange" v-model="dateRange"
type="datetimerange" type="daterange"
range-separator="至" range-separator="至"
style="width: 240px" style="width: 240px"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -99,8 +99,9 @@
<!-- 出库记录单 --> <!-- 出库记录单 -->
<el-dialog title="维修记录单" :visible.sync="outRecordVisible" width="80%" append-to-body> <el-dialog title="维修记录单" :visible.sync="outRecordVisible" width="80%" append-to-body>
<el-row style="display: flex; justify-content: flex-end; gap: 8px;"> <el-row style="display: flex; justify-content: flex-end; gap: 8px;">
<el-button size="mini" type="primary" @click="handleDownloadPDF">下载PDF</el-button> <!-- 下载PDF-->
<el-button size="mini" type="primary" @click="onHandleDownload">下载</el-button> <el-button size="mini" type="primary" @click="handleDownloadPDF">下载</el-button>
<!-- <el-button size="mini" type="primary" @click="onHandleDownload">下载</el-button>-->
<el-button size="mini" type="primary" @click="onHandlePrint">打印</el-button> <el-button size="mini" type="primary" @click="onHandlePrint">打印</el-button>
<el-button size="mini" type="primary" @click="onHandleClose">关闭</el-button> <el-button size="mini" type="primary" @click="onHandleClose">关闭</el-button>
</el-row> </el-row>
@ -131,16 +132,16 @@
<tr> <tr>
<th style="width: 100px;">序号</th> <th style="width: 100px;">序号</th>
<th>类型</th> <th>类型</th>
<th>备名称</th> <th>备名称</th>
<th>规格型号</th> <th>规格型号</th>
<th>备编码</th> <th>备编码</th>
<th>数量</th> <th>数量</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr v-for="(item, index) in outRecordData" :key="index"> <tr v-for="(item, index) in outRecordData" :key="index">
<td>{{ index + 1 }}</td> <td>{{ index + 1 }}</td>
<td> {{ item.type === '1' ? '工具' : (item.type === '2' ? '装备' : '未知类型') }}</td> <td> {{ item.type === '2' ? '工具' : (item.type === '1' ? '装备' : '未知类型') }}</td>
<td>{{ item.devName }}</td> <td>{{ item.devName }}</td>
<td>{{ item.devModel }}</td> <td>{{ item.devModel }}</td>
<td>{{ item.devCode }}</td> <td>{{ item.devCode }}</td>

View File

@ -17,7 +17,7 @@
<el-form-item label="操作时间" style="margin-left: 10px"> <el-form-item label="操作时间" style="margin-left: 10px">
<el-date-picker <el-date-picker
v-model="dateRange" v-model="dateRange"
type="datetimerange" type="daterange"
range-separator="至" range-separator="至"
style="width: 240px" style="width: 240px"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -104,8 +104,9 @@
<!-- 出库记录单 --> <!-- 出库记录单 -->
<el-dialog title="出库记录单" :visible.sync="outRecordVisible" width="80%" append-to-body> <el-dialog title="出库记录单" :visible.sync="outRecordVisible" width="80%" append-to-body>
<el-row style="display: flex; justify-content: flex-end; gap: 8px;"> <el-row style="display: flex; justify-content: flex-end; gap: 8px;">
<el-button size="mini" type="primary" @click="handleDownloadPDF">下载PDF</el-button> <!-- 下载PDF-->
<el-button size="mini" type="primary" @click="onHandleDownload">下载</el-button> <el-button size="mini" type="primary" @click="handleDownloadPDF">下载</el-button>
<!-- <el-button size="mini" type="primary" @click="onHandleDownload">下载</el-button>-->
<el-button size="mini" type="primary" @click="onHandlePrint">打印</el-button> <el-button size="mini" type="primary" @click="onHandlePrint">打印</el-button>
<el-button size="mini" type="primary" @click="onHandleClose">关闭</el-button> <el-button size="mini" type="primary" @click="onHandleClose">关闭</el-button>
</el-row> </el-row>
@ -134,9 +135,9 @@
<tr> <tr>
<th style="width: 100px;">序号</th> <th style="width: 100px;">序号</th>
<th>类型</th> <th>类型</th>
<th>备名称</th> <th>备名称</th>
<th>规格型号</th> <th>规格型号</th>
<th>备编码</th> <th>备编码</th>
<th>数量</th> <th>数量</th>
<th>使用到期时间</th> <th>使用到期时间</th>
</tr> </tr>
@ -144,7 +145,7 @@
<tbody> <tbody>
<tr v-for="(item, index) in outRecordData" :key="index"> <tr v-for="(item, index) in outRecordData" :key="index">
<td>{{ index + 1 }}</td> <td>{{ index + 1 }}</td>
<td> {{ item.type === '1' ? '工具' : (item.type === '2' ? '装备' : '未知类型') }}</td> <td> {{ item.type === '2' ? '工具' : (item.type === '1' ? '装备' : '未知类型') }}</td>
<td>{{ item.devName }}</td> <td>{{ item.devName }}</td>
<td>{{ item.devModel }}</td> <td>{{ item.devModel }}</td>
<td>{{ item.devCode }}</td> <td>{{ item.devCode }}</td>

View File

@ -17,7 +17,7 @@
<el-form-item label="操作时间" style="margin-left: 10px"> <el-form-item label="操作时间" style="margin-left: 10px">
<el-date-picker <el-date-picker
v-model="dateRange" v-model="dateRange"
type="datetimerange" type="daterange"
range-separator="至" range-separator="至"
style="width: 240px" style="width: 240px"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -84,7 +84,7 @@
<!-- }}--> <!-- }}-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column align="center" show-overflow-tooltip prop="devNum" label="装备数量"/> <el-table-column align="center" show-overflow-tooltip prop="devNum" label="数量"/>
<el-table-column align="center" show-overflow-tooltip prop="address" label="操作"> <el-table-column align="center" show-overflow-tooltip prop="address" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="onHandleOutRecord(scope.row)"> <el-button type="text" @click="onHandleOutRecord(scope.row)">
@ -107,8 +107,9 @@
<!-- 出库记录单 --> <!-- 出库记录单 -->
<el-dialog title="退役记录单" :visible.sync="outRecordVisible" width="80%" append-to-body> <el-dialog title="退役记录单" :visible.sync="outRecordVisible" width="80%" append-to-body>
<el-row style="display: flex; justify-content: flex-end; gap: 8px;"> <el-row style="display: flex; justify-content: flex-end; gap: 8px;">
<el-button size="mini" type="primary" @click="handleDownloadPDF">下载PDF</el-button> <!-- 下载PDF-->
<el-button size="mini" type="primary" @click="onHandleDownload">下载</el-button> <el-button size="mini" type="primary" @click="handleDownloadPDF">下载</el-button>
<!-- <el-button size="mini" type="primary" @click="onHandleDownload">下载</el-button>-->
<el-button size="mini" type="primary" @click="onHandlePrint">打印</el-button> <el-button size="mini" type="primary" @click="onHandlePrint">打印</el-button>
<el-button size="mini" type="primary" @click="onHandleClose">关闭</el-button> <el-button size="mini" type="primary" @click="onHandleClose">关闭</el-button>
</el-row> </el-row>
@ -137,9 +138,9 @@
<tr> <tr>
<th style="width: 100px;">序号</th> <th style="width: 100px;">序号</th>
<th>类型</th> <th>类型</th>
<th>备名称</th> <th>备名称</th>
<th>规格型号</th> <th>规格型号</th>
<th>备编码</th> <th>备编码</th>
<th>数量</th> <th>数量</th>
<th>最大使用年限</th> <th>最大使用年限</th>
<th>剩余使用年限</th> <th>剩余使用年限</th>

View File

@ -10,7 +10,7 @@
</el-form-item> </el-form-item>
<el-form-item label="操作时间"> <el-form-item label="操作时间">
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="" style="width: 240px" <el-date-picker v-model="dateRange" type="daterange" range-separator="" style="width: 240px"
value-format="yyyy-MM-dd" end-placeholder="结束日期" start-placeholder="开始日期" value-format="yyyy-MM-dd" end-placeholder="结束日期" start-placeholder="开始日期"
/> />
</el-form-item> </el-form-item>
@ -93,8 +93,9 @@
<!-- 出库记录单 --> <!-- 出库记录单 -->
<el-dialog title="退库记录单" :visible.sync="outRecordVisible" width="80%" append-to-body> <el-dialog title="退库记录单" :visible.sync="outRecordVisible" width="80%" append-to-body>
<el-row style="display: flex; justify-content: flex-end; gap: 8px;"> <el-row style="display: flex; justify-content: flex-end; gap: 8px;">
<el-button size="mini" type="primary" @click="handleDownloadPDF">下载PDF</el-button> <!-- 下载PDF-->
<el-button size="mini" type="primary" @click="onHandleDownload">下载</el-button> <el-button size="mini" type="primary" @click="handleDownloadPDF">下载</el-button>
<!-- <el-button size="mini" type="primary" @click="onHandleDownload">下载</el-button>-->
<el-button size="mini" type="primary" @click="onHandlePrint">打印</el-button> <el-button size="mini" type="primary" @click="onHandlePrint">打印</el-button>
<el-button size="mini" type="primary" @click="onHandleClose">关闭</el-button> <el-button size="mini" type="primary" @click="onHandleClose">关闭</el-button>
</el-row> </el-row>
@ -125,9 +126,9 @@
<tr> <tr>
<th style="width: 100px;">序号</th> <th style="width: 100px;">序号</th>
<th>类型</th> <th>类型</th>
<th>备名称</th> <th>备名称</th>
<th>规格型号</th> <th>规格型号</th>
<th>备编码</th> <th>备编码</th>
<th>数量</th> <th>数量</th>
<th>使用到期时间</th> <th>使用到期时间</th>
</tr> </tr>
@ -135,7 +136,7 @@
<tbody> <tbody>
<tr v-for="(item, index) in outRecordData" :key="index"> <tr v-for="(item, index) in outRecordData" :key="index">
<td>{{ index + 1 }}</td> <td>{{ index + 1 }}</td>
<td> {{ item.type === '1' ? '工具' : (item.type === '2' ? '装备' : '未知类型') }}</td> <td> {{ item.type === '2' ? '工具' : (item.type === '1' ? '装备' : '未知类型') }}</td>
<td>{{ item.devName }}</td> <td>{{ item.devName }}</td>
<td>{{ item.devModel }}</td> <td>{{ item.devModel }}</td>
<td>{{ item.devCode }}</td> <td>{{ item.devCode }}</td>

View File

@ -131,7 +131,7 @@
destroy-on-close destroy-on-close
@close="onClose" @close="onClose"
> >
<!-- 新增质检表单 --> <!-- 新增维保维保表单 -->
<template v-if="dialogTitle === '维保操作'"> <template v-if="dialogTitle === '维保操作'">
<el-form <el-form
v-if="addOrEditDialogVisible" v-if="addOrEditDialogVisible"
@ -221,7 +221,7 @@
</el-form> </el-form>
</template> </template>
<!-- 质检记录详情 --> <!-- 维保记录详情 -->
<template v-if="dialogTitle === '维保记录'"> <template v-if="dialogTitle === '维保记录'">
<el-row style="padding-bottom: 20px"> <el-row style="padding-bottom: 20px">
<el-col :span="6"> <el-col :span="6">
@ -475,8 +475,8 @@ export default {
addOrEditFormRules() { addOrEditFormRules() {
return { return {
maId: [{ required: true, message: '请选择关联装备', trigger: 'change' }], maId: [{ required: true, message: '请选择关联装备', trigger: 'change' }],
nextCheckTime: [{ required: true, message: '请输入下次质检日期', trigger: 'blur' }], nextCheckTime: [{ required: true, message: '请输入下次维保日期', trigger: 'blur' }],
qcUser: [{ required: true, message: '请输入质检员', trigger: 'change' }], qcUser: [{ required: true, message: '请输入维保员', trigger: 'change' }],
phonenumber: [ phonenumber: [
{ required: true, message: '请输入联系电话', trigger: 'blur' }, { required: true, message: '请输入联系电话', trigger: 'blur' },
{ {
@ -485,8 +485,8 @@ export default {
trigger: 'blur' trigger: 'blur'
} }
], ],
qcTime: [{ required: true, message: '请选择质检日期', trigger: 'change' }], qcTime: [{ required: true, message: '请选择维保日期', trigger: 'change' }],
fileInfoList: [{ required: true, message: '请上传质检附件', trigger: 'blur' }] fileInfoList: [{ required: true, message: '请上传维保附件', trigger: 'blur' }]
} }
} }
}, },
@ -535,7 +535,7 @@ export default {
this.total = res.data.total this.total = res.data.total
}) })
} catch (error) { } catch (error) {
console.error('获取质检列表失败:', error) console.error('获取维保列表失败:', error)
this.$message.error('获取数据失败,请重试') this.$message.error('获取数据失败,请重试')
} }
}, },
@ -636,7 +636,7 @@ export default {
this.qualityDetailsList = res.rows this.qualityDetailsList = res.rows
this.totalInDialog = res.total this.totalInDialog = res.total
} catch (error) { } catch (error) {
console.error('获取质检详情失败:', error) console.error('获取维保详情失败:', error)
this.$message.error('获取详情数据失败,请重试') this.$message.error('获取详情数据失败,请重试')
} }
}, },
@ -659,7 +659,7 @@ export default {
this.getLeaseListDataInDialog() this.getLeaseListDataInDialog()
}, },
// //
async onDelete(row) { async onDelete(row) {
try { try {
const res = await qualityDeleteByIdApi({ const res = await qualityDeleteByIdApi({
@ -674,7 +674,7 @@ export default {
this.$message.error(res.msg || '删除失败') this.$message.error(res.msg || '删除失败')
} }
} catch (error) { } catch (error) {
console.error('删除质检记录失败:', error) console.error('删除维保记录失败:', error)
// this.$message.error('') // this.$message.error('')
} }
}, },
@ -693,7 +693,7 @@ export default {
this.$message.error(res.msg || '提交失败') this.$message.error(res.msg || '提交失败')
} }
} catch (error) { } catch (error) {
console.error('提交质检数据失败:', error) console.error('提交维保数据失败:', error)
this.$message.error('提交失败,请重试') this.$message.error('提交失败,请重试')
} }
} }
@ -778,7 +778,7 @@ export default {
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,已自动忽略多余文件。`) this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,已自动忽略多余文件。`)
}, },
// //
onQcChange(value) { onQcChange(value) {
if (!value || !this.warningDays) return if (!value || !this.warningDays) return
const currentDate = new Date(value) const currentDate = new Date(value)

View File

@ -475,6 +475,7 @@ export default {
// //
handleClose() { handleClose() {
this.resetQuery()
this.selectedMap.clear() this.selectedMap.clear()
this.visible = false this.visible = false
} }