Przeglądaj źródła

1. 过程能力指标页面修改
2. Xbar-R、Xbar-S控制图Excel数据导入修改

luofeng 2 miesięcy temu
rodzic
commit
821a7259f8

+ 2 - 2
src/views/analysis/process/Xbar-RList.vue

@@ -732,11 +732,11 @@ const uploadRef = ref("uploadRef");
 const handleSuccess = (response) => {
   if (response.code === "200") {
     ElMessage.success("Excel导入成功!");
-    uploadRef.value.clearFiles();
     getTableData();
   } else {
-    ElMessage.error("Excel导入失败!");
+    ElMessage.error(response.msg);
   }
+  uploadRef.value.clearFiles();
 };
 
 onMounted(async () => {

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

@@ -730,11 +730,11 @@ const uploadRef = ref("uploadRef");
 const handleSuccess = (response) => {
   if (response.code === "200") {
     ElMessage.success("Excel导入成功!");
-    uploadRef.value.clearFiles();
     getTableData();
   } else {
-    ElMessage.error("Excel导入失败!");
+    ElMessage.error(response.msg);
   }
+  uploadRef.value.clearFiles();
 };
 
 onMounted(async () => {

+ 55 - 225
src/views/analysis/target/index/index.vue

@@ -162,11 +162,21 @@
                     ><span>{{ row.model }}</span>
                   </template>
                 </el-table-column>
+                <el-table-column align="center" prop="code" label="产品编号">
+                  <template #default="{ row }"
+                    ><span>{{ row.code }}</span>
+                  </template>
+                </el-table-column>
                 <el-table-column align="center" prop="batchNo" label="生产批号">
                   <template #default="{ row }"
                     ><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"
@@ -255,13 +265,24 @@
                 </el-table-column>
                 <el-table-column
                   align="center"
-                  width="260"
+                  width="300"
                   prop=""
                   label="操作"
                   id="opear"
                 >
                   <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"
                       class="btn"
                       @click="computeCPK(row.id)"
@@ -521,227 +542,6 @@
             />
           </div>
           <div class="info" v-if="addStatus">
-            <!-- <el-table
-              :data="addData"
-              border
-              :style="{ height: 120 + 'px', width: maxWidth + 'px' }"
-              :show-overflow-tooltip="true"
-            >
-              <el-table-column
-                align="center"
-                width="60"
-                prop="dateStr"
-                label="日期"
-              >
-                <template #default="{ row }"
-                  >
-                  <el-input-number
-
-                    v-model="row.accuracy1"
-                    :precision="2"
-                    :step="0.01"
-                    width="60"
-                  />
-                </template>
-              </el-table-column>
-              <el-table-column
-                align="center"
-                width="140"
-                prop="model"
-                label="产品型号"
-              >
-                <template #default="{ row }"
-                  >
-                  <el-input-number
-
-                    v-model="row.accuracy1"
-                    :precision="2"
-                    :step="0.01"
-                    width="60"
-                  />
-                </template>
-              </el-table-column>
-              <el-table-column
-                align="center"
-                width="140"
-                prop="batchNo"
-                label="生产批号"
-              >
-                <template #default="{ row }"
-                  >
-                  <el-input-number
-
-                    v-model="row.accuracy1"
-                    :precision="2"
-                    :step="0.01"
-                    width="60"
-                  />
-                </template>
-              </el-table-column>
-              <el-table-column align="center" :label="showLable + '精度'">
-                <el-table-column
-                  align="center"
-                  prop="accuracy1"
-                  width="180"
-                  label="精度1"
-                >
-                  <template #default="{ row }"
-                    >
-                    <el-input-number
-
-                      v-model="row.accuracy1"
-                      :precision="2"
-                      :step="0.01"
-                      width="60"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  align="center"
-                  prop="accuracy2"
-                  width="180"
-                  label="精度2"
-                >
-                  <template #default="{ row }"
-                    >
-                    <el-input-number
-
-                      v-model="row.accuracy2"
-                      :precision="2"
-                      :step="0.01"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  align="center"
-                  prop="accuracy3"
-                  width="180"
-                  label="精度3"
-                >
-                  <template #default="{ row }"
-                    >
-                    <el-input-number
-
-                      v-model="row.accuracy3"
-                      :precision="2"
-                      :step="0.01"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  align="center"
-                  prop="accuracy4"
-                  width="180"
-                  label="精度4"
-                >
-                  <template #default="{ row }"
-                    >
-                    <el-input-number
-
-                      v-model="row.accuracy4"
-                      :precision="2"
-                      :step="0.01"
-                    />
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  align="center"
-                  prop="accuracy5"
-                  width="180"
-                  label="精度5"
-                >
-                  <template #default="{ row }"
-                    >
-                    <el-input-number
-
-                      v-model="row.accuracy5"
-                      :precision="2"
-                      :step="0.01"
-                    />
-                  </template>
-                </el-table-column> </el-table-column
-              ><el-table-column align="center" prop="avg" label="平均值">
-                <template #default="{ row }"
-                  >
-                  <el-input-number
-
-                    v-model="row.accuracy1"
-                    :precision="2"
-                    :step="0.01"
-                    width="60"
-                  />
-                </template> </el-table-column
-              ><el-table-column align="center" prop="range" label="极差">
-                <template #default="{ row }"
-                  >
-                  <el-input-number
-
-                    v-model="row.accuracy1"
-                    :precision="2"
-                    :step="0.01"
-                    width="60"
-                  />
-                </template> </el-table-column
-              ><el-table-column align="center" prop="checkUser" label="检测人">
-                <template #default="{ row }"
-                  >
-                  <el-input-number
-
-                    v-model="row.accuracy1"
-                    :precision="2"
-                    :step="0.01"
-                    width="60"
-                  />
-                </template> </el-table-column
-              ><el-table-column
-                align="center"
-                prop="checkDeviceNo"
-                label="检查设备编号"
-              >
-                <template #default="{ row }"
-                  >
-                  <el-input-number
-
-                    v-model="row.accuracy1"
-                    :precision="2"
-                    :step="0.01"
-                    width="60"
-                  />
-                </template>
-              </el-table-column>
-              <el-table-column align="center" prop="abnormal" label="是否异常">
-                <template #default="{ row }"
-                  >
-                  <el-input-number
-
-                    v-model="row.accuracy1"
-                    :precision="2"
-                    :step="0.01"
-                    width="60"
-                  />
-                </template>
-              </el-table-column>
-              <el-table-column align="center" prop="analyseUser" label="分析人">
-                <template #default="{ row }"
-                  >
-                  <el-input-number
-
-                    v-model="row.accuracy1"
-                    :precision="2"
-                    :step="0.01"
-                    width="60"
-                  />
-                </template>
-              </el-table-column>
-              <el-table-column align="center" prop="measure" label="处置措施" />
-              <template #empty>
-                <div>
-                  <span style="color: green; font-size: 16px"
-                    >请先导入文件</span
-                  >
-                </div>
-              </template>
-            </el-table> -->
             <el-scrollbar :style="{ height: Height - 80 + 'px' }">
               <el-form
                 ref="ruleFormRef"
@@ -781,6 +581,12 @@
                 <el-form-item label="产品型号" prop="model">
                   <el-input :disabled="true" v-model="addData.model" />
                 </el-form-item>
+                <el-form-item label="产品编号" prop="code">
+                  <el-input :disabled="true" v-model="addData.code" />
+                </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="model">
                   &lt;!&ndash; <el-select  v-model="addData.model">
                     <el-option
@@ -904,11 +710,35 @@ import {
   updateData,
   getTaskCode,
   cpkCompute,
+  collectData,
 } from "@/api/analysis";
 import Search from "@/components/Search/index.vue";
 import { ElMessage, ElMessageBox } from "element-plus";
 
-// 模拟后台接口
+// 在你的组件 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 cpkApi = async (id) => {
   const { data } = await cpkCompute({
     spcRecordId: id,
@@ -971,6 +801,8 @@ const taskChange = (value) => {
   taskOption.value.forEach((item) => {
     if (item.id == value) {
       addData.value.model = item.prodtModel;
+      addData.value.code = item.prodtCode;
+      addData.value.source = item.source;
       if (item.source === "手动") {
         accuracysSum.value = Number(item.processCount);
         addData.value.accuracys = [];
@@ -1485,7 +1317,6 @@ const chartsOption1 = ref({
               type: "solid",
               color: "#333",
               width: 2,
-              type: "dashed",
             },
           },
         ],
@@ -1593,7 +1424,6 @@ const chartsOption2 = ref({
               type: "solid",
               color: "#333",
               width: 2,
-              type: "dashed",
             },
           },
         ],