Pārlūkot izejas kodu

1. spc任务管理页面修改
2. Xbar-S控制图页面修改

luofeng 3 mēneši atpakaļ
vecāks
revīzija
7d1c27ee15

+ 47 - 2
src/views/analysis/process/Xbar-SList.vue

@@ -111,6 +111,11 @@
                   ><span>{{ row.batchNo }}</span>
                 </template>
               </el-table-column>
+              <el-table-column align="center" prop="source" label="数据来源">
+                <template #default="{ row }"
+                  ><span>{{ row.source }}</span>
+                </template>
+              </el-table-column>
               <el-table-column
                 align="center"
                 prop="accuracys"
@@ -194,9 +199,20 @@
                   ><span>{{ row.measure }}</span>
                 </template>
               </el-table-column>
-              <el-table-column align="center" width="160" prop="" label="操作">
+              <el-table-column align="center" width="255" prop="" label="操作">
                 <template #default="{ row }">
                   <el-button
+                    v-if="row.source === '自动'"
+                    :type="loadingRows[row.id] ? 'info' : 'primary'"
+                    size="small"
+                    :loading="loadingRows[row.id]"
+                    @click="dataAcquisition(row)"
+                    :disabled="loadingRows[row.id]"
+                    style="height: 25px"
+                  >
+                    {{ loadingRows[row.id] ? "数据采集中..." : "采集数据" }}
+                  </el-button>
+                  <el-button
                     type="primary"
                     size="small"
                     class="btn"
@@ -264,6 +280,9 @@
               <el-form-item label="产品型号" prop="model">
                 <el-input :disabled="true" v-model="addData.model" />
               </el-form-item>
+              <el-form-item label="数据来源" prop="source">
+                <el-input :disabled="true" v-model="addData.source" />
+              </el-form-item>
               <el-form-item label="生产批号" prop="batchNo">
                 <el-input v-model="addData.batchNo" />
               </el-form-item>
@@ -325,7 +344,7 @@ import {
   getTaskCode,
 } from "@/api/analysis";
 import Search from "@/components/Search/index.vue";
