From 366612bd8e8b88d02a98edf508f96d7add23ff9f Mon Sep 17 00:00:00 2001
From: pengwei <2071057782@qq.com>
Date: 星期日, 27 四月 2025 16:03:38 +0800
Subject: [PATCH] 功能新增

---
 项目代码/client/src/views/tts/CraftCenter/Craftcenter.vue |  694 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 419 insertions(+), 275 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/CraftCenter/Craftcenter.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/CraftCenter/Craftcenter.vue"
index 27e58a9..dd4bc92 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/CraftCenter/Craftcenter.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/CraftCenter/Craftcenter.vue"
@@ -34,10 +34,14 @@
               <span>姝や负浠诲姟浣滅敤涓數姘旂殑鐨勮鎯呮楠ゅ伐鑹恒��</span>
               <div style="display: flex; margin-top: 0.81rem">
                 <span style="margin-right: 1.25rem"
-                  >姝ラ锛歿{ electric ? electric.maxNodal : "0" }}</span
+                  >姝ラ锛歿{
+                    electric.length != 0 ? electric[0].maxNodal : "0"
+                  }}</span
                 >
                 <span
-                  >濂楃瓛鏁伴噺锛歿{ electric ? electric.sumTorqueSum : "0" }}</span
+                  >濂楃瓛鏁伴噺锛歿{
+                    electric != 0 ? electric[0].sumTorqueSum : "0"
+                  }}</span
                 >
               </div>
             </div>
@@ -102,11 +106,13 @@
               <span>姝や负浠诲姟浣滅敤涓満姊扮殑鐨勮鎯呮楠ゅ伐鑹恒��</span>
               <div style="display: flex; margin-top: 0.81rem">
                 <span style="margin-right: 1.25rem"
-                  >姝ラ锛歿{ mechanical ? mechanical.maxNodal : "0" }}</span
+                  >姝ラ锛歿{
+                    mechanical != 0 ? mechanical[0].maxNodal : "0"
+                  }}</span
                 >
                 <span
                   >濂楃瓛鏁伴噺锛歿{
-                    mechanical ? mechanical.sumTorqueSum : "0"
+                    mechanical.length != 0 ? mechanical[0].sumTorqueSum : "0"
                   }}</span
                 >
               </div>
@@ -172,9 +178,15 @@
               <span>姝や负浠诲姟浣滅敤涓湴娌熺殑鐨勮鎯呮楠ゅ伐鑹恒��</span>
               <div style="display: flex; margin-top: 0.81rem">
                 <span style="margin-right: 1.25rem"
-                  >姝ラ锛歿{ trench ? trench.maxNodal : "0" }}</span
+                  >姝ラ锛歿{
+                    trench.length != 0 ? trench[0].maxNodal : "0"
+                  }}</span
                 >
-                <span>濂楃瓛鏁伴噺锛歿{ trench ? trench.sumTorqueSum : "0" }}</span>
+                <span
+                  >濂楃瓛鏁伴噺锛歿{
+                    trench.length != 0 ? trench[0].sumTorqueSum : "0"
+                  }}</span
+                >
               </div>
             </div>
           </div>
@@ -230,6 +242,7 @@
           </el-icon>
         </div>
       </template>
+
       <div>
         <div class="head">
           <div class="serch">
@@ -300,6 +313,7 @@
           >
         </div>
         <el-table
+          empty-text="鏆傛棤鏁版嵁"
           style="margin-top: 1.13rem"
           :data="gridData"
           height="430"
@@ -332,7 +346,7 @@
             min-width="5%"
           />
           <el-table-column prop="tools" label="宸ュ叿" min-width="2%" />
-          <el-table-column prop="date" label="鐗╂枡" min-width="1%" />
+          <el-table-column prop="material" label="鐗╂枡" min-width="1%" />
           <!-- <el-table-column prop="date" label="鍥剧墖瑙嗛" min-width="2%" /> -->
           <el-table-column prop="" label="鏄惁娑夊強" min-width="2%" />
           <el-table-column prop="setpNum" label="鎺掑簭" min-width="1%" />
@@ -379,54 +393,72 @@
           </h4>
         </div>
       </template>
