From 18fcb8ad28f583e3e1b99b23e4f7d9e1833dcd83 Mon Sep 17 00:00:00 2001
From: pengwei <2071057782@qq.com>
Date: 星期三, 12 三月 2025 14:16:30 +0800
Subject: [PATCH] 最新提交

---
 项目代码/client/src/views/tts/BasicInformation/Basicinformation.vue |  508 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 381 insertions(+), 127 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/BasicInformation/Basicinformation.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/BasicInformation/Basicinformation.vue"
index e02c1bb..a8e442c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/BasicInformation/Basicinformation.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/BasicInformation/Basicinformation.vue"
@@ -12,7 +12,7 @@
           :class="['item', isactive == 2 ? 'isactive' : '']"
           @click="changeactive(2)"
         >
-          淇℃伅鍒嗙被
+          宸ュ叿鍒楄〃
         </div>
       </div>
       <div class="serch">
@@ -39,14 +39,14 @@
             size="small"
           />
         </div>
-        <div class="serch_box">
+        <!-- <div class="serch_box">
           <div class="serchb">鍏ㄥ眬鎼滅储</div>
           <input
             v-model="queryForm.selectName"
             placeholder="璇疯緭鍏ュ叧閿瘝鎼滅储"
             style="border-left: 0.06rem solid #e2e2e2"
           />
-        </div>
+        </div> -->
         <el-button
           type="primary"
           size="small"
@@ -62,7 +62,7 @@
             v-if="isactive == 1"
             type="primary"
             size="small"
-            @click="dialogVisible = true"
+            @click="Useradd"
             style="
               width: 5.5rem;
               height: 2rem;
@@ -73,12 +73,12 @@
             ><el-icon style="margin-right: 0.2rem"><Plus /></el-icon
             >鏂板缓</el-button
           >
-          <!-- 鐢ㄦ埛瑙掕壊鏂板缓 -->
+          <!-- 宸ュ叿鍒楄〃鏂板缓 -->
           <el-button
             v-if="isactive == 2"
             type="primary"
             size="small"
-            @click="dialogVisible1 = true"
+            @click="addTool"
             style="
               width: 5.5rem;
               height: 2rem;
@@ -100,6 +100,7 @@
             >鎵归噺瀵煎嚭</el-button
           >
           <el-button
+            @click="deleteAll"
             size="small"
             style="width: 5.5rem; height: 2rem; font-size: 0.88rem"
             >鎵归噺鍒犻櫎</el-button
@@ -124,24 +125,27 @@
             fontSize: '0.88rem',
             height: '3rem',
           }"
+          @select="InfoSelectionChange"
         >
           <el-table-column type="selection" align="center" />
-          <el-table-column prop="address" label="淇℃伅鍚嶇О" align="center" />
-          <el-table-column prop="name" label="瑙勬牸鍨嬪彿" align="center" />
-          <el-table-column prop="address" label="鍗曚綅" align="center" />
-          <el-table-column prop="address" label="鎵�灞炲垎绫�" align="center" />
-          <el-table-column prop="address" label="鍒涘缓鏃ユ湡" align="center" />
-          <el-table-column prop="address" label="鎿嶄綔" align="center">
-            <template #default="">
-              <el-button size="small" type="text" @click="Edit">缂栬緫</el-button>
+          <el-table-column prop="articleName" label="淇℃伅鍚嶇О" align="center" />
+          <el-table-column prop="articleType" label="瑙勬牸鍨嬪彿" align="center" />
+          <el-table-column prop="articleUnit" label="鍗曚綅" align="center" />
+          <el-table-column prop="category" label="鎵�灞炲垎绫�" align="center" />
+          <el-table-column prop="createDate" label="鍒涘缓鏃ユ湡" align="center" />
+          <el-table-column label="鎿嶄綔" align="center">
+            <template #default="scope">
+              <el-button size="small" type="text" @click="Useredit(scope.row)"
+                >缂栬緫</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
 
-        <!-- 淇℃伅鍒嗙被 -->
+        <!-- 宸ュ叿鍒楄〃 -->
         <el-table
           v-if="isactive == 2"
-          :data="tableData"
+          :data="toolList"
           style="width: 100%"
           :header-cell-style="{
             background: 'rgba(250,250,250,1)',
@@ -155,16 +159,24 @@
             fontSize: '0.88rem',
             height: '3rem',
           }"
