diff --git a/src/api/device/stateManage.ts b/src/api/device/stateManage.ts index f785f0f..eaee931 100644 --- a/src/api/device/stateManage.ts +++ b/src/api/device/stateManage.ts @@ -28,6 +28,15 @@ }) } +// 状态管理编辑驳回 +export function updateRejectStatus(data: Object) { + return request({ + url: '/meter/stateManage/failUpdate', + method: 'post', + data, + }) +} + // 状态管理删除 export function deleteStatus(data: { id: string | number }) { return request({ diff --git a/src/api/device/stateManage.ts b/src/api/device/stateManage.ts index f785f0f..eaee931 100644 --- a/src/api/device/stateManage.ts +++ b/src/api/device/stateManage.ts @@ -28,6 +28,15 @@ }) } +// 状态管理编辑驳回 +export function updateRejectStatus(data: Object) { + return request({ + url: '/meter/stateManage/failUpdate', + method: 'post', + data, + }) +} + // 状态管理删除 export function deleteStatus(data: { id: string | number }) { return request({ diff --git a/src/assets/styles/globals.scss b/src/assets/styles/globals.scss index 047d441..85dc752 100644 --- a/src/assets/styles/globals.scss +++ b/src/assets/styles/globals.scss @@ -159,3 +159,19 @@ .el-button--danger.is-link:focus { color: #f56c6c !important; } + +/* 上传文件删除 */ +.photo-close { + z-index: 10; + position: absolute; + top: -10px; + right: -10px; + width: 20px; + height: 20px; + text-align: center; + line-height: 20px; + border-radius: 50%; + background: rgb(0 0 0 / 30%); + color: #fff; + cursor: pointer; +} diff --git a/src/api/device/stateManage.ts b/src/api/device/stateManage.ts index f785f0f..eaee931 100644 --- a/src/api/device/stateManage.ts +++ b/src/api/device/stateManage.ts @@ -28,6 +28,15 @@ }) } +// 状态管理编辑驳回 +export function updateRejectStatus(data: Object) { + return request({ + url: '/meter/stateManage/failUpdate', + method: 'post', + data, + }) +} + // 状态管理删除 export function deleteStatus(data: { id: string | number }) { return request({ diff --git a/src/assets/styles/globals.scss b/src/assets/styles/globals.scss index 047d441..85dc752 100644 --- a/src/assets/styles/globals.scss +++ b/src/assets/styles/globals.scss @@ -159,3 +159,19 @@ .el-button--danger.is-link:focus { color: #f56c6c !important; } + +/* 上传文件删除 */ +.photo-close { + z-index: 10; + position: absolute; + top: -10px; + right: -10px; + width: 20px; + height: 20px; + text-align: center; + line-height: 20px; + border-radius: 50%; + background: rgb(0 0 0 / 30%); + color: #fff; + cursor: pointer; +} diff --git a/src/views/device/stateManage/components/templateAdd.vue b/src/views/device/stateManage/components/templateAdd.vue index dc21ae0..42d0040 100644 --- a/src/views/device/stateManage/components/templateAdd.vue +++ b/src/views/device/stateManage/components/templateAdd.vue @@ -15,15 +15,16 @@ import { toTreeList } from '@/utils/structure' import type { userType } from '@/views/system/user/user-interface' import { addApply, deleteApply, detailApply, editApply, failUpdate, submitApply } from '@/api/device/borrow' -import { addStatus, detailStatus, updateStatus } from '@/api/device/stateManage' +import { addStatus, detailStatus, submitStatus, updateRejectStatus, updateStatus } from '@/api/device/stateManage' import type { borrowDeviceType } from '@/views/device/borrow/borrow' import useUserStore from '@/store/modules/user' import { SCHEDULE } from '@/utils/scheduleDict' import type { TableColumn } from '@/components/NormalTable/table_interface' +import { cancelApproval, fetchApproval } from '@/api/approval' +const $route = useRoute() const userInfo = useUserStore() const $router = useRouter() -const $route = useRoute() const ruleFormRef1 = ref() // from组件 const ruleFormRef2 = ref() // from组件 const title = ref('') @@ -33,6 +34,8 @@ const selectIndex = ref() // 点击选择的index--点击第几行 const borrowList = ref([]) const processId = ref('') +const _approvalStatusName = $route.query.approvalStatusName +const _title = $route.query.title // 状态管理 const ruleForm1 = ref({ applyType: $route.query.applyType, // 申请类型 @@ -183,11 +186,12 @@ return false } }) + // 弹窗初始化 const initDialog = (row: any) => { - fetchData() title.value = row.title name.value = row.name + fetchData() // 设备借用 if (isDevice.value) { if (title.value !== '新建') { @@ -195,6 +199,9 @@ detailApply({ id: row.id }).then((res) => { processId.value = res.data.processId // 流程id存在的时候赋值 ruleForm2.value = res.data + if (res.data.approvalStatusName !== '草稿箱') { + getApprovalRecord(res.data.processId) // 查询审批记录 + } borrowList.value = res.data.equipmentInfoList.map((item: IdeviceList) => { return { ...item, @@ -214,11 +221,29 @@ ruleForm1.value.equipmentNo = res.data.applyNo ruleForm1.value.equipmentName = res.data.equipmentName ruleForm1.value.time = res.data.time + if (res.data.approvalStatusName !== '草稿箱') { + getApprovalRecord(res.data.processId) // 查询审批记录 + } }) } } } -onMounted(() => { +const approvalRecordData = ref([]) // 审批流程数据 +// 查询审批记录 +function getApprovalRecord(processId: string) { + if (title.value !== '新建') { + if (processId) { + fetchApproval(processId).then((res) => { + approvalRecordData.value = res.data + }) + } + else { + ElMessage.warning('流程实例id为空') + } + } +} + +onMounted(async () => { initDialog($route.query) }) @@ -228,7 +253,7 @@ } // 保存 -const saveForm = async (formEl: FormInstance | undefined) => { +const deviceManageSave = async (formEl: FormInstance | undefined) => { if (!formEl) { return } await formEl.validate((valid, fields) => { if (valid) { @@ -272,7 +297,7 @@ } // 提交 -const submitForm = async (formEl1: FormInstance | undefined, formEl2: FormInstance | undefined) => { +const deviceManageSubmit = async (formEl2: FormInstance | undefined) => { if (isDevice.value) { // 设备借用 if (!formEl2) { return } @@ -334,52 +359,108 @@ ElMessage.info('请先保存再提交!') } } - else { - // 状态管理 - if (!formEl1) { return } - await formEl1.validate((valid, fields) => { - if (valid) { - console.log(ruleForm1.value.equipmentList) - ElMessageBox.confirm( - '确认提交吗?', - '提示', - { - confirmButtonText: '确认', - cancelButtonText: '取消', - type: 'warning', - }, - ).then((res) => { - if (title.value == '编辑') { - if (ruleForm1.value.equipmentList && ruleForm1.value.equipmentList[0]) { - ruleForm1.value.equipmentId = ruleForm1.value.equipmentList[0].equipmentId - // delete ruleForm1.value.equipmentList - } - updateStatus(ruleForm1.value).then((res) => { - if (res.code === 200) { - ElMessage.success('操作成功!') - $router.go(-1) - } - else { - ElMessage.warning(res.message) - } - }) - } - else { - addStatus(ruleForm1.value).then((res) => { - if (res.code === 200) { - ElMessage.success('操作成功!') - $router.go(-1) - } - else { - ElMessage.warning(res.message) - } - }) - } - }) +} + +// 状态管理编辑 +const statusManageEdit = () => { + if (title.value == '编辑') { + if (ruleForm1.value.equipmentList && ruleForm1.value.equipmentList[0]) { + ruleForm1.value.equipmentId = ruleForm1.value.equipmentList[0].equipmentId + // delete ruleForm1.value.equipmentList + } + updateStatus(ruleForm1.value).then((res) => { + if (res.code === 200) { + ElMessage.success('操作成功!') + $router.go(-1) + } + else { + ElMessage.warning(res.message) } }) } } + +// 驳回编辑 +const statusManageRejectEdit = () => { + if (title.value == '编辑') { + if (ruleForm1.value.equipmentList && ruleForm1.value.equipmentList[0]) { + ruleForm1.value.equipmentId = ruleForm1.value.equipmentList[0].equipmentId + // delete ruleForm1.value.equipmentList + } + updateRejectStatus(ruleForm1.value).then((res) => { + if (res.code === 200) { + ElMessage.success('操作成功!') + $router.go(-1) + } + else { + ElMessage.warning(res.message) + } + }) + } +} +// 新建 状态管理保存 +const statusManageSave = async (formEl1: FormInstance | undefined) => { + if (!formEl1) { return } + await formEl1.validate((valid, fields) => { + if (valid) { + ElMessageBox.confirm( + '确认保存吗?', + '提示', + { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }, + ).then((res) => { + addStatus(ruleForm1.value).then((res) => { + if (res.code === 200) { + ElMessage.success('操作成功!') + ruleForm1.value.id = res.data + } + else { + ElMessage.warning(res.message) + } + }) + }) + } + }) +} + +// 新建 状态管理提交 +const statusManageSubmit = async (formEl1: FormInstance | undefined) => { + if (ruleForm1.value.id === '') { + ElMessage.warning('请保存之后再提交!') + return + } + if (!formEl1) { return } + await formEl1.validate((valid, fields) => { + if (valid) { + ElMessageBox.confirm( + '确认提交吗?', + '提示', + { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }, + ).then((res) => { + submitStatus({ + formId: $route.query.formId as string, + id: ruleForm1.value.id, + processId: '', + }).then((res) => { + if (res.code === 200) { + ElMessage.success('操作成功!') + $router.go(-1) + } + else { + ElMessage.warning(res.message) + } + }) + }) + } + }) +} // 取消 const resetForm = () => { close() @@ -435,22 +516,26 @@ const onFileChange = (event: any) => { // 原生上传 // console.log(event.target.files) - if (event.target.files?.length !== 0) { + const files = event.target.files + if (files.length !== 0) { // 创建formdata对象 const fd = new FormData() - fd.append('multipartFile', event.target.files[0]) + for (var i = 0; i < files.length; i++) { + fd.append('multipartFile', files[i]) + } UploadFile(fd).then((res) => { - if (res.code === 200) { - console.log(res.data[0]) - // 重置当前验证 - ruleForm1.value.fileList = [] - ruleForm1.value.fileList.push({ - assetId: '', - fileName: res.data[0], - minioFileName: res.data[0], + console.log(res) + if (res.code === 200 && res.data.length >= 1) { + for (const item of res.data) { + ruleForm1.value.fileList.push({ + assetId: '', + fileName: item, + minioFileName: item, // id: '', - }) + }) + } ruleFormRef1.value?.clearValidate('minioFileName') + // 重置当前验证 ElMessage.success('文件上传成功') } else { @@ -459,6 +544,10 @@ }) } } + +const del = (index: any) => { + ruleForm1.value.fileList.splice(index, 1) +} const upload = () => { fileRef.value.click() } @@ -664,27 +753,45 @@