-      <el-form
-        :model="form"
-        label-width="auto"
-        label-position="top"
-        :rules="rules"
-        ref="ruleFormRef"
-      >
-        <el-row :gutter="10">
-          <el-col :span="16"
-            ><el-form-item prop="craftsStep">
-              <template #label>
-                <span style="font-size: 0.88rem; color: black"
-                  >宸ヨ壓椤剁偣/姝ラ</span
-                >
-              </template>
-              <el-input
-                size="small"
-                v-model="form.craftsStep"
-                placeholder="璇疯緭鍏�"
-                style="height: 2rem"
-              /> </el-form-item
-          ></el-col>
-          <el-col :span="8"
-            ><el-form-item prop="DeviceCode">
-              <template #label>
-                <span style="font-size: 0.88rem; color: black">鐗╂枡</span>
-              </template>
-              <el-select
-                v-model="WLvalue"
-                placeholder="璇烽�夋嫨"
-                multiple
-                filterable
-                :remote-method="remoteMethod"
-                :loading="loading"
-                size="small"
-                style="width: 240px"
-              >
-                <el-option
-                  v-for="item in WLoptions"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                />
-              </el-select> </el-form-item
-          ></el-col>
-        </el-row>
-        <el-row :gutter="10">
-          <el-col :span="8"
+      <el-scrollbar height="44rem">
+        <el-form
+          :model="form"
+          label-width="auto"
+          label-position="top"
+          :rules="rules"
+          ref="ruleFormRef"
+        >
+          <el-row :gutter="10">
+            <el-col :span="8"
+              ><el-form-item prop="nodal">
+                <template #label>
+                  <span style="font-size: 0.88rem; color: black">搴忓彿</span>
+                </template>
+                <el-input
+                  size="small"
+                  v-model.number="form.nodal"
+                  placeholder="璇疯緭鍏�"
+                  style="height: 2rem"
+                /> </el-form-item
+            ></el-col>
+
+            <el-col :span="8"
+              ><el-form-item prop="setpNum">
+                <template #label>
+                  <span style="font-size: 0.88rem; color: black">鎺掑簭</span>
+                </template>
+                <el-input
+                  size="small"
+                  v-model.number="form.setpNum"
+                  placeholder="璇疯緭鍏�"
+                  style="height: 2rem"
+                /> </el-form-item
+            ></el-col>
+            <el-col :span="8"
+              ><el-form-item prop="DeviceCode">
+                <template #label>
+                  <span style="font-size: 0.88rem; color: black">鐗╂枡</span>
+                </template>
+                <el-input
+                  v-model="form.material"
+                  style="height: 2rem"
+                  placeholder="璇疯緭鍏�"
+                /> </el-form-item
+            ></el-col>
+          </el-row>
+
+          <el-row :gutter="10">
+            <el-col
+              ><el-form-item prop="craftsStep">
+                <template #label>
+                  <span style="font-size: 0.88rem; color: black"
+                    >宸ヨ壓椤剁偣/姝ラ</span
+                  >
+                </template>
+                <el-input
+                  size="small"
+                  v-model="form.craftsStep"
+                  placeholder="璇疯緭鍏�"
+                  style="height: 2rem"
+                /> </el-form-item
+            ></el-col>
+          </el-row>
+
+          <el-row :gutter="10">
+            <!-- <el-col :span="8"
             ><el-form-item prop="isinvolved">
               <template #label>
                 <span style="font-size: 0.88rem; color: black">鏄惁娑夊強</span>
@@ -444,49 +476,106 @@
                   :value="item.value"
                 />
               </el-select> </el-form-item