+          @select="ToolSelectionChange"
         >
           <el-table-column type="selection" align="center" />
-          <el-table-column prop="address" label="鍒嗙被鍚嶇О" align="center" />
-          <el-table-column prop="address" label="澶囨敞" align="center" />
-          <el-table-column prop="address" label="鍒涘缓鏃ユ湡" align="center" />
+          <el-table-column prop="toolName" label="宸ュ叿鍚嶇О" align="center" />
+          <el-table-column
+            prop="specification"
+            label="瑙勬牸鍨嬪彿"
+            align="center"
+          />
+          <el-table-column prop="toolUnit" label="鍗曚綅" align="center" />
+          <el-table-column prop="" label="鎵�灞炲垎绫�" align="center" />
+          <el-table-column prop="toolremark" label="澶囨敞" align="center" />
+          <el-table-column prop="createtime" label="鍒涘缓鏃ユ湡" align="center" />
           <el-table-column prop="address" label="鎿嶄綔" align="center">
-            <template #default="">
+            <template #default="scope">
               <span
                 style="color: blue; font-size: 0.88rem; cursor: pointer"
-                @click="Findtorque"
+                @click="editTool(scope.row)"
                 >缂栬緫</span
               >
             </template></el-table-column
@@ -184,7 +196,11 @@
           size="small"
           background
           layout="prev, pager, next"
-          :total="1"
+          :current-page="pageQuery.page"
+          :page-size="pageQuery.rows"
+          :total="pageTotal"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
         />
       </div>
     </div>
@@ -212,7 +228,7 @@
           >
         </div>
       </template>
-      <el-form :model="form" label-width="auto" label-position="top">
+      <el-form :model="forminfo" label-width="auto" label-position="top">
         <el-row :gutter="20">
           <el-col :span="8">
             <el-form-item>
@@ -225,7 +241,11 @@
                   >
                 </div>
               </template>
-              <el-input size="small" v-model="form.name" placeholder="璇疯緭鍏�" />
+              <el-input
+                size="small"
+                v-model="forminfo.articleName"
+                placeholder="璇疯緭鍏�"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -239,7 +259,11 @@
                   >
                 </div>
               </template>
-              <el-input size="small" v-model="form.name" placeholder="璇疯緭鍏�" />
+              <el-input
+                size="small"
+                v-model="forminfo.articleType"
+                placeholder="璇疯緭鍏�"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -253,7 +277,11 @@
                   >
                 </div>
               </template>
-              <el-input size="small" v-model="form.name" placeholder="璇疯緭鍏�" />
+              <el-input
+                size="small"
+                v-model="forminfo.articleUnit"
+                placeholder="璇疯緭鍏�"
+              />
             </el-form-item>
           </el-col>
         </el-row>
@@ -269,14 +297,19 @@
                   >
                 </div>
               </template>
-              <el-select v-model="value" placeholder="璇烽�夋嫨" size="small">
+              <el-input
+                size="small"
+                v-model="forminfo.category"
+                placeholder="璇疯緭鍏�"
+              />
+              <!-- <el-select v-model="value" placeholder="璇烽�夋嫨" size="small">
                 <el-option
                   v-for="item in options"
                   :key="item.value"
                   :label="item.label"
                   :value="item.value"
                 />
-              </el-select>
+              </el-select> -->
             </el-form-item>
           </el-col>
           <el-col :span="16">
@@ -290,7 +323,11 @@
                   >
                 </div>
               </template>
-              <el-input size="small" v-model="form.name" placeholder="璇疯緭鍏�" />
+              <el-input
+                size="small"
+                v-model="forminfo.articleremark"
+                placeholder="璇疯緭鍏�"
+              />
             </el-form-item>
           </el-col>
         </el-row>
@@ -307,7 +344,7 @@
           <el-button
             size="small"
             type="primary"
-            @click="dialogVisible = false"
+            @click="CreateInformation"
             style="height: 2rem; font-size: 0.88rem"
           >
             淇濆瓨
@@ -316,11 +353,11 @@
       </template>
     </el-dialog>
 
-    <!-- 淇℃伅鍒嗙被鏂板缓/缂栬緫 -->
+    <!-- 鏂板缓宸ュ叿/缂栬緫宸ュ叿 -->
     <el-dialog
       v-model="dialogVisible1"
       title=""
