800 lines
30 KiB
Vue
800 lines
30 KiB
Vue
<template>
|
||
<!-- 质检管理 -->
|
||
<div class="app-container-content">
|
||
<el-form
|
||
:inline="true"
|
||
size="default"
|
||
label-width="0"
|
||
ref="searchFormRef"
|
||
:rules="searchFormRules"
|
||
:model="searchParams"
|
||
>
|
||
<el-row>
|
||
<el-col :span="6">
|
||
<el-form-item prop="deviceCode">
|
||
<el-input
|
||
clearable
|
||
style="width: 100%"
|
||
placeholder="请输入装备编码"
|
||
v-model.trim="searchParams.deviceCode"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="3">
|
||
<el-form-item prop="minNum">
|
||
<el-input
|
||
inputmode="numeric"
|
||
v-model="searchParams.minNum"
|
||
style="width: 100%"
|
||
placeholder="质检次数"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="0.5" style="line-height: 1.5; margin-right: 0.5%">-</el-col>
|
||
<el-col :span="3">
|
||
<el-form-item prop="maxNum">
|
||
<el-input
|
||
inputmode="numeric"
|
||
v-model.trim="searchParams.maxNum"
|
||
style="width: 100%"
|
||
placeholder="质检次数"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="5">
|
||
<el-form-item prop="leaseStatus">
|
||
<el-date-picker
|
||
v-model="qcTime"
|
||
type="daterange"
|
||
style="width: 100%"
|
||
range-separator="-"
|
||
value-format="YYYY-MM-DD"
|
||
start-placeholder="最新质检日期"
|
||
end-placeholder="最新质检日期"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="6">
|
||
<el-form-item>
|
||
<el-date-picker
|
||
v-model="createTime"
|
||
type="daterange"
|
||
style="width: 100%"
|
||
range-separator="-"
|
||
value-format="YYYY-MM-DD"
|
||
start-placeholder="更新日期"
|
||
end-placeholder="更新日期"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
|
||
<el-form-item>
|
||
<el-button @click="onSearch" type="primary" class="primary-lease">查询</el-button>
|
||
<el-button @click="onReset" type="primary" class="primary-lease">重置</el-button>
|
||
<!-- <el-button
|
||
@click="
|
||
() => {
|
||
isRepublish = true
|
||
dialogTitle = '质检新增'
|
||
addOrEditDialogVisible = true
|
||
}
|
||
"
|
||
type="primary"
|
||
class="primary-lease"
|
||
>
|
||
新建
|
||
</el-button> -->
|
||
</el-form-item>
|
||
</el-form>
|
||
|
||
<!-- 表格 -->
|
||
<el-table
|
||
border
|
||
:data="qualityLis"
|
||
show-overflow-tooltip
|
||
:header-cell-style="{
|
||
color: '#fff',
|
||
background: '#00a288',
|
||
}"
|
||
>
|
||
<el-table-column align="center" label="序号" type="index" width="80" />
|
||
<el-table-column align="center" prop="deviceCode" label="装备编码" />
|
||
<el-table-column align="center" prop="deviceName" label="装备名称" />
|
||
<el-table-column align="center" prop="qcTime" label="最新质检日期" />
|
||
<el-table-column align="center" prop="createBy" label="创建人" width="120" />
|
||
<el-table-column align="center" prop="createTime" label="上传时间" />
|
||
<el-table-column align="center" prop="updateTime" label="更新时间" />
|
||
<el-table-column align="center" label="操作" :width="280">
|
||
<template #default="{ row }">
|
||
<el-button
|
||
size="small"
|
||
type="primary"
|
||
class="primary-lease"
|
||
@click="onAddQualityRecord(row)"
|
||
>
|
||
新建
|
||
</el-button>
|
||
|
||
<el-button
|
||
size="small"
|
||
type="primary"
|
||
class="primary-lease"
|
||
@click="onViewQualityRecord(row)"
|
||
>
|
||
装备质检记录
|
||
</el-button>
|
||
|
||
<!-- <el-popconfirm
|
||
width="220"
|
||
:icon="InfoFilled"
|
||
icon-color="#626AEF"
|
||
title="确定删除该项需求吗?"
|
||
@confirm="onDelete(row.id, row.maId)"
|
||
>
|
||
<template #reference>
|
||
<el-button size="small" type="danger"> 删除 </el-button>
|
||
</template>
|
||
<template #actions="{ confirm }">
|
||
<el-button type="primary" class="primary-lease" size="small"
|
||
>取消</el-button
|
||
>
|
||
<el-button
|
||
class="primary-lease"
|
||
type="primary"
|
||
size="small"
|
||
@click="confirm()"
|
||
>
|
||
确定
|
||
</el-button>
|
||
</template>
|
||
</el-popconfirm> -->
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
|
||
<PagingComponent
|
||
:total="total"
|
||
:size="searchParams.pageSize"
|
||
:page="searchParams.pageNum"
|
||
@getListChange="getLeaseListData"
|
||
v-model:page-num="searchParams.pageNum"
|
||
v-model:page-size="searchParams.pageSize"
|
||
/>
|
||
|
||
<!-- 新增修改对话框 -->
|
||
<el-dialog
|
||
:width="dialogTitle == '质检新增' ? '40%' : '60%'"
|
||
align-center
|
||
@close="onClose"
|
||
destroy-on-close
|
||
:title="dialogTitle"
|
||
v-model="addOrEditDialogVisible"
|
||
>
|
||
<template v-if="dialogTitle == '质检新增'">
|
||
<el-form
|
||
label-width="auto"
|
||
label-position="right"
|
||
ref="addOrEditFormRef"
|
||
:model="addOrEditForm"
|
||
:rules="addOrEditFormRules"
|
||
>
|
||
<!-- <el-row :gutter="20">
|
||
<el-col :span="24">
|
||
<el-form-item label="关联装备" style="width: 100%" prop="maId">
|
||
<el-select
|
||
clearable
|
||
style="width: 100%"
|
||
placeholder="请选择关联装备"
|
||
v-model="addOrEditForm.maId"
|
||
@change="onChange"
|
||
filterable
|
||
>
|
||
<el-option
|
||
:key="item.maId"
|
||
:value="item.maId * 1"
|
||
:label="item.deviceName+' '+ '->' + ' '+item.code"
|
||
v-for="item in associationList"
|
||
/>
|
||
</el-select>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row> -->
|
||
<!-- <el-row :gutter="20">
|
||
<el-col :span="24">
|
||
<el-form-item label="质检名称" prop="qcName">
|
||
<el-input
|
||
v-model.trim="addOrEditForm.qcName"
|
||
placeholder="请输入质检名称"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row> -->
|
||
<el-row :gutter="20">
|
||
<el-col :span="24">
|
||
<el-form-item label="质检员" prop="qcUser">
|
||
<el-input
|
||
clearable
|
||
placeholder="请输入质检员"
|
||
v-model="addOrEditForm.qcUser"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row :gutter="20">
|
||
<el-col :span="24">
|
||
<el-form-item label="质检日期" prop="qcTime">
|
||
<el-date-picker
|
||
clearable
|
||
type="datetime"
|
||
style="width: 100%"
|
||
value-format="YYYY-MM-DD hh:mm:ss"
|
||
v-model="addOrEditForm.qcTime"
|
||
@change="onQcChange"
|
||
placeholder="请选择质检日期"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
|
||
<el-row :gutter="20">
|
||
<el-col :span="24">
|
||
<el-form-item label="下次质检日期" prop="nextCheckTime">
|
||
<el-date-picker
|
||
clearable
|
||
type="datetime"
|
||
style="width: 100%"
|
||
value-format="YYYY-MM-DD hh:mm:ss"
|
||
v-model="addOrEditForm.nextCheckTime"
|
||
placeholder="请选择下次质检日期"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
|
||
<el-row :gutter="20">
|
||
<el-col :span="24">
|
||
<el-form-item label="1" style="margin-bottom: 0" class="upload-tip">
|
||
支持格式:.jpg、.png、.pdf、.doc、.docx 单个文件大小不能超过5M,最多可上传1个文件
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row :gutter="20">
|
||
<el-col :span="24">
|
||
<el-form-item label="质检附件" prop="fileInfoList">
|
||
<UploadComponentNew
|
||
:maxSize="5"
|
||
:max-limit="1"
|
||
width="100px"
|
||
height="100px"
|
||
:multiple="true"
|
||
:autoUpload="true"
|
||
:minLimit="addOrEditForm.fileInfoList.length"
|
||
:actionUrl="uploadUrl"
|
||
listType="picture-card"
|
||
@onFileChange="onFileChange"
|
||
:acceptTypeList="['.jpg', '.png', '.pdf', '.doc', '.docx']"
|
||
>
|
||
<template v-slot:default>
|
||
<el-icon size="48" color="#aaa"><Plus /></el-icon>
|
||
</template>
|
||
</UploadComponentNew>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
</el-form>
|
||
</template>
|
||
<template #footer v-if="dialogTitle == '质检新增'">
|
||
<div class="dialog-footer">
|
||
<el-button type="primary" class="primary-lease" @click="onCancel"
|
||
>取消</el-button
|
||
>
|
||
<el-button class="primary-lease" type="primary" @click="onSubmit()">
|
||
提交
|
||
</el-button>
|
||
</div>
|
||
</template>
|
||
|
||
<template v-if="dialogTitle == '质检记录'">
|
||
<el-row style="padding-bottom: 20px">
|
||
<el-col :span="6">
|
||
<span> 装备编号: </span>
|
||
<span>{{ qualityDetails.deviceCode }}</span>
|
||
</el-col>
|
||
<el-col :span="6">
|
||
<span> 装备名称: </span>
|
||
<span>{{ qualityDetails.deviceName }}</span>
|
||
</el-col>
|
||
</el-row>
|
||
<el-form
|
||
:inline="true"
|
||
size="default"
|
||
label-width="0"
|
||
ref="searchFormRefInDialog"
|
||
:model="searchParamsInDialog"
|
||
>
|
||
<el-row>
|
||
<el-col :span="6">
|
||
<el-form-item prop="qcCode">
|
||
<el-input
|
||
clearable
|
||
style="width: 100%"
|
||
placeholder="请输入质检编码"
|
||
v-model="searchParamsInDialog.qcCode"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="6">
|
||
<el-form-item>
|
||
<el-date-picker
|
||
v-model="qcTime_1"
|
||
type="daterange"
|
||
style="width: 100%"
|
||
range-separator="-"
|
||
value-format="YYYY-MM-DD"
|
||
start-placeholder="质检日期"
|
||
end-placeholder="质检日期"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="6">
|
||
<el-form-item>
|
||
<el-date-picker
|
||
v-model="createTime_1"
|
||
type="daterange"
|
||
style="width: 100%"
|
||
range-separator="-"
|
||
value-format="YYYY-MM-DD"
|
||
start-placeholder="上传日期"
|
||
end-placeholder="上传日期"
|
||
/>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="6">
|
||
<el-form-item>
|
||
<el-button
|
||
@click="getLeaseListDataInDialog"
|
||
type="primary"
|
||
class="primary-lease"
|
||
>查询</el-button
|
||
>
|
||
<el-button
|
||
@click="onResetInDialog"
|
||
type="primary"
|
||
class="primary-lease"
|
||
>重置</el-button
|
||
>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
</el-form>
|
||
|
||
<el-table
|
||
border
|
||
:data="qualityDetailsList"
|
||
show-overflow-tooltip
|
||
:header-cell-style="{
|
||
color: '#fff',
|
||
background: '#00a288',
|
||
}"
|
||
>
|
||
<el-table-column align="center" label="序号" type="index" width="80" />
|
||
<el-table-column align="center" prop="qcCode" label="质检编码" />
|
||
<!-- <el-table-column align="center" prop="qcName" label="维修保养名称" /> -->
|
||
<el-table-column align="center" prop="qcTime" label="维修保养日期" />
|
||
<el-table-column align="center" prop="nickName" label="上传人" width="120" />
|
||
<el-table-column align="center" prop="createTime" label="上传时间" />
|
||
<el-table-column align="center" label="附件">
|
||
<template #default="{ row }">
|
||
<el-image
|
||
style="width: 60px; height: 60px"
|
||
:src="row.url"
|
||
:zoom-rate="1.2"
|
||
:max-scale="7"
|
||
:min-scale="0.2"
|
||
:preview-src-list="[row.url]"
|
||
:initial-index="0"
|
||
fit="cover"
|
||
:z-index="9999999999"
|
||
:preview-teleported="true"
|
||
/>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column align="center" label="操作" :width="80">
|
||
<template #default="{ row }">
|
||
<el-popconfirm
|
||
width="220"
|
||
:icon="InfoFilled"
|
||
icon-color="#626AEF"
|
||
title="确定删除该记录吗?"
|
||
@confirm="onDelete(row)"
|
||
>
|
||
<template #reference>
|
||
<el-button size="small" type="danger"> 删除 </el-button>
|
||
</template>
|
||
<template #actions="{ confirm }">
|
||
<el-button type="primary" class="primary-lease" size="small"
|
||
>取消</el-button
|
||
>
|
||
<el-button
|
||
size="small"
|
||
type="primary"
|
||
@click="confirm()"
|
||
class="primary-lease"
|
||
>
|
||
确定
|
||
</el-button>
|
||
</template>
|
||
</el-popconfirm>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
|
||
<PagingComponent
|
||
:total="totalInDialog"
|
||
:size="searchParamsInDialog.pageSize"
|
||
:page="searchParamsInDialog.pageNum"
|
||
@getListChange="getLeaseListDataInDialog"
|
||
v-model:page-num="searchParamsInDialog.pageNum"
|
||
v-model:page-size="searchParamsInDialog.pageSize"
|
||
/>
|
||
</template>
|
||
</el-dialog>
|
||
</div>
|
||
</template>
|
||
|
||
<script setup lang="ts">
|
||
import PagingComponent from 'components/PagingComponent/index.vue'
|
||
import UploadComponentNew from 'components/uploadComponentNew/index.vue'
|
||
import {
|
||
addQualityDataApi,
|
||
getQualityListApi,
|
||
getQualityDetailsApi,
|
||
qualityDeleteByIdApi,
|
||
getAssociationListApi,
|
||
} from 'http/api/quality-manage'
|
||
import { InfoFilled } from '@element-plus/icons-vue'
|
||
import { ElMessage } from 'element-plus'
|
||
import dayjs from 'dayjs'
|
||
|
||
const total = ref(0)
|
||
const totalInDialog = ref(0)
|
||
const qcTime = ref([])
|
||
const createTime = ref([])
|
||
const qcTime_1 = ref([])
|
||
const createTime_1 = ref([])
|
||
const isRepublish = ref(true)
|
||
const qualityLis = ref<any>([])
|
||
const dialogTitle = ref('新增')
|
||
const searchFormRef = ref<any>(null)
|
||
const searchFormRefInDialog = ref<any>(null)
|
||
const addOrEditFormRef = ref<any>(null)
|
||
const addOrEditDialogVisible = ref(false)
|
||
const associationList = ref<any>([])
|
||
const qualityDetailsList = ref<any>([])
|
||
const qualityDetails = ref<any>({})
|
||
const uploadUrl = import.meta.env.VITE_API_URL + '/file/upload'
|
||
|
||
const searchParams = reactive({
|
||
deviceCode: '',
|
||
qcStartTime: '',
|
||
qcEndTime: '',
|
||
createStartTime: '',
|
||
createEndTime: '',
|
||
minNum: '',
|
||
maxNum: '',
|
||
pageSize: 10,
|
||
pageNum: 1,
|
||
})
|
||
const searchParamsInDialog = reactive({
|
||
id: '',
|
||
qcCode: '',
|
||
qcStartTime: '',
|
||
qcEndTime: '',
|
||
createStartTime: '',
|
||
createEndTime: '',
|
||
pageSize: 10,
|
||
pageNum: 1,
|
||
})
|
||
|
||
const addOrEditForm = ref<any>({
|
||
maId: '',
|
||
qcName: '',
|
||
qcUser: '',
|
||
qcTime: '',
|
||
nextCheckTime: '',
|
||
fileInfoList: [],
|
||
fileInfoTempList: [],
|
||
})
|
||
|
||
const checkMinNum = (rule: any, value: any, callback: any) => {
|
||
const maxNum = parseInt(searchParams.maxNum)
|
||
|
||
if (value > maxNum && maxNum > 0) {
|
||
return callback(new Error('查询开始次数不能大于查询结束次数'))
|
||
}
|
||
callback()
|
||
}
|
||
const checkMaxNum = (rule: any, value: any, callback: any) => {
|
||
const minNum = parseInt(searchParams.minNum)
|
||
|
||
if (value < minNum && minNum > 0) {
|
||
return callback(new Error('查询结束次数不能小于查询开始次数'))
|
||
}
|
||
callback()
|
||
}
|
||
|
||
const addOrEditFormRules = reactive({
|
||
maId: [{ required: true, message: '请选择关联装备', trigger: 'change' }],
|
||
nextCheckTime: [{ required: true, message: '请输入下次质检日期', trigger: 'blur' }],
|
||
qcUser: [{ required: true, message: '请输入质检员', trigger: 'change' }],
|
||
qcTime: [{ required: true, message: '请选择质检日期', trigger: 'change' }],
|
||
fileInfoList: [{ required: true, message: '请上传质检附件', trigger: 'blur' }],
|
||
})
|
||
const searchFormRules = reactive({
|
||
minNum: [
|
||
{
|
||
pattern: /^[1-9][0-9]*$/,
|
||
message: '请输入大于0的正整数',
|
||
trigger: 'blur',
|
||
},
|
||
{ validator: checkMinNum, trigger: 'blur' },
|
||
],
|
||
maxNum: [
|
||
{
|
||
pattern: /^[1-9][0-9]*$/,
|
||
message: '请输入大于0的正整数',
|
||
trigger: 'blur',
|
||
},
|
||
{ validator: checkMaxNum, trigger: 'blur' },
|
||
],
|
||
})
|
||
|
||
const disabledDate = (date: any) => {
|
||
const today = new Date()
|
||
// 禁用今天之前的日期
|
||
return date.getTime() < today.getTime()
|
||
}
|
||
|
||
// 获取列表
|
||
const getLeaseListData = async () => {
|
||
if (qcTime.value.length > 0) {
|
||
searchParams.qcStartTime = qcTime.value[0]
|
||
searchParams.qcEndTime = qcTime.value[1]
|
||
}
|
||
if (createTime.value.length > 0) {
|
||
searchParams.createStartTime = createTime.value[0]
|
||
searchParams.createEndTime = createTime.value[1]
|
||
}
|
||
const { data: res }: any = await getQualityListApi(searchParams)
|
||
qualityLis.value = res.rows
|
||
total.value = res.total
|
||
}
|
||
|
||
const onSearch = () => {
|
||
searchFormRef.value.validate((valid: any) => {
|
||
if (valid) {
|
||
getLeaseListData()
|
||
}
|
||
})
|
||
}
|
||
|
||
// 获取关联装备
|
||
const getAssociationListData = async () => {
|
||
const res: any = await getAssociationListApi()
|
||
associationList.value = res.data
|
||
}
|
||
|
||
// 重置
|
||
const onReset = () => {
|
||
qcTime.value = []
|
||
createTime.value = []
|
||
searchParams.qcStartTime = ''
|
||
searchParams.qcEndTime = ''
|
||
searchParams.createStartTime = ''
|
||
searchParams.createEndTime = ''
|
||
searchParams.pageNum = 1
|
||
searchParams.pageSize = 10
|
||
searchFormRef.value.resetFields()
|
||
getLeaseListData()
|
||
}
|
||
const onResetInDialog = () => {
|
||
qcTime_1.value = []
|
||
createTime_1.value = []
|
||
searchParamsInDialog.qcStartTime = ''
|
||
searchParamsInDialog.qcEndTime = ''
|
||
searchParamsInDialog.createStartTime = ''
|
||
searchParamsInDialog.createEndTime = ''
|
||
searchParamsInDialog.pageNum = 1
|
||
searchParamsInDialog.pageSize = 10
|
||
searchFormRefInDialog.value.resetFields()
|
||
getLeaseListDataInDialog()
|
||
}
|
||
// 删除
|
||
const onDelete = async (row: any) => {
|
||
console.log('🚀 ~ onDelete ~ row:', row)
|
||
const res: any = await qualityDeleteByIdApi({ fileId: row.fileId, maId: row.maId })
|
||
if (res.code === 200) {
|
||
ElMessage({
|
||
type: 'success',
|
||
message: '删除成功',
|
||
})
|
||
getLeaseListData()
|
||
getLeaseListDataInDialog()
|
||
}
|
||
}
|
||
|
||
// 提交
|
||
const onSubmit = () => {
|
||
addOrEditForm.value.fileInfoList = addOrEditForm.value.fileInfoTempList
|
||
addOrEditFormRef.value.validate(async (valid: any) => {
|
||
if (valid) {
|
||
const res: any = await addQualityDataApi(addOrEditForm.value)
|
||
if (res.code === 200) {
|
||
ElMessage({
|
||
type: 'success',
|
||
message: '提交成功',
|
||
})
|
||
addOrEditDialogVisible.value = false
|
||
getLeaseListData()
|
||
}
|
||
}
|
||
})
|
||
}
|
||
|
||
// 质检记录
|
||
const onViewQualityRecord = (row: any) => {
|
||
qualityDetails.value = row
|
||
searchParamsInDialog.maId = row.maId
|
||
getLeaseListDataInDialog()
|
||
dialogTitle.value = '质检记录'
|
||
addOrEditDialogVisible.value = true
|
||
}
|
||
const getLeaseListDataInDialog = async () => {
|
||
if (qcTime_1.value.length > 0) {
|
||
searchParamsInDialog.qcStartTime = qcTime_1.value[0]
|
||
searchParamsInDialog.qcEndTime = qcTime_1.value[1]
|
||
}
|
||
if (createTime_1.value.length > 0) {
|
||
searchParamsInDialog.createStartTime = createTime_1.value[0]
|
||
searchParamsInDialog.createEndTime = createTime_1.value[1]
|
||
}
|
||
const { data: res }: any = await getQualityDetailsApi(searchParamsInDialog)
|
||
qualityDetailsList.value = res.rows
|
||
totalInDialog.value = res.total
|
||
}
|
||
|
||
//质检新增
|
||
const onAddQualityRecord = (row: any) => {
|
||
isRepublish.value = true
|
||
dialogTitle.value = '质检新增'
|
||
addOrEditDialogVisible.value = true
|
||
addOrEditForm.value.qcTime = ''
|
||
addOrEditForm.value.nextCheckTime = ''
|
||
addOrEditForm.value.maId = row.maId
|
||
warningDays.value = row.maintenanceAlarmDay
|
||
// const onChange = (value: any) => {
|
||
// addOrEditForm.value.qcTime = ''
|
||
// addOrEditForm.value.nextCheckTime = ''
|
||
// associationList.value.forEach((e: any) => {
|
||
// if (e.maId === value) {
|
||
// console.log('11111111',e.maintenanceAlarmDay)
|
||
// warningDays.value = Number(e.maintenanceAlarmDay)
|
||
// }
|
||
// })
|
||
// }
|
||
}
|
||
|
||
// 自定义事件
|
||
const onFileChange = (fileList: any) => {
|
||
addOrEditForm.value.fileInfoTempList = []
|
||
const fileListTemp = fileList.map((e: any) => {
|
||
return {
|
||
fileName: e.name,
|
||
fileUrl: e.url,
|
||
}
|
||
})
|
||
|
||
addOrEditForm.value.fileInfoTempList.push(...fileListTemp)
|
||
}
|
||
|
||
const warningDays: any = ref(0)
|
||
const onQcChange = (value: any) => {
|
||
const currentDate = new Date(value)
|
||
currentDate.setDate(currentDate.getDate() + warningDays.value)
|
||
addOrEditForm.value.nextCheckTime = dayjs(currentDate).format('YYYY-MM-DD hh:mm:ss')
|
||
}
|
||
|
||
// 取消按钮
|
||
const onCancel = () => {
|
||
addOrEditDialogVisible.value = false
|
||
}
|
||
const onClose = () => {
|
||
if (dialogTitle.value !== '质检记录') {
|
||
addOrEditFormRef.value.resetFields()
|
||
}
|
||
}
|
||
|
||
onMounted(() => {
|
||
getLeaseListData()
|
||
getAssociationListData()
|
||
})
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
:deep.upload-tip .el-form-item__label {
|
||
color: transparent;
|
||
}
|
||
.el-pagination {
|
||
justify-content: flex-end;
|
||
padding: 5px 0;
|
||
}
|
||
:deep.el-pagination.is-background .el-pager li.is-active {
|
||
background-color: #3cb4a6;
|
||
}
|
||
:deep.el-form--inline .el-form-item {
|
||
margin-right: 6px;
|
||
width: 95%;
|
||
}
|
||
|
||
.img-list {
|
||
display: flex;
|
||
align-items: center;
|
||
|
||
.img-items {
|
||
width: 100px;
|
||
height: 100px;
|
||
margin-right: 8px;
|
||
position: relative;
|
||
|
||
img {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.mask-img {
|
||
visibility: hidden;
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
background-color: #000;
|
||
opacity: 0.5;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
|
||
.delete-icon {
|
||
font-size: 20px;
|
||
cursor: pointer;
|
||
z-index: 9;
|
||
color: #fff;
|
||
}
|
||
}
|
||
}
|
||
.img-items:hover .mask-img {
|
||
visibility: visible;
|
||
}
|
||
}
|
||
.app-container-content {
|
||
:deep(.el-dialog) {
|
||
display: flex !important;
|
||
flex-direction: column !important;
|
||
margin: 0 !important;
|
||
position: absolute !important;
|
||
top: 50% !important;
|
||
left: 50% !important;
|
||
transform: translate(-50%, -50%) !important;
|
||
max-height: 100vh !important;
|
||
.el-dialog__body {
|
||
flex: 1;
|
||
overflow-y: scroll !important;
|
||
}
|
||
.dialog-content {
|
||
padding: 20px;
|
||
}
|
||
}
|
||
}
|
||
</style>
|