-          ></el-col>
-          <el-col :span="8"
-            ><el-form-item prop="sort">
-              <template #label>
-                <span style="font-size: 0.88rem; color: black">鎺掑簭</span>
-              </template>
-              <el-input
-                size="small"
-                v-model="form.setpNum"
-                placeholder="璇疯緭鍏�"
-                style="height: 2rem"
-              /> </el-form-item
-          ></el-col>
-          <el-col :span="8"
-            ><el-form-item prop="tools">
-              <template #label>
-                <div style="display: flex; align-items: center">
-                  <span style="display: flex; color: red; margin-right: 0.25rem"
-                    >*</span
-                  >
-                  <span style="font-size: 0.88rem; color: black">宸ュ叿</span>
-                </div>
-              </template>
-              <el-select
-                v-model="tools"
-                placeholder="璇烽�夋嫨"
-                multiple
-                filterable
-                :remote-method="GJremoteMethod"
-                :loading="GJloading"
-                size="small"
-                style="width: 240px"
-                value-key="id"
-              >
-                <el-option
-                  v-for="item in GJoptions"
-                  :key="item.id"
-                  :label="item.toolName"
-                  :value="item"
-                /> </el-select></el-form-item
-          ></el-col>
-        </el-row>
-        <!-- <el-row>
+          ></el-col> -->
+            <el-col :span="8"
+              ><el-form-item prop="tools">
+                <template #label>
+                  <div style="display: flex; align-items: center">
+                    <span style="font-size: 0.88rem; color: black">宸ュ叿</span>
+                  </div>
+                </template>
+                <el-select
+                  style="height: 2rem"
+                  v-model="tools"
+                  placeholder="璇烽�夋嫨"
+                  multiple
+                  filterable
+                  :remote-method="GJremoteMethod"
+                  :loading="GJloading"
+                  size="small"
+                  value-key="id"
+                >
+                  <el-option
+                    v-for="item in GJoptions"
+                    :key="item.id"
+                    :label="item.toolName"
+                    :value="item"
+                  /> </el-select></el-form-item
+            ></el-col>
+
+            <el-col :span="4"
+              ><el-form-item prop="tools">
+                <template #label>
+                  <div style="display: flex; align-items: center">
+                    <span style="font-size: 0.88rem; color: black"
+                      >绗竴娆℃壄鍔涚殑鍊�</span
+                    >
+                  </div>
+                </template>
+                <el-input
+                  size="small"
+                  v-model="form.torqueOne"
+                  placeholder="璇疯緭鍏�"
+                  style="height: 2rem"
+                >
+                  <template #suffix>
+                    <span style="font-size: 0.88rem; color: black">N*m</span>
+                  </template>
+                </el-input>
+              </el-form-item></el-col
+            >
+
+            <el-col :span="4"
+              ><el-form-item prop="tools">
+                <template #label>
+                  <div style="display: flex; align-items: center">
+                    <span style="font-size: 0.88rem; color: black">鏁伴噺</span>
+                  </div>
+                </template>
+                <el-input
+                  size="small"
+                  v-model="form.torqueOneQuantity"
+                  placeholder="璇疯緭鍏�"
+                  style="height: 2rem" /></el-form-item
+            ></el-col>
+
+            <el-col :span="4"
+              ><el-form-item prop="tools">
+                <template #label>
+                  <div style="display: flex; align-items: center">
+                    <span style="font-size: 0.88rem; color: black"
+                      >绗簩娆℃壄鍔涚殑鍊�</span
+                    >
+                  </div>
+                </template>
+                <el-input
+                  size="small"
+                  v-model="form.torqueTwo"
+                  placeholder="璇疯緭鍏�"
+                  style="height: 2rem"
+                >
+                  <template #suffix>
+                    <span style="font-size: 0.88rem; color: black">N*m</span>
+                  </template>
+                </el-input></el-form-item
+              ></el-col
+            >
+
+            <el-col :span="4"
+              ><el-form-item prop="tools">
+                <template #label>
+                  <div style="display: flex; align-items: center">
+                    <span style="font-size: 0.88rem; color: black">鏁伴噺</span>
+                  </div>
+                </template>
+                <el-input
+                  size="small"
+                  v-model="form.torqueTwoQuantity"
+                  placeholder="璇疯緭鍏�"
+                  style="height: 2rem" /></el-form-item
+            ></el-col>
+          </el-row>
+          <!-- <el-row>
           <el-form-item prop="Unit">
             <template #label
               ><span style="font-size: 0.88rem; color: black"
@@ -535,66 +624,72 @@
             </el-upload>
           </el-form-item>
         </el-row> -->
-        <el-row>
-          <h4
-            style="
-              color: rgba(16, 16, 16, 1);
-              font-size: 1.13rem;
-              font-weight: bold;
-            "
-          >
-            宸ヨ壓鍐呭
-          </h4>
-        </el-row>
-        <el-row>
-          <el-col>
-            <el-form-item prop="craftContent">
-              <template #label>
-                <span style="font-size: 0.88rem; color: black">鍐呭鎻忚堪</span>
-              </template>
-              <el-input v-model="form.craftContent" placeholder="璇疯緭鍏�" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-form-item prop="checkList">
-            <template #label>
-              <div style="display: flex; align-items: center">
-                <span style="display: flex; color: red; margin-right: 0.25rem"
-                  >*</span
-                >
-                <span style="font-size: 0.88rem; color: black">閫夋嫨濂楃瓛</span>
-              </div>
-            </template>
-            <div
+          <el-row>
+            <h4
               style="
