Forráskód Böngészése

新增APS数据同步

qinhb 6 hónapja
szülő
commit
942082963a

+ 1 - 1
package.json

@@ -114,7 +114,7 @@
     "postcss-html": "^1.6.0",
     "postcss-scss": "^4.0.9",
     "prettier": "^3.2.5",
-    "sass": "^1.71.1",
+    "sass": "1.71.1",
     "stylelint": "^16.2.1",
     "stylelint-config-html": "^1.1.0",
     "stylelint-config-recess-order": "^4.6.0",

+ 10 - 0
src/api/aps/index.ts

@@ -0,0 +1,10 @@
+import request from "@/utils/request";
+import { AxiosPromise } from "axios";
+
+export function syncAps(data): AxiosPromise<any> {
+  return request({
+    url: "/api/v1/aps/sync",
+    method: "post",
+    data: data,
+  });
+}

+ 28 - 5
src/views/base/craftManagement/route/index.vue

@@ -19,7 +19,17 @@
         <el-tag v-if="row.usable == '1'" type="success">已绑定</el-tag>
         <el-tag v-else type="info">未绑定</el-tag>
       </template>
+      <template #menu-left="{ size }">
+        <el-button
+            :disabled="toDeleteIds.length < 1"
+            type="refresh"
+            icon="el-icon-refresh"
+            :size="size"
+            @click="apsSync"
+        >APS同步</el-button
+        >
 
+      </template>
       <!-- :disabled="row.usable == '1' ? false : true" -->
       <template #menu-right="{}">
         <el-dropdown split-button
@@ -112,17 +122,30 @@
 <script setup>
 import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
-import ButtonPermKeys from "@/common/configs/buttonPermission";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 import { useDictionaryStore } from "@/store";
 import { copyRoute } from "@/api/craft/route/index";
-
+import {ElMessage, ElMessageBox} from "element-plus";
+import {syncAps} from "@/api/aps";
 // 数据字典相关
 const { dicts } = useDictionaryStore();
 
-const testDebunce = () => {
-  console.log("执行了事件");
-};
+const apsSync = () =>{
+  ElMessageBox.confirm("是否同步所选中数据?", "提示", {
+    confirmButtonText: "确定",
+    cancelButtonText: "取消",
+    type: "warning",
+  }).then(async () => {
+    let param = {type: 4,codes: toDeleteIds.value}
+    syncAps(param).then((data)=>{
+      if (data.code === "200") {
+        ElMessage.success(data.msg);
+      } else {
+        ElMessage.error(data.msg);
+      }
+    })
+  });
+}
 
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =

+ 28 - 5
src/views/base/materials/index.vue

@@ -24,7 +24,16 @@
           :size="size"
           @click="multipleDelete"
           >删除</el-button
-        ></template
+        >
+        <el-button
+            :disabled="toDeleteIds.length < 1"
+            type="refresh"
+            icon="el-icon-refresh"
+            :size="size"
+            @click="apsSync"
+        >APS同步</el-button
+        >
+      </template
       >
       <template #menu="{ row, index, type }">
         <el-button @click="binding(row)" text type="primary"
@@ -96,16 +105,30 @@
 <script setup lang="ts">
 import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
-import ButtonPermKeys from "@/common/configs/buttonPermission";
+import {syncAps} from "@/api/aps";
 import {
   useCommonStoreHook,
   useDictionaryStore,
-  useDictionaryStoreHook,
 } from "@/store";
+import {ElMessage, ElMessageBox} from "element-plus";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-import { columns } from "./columns";
 const { dicts } = useDictionaryStore();
