|
|
|
@ -304,137 +304,155 @@
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<!-- 添加 或修改 行李系统安全门铅酸电池生命周期对话框 -->
|
|
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
|
|
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
|
|
|
|
<el-form-item label="类型" prop="type">
|
|
|
|
|
<el-input v-model="form.type" placeholder="请输入类型" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="参照位置" prop="referenceLocation">
|
|
|
|
|
<el-input v-model="form.referenceLocation" placeholder="请输入参照位置" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="位置描述" prop="locationDescription">
|
|
|
|
|
<el-input v-model="form.locationDescription" placeholder="请输入位置描述" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="取电" prop="powerSource">
|
|
|
|
|
<el-input v-model="form.powerSource" placeholder="请输入取电" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="电池类型" prop="batteryType">
|
|
|
|
|
<el-input v-model="form.batteryType" placeholder="请输入电池类型" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="图片" prop="imageAddress">
|
|
|
|
|
<image-upload v-model="form.imageAddress"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备注" prop="remarks">
|
|
|
|
|
<el-input v-model="form.remarks" type="textarea" placeholder="请输入内容" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第1次" prop="firstInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.firstInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第1次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第2次" prop="secondInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.secondInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第2次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第3次" prop="thirdInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.thirdInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第3次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第4次" prop="fourthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.fourthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第4次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第5次" prop="fifthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.fifthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第5次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第6次" prop="sixthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.sixthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第6次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第7次" prop="seventhInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.seventhInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第7次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第8次" prop="eighthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.eighthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第8次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第9次" prop="ninthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.ninthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第9次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第10次" prop="tenthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.tenthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第10次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第11次" prop="eleventhInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.eleventhInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第11次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第12次" prop="twelfthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.twelfthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第12次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-row :gutter="20">
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="类型" prop="type">
|
|
|
|
|
<el-input v-model="form.type" placeholder="请输入类型" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="参照位置" prop="referenceLocation">
|
|
|
|
|
<el-input v-model="form.referenceLocation" placeholder="请输入参照位置" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="位置描述" prop="locationDescription">
|
|
|
|
|
<el-input v-model="form.locationDescription" type="textarea" placeholder="请输入内容" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="取电" prop="powerSource">
|
|
|
|
|
<el-input v-model="form.powerSource" placeholder="请输入取电" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="电池类型" prop="batteryType">
|
|
|
|
|
<el-input v-model="form.batteryType" placeholder="请输入电池类型" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="图片" prop="imageAddress">
|
|
|
|
|
<image-upload v-model="form.imageAddress"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备注" prop="remarks">
|
|
|
|
|
<el-input v-model="form.remarks" type="textarea" placeholder="请输入内容" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="第1次" prop="firstInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.firstInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第1次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第2次" prop="secondInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.secondInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第2次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第3次" prop="thirdInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.thirdInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第3次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第4次" prop="fourthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.fourthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第4次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第5次" prop="fifthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.fifthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第5次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第6次" prop="sixthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.sixthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第6次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第7次" prop="seventhInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.seventhInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第7次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第8次" prop="eighthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.eighthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第8次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第9次" prop="ninthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.ninthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第9次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第10次" prop="tenthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.tenthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第10次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第11次" prop="eleventhInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.eleventhInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第11次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="第12次" prop="twelfthInstance">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.twelfthInstance"
|
|
|
|
|
type="date"
|
|
|
|
|
placeholder="请选择第12次日期"
|
|
|
|
|
value-format="yyyy/MM/dd"
|
|
|
|
|
format="yyyy/MM/dd"
|
|
|
|
|
style="width: 100%;"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
|
@ -864,4 +882,141 @@
|
|
|
|
|
handleExport() {
|
|
|
|
|
this.download('ems/info/securityDoorBatteryLifecycle/export', {
|
|
|
|
|
...this.queryParams
|
|
|
|
|
}, `
|
|
|
|
|
}, `securityDoorBatteryLifecycle_${new Date().getTime()}.xlsx`)
|
|
|
|
|
},
|
|
|
|
|
/** 导入按钮操作 */
|
|
|
|
|
handleImport() {
|
|
|
|
|
this.upload.title = "导入行李系统安全门铅酸电池生命周期";
|
|
|
|
|
this.upload.open = true;
|
|
|
|
|
},
|
|
|
|
|
/** 下载模板操作 */
|
|
|
|
|
importTemplate() {
|
|
|
|
|
this.download('ems/info/securityDoorBatteryLifecycle/importTemplate', {
|
|
|
|
|
}, `行李系统安全门铅酸电池生命周期数据模板_${new Date().getTime()}.xlsx`)
|
|
|
|
|
},
|
|
|
|
|
// 文件上传中处理
|
|
|
|
|
handleFileUploadProgress(event, file, fileList) {
|
|
|
|
|
this.upload.isUploading = true;
|
|
|
|
|
},
|
|
|
|
|
// 文件上传成功处理
|
|
|
|
|
handleFileSuccess(response, file, fileList) {
|
|
|
|
|
this.upload.open = false;
|
|
|
|
|
this.upload.isUploading = false;
|
|
|
|
|
this.$refs.upload.clearFiles();
|
|
|
|
|
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
|
|
|
|
|
this.getList();
|
|
|
|
|
},
|
|
|
|
|
// 提交上传文件
|
|
|
|
|
submitFileForm() {
|
|
|
|
|
this.$refs.upload.submit();
|
|
|
|
|
},
|
|
|
|
|
/** 查看详情 */
|
|
|
|
|
handleViewDetail(row) {
|
|
|
|
|
this.currentRecord = row;
|
|
|
|
|
this.detailDrawer = true;
|
|
|
|
|
},
|
|
|
|
|
/** 处理行右击事件 */
|
|
|
|
|
handleRowContextMenu(row, column, event) {
|
|
|
|
|
event.preventDefault();
|
|
|
|
|
this.contextMenu.row = row;
|
|
|
|
|
this.contextMenu.left = event.clientX;
|
|
|
|
|
this.contextMenu.top = event.clientY;
|
|
|
|
|
this.contextMenu.visible = true;
|
|
|
|
|
},
|
|
|
|
|
/** 隐藏右击菜单 */
|
|
|
|
|
hideContextMenu() {
|
|
|
|
|
this.contextMenu.visible = false;
|
|
|
|
|
this.contextMenu.row = null;
|
|
|
|
|
},
|
|
|
|
|
/** 右击菜单 - 查看详情 */
|
|
|
|
|
contextMenuViewDetail() {
|
|
|
|
|
this.handleViewDetail(this.contextMenu.row);
|
|
|
|
|
this.hideContextMenu();
|
|
|
|
|
},
|
|
|
|
|
/** 右击菜单 - 编辑 */
|
|
|
|
|
contextMenuEdit() {
|
|
|
|
|
this.handleUpdate(this.contextMenu.row);
|
|
|
|
|
this.hideContextMenu();
|
|
|
|
|
},
|
|
|
|
|
/** 右击菜单 - 删除 */
|
|
|
|
|
contextMenuDelete() {
|
|
|
|
|
this.handleDelete(this.contextMenu.row);
|
|
|
|
|
this.hideContextMenu();
|
|
|
|
|
},
|
|
|
|
|
/** 检查权限 */
|
|
|
|
|
checkPermi(permissions) {
|
|
|
|
|
return checkPermi(permissions);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
|
/* 右击菜单样式 */
|
|
|
|
|
.context-menu {
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
border: 1px solid #e4e7ed;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
|
|
|
|
padding: 5px 0;
|
|
|
|
|
margin: 0;
|
|
|
|
|
list-style: none;
|
|
|
|
|
min-width: 120px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.context-menu-item {
|
|
|
|
|
padding: 8px 16px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
color: #606266;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
transition: background-color 0.3s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.context-menu-item:hover {
|
|
|
|
|
background-color: #f5f7fa;
|
|
|
|
|
color: #409eff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.context-menu-item i {
|
|
|
|
|
margin-right: 8px;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 表格样式 */
|
|
|
|
|
.context-menu-table {
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.context-menu-table .el-table__row {
|
|
|
|
|
transition: background-color 0.3s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.context-menu-table .el-table__row:hover {
|
|
|
|
|
cursor: context-menu;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 详情抽屉样式 */
|
|
|
|
|
.el-descriptions-item__label {
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: #303133;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-descriptions-item__content {
|
|
|
|
|
color: #606266;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 响应式设计 */
|
|
|
|
|
@media (max-width: 768px) {
|
|
|
|
|
.context-menu {
|
|
|
|
|
min-width: 100px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.context-menu-item {
|
|
|
|
|
padding: 6px 12px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|