-                display: flex;
-                justify-content: space-between;
-                width: 32.5rem;
-                height: 25rem;
+                color: rgba(16, 16, 16, 1);
+                font-size: 1.13rem;
+                font-weight: bold;
               "
             >
-              <div style="width: 50%; height: 100%; background: #f5f5f5">
-                <div
-                  style="
-                    padding: 0.88rem 0.88rem 0 0.88rem;
-                    box-sizing: border-box;
-                  "
-                >
-                  <el-input
+              宸ヨ壓鍐呭
+            </h4>
+          </el-row>
+          <el-row>
+            <el-col>
+              <el-form-item prop="craftContent">
+                <template #label>
+                  <span style="font-size: 0.88rem; color: black">鍐呭鎻忚堪</span>
+                </template>
+                <el-input
+                  type="textarea"
+                  :rows="3"
+                  v-model="form.craftContent"
+                  placeholder="璇疯緭鍏�"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-form-item prop="checkList">
+              <template #label>
+                <div style="display: flex; align-items: center">
+                  <span style="font-size: 0.88rem; color: black">閫夋嫨濂楃瓛</span>
+                </div>
+              </template>
+              <div
+                style="
+                  display: flex;
+                  justify-content: space-between;
+                  width: 32.5rem;
+                  height: 25rem;
+                "
+              >
+                <div style="width: 50%; height: 100%; background: #f5f5f5">
+                  <div
+                    style="
+                      padding: 0.88rem 0.88rem 0 0.88rem;
+                      box-sizing: border-box;
+                    "
+                  >
+                    <!-- <el-input
                     placeholder="鎼滅储"
                     style="height: 2rem; background: #f5f5f5; border: none"
                     :prefix-icon="Search"
                     v-model="value"
-                  ></el-input>
-                  <div
-                    style="height: 1.25rem; display: flex; align-items: center"
-                  >
-                    <span
-                      style="color: rgba(28, 31, 35, 0.8); font-size: 0.75rem"
-                      >鍏眥{ checkList.length }}椤�</span
+                  ></el-input> -->
+                    <div
+                      style="
+                        height: 1.25rem;
+                        display: flex;
+                        align-items: center;
+                      "
                     >
-                    <!-- <span
+                      <span
+                        style="color: rgba(28, 31, 35, 0.8); font-size: 0.75rem"
+                        >鍏眥{ checkList.length }}椤�</span
+                      >
+                      <!-- <span
                       @click="handleCheckAllChange"
                       style="
                         color: rgba(28, 31, 35, 0.8);
@@ -604,80 +699,79 @@
                       "
                       >鍏ㄩ��</span
                     > -->
+                    </div>
                   </div>
-                </div>
-                <el-scrollbar height="20rem" style="padding-left: 0.88rem">
-                  <el-checkbox-group
-                    :indeterminate="isIndeterminate"
-                    @change="checkChange"
-                    v-model="checkList"
-                    style="display: flex; flex-direction: column"
-                  >
-                    <el-checkbox
-                      :max="2"
-                      v-for="item in sleeveData"
-                      :key="item.id"
-                      :label="item.articleName"
-                      :value="{
-                        ...item,
-                        num: 1,
-                      }"
-                    />
-                  </el-checkbox-group>
-                </el-scrollbar>
-              </div>
-              <div style="width: 50%; height: 100%">
-                <div
-                  style="padding: 0.88rem 0 0 0.88rem; box-sizing: border-box"
-                >
-                  <span style="color: rgb(167, 171, 176); font-size: 0.88rem"
-                    >宸查�墈{ checkList.length }}椤�</span
-                  >
-                  <span
-                    @click="clear"
-                    style="
-                      color: rgb(65, 70, 76);
-                      font-size: 0.88rem;
-                      margin-left: 1rem;
-                      cursor: pointer;
-                    "
-                    >娓呯┖</span
-                  >
-                </div>
-                <el-scrollbar
-                  height="calc(25rem - 44.15px)"
-                  style="padding-left: 0.88rem"
-                >
-                  <p
-                    style="
-                      display: flex;
-                      justify-content: space-between;
-                      margin: 0.5rem 0;
-                    "
-                    v-for="item in checkList"
-                    :key="item.id"
-                    class="scrollbar-demo-item"
-                  >
-                    <span>
-                      {{ item.articleName }}
-                    </span>
-                    <span>
-                      <el-input-number
-                        size="small"
-                        style="width: 7rem"
-                        v-model="item.num"
-                        :min="1"
-                        :max="100"
-                        @change="handleChange"
+                  <el-scrollbar height="20rem" style="padding-left: 0.88rem">
+                    <el-checkbox-group
+                      :indeterminate="isIndeterminate"
+                      @change="checkChange"
+                      v-model="checkboxId"
+                      style="display: flex; flex-direction: column"
+                    >
+                      <el-checkbox
+                        :max="2"
+                        v-for="item in sleeveData"
+                        :key="item.id"
+                        :label="item.articleName"
+                        :value="item.id"
                       />