-
+const apsSync = () =>{
+  ElMessageBox.confirm("是否同步所选中数据?", "提示", {
+    confirmButtonText: "确定",
+    cancelButtonText: "取消",
+    type: "warning",
+  }).then(async () => {
+    let param = {type: 2,codes: toDeleteIds.value}
+    syncAps(param).then((data)=>{
+      if (data.code === "200") {
+        ElMessage.success(data.msg);
+      } else {
+        ElMessage.error(data.msg);
+      }
+    })
+  });
+}
 const test = () => {
   isShowTable.value = true;
   tableType.value = tableType.value == 1 ? 2 : 1;

+ 28 - 0
src/views/device/instance/index.vue

@@ -53,6 +53,16 @@
           @click="multipleDelete"
           >删除</el-button
         >
+
+        <el-button
+            :disabled="toDeleteIds.length < 1"
+            type="refresh"
+            icon="el-icon-refresh"
+            :size="size"
+            @click="apsSync"
+        >APS同步</el-button
+        >
+
       </template>
       <template #menu-right="{}">
         <el-dropdown split-button
@@ -150,11 +160,13 @@ import { ref, getCurrentInstance } from "vue";
 import { useCrud } from "@/hooks/userCrud";
 import buttonPermission from "@/common/configs/buttonPermission";
 import { configSave, configList, deviceUpdateCollect } from "@/api/device";
+import {syncAps} from "@/api/aps";
 import { useCommonStoreHook } from "@/store";
 import ChoiceWorkshopPage from "../../plan/workOrder/components/choice-workshop-page.vue";
 import ChoiceStationPage from "./components/choice-station-page.vue";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 import { checkPerm } from "@/directive/permission";
+import {ElMessage, ElMessageBox} from "element-plus";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 const test = () => {
   isShowTable.value = true;
@@ -193,6 +205,22 @@ const changeItem = (obj, row) => {
     }
   });
 };
+const apsSync = () =>{
+  ElMessageBox.confirm("是否同步所选中数据?", "提示", {
+    confirmButtonText: "确定",
+    cancelButtonText: "取消",
+    type: "warning",
+  }).then(async () => {
+    let param = {type: 1,codes: toDeleteIds.value}
+    syncAps(param).then((data)=>{
+      if (data.code === "200") {
+        ElMessage.success(data.msg);
+      } else {
+        ElMessage.error(data.msg);
+      }
+    })
+  });
+}
 const clickRow = ref(null);
 const showParamsPage = (row) => {
   clickRow.value = row;

+ 26 - 1
src/views/plan/workOrder/index.vue

@@ -38,6 +38,14 @@
             <svg-icon icon-class="paicheng" />
           </template>
         </el-button>
+        <el-button
+            :disabled="toDeleteIds.length < 1"
+            type="refresh"
+            icon="el-icon-refresh"
+            :size="size"
+            @click="apsSync"
+        >APS同步</el-button
+        >
       </template>
       <template #menu="{ size, row, index }">
         <el-button
@@ -287,6 +295,7 @@ import {
   lockWorkOrder,
   zipWorkOrder,
 } from "@/api/order";
+import {syncAps} from "@/api/aps";
 import { useCommonStoreHook } from "@/store";
 import dictDataUtil from "@/common/configs/dictDataUtil";
 import ChoiceRoutePage from "./components/choice-route-page.vue";
@@ -294,6 +303,7 @@ import ChoiceWorkshopPage from "./components/choice-workshop-page.vue";
 import WorkOrderSeq from "./components/work-order-seq.vue";
 import { checkPerm } from "@/directive/permission";
 import { queryDictDataByType } from "@/api/system/dict";
+import {ElMessage, ElMessageBox} from "element-plus";
 const { isShowTable, tableType } = toRefs(useCommonStoreHook());
 const router = useRouter();
 const test = () => {
@@ -310,7 +320,22 @@ const permission = reactive({
 const disabledDate = (time) => {
   return time.getTime() < Date.now(); // 8.64e7 毫秒数代表一天
 };
-
+const apsSync = () =>{
+  ElMessageBox.confirm("是否同步所选中数据?", "提示", {
+    confirmButtonText: "确定",
+    cancelButtonText: "取消",
+    type: "warning",
+  }).then(async () => {
+    let param = {type: 3,codes: toDeleteIds.value}
+    syncAps(param).then((data)=>{
+      if (data.code === "200") {
+        ElMessage.success(data.msg);
+      } else {
+        ElMessage.error(data.msg);
+      }
+    })
+  });
+}
 const jumpPage = (workOrderCode, type) => {
   if (type === 1) {
     router.push("/requisition?workOrderCode=" + workOrderCode);