-      width="20%"
+      width="60%"
       :before-close="handleClose"
       :show-close="false"
       :align-center="true"
@@ -335,43 +372,113 @@
         >
           <span
             style="color: rgb(16, 16, 16); font-size: 1rem; font-weight: bold"
-            >淇℃伅鍒嗙被</span
+            >宸ュ叿淇℃伅</span
           >
         </div>
       </template>
-      <el-form :model="form" label-width="auto" label-position="top">
-        <el-form-item>
-          <template #label>
-            <div style="display: flex; align-items: flex-end">
-              <span style="color: red; margin-right: 0.2rem">*</span>
-              <span style="font-size: 0.88rem; color: black; font-weight: bold"
-                >鍒嗙被鍚嶇О</span
-              >
-            </div>
-          </template>
-          <el-input
-            style="height: 2rem"
-            size="small"
-            v-model="form.name"
-            placeholder="璇疯緭鍏�"
-          />
-        </el-form-item>
-        <el-form-item>
-          <template #label>
-            <div style="display: flex; align-items: flex-end">
-              <span style="font-size: 0.88rem; color: black; font-weight: bold"
-                >澶囨敞</span
-              >
-            </div>
-          </template>
-          <el-input
-            type="textarea"
-            :rows="5"
-            size="small"
-            v-model="form.name"
-            placeholder="璇疯緭鍏�"
-          />
-        </el-form-item>
+      <el-form :model="formtool" label-width="auto" label-position="top">
+        <el-row :gutter="20">
+          <el-col :span="8">
+            <el-form-item>
+              <template #label>
+                <div style="display: flex; align-items: flex-end">
+                  <span style="color: red; margin-right: 0.2rem">*</span>
+                  <span
+                    style="font-size: 0.88rem; color: black; font-weight: bold"
+                    >宸ュ叿鍚嶇О</span
+                  >
+                </div>
+              </template>
+              <el-input
+                size="small"
+                v-model="formtool.toolName"
+                placeholder="璇疯緭鍏�"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item>
+              <template #label>
+                <div style="display: flex; align-items: flex-end">
+                  <span style="color: red; margin-right: 0.2rem">*</span>
+                  <span
+                    style="font-size: 0.88rem; color: black; font-weight: bold"
+                    >瑙勬牸鍨嬪彿</span
+                  >
+                </div>
+              </template>
+              <el-input
+                size="small"
+                v-model="formtool.specification"
+                placeholder="璇疯緭鍏�"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item>
+              <template #label>
+                <div style="display: flex; align-items: flex-end">
+                  <span style="color: red; margin-right: 0.2rem">*</span>
+                  <span
+                    style="font-size: 0.88rem; color: black; font-weight: bold"
+                    >鍗曚綅</span
+                  >
+                </div>
+              </template>
+              <el-input
+                size="small"
+                v-model="formtool.toolUnit"
+                placeholder="璇疯緭鍏�"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="8">
+            <el-form-item>
+              <template #label>
+                <div style="display: flex; align-items: flex-end">
+                  <span style="color: red; margin-right: 0.2rem">*</span>
+                  <span
+                    style="font-size: 0.88rem; color: black; font-weight: bold"
+                    >鎵�灞炲垎绫�</span
+                  >
+                </div>
+              </template>
+              <el-input
+                size="small"
+                v-model="formtool.category"
+                placeholder="璇疯緭鍏�"
+              />
+              <!-- <el-select v-model="value" placeholder="璇烽�夋嫨" size="small">
+                <el-option
+                  v-for="item in options"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
+              </el-select> -->
+            </el-form-item>
+          </el-col>
+          <el-col :span="16">
+            <el-form-item>
+              <template #label>
+                <div style="display: flex; align-items: flex-end">
+                  <span style="color: red; margin-right: 0.2rem">*</span>
+                  <span
+                    style="font-size: 0.88rem; color: black; font-weight: bold"
+                    >澶囨敞</span
+                  >
+                </div>
+              </template>
+              <el-input
+                size="small"
+                v-model="formtool.toolremark"
+                placeholder="璇疯緭鍏�"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
       <template #footer>
         <div class="dialog-footer" style="text-align: center">
@@ -385,7 +492,7 @@
           <el-button
             size="small"
             type="primary"