-                    </span>
-                  </p>
-                </el-scrollbar>
+                    </el-checkbox-group>
+                  </el-scrollbar>
+                </div>
+                <div style="width: 50%; height: 100%">
+                  <div
+                    style="padding: 0.88rem 0 0 0.88rem; box-sizing: border-box"
+                  >
+                    <span style="color: rgb(167, 171, 176); font-size: 0.88rem"
+                      >宸查�墈{ checkList.length }}椤�</span
+                    >
+                    <span
+                      @click="clear"
+                      style="
+                        color: rgb(65, 70, 76);
+                        font-size: 0.88rem;
+                        margin-left: 1rem;
+                        cursor: pointer;
+                      "
+                      >娓呯┖</span
+                    >
+                  </div>
+                  <el-scrollbar
+                    height="calc(25rem - 44.15px)"
+                    style="padding-left: 0.88rem"
+                  >
+                    <p
+                      style="
+                        display: flex;
+                        justify-content: space-between;
+                        margin: 0.5rem 0;
+                      "
+                      v-for="item in checkList"
+                      :key="item ? item.id : ''"
+                      class="scrollbar-demo-item"
+                    >
+                      <span>
+                        {{ item ? item.articleName : "" }}
+                      </span>
+                      <span>
+                        <el-input-number
+                          size="small"
+                          style="width: 7rem"
+                          v-model="item.num"
+                          :min="1"
+                          :max="100"
+                          @change="handleChange"
+                        />
+                      </span>
+                    </p>
+                  </el-scrollbar>
+                </div>
               </div>
-            </div>
-          </el-form-item>
-        </el-row>
-      </el-form>
+            </el-form-item>
+          </el-row>
+        </el-form>
+      </el-scrollbar>
+
       <template #footer>
         <div class="dialog-footer" style="text-align: center">
           <el-button @click="craftdialogVisible = false" style="height: 2rem"
@@ -696,7 +790,7 @@
   </div>
 </template>
 <script setup>
