Quellcode durchsuchen

feature/spc控制图页面

dengrui vor 11 Monaten
Ursprung
Commit
bdd0de7c00

+ 1 - 1
.env.development

@@ -10,7 +10,7 @@ VITE_APP_BASE_API = '/dev-api'
 # 上传文件接口地址
 VITE_APP_UPLOAD_URL = 'http://192.168.101.4:9000'
 # 开发接口地址
- VITE_APP_API_URL = 'http://192.168.101.4:7104'
+ VITE_APP_API_URL = 'http://192.168.101.188:7105'
 
 
 # 是否启用 Mock 服务

+ 1 - 1
index.html

@@ -12,7 +12,7 @@
       name="keywords"
       content="vue,element-plus,typescript,vue-element-admin,vue3-element-admin"
     />
-    <title>综合管控采集平台</title>
+    <title>资料分析系统</title>
   </head>
 
   <body>

+ 1 - 0
package.json

@@ -51,6 +51,7 @@
     "echarts": "^5.5.0",
     "element-plus": "^2.6.0",
     "html2canvas": "^1.4.1",
+    "lodash": "^4.17.21",
     "lodash-es": "^4.17.21",
     "net": "^1.0.2",
     "nprogress": "^0.2.0",

+ 1 - 1
src/api/auth/index.ts

