From 07f9f8657d057a38792c3822acc9b08d83478967 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 07 五月 2026 14:23:10 +0800
Subject: [PATCH] 合并代码
---
src/views/safeProduction/dangerInvestigation/index.vue | 222 +++++++++++++-----------------------------------------
1 files changed, 55 insertions(+), 167 deletions(-)
diff --git a/src/views/safeProduction/dangerInvestigation/index.vue b/src/views/safeProduction/dangerInvestigation/index.vue
index 1878370..cb09e52 100644
--- a/src/views/safeProduction/dangerInvestigation/index.vue
+++ b/src/views/safeProduction/dangerInvestigation/index.vue
@@ -111,13 +111,13 @@
</el-table-column>
<el-table-column fixed="right"
label="鎿嶄綔"
- min-width="250"
+ min-width="150"
align="center">
<template #default="scope">
- <el-button link
+ <!-- <el-button link
type="primary"
size="small"
- @click="openForm('edit', scope.row)">缂栬緫</el-button>
+ @click="openForm('edit', scope.row)">缂栬緫</el-button> -->
<el-button link
type="primary"
size="small"
@@ -125,11 +125,12 @@
<el-button link
type="primary"
size="small"
+ :disabled="scope.row.isRectify || scope.row.rectifyActualTime"
@click="openForm('edit2', scope.row)">鏁存敼</el-button>
<el-button link
type="primary"
size="small"
- :disabled="!scope.row.rectifyActualTime"
+ :disabled="!scope.row.rectifyActualTime || scope.row.verifyTime"
@click="openForm('edit3', scope.row)">楠屾敹</el-button>
</template>
</el-table-column>
@@ -267,10 +268,11 @@
</el-col>
</el-row>
</el-form>
+ <div v-if="operationType === 'edit2' || operationType === 'edit3'"
+ class="classtitle">闅愭偅璇︽儏</div>
<el-descriptions :column="2"
style="margin-bottom: 20px;"
v-if="operationType === 'edit2' || operationType === 'edit3'"
- title="闅愭偅璇︽儏"
border>
<el-descriptions-item label="闅愭偅缂栧彿">
<span class="detail-title">{{ form.hiddenCode }}</span>
@@ -283,7 +285,7 @@
<span class="detail-title">{{ form.hiddenDesc }}</span>
</el-descriptions-item>
<el-descriptions-item label="闅愭偅绫诲瀷">
- <span class="detail-title">{{ form.type }}</span>
+ <span class="detail-title">{{ TypeLabel(form.type) }}</span>
</el-descriptions-item>
<el-descriptions-item label="闅愭偅椋庨櫓绛夌骇">
<el-tag :type="getTypeTagType(form.riskLevel)">
@@ -306,10 +308,12 @@
<span class="detail-title">{{ form.rectifyTime }}</span>
</el-descriptions-item>
</el-descriptions>
+ <div class="classtitle"
+ v-if="operationType === 'edit3'"
+ style="margin-top: 40px;">鏁存敼璇︽儏</div>
<el-descriptions :column="2"
style="margin-bottom: 20px;"
v-if="operationType === 'edit3'"
- title="鏁存敼璇︽儏"
border>
<el-descriptions-item label="鏁存敼鍏蜂綋鎺柦"
:span="2">
@@ -319,6 +323,9 @@
<span class="detail-title">{{ form2.rectifyActualTime }}</span>
</el-descriptions-item>
</el-descriptions>
+ <div class="classtitle"
+ v-if="operationType === 'edit2' || operationType === 'edit3'"
+ style="margin-top: 40px;margin-bottom: 30px;">楠屾敹鎯呭喌</div>
<el-form :model="form2"
v-if="operationType === 'edit2'"
label-width="140px"
@@ -408,25 +415,22 @@
</el-row>
</el-form>
</FormDialog>
- <!-- 闄勪欢鍒楄〃寮圭獥 -->
- <FileListDialog ref="fileListRef"
- v-model="fileListDialogVisible"
- :show-upload-button="true"
- :show-delete-button="true"
- :upload-method="handleUpload"
- :delete-method="handleFileDelete"
- title="闄勪欢鍒楄〃" />
+ <FileListDialog
+ v-if="fileListDialogVisible"
+ :record-id="currentRecordId"
+ record-type="safe_hidden"
+ v-model:visible="fileListDialogVisible"/>
+
</div>
</template>
<script setup>
import { getToken } from "@/utils/auth";
import pagination from "@/components/PIMTable/Pagination.vue";
- import { onMounted, ref, getCurrentInstance } from "vue";
+ import { onMounted, ref, getCurrentInstance, computed } from "vue";
import { ElMessageBox, ElMessage } from "element-plus";
import useUserStore from "@/store/modules/user";
import { userListNoPage } from "@/api/system/user.js";
- import FileListDialog from "@/components/Dialog/FileListDialog.vue";
import FormDialog from "@/components/Dialog/FormDialog.vue";
import { getQuotationList } from "@/api/salesManagement/salesQuotation.js";
import {
@@ -435,13 +439,9 @@
safeHiddenUpdate,
safeHiddenDel,
fileListPage,
- safeHiddenFileAdd,
- safeHiddenFileDel,
} from "@/api/safeProduction/dangerInvestigation.js";
import useFormData from "@/hooks/useFormData.js";
- import request from "@/utils/request";
import dayjs from "dayjs";
- import { get } from "@vueuse/core";
const userStore = useUserStore();
const { proxy } = getCurrentInstance();
@@ -449,6 +449,7 @@
const selectedRows = ref([]);
const userList = ref([]);
const tableLoading = ref(false);
+ const currentRecordId = ref(0);
const page = reactive({
current: 1,
size: 100,
@@ -517,28 +518,12 @@
verifyResult: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
acceptDesc: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
};
- const typeList = ref([
- {
- value: "璁惧瀹夊叏",
- label: "璁惧瀹夊叏",
- },
- {
- value: "浜哄憳鎿嶄綔",
- label: "浜哄憳鎿嶄綔",
- },
- {
- value: "鐜椋庨櫓",
- label: "鐜椋庨櫓",
- },
- {
- value: "鐗╂枡绠℃帶",
- label: "鐗╂枡绠℃帶",
- },
- {
- value: "鍏朵粬",
- label: "鍏朵粬",
- },
- ]);
+ const { hidden_danger_type } = proxy.useDict("hidden_danger_type");
+ const typeList = computed(() => hidden_danger_type?.value || []);
+ const TypeLabel = val => {
+ const item = typeList.value.find(i => String(i.value) === String(val));
+ return item ? item.label : val;
+ };
const form2 = ref({
rectifyActualTime: "", // 瀹為檯鏁存敼瀹屾垚鏃堕棿
rectifyMeasures: "", // 鏁存敼鍏蜂綋鎺柦
@@ -569,8 +554,6 @@
label: "浣庨闄�",
},
]);
- // 闅愭偅绫诲瀷閫夐」
- const { type_qualification } = proxy.useDict("type_qualification");
const { form, rules } = toRefs(data);
const { form: searchForm } = useFormData(data.searchForm);
// 浜у搧琛ㄥ崟寮规鏁版嵁
@@ -667,6 +650,14 @@
tableLoading.value = false;
tableData.value = res.data.records;
total.value = res.data.total;
+ tableData.value.forEach(item => {
+ // console.log(item.rectifyUserId, currentUserId.value, "=======");
+ if (Number(item.rectifyUserId) != Number(currentUserId.value)) {
+ item.isRectify = true;
+ } else {
+ item.isRectify = false;
+ }
+ });
return res;
})
.catch(() => {
@@ -901,6 +892,9 @@
proxy.$modal.msg("宸插彇娑�");
});
};
+ const isPeople = rectifyUserId => {
+ return Number(rectifyUserId) == Number(currentUserId.value);
+ };
/**
* 鍒ゆ柇鏄惁鍙互鍙戣揣
@@ -925,6 +919,11 @@
const statusStr = shippingStatus ? String(shippingStatus).trim() : "";
return statusStr === "寰呭彂璐�" || statusStr === "瀹℃牳鎷掔粷";
};
+ const filePagination = ref({
+ current: 1,
+ size: 10,
+ total: 0,
+ });
/**
* 涓嬭浇鏂囦欢
@@ -935,12 +934,8 @@
const fileListDialogVisible = ref(false);
const currentFileRow = ref(null);
const downLoadFile = row => {
- currentFileRow.value = row;
- fileListPage({ safeHiddenId: row.id }).then(res => {
- if (fileListRef.value) {
- fileListRef.value.open(res.data.records);
- }
- });
+ currentRecordId.value = row.id;
+ fileListDialogVisible.value = true;
};
const currentUserId = ref("");
const currentUserName = ref("");
@@ -970,127 +965,12 @@
};
onMounted(() => {
+ getCurrentFactoryName();
getList();
userListNoPage().then(res => {
userList.value = res.data;
});
- getCurrentFactoryName();
});
- // 涓婁紶闄勪欢
- const handleUpload = async () => {
- if (!currentFileRow.value) {
- proxy.$modal.msgWarning("璇峰厛閫夋嫨鏁版嵁");
- return null;
- }
-
- return new Promise(resolve => {
- // 鍒涘缓涓�涓殣钘忕殑鏂囦欢杈撳叆鍏冪礌
- const input = document.createElement("input");
- input.type = "file";
- input.style.display = "none";
- input.onchange = async e => {
- const file = e.target.files[0];
- if (!file) {
- resolve(null);
- return;
- }
-
- try {
- // 浣跨敤 FormData 涓婁紶鏂囦欢
- const formData = new FormData();
- formData.append("file", file);
-
- const uploadRes = await request({
- url: "/file/upload",
- method: "post",
- data: formData,
- headers: {
- "Content-Type": "multipart/form-data",
- Authorization: `Bearer ${getToken()}`,
- },
- });
-
- if (uploadRes.code === 200) {
- // 淇濆瓨闄勪欢淇℃伅
- const fileData = {
- safeHiddenId: currentFileRow.value.id,
- name: uploadRes.data.originalName || file.name,
- url: uploadRes.data.tempPath || uploadRes.data.url,
- };
-
- const saveRes = await safeHiddenFileAdd(fileData);
- if (saveRes.code === 200) {
- proxy.$modal.msgSuccess("鏂囦欢涓婁紶鎴愬姛");
- // 閲嶆柊鍔犺浇鏂囦欢鍒楄〃
- const listRes = await fileListPage({
- safeHiddenId: currentFileRow.value.id,
- });
- if (listRes.code === 200 && fileListRef.value) {
- const fileList = (listRes.data?.records || []).map(item => ({
- name: item.name,
- url: item.url,
- id: item.id,
- ...item,
- }));
- fileListRef.value.setList(fileList);
- }
- // 杩斿洖鏂版枃浠朵俊鎭�
- resolve({
- name: fileData.name,
- url: fileData.url,
- id: saveRes.data?.id,
- });
- } else {
- proxy.$modal.msgError(saveRes.msg || "鏂囦欢淇濆瓨澶辫触");
- resolve(null);
- }
- } else {
- proxy.$modal.msgError(uploadRes.msg || "鏂囦欢涓婁紶澶辫触");
- resolve(null);
- }
- } catch (error) {
- proxy.$modal.msgError("鏂囦欢涓婁紶澶辫触");
- resolve(null);
- } finally {
- document.body.removeChild(input);
- }
- };
-
- document.body.appendChild(input);
- input.click();
- });
- };
- // 鍒犻櫎闄勪欢
- const handleFileDelete = async row => {
- try {
- const res = await safeHiddenFileDel([row.id]);
- if (res.code === 200) {
- proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- // 閲嶆柊鍔犺浇鏂囦欢鍒楄〃
- if (currentFileRow.value && fileListRef.value) {
- const listRes = await fileListPage({
- safeHiddenId: currentFileRow.value.id,
- });
- if (listRes.code === 200) {
- const fileList = (listRes.data?.records || []).map(item => ({
- name: item.name,
- url: item.url,
- id: item.id,
- ...item,
- }));
- fileListRef.value.setList(fileList);
- }
- }
- return true; // 杩斿洖 true 琛ㄧず鍒犻櫎鎴愬姛锛岀粍浠朵細鏇存柊鍒楄〃
- } else {
- proxy.$modal.msgError(res.msg || "鍒犻櫎澶辫触");
- return false;
- }
- } catch (error) {
- proxy.$modal.msgError("鍒犻櫎澶辫触");
- return false;
- }
- };
</script>
<style scoped lang="scss">
@@ -1290,4 +1170,12 @@
page-break-after: avoid;
}
}
+ .classtitle {
+ font-size: 16px;
+ font-weight: 600;
+ color: #303133;
+ border-left: 4px solid #409eff;
+ padding-left: 12px;
+ margin-bottom: 12px;
+ }
</style>
--
Gitblit v1.9.3