nw-cqdevicemgt-ui/src/views/repairTest/testExamine/index.vue

1016 lines
37 KiB
Vue

<template>
<div class="app-container" >
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<el-form-item label="机具名称" prop="typeName">
<el-input
v-model="queryParams.typeName"
placeholder="请输入机具名称"
clearable
:maxlength="20"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规格型号" prop="type">
<el-input
v-model="queryParams.type"
placeholder="请输入规格型号"
clearable
:maxlength="20"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="修试审核状态" prop="taskStatus">
<el-select
v-model="queryParams.taskStatus"
placeholder="请选择修试审核状态"
clearable
filterable
style="width: 240px"
>
<el-option label="待审核" value="0" />
<el-option label="已通过" value="1" />
<el-option label="维修驳回" value="2" />
<el-option label="报废驳回" value="3" />
</el-select>
</el-form-item>
<el-form-item label="维修时间">
<el-date-picker
v-model="dateRange"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" :disabled="multiple" @click="handleAll"
>批量审核</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
>导出</el-button
>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center" :selectable="selectable" />
<el-table-column
label="序号"
align="center"
width="80"
type="index"
:index="indexContinuation(queryParams.pageNum, queryParams.pageSize)"
>
<!-- <template slot-scope="scope">
<span>{{
(queryParams.pageNum - 1) * 10 + scope.$index + 1
}}</span>
</template> -->
</el-table-column>
<el-table-column label="机具名称" align="center" prop="typeName" show-overflow-tooltip width="150px"/>
<el-table-column label="规格型号" align="center" prop="type" show-overflow-tooltip width="150px"/>
<el-table-column label="机具编号" align="center" prop="maCode" show-overflow-tooltip width="120px"/>
<el-table-column label="维修总数" align="center" prop="repairNum" show-overflow-tooltip />
<el-table-column label="维修合格数量" align="center" prop="repairedNum" show-overflow-tooltip />
<el-table-column label="报废数量" align="center" prop="scrapNum" show-overflow-tooltip />
<el-table-column
label="维修类型"
align="center"
prop="repairType"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<span v-if="scope.row.repairType == 1">内部维修</span>
<span v-if="scope.row.repairType == 2">返厂维修</span>
<span v-if="scope.row.repairType == 3">预报废</span>
</template>
</el-table-column>
<el-table-column label="维修人" align="center" prop="repairer" show-overflow-tooltip />
<el-table-column label="维修时间" align="center" prop="createTime" show-overflow-tooltip width="100px"/>
<el-table-column label="审核状态" align="center" prop="taskStatus" show-overflow-tooltip >
<template slot-scope="scope">
<span v-if="scope.row.taskStatus === 1">
<el-tag type="success">
已通过
</el-tag>
</span>
<span v-if="scope.row.taskStatus === 0">
<el-tag type="warning">
待审核
</el-tag>
</span>
<span v-if="scope.row.taskStatus === 2">
<el-tag type="danger">
维修驳回
</el-tag>
</span>
<span v-if="scope.row.taskStatus === 3">
<el-tag type="danger">
报废驳回
</el-tag>
</span>
</template>
</el-table-column>
<el-table-column label="不通过原因" align="center" prop="remark" show-overflow-tooltip width="120px"/>
<el-table-column label="操作" align="center" width="250px" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-zoom-in" @click="handleSee(scope.row, 'see')"
>查看</el-button
>
<!-- -->
<el-button
size="mini"
type="text"
icon="el-icon-circle-check"
:disabled="scope.row.taskStatus !== 0"
@click="handleUpdate(scope.row, 'update')"
>审核</el-button
>
<el-button size="mini" type="text" icon="el-icon-document" @click="openUpkeep(scope.row)"
>保养记录表</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 内部维修查看框 -->
<el-dialog
:visible.sync="repairViewNB"
v-if="repairViewNB"
width="60%"
:title="repairTitle"
append-to-body
>
<el-table
v-loading="loading"
:data="repairListNB"
border
>
<el-table-column
label="序号"
align="center"
width="50"
type="index"
>
</el-table-column>
<el-table-column
label="配件数量"
align="center"
prop="partNum"
:show-overflow-tooltip="true"
/>
<el-table-column
label="费用(元)"
align="center"
prop="partPrice"
:show-overflow-tooltip="true"
/>
<el-table-column
label="技术鉴定"
align="center"
prop="repairRemark"
:show-overflow-tooltip="true"
/>
<el-table-column
label="更换下的配件"
align="center"
prop="partChange"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
label="更换的配件数量"
align="center"
prop="partChangeNum"
:show-overflow-tooltip="true"
/>
<el-table-column
label="附件"
align="center"
prop="fileList"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
v-if="scope.row.fileList.length > 0"
@click="handleViewFile(scope.row)"
>
查看
</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<!-- 返厂维修查看框 -->
<el-dialog
:visible.sync="repairViewFC"
v-if="repairViewFC"
width="60%"
:title="repairTitle"
append-to-body
>
<el-table
v-loading="loading"
:data="repairListFC"
border
>
<el-table-column
label="序号"
align="center"
width="50"
type="index"
>
</el-table-column>
<el-table-column
label="配件名称"
align="center"
prop="partName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="配件数量"
align="center"
prop="partNum"
:show-overflow-tooltip="true"
/>
<el-table-column
label="技术鉴定"
align="center"
prop="repairRemark"
:show-overflow-tooltip="true"
/>
<el-table-column
label="附件"
align="center"
prop="fileList"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
v-if="scope.row.fileList.length > 0"
@click="handleViewFile(scope.row)"
>
查看
</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<!-- 待报废维修查看框 -->
<el-dialog
:visible.sync="repairViewBF"
v-if="repairViewBF"
width="60%"
:title="repairTitle"
append-to-body
>
<el-table
v-loading="loading"
:data="repairListBF"
border
>
<el-table-column
label="序号"
align="center"
width="50"
type="index"
>
</el-table-column>
<el-table-column
label="报废原因"
align="center"
prop="scrapReason"
:show-overflow-tooltip="true"
/>
<el-table-column
label="损坏原因"
align="center"
prop="scrapType"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<span v-if="scope.row.scrapType == 0">自然损坏</span>
<span v-if="scope.row.scrapType == 1">人为损坏</span>
</template>
</el-table-column>
<el-table-column
label="技术鉴定"
align="center"
prop="repairRemark"
:show-overflow-tooltip="true"
/>
<el-table-column
label="附件"
align="center"
prop="fileList"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
v-if="scope.row.fileList.length > 0"
@click="handleViewFile(scope.row)"
>
查看
</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<el-dialog
:visible.sync="fileDialogVisible"
title="附件列表"
width="60%"
append-to-body
>
<el-table :data="currentFileList" border>
<el-table-column label="文件名称" prop="fileName" align="center"/>
<el-table-column label="文件路径" prop="fileUrl" align="center"/>
<el-table-column label="操作" width="120" align="center">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="picturePreview(scope.row)"
>
查看
</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<!-- 图片查看弹窗 -->
<el-dialog :visible.sync="dialogVisible" width="600px" height="600px" >
<img width="100%" height="500px" :src="dialogImageUrl" />
</el-dialog>
<el-dialog
:visible.sync="openOne"
:title="title"
append-to-body
:before-close="closeOpenOne"
width="400px"
>
<el-form ref="form" :model="form" label-width="100px">
<el-form-item label="审核结果:">
<el-radio-group v-model="form.checkResultText">
<el-radio label="通过">通过</el-radio>
<el-radio label="驳回">驳回</el-radio>
</el-radio-group>
</el-form-item>
<!-- 不通过原因输入框,当选择不通过时显示 -->
<el-form-item v-if="form.checkResultText === '驳回'" label="驳回原因:" prop="remark">
<el-input
type="textarea"
v-model="form.remark"
:autosize="{ minRows: 2, maxRows: 4 }"
show-word-limit
maxlength="100"
></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="submitOpenOneFeturn">取消</el-button>
<el-button type="primary" @click="submitOpenOneForm()">提交</el-button>
</div>
</el-dialog>
<!-- 维修记录表 -->
<el-dialog title="维修记录表" :visible.sync="upkeepVisible" width="46%">
<vue-easy-print tableShow ref="printRef">
<div style="padding: 0 30px">
<h2 style="text-align: center; font-size: 33px">重庆市送变电工程有限公司</h2>
<h3 style="text-align: center; font-size: 28px">设备维修保养记录表</h3>
<div
style="
border: 1px solid #000;
min-height: 820px;
line-height: 1.9;
font-size: 20px;
position: relative;
box-sizing: border-box;
width: 100%;
"
>
<!-- 第一行 -->
<div style="display: flex; border-bottom: 1px solid #000">
<div style="text-align: center; border-right: 1px solid #000; width: 25%">设备名称</div>
<div style="text-align: center; border-right: 1px solid #000; width: 29%">型号/厂家</div>
<!-- <div style="text-align: center; border-right: 1px solid #000; width: 18%">编号</div> -->
<div style="text-align: center; border-right: 1px solid #000; width: 10%">数量</div>
<div style="text-align: center; border-right: 1px solid #000; width: 18%">主修人</div>
<div style="text-align: center; width: 18%">验收人</div>
</div>
<!-- 第二行 -->
<div style="display: flex; border-bottom: 1px solid #000">
<div style="text-align: center; border-right: 1px solid #000; width: 25%">{{
upkeepObj.type || '-'
}}</div>
<div style="text-align: center; border-right: 1px solid #000; width: 29%">{{
upkeepObj.typeName
}}</div>
<!-- <div
style="
text-align: center;
border-right: 1px solid #000;
width: calc(18%);
white-space: pre-wrap;
word-break: break-word;
"
><span style="margin: 0 5px; font-size: 15px">{{ upkeepObj.maCode }}</span></div
> -->
<div style="text-align: center; border-right: 1px solid #000; width: 10%">{{
upkeepObj.repairedNum
}}</div>
<div style="text-align: center; border-right: 1px solid #000; width: 18%">{{
upkeepObj.createBy
}}</div>
<div style="text-align: center; width: 18%">{{ upkeepObj.checkMan }}</div>
</div>
<!-- 第三行 -->
<div style="display: flex; border-bottom: 1px solid #000">
<div style="padding-left: 10px; border-right: 1px solid #000; width: 25%">使用单位</div>
<div style="padding-left: 10px">{{ upkeepObj.unitName }}-{{ upkeepObj.projectName }}</div>
</div>
<!-- 第四行 -->
<div style="width: 100%; min-height: 200px; border-bottom: 1px solid #000; padding-left: 10px"
>设备维修前情况: <span>{{ upkeepObj.repairRemark }}</span>
</div>
<!-- 第五行 -->
<div style="width: 100%; min-height: 200px; border-bottom: 1px solid #000; padding-left: 10px"
>技术鉴定情况:
<span v-for="item in upkeepObj.records" :key="item.repairRemark"
>{{ item.repairRemark ? item.repairRemark + ', ' : '' }}
</span>
</div>
<!-- 第六行 -->
<div style="width: 100%; min-height: 200px; padding-left: 10px"
>维修处理情况:
<span v-for="item in upkeepObj.records" :key="item.repairContent"
>{{ item.repairContent ? '更换' + item.repairContent + ', ' : '' }}
</span>
</div>
<div
style="
width: 100%;
border-top: 1px solid #000;
padding-left: 10px;
position: absolute;
bottom: 20px;
left: 0;
"
>验收情况: {{ upkeepObj.taskStatus }}
</div>
</div>
<div style="text-align: end; font-size: 20px; margin: 20px 50px 50px 0">
<span>{{ getTime(upkeepObj.auditTime) }}</span>
</div>
</div>
</vue-easy-print>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="print">打 印</el-button>
<el-button @click="upkeepVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
getRepairAuditListApi,
addDetailsAuditApi,
getRepairRecord,
getPartRecord,
getQuestListApiNew,
addDetailsAuditApiNew,
} from '@/api/repairTest/testExamine'
import { getRepairPartListView } from '@/api/repairTest/repair'
import { getProjectList } from '@/api/claimAndRefund/receive'
import {
getUnitInfoSelectApi,
getProjectSelectApi,
getDicSelectApi,
listPartTypeApi,
getMaTypeSelectApi,
getMaintenanceRecordsApi,
} from '@/api/repairTest/repair'
import selectTree from '../repair/selectTree.vue'
import Tree from '@/views/repairTest/repair/tree.vue'
import vueEasyPrint from 'vue-easy-print'
export default {
name: 'RepairTest/testExamine',
components: { Tree, selectTree, vueEasyPrint },
dicts: ['sys_normal_disable'],
data() {
return {
uploadUrl: process.env.VUE_APP_BASE_API + '/system/sys/file/upload', // 上传的图片服务器地址
headers: {
Authorization: 'Bearer ' + localStorage.getItem('token'),
},
checkResultOne: false,
defaultData: null,
selectionList: [],
unitInfoSelectList: [],
projectSelectList: [],
dicSelectList: [],
dialogList: [],
deptList: [],
deptTypeList: [],
rowObj: {},
fullscreenLoading: false,
openOne: false,
openTwo: false,
openThree: false,
openFour: false,
openTextOne: '',
openTextTwo: '',
openTextThree: '',
type: '',
// 遮罩层
loading: false,
// 选中数组
ids: [],
dialogIds: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 非单个禁用
dialogSingle: true,
// 非多个禁用
dialogMultiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
dialogTotal: 0,
// 字典表格数据
typeList: [],
// 弹出层标题
title: '',
dialogTitle: '',
// 是否显示弹出层
open: false,
// 日期范围
dateRange: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
type: '',
typeName: '',
taskStatus: '',
},
dialogQueryParams: {
pageNum: 1,
pageSize: 10,
},
// 表单参数
form: {
checkResultText: '通过',
remark: '',
},
repairId: '',
openRepairRecord: false,
repairRecordList: [],
repairRecordParams: {
pageNum: 1,
pageSize: 10,
},
repairRecordTotal: 0,
openPartRecord: false,
partRecordList: [],
partRecordParams: {
pageNum: 1,
pageSize: 10,
},
partRecordTotal: 0,
upkeepVisible: false, // 维修记录表
upkeepObj: {},
isTaskStatus: '',
repairViewNB: false,
repairViewFC: false,
repairViewBF: false,
repairTitleTwo: '',
repairListNB: [],
repairListFC: [],
repairListBF: [],
repairTitle: '查看',
checkResultText: '通过',
reviewCount: 1,
fileDialogVisible: false, // 控制文件弹窗显示状态
currentFileList: [], // 存储当前要显示的文件列表
//图片查看弹窗
dialogImageUrl: "",
dialogVisible: false,
}
},
created() {
this.getList()
},
methods: {
/** 查询字典类型列表 */
getList() {
this.loading = true
getQuestListApiNew(this.addDateRange(this.queryParams, this.dateRange)).then((response) => {
this.typeList = response.rows
this.total = response.total
this.loading = false
})
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = []
this.queryParams.typeName = ''
this.queryParams.type = ''
this.queryParams.taskStatus = ''
this.resetForm('queryForm')
this.handleQuery()
},
selectable(row) {
if (row.taskStatus == 0) {
return true
} else {
return false
}
},
// 多选框选中数据
handleSelectionChange(selection) {
this.selectionList = selection
this.ids = selection.map((item) => item.parentId)
this.single = selection.length != 1
this.multiple = !selection.length
},
handleSee(row, type) {
this.dialogTitle = '查看'
this.rowObj = row
if(row.repairType == 1){
//内部维修
this.repairViewNB = true;
let params = {
id: row.parentId,
repairType: row.repairType,
}
getRepairPartListView(params).then((res) => {
if (res.code == 200) {
this.repairListNB = res.rows
}
})
}else if(row.repairType == 2){
//返厂维修
this.repairViewFC = true;
let params = {
id: row.parentId,
repairType: row.repairType,
}
getRepairPartListView(params).then((res) => {
if (res.code == 200) {
this.repairListFC = res.rows
}
})
}else{
//待报废
this.repairViewBF = true;
let params = {
id: row.parentId,
repairType: row.repairType,
}
getRepairPartListView(params).then((res) => {
if (res.code == 200) {
this.repairListBF = res.rows
}
})
}
},
/** 审核按钮操作 */
handleUpdate(row, type) {
this.reviewCount = 1
this.rowObj = row
this.openOne = true
},
//批量审核
handleAll(){
if(this.selectionList.length == 0){
this.$message({
type:'warning',
message: '请选择要审核的数据'
})
}else{
this.reviewCount = 2
this.openOne = true
}
},
closeOpenOne() {
this.openOne = false
this.form.checkResultText = '通过'
this.form.remark = ''
this.getList()
},
submitOpenOneForm() {
let parentIdList = [];
if(this.reviewCount == 1){
parentIdList.push(this.rowObj.parentId)
}else{
parentIdList = this.ids
}
const params = {
checkResult: this.form.checkResultText,
remark: this.form.remark,
parentIdList: parentIdList,
};
// 弹出确认对话框
this.$confirm('确定要提交审批吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// 用户点击确定,执行提交操作
addDetailsAuditApiNew(params)
.then((res) => {
// 关闭对话框,设置提示信息,刷新列表
this.openOne = false;
const message = this.form.checkResultText === '通过' ? '审批通过,提交成功!' : '审批驳回,提交成功!';
this.$message({
type: 'success',
message: message
});
this.form.checkResultText = '通过'
this.form.remark = ''
this.getList();
})
.catch(() => {
// 错误处理
this.$message.error('提交失败,请稍后重试');
});
}).catch(() => {
// 用户点击取消,给出提示
this.$message.info('已取消提交');
});
},
submitOpenOneFeturn() {
this.form.checkResultText = '通过'
this.form.remark = ''
this.openOne = false
},
//维修记录
repairRecord(row) {
this.repairRecordParams.pageNum = 1
this.repairRecordParams.pageSize = 10
this.repairId = row.repairId
console.log(this.repairId, 'repairId')
this.getRepairRecordList()
},
getRepairRecordList() {
let params = {
repairId: this.repairId,
pageNum: this.repairRecordParams.pageNum,
pageSize: this.repairRecordParams.pageSize,
}
getRepairRecord(params)
.then((res) => {
this.repairRecordList = res.rows
this.repairRecordTotal = res.total
this.openRepairRecord = true
this.title = '维修记录'
})
.catch(() => {})
},
handleViewFile(row) {
this.currentFileList = row.fileList; // 将当前行的文件列表赋值给 currentFileList
this.fileDialogVisible = true; // 显示文件弹窗
},
//图片查看
picturePreview(file) {
this.dialogImageUrl = this.uploadUrl + file.fileUrl;
const parts = file.fileName.split(".");
const extension = parts.pop();
if (extension === 'doc' || extension === 'DOC' || extension === 'docx' || extension === 'DOCX' || extension === 'pdf' || extension === 'PDF') {
const windowName = file.fileName;
window.open(file.fileUrl, windowName);
} else {
this.dialogVisible = true;
}
},
/** 导出按钮操作 */
handleExport() {
this.download(
'material/details/export',
{
...this.queryParams,
},
`试验检验单_${new Date().getTime()}.xlsx`,
)
},
// 维修记录表-打印
print() {
this.$nextTick(() => {
this.$refs.printRef.print()
})
},
// 维修记录表
openUpkeep(row) {
console.log('🚀 ~ openUpkeep ~ row:', row)
this.upkeepVisible = true
if (row.taskStatus == 47) {
// this.upkeepObj.taskStatus = '合格'
this.isTaskStatus = '合格'
} else {
this.isTaskStatus = ''
}
this.getUpkeepList(row.taskId)
},
// 获取保养记录表数据
async getUpkeepList(taskId) {
try {
const res = await getMaintenanceRecordsApi({ taskId })
console.log('🚀 ~ getUpkeepList ~ res:', res)
this.upkeepObj = { ...res.data, taskStatus: this.isTaskStatus }
} catch (error) {
console.log('🚀 ~ getUpkeepList ~ error:', error)
this.upkeepObj = {}
}
},
handlePreview(file) {
console.log('🚀 ~ handlePreview ~ file:', file)
if (file.response) {
window.open(process.env.VUE_APP_BASE_API + '/system'+ file.response.data.fileUrl)
} else {
window.open(process.env.VUE_APP_BASE_API + '/system'+ file.fileUrl)
}
},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`,
)
},
beforeUpload(file) {
const isLtMB = file.size / 1024 / 1024 < 20
if (!isLtMB) {
this.$message.error('上传文件大小不能超过 20MB!')
}
return isLtMB
},
beforeRemove(file, fileList) {
console.log('🚀 ~ beforeRemove ~ this.type:', this.type)
if (this.type == 'see') return false
return this.$confirm("是否确定移除该文件?")
},
handleSuccess(res, file, fileList, row) {
console.log('🚀 ~ handleSuccess ~ res:', res)
console.log('🚀 ~ handleSuccess ~ file:', file)
console.log('🚀 ~ handleSuccess ~ fileList:', fileList)
console.log('🚀 ~ handleSuccess ~ row:', row)
if (res.code == 200) {
if (!row.fileList) {
row.fileList = []
}
row.fileList.push({
typeId: row.typeId,
maId: row.maId,
fileName: res.data.fileName,
fileUrl: res.data.fileUrl,
})
}
console.log('🚀 ~ row.fileList=fileList.map ~ row.fileList:', row.fileList)
},
// 转换时间格式 2025-02-11 14:52:27 --> 2025 年 2 月 11 日
getTime(time) {
if (!time) return ''
let date = new Date(time)
let year = date.getFullYear()
let month = date.getMonth() + 1
let day = date.getDate()
let hour = date.getHours()
let minute = date.getMinutes()
let second = date.getSeconds()
return `${year}${month}${day}`
},
},
}
</script>
<style lang="scss" scoped>
.submit_box {
display: flex;
justify-content: flex-start;
align-items: center;
.submit_box_title {
display: flex;
flex-direction: column;
margin-left: 15px;
:first-child {
font-size: 14px;
font-weight: 600;
}
:last-child {
margin-top: 6px;
font-size: 12px;
}
}
}
.submit_box_two {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
margin-left: 40%;
.submit_box_title {
display: flex;
flex-direction: column;
margin-left: 10px;
font-size: 18px;
font-weight: 600;
}
}
::v-deep.el-table .fixed-width .el-button--mini {
width: 70px !important;
margin-bottom: 6px;
}
.dialog-footer-btn {
display: flex;
align-items: center;
justify-content: flex-end;
}
.submit_box_openFour {
display: flex;
justify-content: center;
align-content: center;
font-size: 18px;
}
</style>