-            @click="dialogVisible1 = false"
+            @click="addToolApi"
             style="height: 2rem; font-size: 0.88rem"
           >
             淇濆瓨
@@ -396,89 +503,236 @@
   </div>
 </template>
 <script setup>
-import { ref, reactive } from "vue";
+import { ref, reactive, onMounted } from "vue";
 import { ElMessage, ElMessageBox } from "element-plus";
+import { formatTime } from "@/utils/index.js";
+import {
+  getBasicinformation,
+  addBasicinformation,
+  editBasicinformation,
+  getToolData,
+  addToolData,
+  editToolData,
+  deleteToolData,
+  deleteBasicinformation,
+} from "@/api/newapi/Basicinformation.js";
+
 const queryForm = reactive({
   selectName: "",
   selectTime: [], // 鏃堕棿鑼冨洿
 });
-
 const tableData = ref([]);
-
 const options = ref([]);
 const props = { multiple: true };
-
 const table = ref(false);
-const form = reactive({});
+const forminfo = ref({
+  articleName: "",
+  articleType: "",
+  articleUnit: "",
+  category: "",
+  articleremark: "",
+  createDate: formatTime(new Date()),
+});
 const isactive = ref(1);
 const claimdialogVisible = ref(false);
 const dialogVisible = ref(false);
 const dialogVisible1 = ref(false);
 const TorquedialogVisible = ref(false);
-const activities = [
-  {
-    content: "1.1宸ュ墠鍑嗗",
-    timestamp: "2018-04-15",
-  },
-  {
-    content: "2.1鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級",
-    timestamp: "2018-04-13",
-  },
-  {
-    content: "2.2鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級",
-    timestamp: "2018-04-11",
-  },
-  {
-    content: "2.3鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級",
-    timestamp: "2018-04-11",
-  },
-  {
-    content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級",
-    timestamp: "2018-04-11",
-  },
-  {
-    content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級",
-    timestamp: "2018-04-11",
-  },
-  {
-    content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級",
-    timestamp: "2018-04-11",
-  },
-  {
-    content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級",
-    timestamp: "2018-04-11",
-  },
-  {
-    content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級",
-    timestamp: "2018-04-11",
-  },
-  {
-    content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級",
-    timestamp: "2018-04-11",
-  },
-  {
-    content: "2.4鐗靛紩鐢垫満鐢电紗瀹夎锛堜粎鍔ㄨ溅杞悜鏋讹級",
-    timestamp: "2018-04-11",
-  },
-];
-
+const toolList = ref([]);
+const formtool = ref({
+  toolName: "",
+  specification: 0,
+  toolUnit: "",
+  toolremark: "",
+  createtime: formatTime(new Date()),
+});
 const changeactive = (index) => {
   isactive.value = index;
+  if (index == 1) {
+    initData();
+  } else {
+    getTool();
+  }
 };