-import { ref, reactive, onMounted, toRef } from "vue";
+import { ref, reactive, onMounted, toRef, computed } from "vue";
 import { Search } from "@element-plus/icons-vue";
 import {
   GetSleeveandStep,
@@ -726,11 +820,11 @@
 //閫夋嫨鐨勫绛掓暟鎹�
 const checkList = ref([]);
 //鐢垫皵鏁伴噺
-const electric = ref(null);
+const electric = ref([]);
 //鏈烘鏁伴噺
-const mechanical = ref(null);
+const mechanical = ref([]);
 //鍦版矡
-const trench = ref(null);
+const trench = ref([]);
 //鏂板宸ヨ壓/缂栬緫宸ヨ壓
 const type = ref("鏂板");
 //鑾峰彇鏁版嵁
@@ -752,7 +846,7 @@
 const selectoptions = ref([
   {
     value: "setpNum",
-    label: "搴忓彿",
+    label: "鎺掑簭",
   },
   {
     value: "tools",
@@ -770,38 +864,41 @@
   craftstype: [
     { required: true, message: "璇烽�夋嫨宸ヨ壓绫诲瀷", trigger: "change" },
   ],
-  nodal: [{ required: true, message: "璇烽�夋嫨鑺傜偣", trigger: "change" }],
   craftsStep: [{ required: true, message: "璇疯緭鍏ュ伐鑹烘楠�", trigger: "blur" }],
   craftContent: [
     { required: true, message: "璇疯緭鍏ュ伐鑹哄唴瀹�", trigger: "blur" },
   ],
-  sleeveNum: [{ required: true, message: "璇疯緭鍏ュ绛掓暟閲�", trigger: "blur" }],
+  nodal: [{ required: true, message: "璇疯緭鍏ュ簭鍙�", trigger: "blur" }],
+  setpNum: [{ required: true, message: "璇疯緭鍏ユ帓搴忓彿", trigger: "blur" }],
 });
 
+// isinvolved: "", //鏄惁娑夊強
 //鏂板宸ヨ壓/缂栬緫宸ヨ壓琛ㄥ崟鏁版嵁
 const form = ref({
+  id: 0,
   craftstype: "", //宸ヨ壓绫诲瀷锛堢粍锛�
-  nodal: 0, //鑺傜偣
+  nodal: null, //鑺傜偣
   craftsStep: "", //宸ヨ壓姝ラ
   craftContent: "", //宸ヨ壓鍐呭
   sleeveNum: "", //濂楃瓛鏁伴噺
   tools: "", //宸ュ叿
-  isinvolved: "", //鏄惁娑夊強
-  setpNum: "",
+  setpNum: null,
   torqueOne: 0,
   torqueOneQuantity: 0,
-  articleOne: "",
-  articleOneid: "",
-  articleTowid: "",
-  articleTwo: "",
+  articleone: "",
+  aritcleoneid: "",
+  aritcletowid: "",
+  articletwo: "",
   torqueSum: 0,
   torqueTwo: 0,
   torqueTwoQuantity: 0,
+  material: "",
   creater: localStorage.getItem("user")
     ? JSON.parse(localStorage.getItem("user")).userName
     : "",
   createDate: formatTime(new Date()),
 });
+
 const props = { multiple: true };
 const userName = ref("");
 
@@ -859,7 +956,10 @@
   detailsDialogVisible.value = false;
   craftdialogVisible.value = true;
   form.value = data;
-  tools.value = row.tools ? row.tools.split(",") : "";
+  tools.value = data.tools ? data.tools.split(",") : "";
+  console.log("tools", tools.value);
+
+  checkboxId.value = [Number(row.articleOneid), Number(row.articleTowid)];
   ArticleInfom({
     page: 1,
     rows: 100,
@@ -879,7 +979,26 @@
     ],
   }).then((res) => {
     sleeveData.value = res.rows;
+    checkList.value = res.rows.map((item) => {
+      if (Number(row.articleOneid) == item.id) {
+        return {
+          ...item,
+          num: row.articleOne,
+        };
+      } else if (item.id == row.articleTowid) {
+        return {
+          ...item,
+          num: row.articleTwo,
+        };
+      } else {
+        return {};
+      }
+    });
+    checkList.value = checkList.value.filter((item) => {
+      return Object.keys(item).length > 0;
+    });
   });
+
   GetTool({
     page: 1,
     rows: 100,
@@ -912,38 +1031,50 @@
 };
 //淇濆瓨
 const addprocess = async (formEl) => {
+  console.log(checkboxId.value);
   userName.value = JSON.parse(localStorage.getItem("user")).userName;
   let string = "";
-  if (tools.value.length == 0) {
+  if (tools.value.length > 0) {
+    string = tools.value
+      .map((item) => {
+        return typeof item == "string" ? item : item.toolName;
+      })
+      .join(",");
+  }
+  if (form.value.nodal == 0) {
     ElMessage({
-      message: "璇烽�夋嫨宸ュ叿",
+      message: "搴忓彿鏈�灏忎负1",
       type: "warning",
     });
     return;
   }
-  string = tools.value
-    .map((item) => {
-      return item.toolName;
-    })
-    .join(",");
-  if (checkList.value.length == 0) {
-    ElMessage({
-      message: "璇烽�夋嫨濂楃瓛",
-      type: "warning",
-    });
-    return;
-  }
-  form.value.articleOneid = checkList.value[0].id;
-  form.value.articleOne = checkList.value[0].num;
-  form.value.articleTowid = checkList.value[1].id;
-  form.value.articleTwo = checkList.value[1].num;
+  console.log(checkList.value);
+
+  form.value.aritcleoneid =
+    checkList.value.length != 0 ? checkList.value[0].id : "";
+  form.value.articleone =
+    checkList.value.length != 0 ? checkList.value[0].num : "";
+  form.value.aritcletowid =
+    checkList.value.length != 0 && checkList.value.length > 1
+      ? checkList.value[1].id
+      : "";
+  form.value.articletwo =
+    checkList.value.length != 0 && checkList.value.length > 1
+      ? checkList.value[1].num
+      : "";
   form.value.creater = userName.value;
   form.value.tools = string;
   form.value.craftstype = title.value;
-  form.value.torqueOneQuantity = tools.value.length;
-  form.value.id = form.value.craftID ? form.value.craftID : "";
-  console.log(form.value);
-
+  form.value.id = form.value.craftID ? form.value.craftID : 0;
+  form.value.torqueSum = computed(() => {
+    if (form.value.torqueOne > 1 && form.value.torqueTwo > 1) {
+      return 2;
+    } else if (form.value.torqueOne > 1 || form.value.torqueTwo > 1) {
+      return 1;
+    } else {
+      return 0;
+    }
+  });
   if (!formEl) return;
   await formEl.validate((valid, fields) => {
     if (valid) {
@@ -997,7 +1128,7 @@
 //鍒嗛〉璇锋眰鍙傛暟
 const pageQuery = ref({
   page: 1, //褰撳墠椤甸潰
-  rows: 10, //姣忛〉鏄剧ず鏉℃暟
+  rows: 100, //姣忛〉鏄剧ず鏉℃暟
   order: "desc", //鎺掑簭鏂瑰紡
   sort: "", //鎺掑簭瀛楁
   wheres: "", //鏉′欢鏌ヨ
@@ -1052,7 +1183,7 @@
     {},
     {
       craftstype: "", //宸ヨ壓绫诲瀷锛堢粍锛�
-      nodal: 0, //鑺傜偣
+      nodal: "", //鑺傜偣
       craftsStep: "", //宸ヨ壓姝ラ
       craftContent: "", //宸ヨ壓鍐呭
       sleeveNum: "", //濂楃瓛鏁伴噺
@@ -1061,10 +1192,10 @@
       setpNum: "",
       torqueOne: 0,
       torqueOneQuantity: 0,
-      articleOne: "",
-      articleOneid: "",
-      articleTowid: "",
-      articleTwo: "",
+      articleone: "",
+      articleoneid: "",
+      articletowid: "",
+      articletwo: "",
       torqueSum: 0,
       torqueTwo: 0,
       torqueTwoQuantity: 0,
@@ -1072,6 +1203,9 @@
       createDate: formatTime(new Date()),
     }
   );
+  tools.value = [];
+  checkList.value = [];
+  checkboxId.value = [];
 };
 //瀵煎嚭鏂规硶
 const printExcel = () => {
@@ -1106,17 +1240,24 @@
 const clear = () => {
   checkList.value = [];
 };
+const checkboxId = ref([]); //澶嶉�夋閫変腑浜嬩欢
 const checkChange = (e) => {
-  console.log(e, checkList.value);
+  checkList.value = [];
+  sleeveData.value.forEach((item, index) => {
+    if (checkboxId.value.includes(item.id)) {
+      checkList.value.push({
+        ...item,
+        num: 1,
+      });
+    }
+  });
 };
 const handleChange = () => {
   console.log(checkList.value);
 };
 const handleCheckAllChange = (val) => {
-  console.log(val);
   checkList.value = val ? sleeveData.value : [];
   isIndeterminate.value = false;
-  console.log(checkList.value);
 };
 // 鍒犻櫎宸ヨ壓
 const delProcess = (val) => {
@@ -1132,14 +1273,17 @@
 };
 
 onMounted(() => {
-  GetSleeveandStep("鐢垫皵").then((res) => {
-    electric.value = res.data[0];
-  });
-  GetSleeveandStep("鏈烘").then((res) => {
-    mechanical.value = res.data[0];
-  });
-  GetSleeveandStep("鍦版矡").then((res) => {
-    trench.value = res.data[0];
+  GetSleeveandStep().then((res) => {
+    electric.value = res.data.filter((item) => {
+      return item.craftType == "鐢垫皵";
+    });
+    mechanical.value = res.data.filter((item) => {
+      return item.craftType == "鏈烘";
+    });
+    trench.value = res.data.filter((item) => {
+      return item.craftType == "鍦版矡";
+    });
+    console.log(electric.value);
   });
   user.value = JSON.parse(localStorage.getItem("user")).userName;
 });

--
Gitblit v1.9.3