From aeabb6a019fbb7e60bd3b6c8cf3e4081abdff80c Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 18 五月 2026 20:39:10 +0800
Subject: [PATCH] feat: 设备巡检任务添加启用/停用
---
src/views/qualityManagement/rawMaterialInspection/index.vue | 110 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 73 insertions(+), 37 deletions(-)
diff --git a/src/views/qualityManagement/rawMaterialInspection/index.vue b/src/views/qualityManagement/rawMaterialInspection/index.vue
index 21cf85f..845d433 100644
--- a/src/views/qualityManagement/rawMaterialInspection/index.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/index.vue
@@ -41,7 +41,7 @@
<InspectionFormDia ref="inspectionFormDia" @close="handleQuery"></InspectionFormDia>
<FormDia ref="formDia" @close="handleQuery"></FormDia>
<files-dia ref="filesDia" @close="handleQuery"></files-dia>
- <el-dialog v-model="dialogFormVisible" title="缂栬緫妫�楠屽憳" width="70%"
+ <el-dialog v-model="dialogFormVisible" title="缂栬緫妫�楠屽憳" width="30%"
@close="closeDia">
<el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
<el-form-item label="妫�楠屽憳锛�" prop="checkName">
@@ -64,7 +64,7 @@
<script setup>
import {Search} from "@element-plus/icons-vue";
-import {onMounted, ref} from "vue";
+import {onMounted, ref, reactive, toRefs, getCurrentInstance, nextTick} from "vue";
import InspectionFormDia from "@/views/qualityManagement/rawMaterialInspection/components/inspectionFormDia.vue";
import FormDia from "@/views/qualityManagement/rawMaterialInspection/components/formDia.vue";
import {ElMessageBox} from "element-plus";
@@ -77,16 +77,14 @@
import FilesDia from "@/views/qualityManagement/rawMaterialInspection/components/filesDia.vue";
import dayjs from "dayjs";
import {userListNoPage} from "@/api/system/user.js";
+import useUserStore from "@/store/modules/user";
const data = reactive({
searchForm: {
supplier: "",
- entryDate: [
- dayjs().format("YYYY-MM-DD"),
- dayjs().add(1, "day").format("YYYY-MM-DD"),
- ], // 褰曞叆鏃ユ湡
- entryDateStart: dayjs().format("YYYY-MM-DD"),
- entryDateEnd: dayjs().add(1, "day").format("YYYY-MM-DD"),
+ entryDate: undefined, // 褰曞叆鏃ユ湡
+ entryDateStart: undefined,
+ entryDateEnd: undefined,
},
rules: {
checkName: [{required: true, message: "璇烽�夋嫨", trigger: "change"}],
@@ -97,6 +95,11 @@
{
label: "妫�娴嬫棩鏈�",
prop: "checkTime",
+ width: 120
+ },
+ {
+ label: "閲囪喘璁㈠崟鍙�",
+ prop: "purchaseContractNo",
width: 120
},
{
@@ -117,6 +120,10 @@
prop: "model",
},
{
+ label: "鍘氬害(mm)",
+ prop: "thickness",
+ },
+ {
label: "鍗曚綅",
prop: "unit",
},
@@ -126,34 +133,46 @@
width: 120
},
{
+ label: "鍚堟牸鏁伴噺",
+ prop: "qualifiedQuantity",
+ width: 100
+ },
+ {
+ label: "涓嶅悎鏍兼暟閲�",
+ prop: "unqualifiedQuantity",
+ width: 100
+ },
+ {
+ label: "鍚堟牸鐜�",
+ prop: "passRate",
+ width: 100,
+ dataType: "tag",
+ formatData: (params) => {
+ if (params == null || params === '') return '鈥�';
+ const n = Number(params);
+ if (Number.isNaN(n)) return '鈥�';
+ return `${n.toFixed(2)}%`;
+ },
+ formatType: (params) => {
+ if (params == null || params === '') return 'info';
+ const n = Number(params);
+ if (Number.isNaN(n)) return 'info';
+ if (n >= 100) return 'success';
+ if (n >= 90) return 'warning';
+ return 'danger';
+ },
+ },
+ {
label: "妫�娴嬪崟浣�",
prop: "checkCompany",
width: 120
},
{
- label: "妫�娴嬬粨鏋�",
- prop: "checkResult",
- dataType: "tag",
- formatType: (params) => {
- if (params === '涓嶅悎鏍�') {
- return "danger";
- } else if (params === '鍚堟牸') {
- return "success";
- } else {
- return null;
- }
- },
- },
- {
label: "鎻愪氦鐘舵��",
prop: "inspectState",
- formatData: (params) => {
- if (params) {
- return "宸叉彁浜�";
- } else {
- return "鏈彁浜�";
- }
- },
+ dataType: "tag",
+ formatData: (params) => (params == 1 || params === true ? '宸叉彁浜�' : '鏈彁浜�'),
+ formatType: (params) => (params == 1 || params === true ? 'success' : 'info'),
},
{
dataType: "action",
@@ -169,7 +188,13 @@
openForm("edit", row);
},
disabled: (row) => {
- return row.inspectState == 1;
+ // 宸叉彁浜ゅ垯绂佺敤
+ if (row.inspectState == 1) return true;
+ // 濡傛灉妫�楠屽憳鏈夊�硷紝鍙湁褰撳墠鐧诲綍鐢ㄦ埛鑳界紪杈�
+ if (row.checkName) {
+ return row.checkName !== userStore.nickName;
+ }
+ return false;
}
},
{
@@ -183,10 +208,16 @@
name: "鎻愪氦",
type: "text",
clickFun: (row) => {
- submit(row.id);
+ submit(row);
},
disabled: (row) => {
- return row.inspectState == 1;
+ // 宸叉彁浜ゅ垯绂佺敤
+ if (row.inspectState == 1) return true;
+ // 濡傛灉妫�楠屽憳鏈夊�硷紝鍙湁褰撳墠鐧诲綍鐢ㄦ埛鑳芥彁浜�
+ if (row.checkName) {
+ return row.checkName !== userStore.nickName;
+ }
+ return false;
}
},
{
@@ -199,9 +230,9 @@
proxy.$modal.msgError("妫�楠屽憳宸插瓨鍦�");
}
},
- disabled: (row) => {
- return row.inspectState;
- }
+ disabled: (row) => {
+ return row.inspectState == 1 || row.checkName;
+ }
},
{
name: "涓嬭浇",
@@ -231,6 +262,7 @@
const filesDia = ref()
const inspectionFormDia = ref()
const {proxy} = getCurrentInstance()
+const userStore = useUserStore()
const changeDaterange = (value) => {
searchForm.value.entryDateStart = undefined;
searchForm.value.entryDateEnd = undefined;
@@ -321,8 +353,12 @@
};
// 鎻愪环
-const submit = async (id) => {
- const res = await submitQualityInspect({id: id})
+const submit = async (row) => {
+ const res = await submitQualityInspect({
+ id: row.id,
+ qualifiedQuantity: row.qualifiedQuantity,
+ unqualifiedQuantity: row.unqualifiedQuantity
+ })
if (res.code === 200) {
proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
getList();
--
Gitblit v1.9.3