@@ -15,7 +15,7 @@ export function loginApi(data: LoginData): AxiosPromise<LoginResult> {
   // formData.append("captchaKey", data.captchaKey || "");
   // formData.append("captchaCode", data.captchaCode || "");
   return request({
-    url: "/api/auth/backLogin",
+    url: "/api/auth/login",
     method: "post",
     data: data,
     // headers: {

+ 11 - 10
src/components/ReportView/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="bgColor">
+  <div class="bgColor" v-if="modelValue" @click.stop="close">
     <div class="body">
       <div class="header">
         <div class="text">报告预览</div>
@@ -12,15 +12,7 @@
             v-print="'#print'"
             >打印</el-button
           >
-          <!-- <el-button
-            style="margin-right: 10px"
-            type="primary"
-            size="small"
-            class="btn"
-            @click="downloadPNG"
-            >导出</el-button
-          > -->
-          <span style="padding: 20px">X</span>
+          <span style="padding: 20px" @click="close">X</span>
         </div>
       </div>
       <div class="box">
@@ -77,6 +69,15 @@
 </template>
 
 <script setup>
+const props = defineProps({
+  modelValue: {
+    type: [Boolean],
+  },
+});
+const emits = defineEmits(["update:modelValue"]);
+const close = () => {
+  emits("update:modelValue", false);
+};
 // import html2canvas from "html2canvas";
 
 // const downloadPNG = async () => {

+ 9 - 0
src/router/modules/analysis.ts

@@ -20,6 +20,15 @@ export default {
       },
     },
     {
+      path: "process",
+      component: () => import("@/views/analysis/process/index.vue"),
+      name: "Process",
+      meta: {
+        title: "SPC控制图",
+        icon: "Guide",
+      },
+    },
+    {
       path: "task",
       name: "target",
       meta: {

+ 1 - 0
src/store/modules/dictionary.ts

@@ -31,6 +31,7 @@ export const useDictionaryStore = defineStore("dictionaryStore", () => {
     "process_check_result",
     "excel_type",
     "excel_states",
+    "spc_operation",
   ];
   const dicts = ref<{ [key: string]: any[] }>({});
 

+ 86 - 28
src/views/analysis/process/index.vue

@@ -21,30 +21,68 @@
     <div class="databox">
       <div class="box">
         <div class="title">
-          <div class="bg"></div>
-          样本数据录入
+          <div style="display: flex; align-items: center">
+            <div class="bg"></div>
+            样本数据录入
+          </div>
+
+          <div class="btns">
+            <el-button
+              class="btn"
+              :type="disabled ? 'success' : 'primary'"
+              @click="changeEdit"
+              >{{ disabled ? "保存" : "编辑" }}</el-button
+            >
+            <el-button
+              v-if="disabled"
+              type="info"
+              class="btn"
+              @click="cancelEdit"
+              >取消</el-button
+            >
+          </div>
         </div>
-        <div class="tableTitle">
+        <!-- <div class="tableTitle">
           调阻精度一致性检测表
           <span style="float: right; right: 30px">2024年</span>
-        </div>
+        </div> -->
         <div class="info">
           <el-table
             :data="tableData"
             border
             :style="{ height: maxHeight - 120 + 'px' }"
+            :show-overflow-tooltip="true"
           >
-            <el-table-column prop="date" label="Date" width="180" />
-            <el-table-column prop="name" label="Name" width="180" />
-            <el-table-column prop="address" label="Address" />
+            <el-table-column
+              align="center"
+              prop="date"
+              label="Date"
+              width="180"
+            />
+            <el-table-column
+              align="center"
+              prop="name"
+              label="Name"
+              width="180"
+            />
+            <el-table-column align="center" label="调整精度">
+              <el-table-column align="center" prop="date" label="date">
+                <template #default="{ row }"
+                  ><span v-if="!disabled">{{ row.date }}</span>
+                  <el-input v-else v-model="row.date" />
+                </template>
+              </el-table-column>
+              <el-table-column align="center" prop="name" label="name" />
+              <el-table-column align="center" prop="address" label="Address" />
+            </el-table-column>
           </el-table>
         </div>
-        <div class="illustrate">
+        <!-- <div class="illustrate">
           <div class="text">
             1)
             Cpk值为表征调阻精度一致性的参数,通过相应的软件计算得出,调阻精度是否符合要求得判据:Cpk值≥1.33。
           </div>
-        </div>
+        </div> -->
       </div>
     </div>
   </div>
@@ -52,21 +90,9 @@
 
 <script setup>
 import * as echarts from "echarts";
-const value = ref("");
-const options = [
-  {
-    value: "1",
-    label: "调阻1",
-  },
-  {
-    value: "23",
-    label: "调阻2",
-  },
-];
-const maxHeight = ref(null);
-const maxWidth = ref(null);
-const charts = shallowRef(null);
-const tableData = [
+import _ from "lodash";
+const disabled = ref(false);
+const tableData = ref([
   {
     date: "2016-05-03",
     name: "Tom",
@@ -162,7 +188,36 @@ const tableData = [
     name: "Tom",
     address: "No. 189, Grove St, Los Angeles",
   },
+]);
+const value = ref("");
+const searchValue = ref("");
+// const searchData = computed(() =>
+//   tableData.value.filter((item) => item.data.includes(searchValue.value))
+// );
+const changeEdit = () => {
+  if (disabled.value == false) {
+    disabled.value = true;
+  } else {
+    disabled.value = false;
+  }
+};
+const cancelEdit = () => {
+  disabled.value = false;
+};
+const options = [
+  {
+    value: "1",
+    label: "调阻1",
+  },
+  {
+    value: "23",
+    label: "调阻2",
+  },
 ];
+const maxHeight = ref(null);
+const maxWidth = ref(null);
+const charts = shallowRef(null);
+
 const chartsOption = ref({
   title: [
     {
@@ -228,10 +283,6 @@ const setHeight = () => {
 
 onMounted(() => {
   setHeight();
-  nextTick(() => {
-    charts.value = echarts.init(document.getElementById("charts"));
-    charts.value.setOption(chartsOption.value);
-  });
 });
 </script>
 
@@ -273,6 +324,13 @@ onMounted(() => {
         height: 30px;
         display: flex;
         align-items: center;
+        justify-content: space-between;
+        .btns {
+          .btn {
+            height: 24px;
+            font-size: 14px;
+          }
+        }
         .bg {
           width: 8px;
           height: 20px;

+ 2 - 3
src/views/login/index.vue

@@ -64,7 +64,7 @@
         </el-tooltip>
 
         <!-- 组织 -->
-        <el-form-item prop="orgId">
+        <!-- <el-form-item prop="orgId">
           <div class="flex-y-center w-full">
             <svg-icon icon-class="captcha" class="mx-2" />
             <el-select
@@ -82,7 +82,7 @@
               />
             </el-select>
           </div>
-        </el-form-item>
+        </el-form-item> -->
 
         <!-- 登录按钮 -->
         <el-button
@@ -253,7 +253,6 @@ function checkCapslock(e: any) {
 }
 
 onMounted?.(() => {
-  getOrgList();
   toggleTheme();
 });
 </script>

+ 3 - 1
src/views/statistic/report/index.vue

@@ -15,13 +15,14 @@
       </el-table>
       <Pagination />
     </div>
-    <ReportView />
+    <ReportView v-model="showStatus" />
   </div>
 </template>
 
 <script setup>
 import Search from "@/components/Search/index.vue";
 import ReportView from "@/components/ReportView/index.vue";
+const showStatus = ref(false);
 const tableData = [
   {
     date: "2016-05-03",
@@ -119,6 +120,7 @@ const tableData = [
     address: "No. 189, Grove St, Los Angeles",
   },
 ];
+
 const searchForm = [
   {
     label: "创建时间",