-function cancelClick() {
-  table.value = false;
-}
-function confirmClick() {
-  table.value = false;
-}
-// 鏌ョ湅璇︽儏
-const Findmore = () => {
+const infoType = ref("鏂板缓");
+const Useradd = () => {
+  infoType.value = "鏂板缓";
   dialogVisible.value = true;
+};
+const Useredit = (val) => {
+  let data = Object.assign({}, val);
+  forminfo.value = data;
+  infoType.value = "缂栬緫";
+  dialogVisible.value = true;
+};
+
+//鏂板缓淇℃伅鍒楄〃
+const CreateInformation = () => {
+  if (infoType.value == "鏂板缓") {
+    addBasicinformation(forminfo.value).then((res) => {
+      ElMessage({
+        message: "鏂板缓鎴愬姛",
+        type: "success",
+      });
+      dialogVisible.value = false;
+      initData();
+    });
+  } else {
+    editBasicinformation(forminfo.value).then((res) => {
+      ElMessage({
+        message: "淇敼鎴愬姛",
+        type: "success",
+      });
+      dialogVisible.value = false;
+      initData();
+    });
+  }
 };
 // 鏌ョ湅鍔涚煩
 const Findtorque = () => {
   TorquedialogVisible.value = true;
 };
+
+//鍒嗛〉璇锋眰鍙傛暟
+const pageQuery = ref({
+  page: 1, //褰撳墠椤甸潰
+  rows: 10, //姣忛〉鏄剧ず鏉℃暟
+  order: "desc", //鎺掑簭鏂瑰紡
+  sort: "createDate", //鎺掑簭瀛楁
+  wheres: "", //鏉′欢鏌ヨ
+});
+
+//鍒嗛〉椤甸潰澶у皬鏀瑰彉
+const handleSizeChange = (val) => {
+  pageQuery.value.rows = val;
+  initData();
+};
+
+//鍒嗛〉椤甸潰鏀瑰彉
+const handleCurrentChange = (val) => {
+  pageQuery.value.page = val;
+  initData();
+};
+const pageTotal = ref(0);
+const initData = () => {
+  // 鏌ヨ鏉′欢
+  const startTime = formatTime(queryForm.selectTime[0]);
+  const endTime = formatTime(queryForm.selectTime[1]);
+  const filter = [
+    {
+      name: "grouptype",
+      value: queryForm.selectType,
+      displayType: "String",
+    },
+    {
+      name: "pustatus",
+      value: queryForm.selectName,
+      displayType: "String",
+    },
+    { name: "dispatchtime", value: startTime, displayType: "ThanOrEqual" },
+    { name: "dispatchtime", value: endTime, displayType: "LessOrEqual" },
+  ];
+  getBasicinformation({
+    ...pageQuery.value,
+    filter,
+  }).then((res) => {
+    tableData.value = res.rows;
+    pageTotal.value = res.total;
+  });
+};
+
+//鏁版嵁妫�绱簨浠�
+const handleQuery = () => {
+  pageQuery.value.page = 1;
+  initData();
+};
+const resetQuery = () => {
+  queryForm.value = { selectName: "鍏ㄩ儴鐘舵��", selectTime: [] };
+  pageQuery.value.page = 1;
+  initData();
+};
+const toolType = ref("鏂板缓");
+const addTool = () => {
+  toolType.value = "鏂板缓";
+  dialogVisible1.value = true;
+};
+const editTool = (val) => {
+  let data = Object.assign({}, val);
+  formtool.value = data;
+  toolType.value = "缂栬緫";
+  dialogVisible1.value = true;
+  console.log(formtool.value);
+};
+//鏂板缓宸ュ叿
+const addToolApi = () => {
+  if (toolType.value == "鏂板缓") {
+    addToolData(formtool.value).then((res) => {
+      ElMessage({
+        message: "鏂板缓鎴愬姛",
+        type: "success",
+      });
+      dialogVisible1.value = false;
+      getTool();
+    });
+  } else {
+    editToolData(formtool.value).then((res) => {
+      ElMessage({
+        message: "淇敼鎴愬姛",
+        type: "success",
+      });
+      dialogVisible1.value = false;
+      getTool();
+    });
+  }
+};
+
+//鑾峰彇宸ュ叿琛ㄤ俊鎭�
+const getTool = () => {
+  const startTime = formatTime(queryForm.selectTime[0]);
+  const endTime = formatTime(queryForm.selectTime[1]);
+  const filter = [
+    { name: "dispatchtime", value: startTime, displayType: "ThanOrEqual" },
+    { name: "dispatchtime", value: endTime, displayType: "LessOrEqual" },
+  ];
+  getToolData({
+    ...pageQuery.value,
+    filter,
+  }).then((res) => {
+    toolList.value = res.rows;
+    pageTotal.value = res.total;
+  });
+};
+//鎵归噺鍒犻櫎
+const ids = ref([]);
+const InfoSelectionChange = (val) => {
+  ids.value = [];
+  ids.value = val.map((item) => item.id);
+};
+const ToolSelectionChange = (val) => {
+  ids.value = [];
+  ids.value = val.map((item) => item.id);
+};
+const deleteAll = () => {
+  if (ids.value.length == 0) {
+    ElMessage({ message: "璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁", type: "error" });
+    return;
+  }
+  if (isactive.value == 1) {
+    deleteBasicinformation(ids.value).then((res) => {
+      ElMessage({ message: "鍒犻櫎鎴愬姛", type: "success" });
+      initData();
+    });
+  } else {
+    deleteToolData(ids.value).then((res) => {
+      ElMessage({ message: "鍒犻櫎鎴愬姛", type: "success" });
+      getTool();
+    });
+  }
+};
+
+onMounted(() => {
+  initData();
+});
 </script>
 <style lang="scss" scoped>
 .Basicinformation {

--
Gitblit v1.9.3