cz 1 rok pred
rodič
commit
7bd64e183a

+ 6 - 7
src/App.vue

@@ -1,17 +1,16 @@
 <template>
-  
   <router-view />
 </template>
 
 <script setup>
-import useSettingsStore from '@/store/modules/settings'
-import { handleThemeStyle } from '@/utils/theme'
-import '@/assets/icons/iconfont/iconfont.css' 
+import useSettingsStore from "@/store/modules/settings";
+import { handleThemeStyle } from "@/utils/theme";
+import "@/assets/icons/iconfont/iconfont.css";
 onMounted(() => {
   nextTick(() => {
     // 初始化主题样式
-    handleThemeStyle(useSettingsStore().theme)
-  })
-})
+    handleThemeStyle(useSettingsStore().theme);
+  });
+});
 </script>
  

+ 24 - 14
src/components/notice/index.vue

@@ -219,12 +219,6 @@ const confirm = () => {
   value.value = false;
   commonRead([data.value[index.value].id], "confirm");
 };
-// proxy.post('sendMeg/page',{
-// 	pageNum:1,
-// 	pageSize:30,
-// }).then(res=>{
-// 	data.value = res.rows
-// })
 const socketInit = () => {
   window.ws = new WebSocket(
     "ws://" +
@@ -250,15 +244,23 @@ const socketInit = () => {
     }
     if (res.type == 2) {
       emit("changeNum", res.count * 1);
-      getPushInfo();
+      getPushInfo(true);
     }
     if (res.type == 3) {
-      ElNotification({
-        title: "提示",
-        message: res.title,
-        position: "bottom-right",
-        duration: 0,
-      });
+      // ElNotification({
+      //   title: "提示",
+      //   message: res.title,
+      //   position: "bottom-right",
+      //   duration: 0,
+      // });
+      index.value = 0;
+      data.value = [
+        {
+          title: "提示",
+          businessData: res.title,
+        },
+      ];
+      value.value = true;
     }
   };
   window.ws.onclose = function (e) {
@@ -290,11 +292,19 @@ const getPushInfoInit = () => {
   getPushInfo();
 };
 
-const getPushInfo = () => {
+const getPushInfo = (flag) => {
   loading.value = true;
   proxy.post("/pushInfo/page", pushInfoReq.value).then((res) => {
     noticeData.value = res.rows;
     pushInfoReq.value.total = res.total;
+    // 修改为弹窗形式
+    if (flag && res.rows && res.rows.length > 0) {
+      data.value = res.rows.map((x) => ({
+        title: "提示",
+        businessData: `${x.title}(${x.businessType == 0 ? "流程" : "业务"})`,
+      }));
+      value.value = true;
+    }
     setTimeout(() => {
       loading.value = false;
       proxy

+ 19 - 7
src/layout/components/AppMain.vue

@@ -2,9 +2,21 @@
   <section class="app-main">
     <router-view v-slot="{ Component, route }">
       <transition name="fade-transform" mode="out-in">
-        <keep-alive :include="tagsViewStore.cachedViews">
-          
-          <component v-if="!route.meta.link" :is="Component" :key="route.fullPath"/>
+        <!-- 原本的 -->
+        <!-- <keep-alive :include="tagsViewStore.cachedViews">
+          <component
+            v-if="!route.meta.link"
+            :is="Component"
+            :key="route.fullPath"
+          />
+        </keep-alive> -->
+        <!-- 2023/7/31更改的 -->
+        <keep-alive>
+          <component
+            v-if="!route.meta.link"
+            :is="Component"
+            :key="route.fullPath"
+          />
         </keep-alive>
       </transition>
     </router-view>
@@ -13,11 +25,11 @@
 </template>
 
 <script setup>
-import iframeToggle from "./IframeToggle/index"
-import useTagsViewStore from '@/store/modules/tagsView'
+import iframeToggle from "./IframeToggle/index";
+import useTagsViewStore from "@/store/modules/tagsView";
 
-const tagsViewStore = useTagsViewStore()
-console.log(tagsViewStore)
+const tagsViewStore = useTagsViewStore();
+console.log(tagsViewStore);
 </script>
 
 <style lang="scss" scoped>

+ 25 - 6
src/views/WDLY/outInBound/logistics/index.vue

@@ -376,17 +376,23 @@ const businessType = ref([
     dictKey: "5",
   },
 ]);
-const selectConfig = reactive([
+const deptData = ref([]);
+const selectConfig = computed(() => [
   {
     label: "数据来源",
     prop: "businessType",
-    data: [],
+    data: businessType.value,
   },
   {
     label: "物流状态",
     prop: "logisticsStatus",
     data: statusData.value,
   },
+  {
+    label: "项目组",
+    prop: "deptId",
+    data: deptData.value,
+  },
 ]);
 const config = computed(() => {
   return [
@@ -408,6 +414,13 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "项目组",
+        prop: "deptName",
+        width: 150,
+      },
+    },
+    {
+      attrs: {
         label: "物流/快递公司",
         prop: "logisticsCompanyName",
       },
@@ -793,13 +806,19 @@ const handleClickLinkCode = (row) => {
       });
   }
 };
+const getDict = () => {
+  proxy.get("/logisticsInfos/getDepts").then((res) => {
+    deptData.value = res.data.map((x) => ({
+      ...x,
+      label: x.deptName,
+      value: x.deptId,
+    }));
+  });
+};
+getDict();
 getList();
 getLogisticsData();
 onMounted(() => {
-  selectConfig[0].data = businessType.value.map((x) => ({
-    label: x.dictValue,
-    value: x.dictKey,
-  }));
   formConfig[0].data = businessType.value.map((x) => ({
     label: x.dictValue,
     value: x.dictKey,

+ 24 - 1
src/views/WDLY/purchaseManage/alreadyPurchase/index.vue

@@ -816,8 +816,9 @@ const inRransitData = ref([
     value: "0",
   },
 ]);
+const deptData = ref([]);
 
-const selectConfig = reactive([
+const selectConfig = computed(() => [
   {
     label: "采购状态",
     prop: "purchaseStatus",
@@ -838,6 +839,11 @@ const selectConfig = reactive([
     prop: "isTransit",
     data: inRransitData.value,
   },
+  {
+    label: "项目组",
+    prop: "deptId",
+    data: deptData.value,
+  },
 ]);
 
 const config = computed(() => {
@@ -880,6 +886,14 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "项目组",
+        prop: "deptName",
+        width: 150,
+      },
+    },
+
+    {
+      attrs: {
         label: "采购时间",
         prop: "createTime",
         width: 160,
@@ -1446,6 +1460,15 @@ const getDict = () => {
     .then((res) => {
       supplierData.value = res.rows;
     });
+
+  proxy.get("/purchase/getDepts").then((res) => {
+    deptData.value = res.data.map((x) => ({
+      ...x,
+      label: x.deptName,
+      value: x.deptId,
+    }));
+  });
+
   proxy.post("/warehouse/page", { pageNum: 1, pageSize: 999 }).then((res) => {
     if (res.rows && res.rows.length > 0) {
       warehouseList.value = res.rows.map((item) => {

+ 65 - 6
src/views/WDLY/purchaseManage/payment/index.vue

@@ -73,7 +73,7 @@
     <el-dialog
       :title="'付款'"
       v-model="dialogVisible"
-      width="800"
+      width="80%"
       v-loading="submitLoading"
       destroy-on-close
       :before-close="handleClose"
@@ -89,6 +89,19 @@
           <div style="width: 100%">
             <el-table :data="formData.data.purchasePayRecordDetailList">
               <el-table-column prop="code" label="采购单号" />
+              <el-table-column
+                prop="isAgreement"
+                label="是否合同"
+                :formatter="(row) => (row.isAgreement == 1 ? '是' : '否')"
+              />
+              <el-table-column
+                prop="paymentMethod"
+                label="付款方式"
+                :formatter="
+                  (row) => dictValueLabel(row.paymentMethod, fundsPaymentMethod)
+                "
+              />
+              <el-table-column prop="remark" label="采购备注" />
               <el-table-column prop="waitAmount" label="采购金额" />
               <el-table-column prop="alreadyAmount" label="已付款金额" />
               <el-table-column prop="amount" label="付款金额" min-width="150">
@@ -410,6 +423,7 @@ const paymentStatus = ref([
   },
 ]);
 const alreadyPurchase = ref([]);
+const deptData = ref([]);
 const selectConfig = computed(() => [
   {
     label: "到货状态",
@@ -426,6 +440,11 @@ const selectConfig = computed(() => [
     prop: "purchaseUserId",
     data: alreadyPurchase.value,
   },
+  {
+    label: "项目组",
+    prop: "deptId",
+    data: deptData.value,
+  },
 ]);
 const config = computed(() => {
   return [
@@ -455,6 +474,13 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "项目组",
+        prop: "deptName",
+        width: 150,
+      },
+    },
+    {
+      attrs: {
         label: "采购金额",
         prop: "amount",
         width: 100,
@@ -741,7 +767,22 @@ const submitFormOne = () => {
 };
 const selectData = ref([]);
 const selectRow = (data) => {
-  selectData.value = data;
+  if (data && data.length > 0) {
+    selectData.value = data.map((x) => {
+      if (x.victoriatouristJson) {
+        let obj = JSON.parse(x.victoriatouristJson);
+        if (obj.isAgreement) {
+          x.isAgreement = obj.isAgreement;
+        }
+        if (obj.paymentMethod) {
+          x.paymentMethod = obj.paymentMethod;
+        }
+      }
+      return x;
+    });
+  } else {
+    selectData.value = [];
+  }
 };
 
 const handleClose = () => {
@@ -780,6 +821,9 @@ const handlePayment = (type, data) => {
       alreadyAmount: x.paidAmount,
       amount: null,
       remark: "",
+      isAgreement: x.isAgreement,
+      paymentMethod: x.paymentMethod,
+      remark: x.remark,
     })),
   };
   dialogVisible.value = true;
@@ -867,6 +911,7 @@ const handleChangeAmount = () => {
   formData.data.amount = parseFloat(amount).toFixed(4);
 };
 const accountData = ref([]);
+const fundsPaymentMethod = ref([]);
 const getDict = () => {
   proxy.get("/purchase/getPurchaseUserList").then((res) => {
     alreadyPurchase.value = res.data.map((x) => ({
@@ -874,12 +919,26 @@ const getDict = () => {
       value: x.userId,
     }));
   });
-  proxy.getDictOne(["purchase_payment_account"]).then((res) => {
-    accountData.value = res["purchase_payment_account"].map((x) => ({
-      label: x.dictValue,
-      value: x.dictKey,
+  proxy.get("/purchase/getDepts").then((res) => {
+    deptData.value = res.data.map((x) => ({
+      ...x,
+      label: x.deptName,
+      value: x.deptId,
     }));
   });
+
+  proxy
+    .getDictOne(["purchase_payment_account", "funds_payment_method"])
+    .then((res) => {
+      accountData.value = res["purchase_payment_account"].map((x) => ({
+        label: x.dictValue,
+        value: x.dictKey,
+      }));
+      fundsPaymentMethod.value = res["funds_payment_method"].map((x) => ({
+        label: x.dictValue,
+        value: x.dictKey,
+      }));
+    });
 };
 
 const handleClickContractCode = (row) => {

+ 35 - 0
src/views/WDLY/stockManage/query/index.vue

@@ -108,6 +108,7 @@ let rules = ref({
   quantity: [{ required: true, message: "请输入数量", trigger: "blur" }],
 });
 const { proxy } = getCurrentInstance();
+const deptData = ref([]);
 const selectConfig = ref([
   {
     label: "仓库名称",
@@ -151,6 +152,11 @@ const selectConfigData = [
         },
       ],
     },
+    {
+      label: "项目组",
+      prop: "deptId",
+      data: [],
+    },
   ],
   [
     {
@@ -167,6 +173,11 @@ const selectConfigData = [
         },
       ],
     },
+    {
+      label: "项目组",
+      prop: "deptId",
+      data: [],
+    },
   ],
 ];
 
@@ -182,6 +193,13 @@ const configData = [
     },
     {
       attrs: {
+        label: "项目组",
+        prop: "deptName",
+        width: 150,
+      },
+    },
+    {
+      attrs: {
         label: "所属分类",
         prop: "productClassifyName",
       },
@@ -280,6 +298,13 @@ const configData = [
   [
     {
       attrs: {
+        label: "项目组",
+        prop: "deptName",
+        width: 150,
+      },
+    },
+    {
+      attrs: {
         label: "所属分类",
         prop: "productClassifyName",
       },
@@ -509,10 +534,12 @@ const handleChange = () => {
   } else if (activeName.value === "second") {
     requestUrl = "/stock/pageByProduct";
     selectConfig.value = selectConfigData[1];
+    selectConfig.value[1].data = deptData.value;
     config.value = configData[1];
   } else {
     requestUrl = "/stock/pageByProductSpu";
     selectConfig.value = selectConfigData[1];
+    selectConfig.value[1].data = deptData.value;
     config.value = configData[2];
   }
   getList();
@@ -569,6 +596,14 @@ const getDict = () => {
         label: x.name,
         value: x.id,
       }));
+      proxy.get("/logisticsInfos/getDepts").then((res) => {
+        deptData.value = res.data.map((x) => ({
+          ...x,
+          label: x.deptName,
+          value: x.deptId,
+        }));
+        selectConfig.value[2].data = deptData.value;
+      });
     });
 };
 getDict();

+ 8 - 8
src/views/index.vue

@@ -165,14 +165,14 @@ const getData = () => {
     .then((res) => {
       haveInitiatedData.value = res;
     });
-  proxy
-    .post("sendMeg/page", {
-      pageNum: 1,
-      pageSize: 3,
-    })
-    .then((res) => {
-      sendMegData.value = res;
-    });
+  // proxy
+  //   .post("sendMeg/page", {
+  //     pageNum: 1,
+  //     pageSize: 3,
+  //   })
+  //   .then((res) => {
+  //     sendMegData.value = res;
+  //   });
 };
 getData();
 // ​