设备退役

This commit is contained in:
hzj
2024-04-17 16:06:28 +08:00
parent d079f3131e
commit 02ad259e30
2 changed files with 145 additions and 38 deletions

View File

@@ -1,24 +1,153 @@
<template>
<el-dialog v-model="dialogVisible" :title="title" width="500" :before-close="handleClose">
<span>111</span>
<template #footer>
<div class="dialog-footer">
<el-button type="primary">确定</el-button>
<el-button @click="handleClose">取消</el-button>
</div>
<el-dialog draggable title="新增设备退役申请单" v-model="userAdd" width="500px" :before-close="cancel">
<el-divider content-position="left" style="font-weight: bolder; font-size: 18px">基本信息</el-divider>
<el-form :inline="true" ref="formRef" :model="addData" label-width="auto" class="form-one" :rules="rules">
<el-form-item label="区域:">
<Area ref="areaRef" v-model="addData.orgNo" />
</el-form-item>
<el-form-item label="设备编号:" prop="userName">
<el-input v-model="addData.userName" clearable placeholder="请输入关键字"></el-input>
</el-form-item>
<el-form-item label="资产编号:" prop="userName">
<el-input v-model="addData.userName" clearable placeholder="请输入关键字"></el-input>
</el-form-item>
<el-form-item class="item" label="报告:" style="margin-top: 10px" prop="fileList">
<el-upload
v-model:file-list="causeAnalysisData.fileList"
ref="upload"
v-if="!prop.disabled"
action=""
:limit="1"
:on-exceed="handleExceed"
:auto-upload="false"
>
<template #trigger>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
<el-button type="primary" link @click="download" v-else>
{{ prop.List.fileNameYyfx }}
</el-button>
</el-form-item>
<el-form-item label="选择审核人:" >
<el-select v-model="auditUser" clearable placeholder="请选择审核人">
<el-option v-for="item in auditList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-form>
<div style="display: flex; justify-content: center; margin-top: 30px">
<el-button type="primary" class="ml20" @click="config">确定</el-button>
<el-button type="primary" class="ml20" @click="cancel">取消</el-button>
</div>
</el-dialog>
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
const dialogVisible = ref(false)
const title = ref('')
const handleClose = () => {
dialogVisible.value = false
import { useDictData } from '@/stores/dictData'
import { ElMessage, genFileId } from 'element-plus'
import Area from '@/components/form/area/index.vue'
import { addLoadTypeUser } from '@/api/process-boot/interference'
import { onMounted } from 'vue'
import { getUserByRoleType } from '@/api/user-boot/user'
import { UploadProps, UploadRawFile } from 'element-plus'
const dictData = useDictData()
const userAdd = ref(false)
const interferenceType = dictData.getBasicData('Interference_Source')
const emit = defineEmits(['onSubmit'])
const rules = reactive({
loadType: [{ required: true, message: '请选择干扰源类型', trigger: 'change' }],
userName: [{ required: true, message: '请输入干扰源用户名称', trigger: 'blur' }],
recordTime: [{ required: true, message: '请选择建档时间', trigger: 'change' }]
})
const addData = ref({
orgNo: dictData.state.area[0].id,
loadType: '',
userName: '',
recordTime: ''
})
const formRef = ref()
// 新增
const config = () => {
formRef.value.validate((valid: any) => {
if (valid) {
addLoadTypeUser(addData.value).then((res: any) => {
ElMessage.success('新增成功!')
emit('onSubmit')
cancel()
})
}
const open = (text: string) => {
title.value = text
dialogVisible.value = true
})
}
// 重置
const cancel = () => {
formRef.value.resetFields()
userAdd.value = false
}
const open = () => {
userAdd.value = true
}
const auditList:any = ref([])
const auditUser = ref('')
const handleClose = () => {
auditUser.value = ''
}
// 取消
onMounted(() => {
getUserByRoleType(3).then(res => {
auditList.value = res.data
})
})
const prop = defineProps({
addData: {
type: Object,
default: () => {}
},
List: {
type: Object,
default: () => {}
},
disabled: {
type: Boolean
}
})
const upload = ref()
const causeAnalysisData: any = ref({
reportProcessContentYyfx: [],
userReportProcessContentYyfx: [],
eventDescriptionYyfx: '',
fileNameYyfx: '', //原因分析报告文件名称
filePathYyfx: '', //原因分析报告文件路径
powerGridAffectDev: [],
userAffectDev: [],
fileList: []
})
// 上传
const handleExceed: UploadProps['onExceed'] = files => {
upload.value!.clearFiles()
const file = files[0] as UploadRawFile
file.uid = genFileId()
upload.value!.handleStart(file)
}
// 下载
const download = async () => {
// window.open(addForm.value.ifile)
let response = await fetch(prop.List.filePathYyfx)
let blob = await response.blob()
let a = document.createElement('a')
a.href = window.URL.createObjectURL(blob)
a.download = prop.List.fileNameYyfx
a.click()
a.remove()
}
defineExpose({ open })

View File

@@ -1,28 +1,6 @@
<template>
<div>
<TableHeader area datePicker ref="TableHeaderRef">
<template #select>
<el-form-item label="问题来源">
<el-select v-model="tableStore.table.params.problemSources" clearable placeholder="请选择问题来源">
<el-option
v-for="item in problemData"
:key="item.code"
:label="item.name"
:value="item.code"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="填报进度">
<el-select v-model="tableStore.table.params.reportProcess" clearable placeholder="请选择填报进度">
<el-option
v-for="item in fillingProgress"
:key="item.code"
:label="item.name"
:value="item.code"
></el-option>
</el-select>
</el-form-item>
</template>
<template #operation>
<el-button icon="el-icon-Plus" type="primary" @click="add">新增</el-button>
</template>
@@ -175,6 +153,6 @@ onMounted(() => {
})
// 新增
const add = () => {
EquipmentRef.value.open('新增资产')
EquipmentRef.value.open('新增设备退役申请单')
}
</script>