-import { XBarSCompute } from "@/api/analysis";
+import { XBarSCompute, collectData } from "@/api/analysis";
 import { useCrud } from "@/hooks/userCrud";
 
 const { Utils } = useCrud({
@@ -338,6 +357,32 @@ const emit = defineEmits([
   "update:addStatus",
   "update:editStatus",
 ]);
+
+// 在你的组件 setup 中
+const loadingRows = ref({});
+
+const dataAcquisition = async (row) => {
+  loadingRows.value = { ...loadingRows.value, [row.id]: true };
+  try {
+    // 这里替换为你的实际请求
+    const { code } = await collectData({
+      qualitySpcRecordId: row.id,
+      model: row.model,
+      batchNo: row.batchNo,
+      operation: lableValue.value,
+    });
+    if (200 == code) {
+      ElMessage.success("数据采集成功!");
+      getTableData();
+    }
+  } catch (error) {
+    console.error("数据采集失败:", error);
+    // 可以在这里添加错误处理,比如显示错误消息
+  } finally {
+    loadingRows.value = { ...loadingRows.value, [row.id]: false };
+  }
+};
+
 const compute = async () => {
   // 存储提取的 accuracys 数据
   const accuracysList = ref([]);

+ 40 - 40
src/views/analysis/spc/index.vue

@@ -17,34 +17,34 @@
         @click="toAdd"
         >新增</el-button
       >
-      <el-table
-        :data="tableData"
-        border
-
-      >
-        <el-table-column prop="taskCode" label="任务编号" />
-        <el-table-column prop="prodtModel" label="产品型号" />
-        <el-table-column prop="operationName" label="工序名称" />
-        <el-table-column prop="source" label="采集数据源" />
+      <el-table :data="tableData" border>
+        <el-table-column align="center" prop="taskCode" label="任务编号" />
+        <el-table-column align="center" prop="prodtModel" label="产品型号" />
+        <el-table-column align="center" prop="operationName" label="工序名称" />
+        <el-table-column align="center" prop="source" label="采集数据源" />
         <!--        <el-table-column prop="param" label="控制参数" />-->
         <!--        <el-table-column prop="chart" label="控制图" />-->
-        <el-table-column prop="address" label="预警规则">
-          <template #default="{ row }">
-            <el-button
-              type="primary"
-              class="btn"
-              style="height: 25px"
-              link
-              @click="toRuler(row)"
-              >编辑</el-button
-            >
-          </template>
-        </el-table-column>
-        <el-table-column prop="processCount" label="工序采集点数" />
+        <!--        <el-table-column prop="address" label="预警规则">-->
+        <!--          <template #default="{ row }">-->
+        <!--            <el-button-->
+        <!--              type="primary"-->
+        <!--              class="btn"-->
+        <!--              style="height: 25px"-->
+        <!--              link-->
+        <!--              @click="toRuler(row)"-->
+        <!--              >编辑</el-button-->
+        <!--            >-->
+        <!--          </template>-->
+        <!--        </el-table-column>-->
+        <el-table-column
+          align="center"
+          prop="processCount"
+          label="工序采集点数"
+        />
         <!--        <el-table-column prop="centralValue" label="中心值" />-->
         <!--        <el-table-column prop="upperLimit" label="上限" />-->
         <!--        <el-table-column prop="floor" label="下限" />-->
-        <el-table-column prop="created" label="创建时间" />
+        <el-table-column align="center" prop="created" label="创建时间" />
         <el-table-column
           align="center"
           width="160"
@@ -97,16 +97,19 @@
           <el-form-item label="任务编号" prop="taskCode">
             <el-input v-model="formData.taskCode" />
           </el-form-item>
-          <el-form-item label="产品型号" prop="Index1">
-            <el-select v-model="formData.Index1">
-              <el-option
-                v-for="(item, index) in opInfoData"
-                :key="index"
-                :label="item.prodtModel"
-                :value="index"
-              />
-            </el-select>
+          <el-form-item label="产品型号" prop="prodtModel">
+            <el-input v-model="formData.prodtModel" />
           </el-form-item>
+          <!--          <el-form-item label="产品型号" prop="Index1">-->
+          <!--            <el-select v-model="formData.Index1">-->
+          <!--              <el-option-->
+          <!--                v-for="(item, index) in opInfoData"-->
+          <!--                :key="index"-->
+          <!--                :label="item.prodtModel"-->
+          <!--                :value="index"-->
+          <!--              />-->
+          <!--            </el-select>-->
+          <!--          </el-form-item>-->
           <el-form-item label="工序名称" prop="Index2">
             <el-select v-model="formData.Index2">
               <el-option
@@ -240,7 +243,7 @@ const toRuler = (row) => {
   router.push({ name: "SPCrules" });
 };
 const getData = async (obj) => {
-  console.log("222222222222222222")
+  console.log("222222222222222222");
   const { data, code } = await getTableData({
     ...searchRef.value.searchForm,
     pageNo: currentOption.page,
@@ -263,7 +266,7 @@ const rules = {
       message: "请输入任务编号",
     },
   ],
-  Index1: [
+  prodtModel: [
     {
       required: true,
       message: "请选择产品型号",
@@ -383,8 +386,8 @@ const reset = () => {
     limit: 10,
     pageSizes: [10, 20, 30, 40, 50],
   };
-  console.log(currentOption.value, "currentOption.value")
-  console.log("11111111111111111")
+  console.log(currentOption.value, "currentOption.value");
+  console.log("11111111111111111");
 };
 
 const resetData = () => {
@@ -400,10 +403,7 @@ const toSubmit = async () => {
           chart: formData.value.chart,
           operationCode: opOptions.value[formData.value.Index2].dictValue,
           operationName: opOptions.value[formData.value.Index2].dictLabel,
-          prodtCode: opInfoData.value[formData.value.Index1].prodtCode,
-          prodtModel: opInfoData.value[formData.value.Index1].prodtModel,
-          prodtName: opInfoData.value[formData.value.Index1].prodtName,
-          unit: opInfoData.value[formData.value.Index1].unit,
+          prodtModel: formData.value.prodtModel,
           param: formData.value.param,
           source: formData.value.source,
           processCount: formData.value.processCount,