Procházet zdrojové kódy

JLHWEB: 1、床垫报价列表与详情页,功能菜单栏平铺排列
2、床垫报价,四个报价金额转成美金显示
3、床垫报价,报价清单增加按身份显示限制

JohnnyChan před 2 dny
rodič
revize
ca99013026

+ 19 - 1
JLHWEB/src/utils/index.ts

@@ -825,7 +825,7 @@ export const htmlDecodeByRegExp = (str: string) => {
 };
 
 /**
- * 小数点加、减、乘、除
+ * @description 加法
  * @param {Number} arg1 数1
  * @param {Number} arg2 数2
  * @returns
@@ -860,6 +860,12 @@ export const floatAddMore = (arr: any) => {
 
   return sum;
 };
+/**
+ * @description 减法
+ * @param arg1
+ * @param arg2
+ * @returns
+ */
 export const floatSub = (arg1: any, arg2: any) => {
   let r1, r2, m, n;
   try {
@@ -877,6 +883,12 @@ export const floatSub = (arg1: any, arg2: any) => {
   n = r1 >= r2 ? r1 : r2;
   return ((Math.round(arg1 * m) - Math.round(arg2 * m)) / m).toFixed(n);
 };
+/**
+ * @description 乘法
+ * @param arg1
+ * @param arg2
+ * @returns
+ */
 export const floatMul = (arg1: any, arg2: any) => {
   let m = 0,
     s1 = (arg1 ?? 0).toString(),
@@ -903,6 +915,12 @@ export const floatMulMore = (arr: any) => {
   }
   return Number(sum) / Math.pow(10, m);
 };
+/**
+ * @description 除法
+ * @param arg1
+ * @param arg2
+ * @returns
+ */
 export const floatDiv = (arg1: any, arg2: any) => {
   let t1 = 0,
     t2 = 0,

+ 5 - 1
JLHWEB/src/views/erpapi/mattressInterface/detail.vue

@@ -484,6 +484,7 @@ const FuncInsertRow = (refName: string, type: number) => {
       itemnameEnum: itEnum,
       bjPznameEnum: pzEnum
     }).then((data: any) => {
+      // wf_fine_erp_pz()
       $table.insertAt(data, insertParam).then(({ row }) => {
         // $table.reloadData(visibleData);
         _ref.scrollTo(row, "bj_namemx");
@@ -704,7 +705,10 @@ const orderDefaultAction = [
 
             if ($tableQd) {
               const { visibleData } = $tableQd.getTableData();
-              _qdList = visibleData;
+              _qdList = visibleData.map((o, i) => {
+                o.printid = i + 1;
+                return o;
+              });
             }
             if ($tableYw) {
               const { visibleData } = $tableYw.getTableData();

+ 18 - 8
JLHWEB/src/views/quote/mattressQuote/components/QuoteListNew.vue

@@ -67,12 +67,18 @@
           <el-table-column prop="dscrp" label="内容" width="160" />
           <el-table-column prop="qty" label="数量" align="right" />
           <el-table-column prop="useqty" label="用量" align="right" />
-          <el-table-column prop="price" label="单价" align="right" />
+          <el-table-column prop="price" label="单价" align="right" v-if="pricePower" />
+        </template>
+        <template v-else-if="!ifExpandAll && !pricePower">
+          <el-table-column prop="qty" label="数量" align="right" />
+          <el-table-column prop="useqty" label="用量" align="right" />
+        </template>
+        <template v-if="pricePower">
+          <el-table-column prop="costamt_2" label="标准金额" align="right" />
+          <el-table-column prop="costamt_1" label="散单金额" align="right" />
+          <el-table-column prop="costamt_4" label="小单金额" align="right" />
+          <el-table-column prop="costamt_3" label="大单金额" align="right" />
         </template>
-        <el-table-column prop="costamt_2" label="标准金额" align="right" />
-        <el-table-column prop="costamt_1" label="散单金额" align="right" />
-        <el-table-column prop="costamt_4" label="小单金额" align="right" />
-        <el-table-column prop="costamt_3" label="大单金额" align="right" />
       </el-table>
 
       <!-- <vxe-table
@@ -162,7 +168,7 @@ import { useDesign } from "@/hooks/useDesign";
 import { formatTime, formatAmount3, floatAdd } from "@/utils/index";
 import { isFunction } from "@/utils/is";
 import { cloneDeep, pick } from "lodash-es";
-// import { useUserStore } from "@/stores/modules/user";
+import { useUserStore } from "@/stores/modules/user";
 import { CommonDynamicSelect } from "@/api/modules/common";
 import { useHooksCpQuote } from "../hooks/cpQuote";
 import { isFilterPrice, autoMergeCells } from "@/utils/index";
@@ -187,9 +193,13 @@ const props = withDefaults(defineProps<WidgetProps>(), {
 });
 
 const { prefixCls } = useDesign("ljdrawer-quotelist");
-// const { userInfo } = useUserStore();
+const { userInfo } = useUserStore();
 const { enumMap, tableData, oriTableData, wf_retrieve_qingdan } = useHooksCpQuote();
 
+const pricePower = computed(() => {
+  return userInfo.usermode == 0;
+});
+
 const emits = defineEmits(["export"]);
 
 const LjDrawerRef = ref();
@@ -197,7 +207,7 @@ const elTableRef = ref();
 const tableRef = ref();
 const mainData = ref<any>({});
 // const mainData = ref<any>({});
-const ifExpandAll = ref<any>(false);
+const ifExpandAll = ref<any>(true);
 
 const isCurrency = computed(() => {
   return mainData.value.data?.moneyrate != 1 ? "美金" : "人民币";

+ 159 - 159
JLHWEB/src/views/quote/mattressQuote/detail.vue

@@ -1956,176 +1956,176 @@ const orderDefaultAction = [
         });
     }
   }),
-  [
-    buttonDefault({
-      label: t("common.businessOrder"),
-      power: 94,
-      limited: () => {
-        return !!orderStatus.value;
-      },
-      disabledTextCallBack: (data: any) => {
-        if (!CheckPower(94)) {
-          return `你没有【报价单-${t("common.businessOrder")}】的使用权限`;
-        }
-        if (data.parentid > 0) {
-          return "副规格无法操作,请在主规格中进行";
-        }
-        return "";
-      },
-      clickFunc: item => {
-        ElMessageBox.confirm("是否确定要业务下单吗?", "询问", {
-          confirmButtonText: "是",
-          cancelButtonText: "否",
-          type: "warning"
+  // [
+  buttonDefault({
+    label: t("common.businessOrder"),
+    power: 94,
+    limited: () => {
+      return !!orderStatus.value;
+    },
+    disabledTextCallBack: (data: any) => {
+      if (!CheckPower(94)) {
+        return `你没有【报价单-${t("common.businessOrder")}】的使用权限`;
+      }
+      if (data.parentid > 0) {
+        return "副规格无法操作,请在主规格中进行";
+      }
+      return "";
+    },
+    clickFunc: item => {
+      ElMessageBox.confirm("是否确定要业务下单吗?", "询问", {
+        confirmButtonText: "是",
+        cancelButtonText: "否",
+        type: "warning"
+      })
+        .then(() => {
+          let _params = {
+            mattressids: [Number(LjDetailRef.value._mainData.mattressid)],
+            xd_flag: 1
+          };
+          SaveMattressAuditing(_params).then(() => {
+            ElMessage.success(t("sys.api.operationSuccess"));
+
+            LjDetailRef.value.refresh();
+          });
         })
-          .then(() => {
-            let _params = {
-              mattressids: [Number(LjDetailRef.value._mainData.mattressid)],
-              xd_flag: 1
-            };
-            SaveMattressAuditing(_params).then(() => {
-              ElMessage.success(t("sys.api.operationSuccess"));
-
-              LjDetailRef.value.refresh();
-            });
-          })
-          .catch((e: TypeError) => {
-            ElMessage({
-              type: "info",
-              message: "操作取消"
-            });
+        .catch((e: TypeError) => {
+          ElMessage({
+            type: "info",
+            message: "操作取消"
           });
+        });
+    }
+  }),
+  buttonDefault({
+    label: t("common.businessOrderCancel"),
+    power: 95,
+    limited: () => {
+      return !!orderStatus.value;
+    },
+    disabledTextCallBack: (data: any) => {
+      if (!CheckPower(95)) {
+        return `你没有【报价单-${t("common.businessOrderCancel")}】的使用权限`;
       }
-    }),
-    buttonDefault({
-      label: t("common.businessOrderCancel"),
-      power: 95,
-      limited: () => {
-        return !!orderStatus.value;
-      },
-      disabledTextCallBack: (data: any) => {
-        if (!CheckPower(95)) {
-          return `你没有【报价单-${t("common.businessOrderCancel")}】的使用权限`;
-        }
-        if (data.parentid > 0) {
-          return "副规格无法操作,请在主规格中进行";
-        }
-        return "";
-      },
-      clickFunc: item => {
-        ElMessageBox.confirm(`是否确定要${t("common.businessOrderCancel")}吗?`, "询问", {
-          confirmButtonText: "是",
-          cancelButtonText: "否",
-          type: "warning"
+      if (data.parentid > 0) {
+        return "副规格无法操作,请在主规格中进行";
+      }
+      return "";
+    },
+    clickFunc: item => {
+      ElMessageBox.confirm(`是否确定要${t("common.businessOrderCancel")}吗?`, "询问", {
+        confirmButtonText: "是",
+        cancelButtonText: "否",
+        type: "warning"
+      })
+        .then(() => {
+          let _params = {
+            mattressids: [Number(LjDetailRef.value._mainData.mattressid)],
+            xd_flag: 0
+          };
+          SaveMattressAuditing(_params).then(() => {
+            ElMessage.success(t("sys.api.operationSuccess"));
+
+            LjDetailRef.value.refresh();
+          });
         })
-          .then(() => {
-            let _params = {
-              mattressids: [Number(LjDetailRef.value._mainData.mattressid)],
-              xd_flag: 0
-            };
-            SaveMattressAuditing(_params).then(() => {
-              ElMessage.success(t("sys.api.operationSuccess"));
-
-              LjDetailRef.value.refresh();
-            });
-          })
-          .catch((e: TypeError) => {
-            ElMessage({
-              type: "info",
-              message: "操作取消"
-            });
+        .catch((e: TypeError) => {
+          ElMessage({
+            type: "info",
+            message: "操作取消"
           });
+        });
+    }
+  }),
+  // ],
+  // [
+  buttonDefault({
+    label: t("common.auditFinance"),
+    power: 73,
+    limited: () => {
+      return !!orderStatus.value;
+    },
+    disabledTextCallBack: (data: any) => {
+      if (!CheckPower(73)) {
+        return `你没有【报价单-${t("common.auditFinance")}】的使用权限`;
       }
-    })
-  ],
-  [
-    buttonDefault({
-      label: t("common.auditFinance"),
-      power: 73,
-      limited: () => {
-        return !!orderStatus.value;
-      },
-      disabledTextCallBack: (data: any) => {
-        if (!CheckPower(73)) {
-          return `你没有【报价单-${t("common.auditFinance")}】的使用权限`;
-        }
-        if (data.parentid > 0) {
-          return "副规格无法操作,请在主规格中进行";
-        }
-        if (data.flag == 1) {
-          return "已审核";
-        }
-        return "";
-      },
-      clickFunc: item => {
-        ElMessageBox.confirm(`是否确定要${t("common.auditFinance")}吗?`, "询问", {
-          confirmButtonText: "是",
-          cancelButtonText: "否",
-          type: "warning"
+      if (data.parentid > 0) {
+        return "副规格无法操作,请在主规格中进行";
+      }
+      if (data.flag == 1) {
+        return "已审核";
+      }
+      return "";
+    },
+    clickFunc: item => {
+      ElMessageBox.confirm(`是否确定要${t("common.auditFinance")}吗?`, "询问", {
+        confirmButtonText: "是",
+        cancelButtonText: "否",
+        type: "warning"
+      })
+        .then(() => {
+          let _params = {
+            mattressids: [Number(LjDetailRef.value._mainData.mattressid)],
+            flag: 1
+          };
+          SaveMattressAuditing(_params).then(() => {
+            ElMessage.success(t("sys.api.operationSuccess"));
+
+            LjDetailRef.value.refresh();
+          });
         })
-          .then(() => {
-            let _params = {
-              mattressids: [Number(LjDetailRef.value._mainData.mattressid)],
-              flag: 1
-            };
-            SaveMattressAuditing(_params).then(() => {
-              ElMessage.success(t("sys.api.operationSuccess"));
-
-              LjDetailRef.value.refresh();
-            });
-          })
-          .catch((e: TypeError) => {
-            ElMessage({
-              type: "info",
-              message: "操作取消"
-            });
+        .catch((e: TypeError) => {
+          ElMessage({
+            type: "info",
+            message: "操作取消"
           });
+        });
+    }
+  }),
+  buttonDefault({
+    label: t("common.withdrawAuditFinance"),
+    power: 74,
+    limited: () => {
+      return !!orderStatus.value;
+    },
+    disabledTextCallBack: (data: any) => {
+      if (!CheckPower(74)) {
+        return `你没有【报价单-${t("common.withdrawAuditFinance")}】的使用权限`;
       }
-    }),
-    buttonDefault({
-      label: t("common.withdrawAuditFinance"),
-      power: 74,
-      limited: () => {
-        return !!orderStatus.value;
-      },
-      disabledTextCallBack: (data: any) => {
-        if (!CheckPower(74)) {
-          return `你没有【报价单-${t("common.withdrawAuditFinance")}】的使用权限`;
-        }
-        if (data.parentid > 0) {
-          return "副规格无法操作,请在主规格中进行";
-        }
-        if (data.flag != 1) {
-          return "未审核";
-        }
-        return "";
-      },
-      clickFunc: item => {
-        ElMessageBox.confirm(`是否确定要${t("common.withdrawAuditFinance")}吗?`, "询问", {
-          confirmButtonText: "是",
-          cancelButtonText: "否",
-          type: "warning"
+      if (data.parentid > 0) {
+        return "副规格无法操作,请在主规格中进行";
+      }
+      if (data.flag != 1) {
+        return "未审核";
+      }
+      return "";
+    },
+    clickFunc: item => {
+      ElMessageBox.confirm(`是否确定要${t("common.withdrawAuditFinance")}吗?`, "询问", {
+        confirmButtonText: "是",
+        cancelButtonText: "否",
+        type: "warning"
+      })
+        .then(() => {
+          let _params = {
+            mattressids: [Number(LjDetailRef.value._mainData.mattressid)],
+            flag: 0
+          };
+          SaveMattressAuditing(_params).then(() => {
+            ElMessage.success(t("sys.api.operationSuccess"));
+
+            LjDetailRef.value.refresh();
+          });
         })
-          .then(() => {
-            let _params = {
-              mattressids: [Number(LjDetailRef.value._mainData.mattressid)],
-              flag: 0
-            };
-            SaveMattressAuditing(_params).then(() => {
-              ElMessage.success(t("sys.api.operationSuccess"));
-
-              LjDetailRef.value.refresh();
-            });
-          })
-          .catch((e: TypeError) => {
-            ElMessage({
-              type: "info",
-              message: "操作取消"
-            });
+        .catch((e: TypeError) => {
+          ElMessage({
+            type: "info",
+            message: "操作取消"
           });
-      }
-    })
-  ],
+        });
+    }
+  }),
+  // ],
   buttonDefault({
     label: t("common.copyQuote"),
     power: 75,

+ 71 - 1
JLHWEB/src/views/quote/mattressQuote/hooks/index.tsx

@@ -19,7 +19,9 @@ import {
   floatMul,
   formatFixedNumber,
   autoMergeCells,
-  formatCutNumber
+  formatCutNumber,
+  formatAmount3,
+  floatDiv
 } from "@/utils/index";
 import { cloneDeep, defaultsDeep, throttle } from "lodash-es";
 import { TYPE, useToast, POSITION } from "vue-toastification";
@@ -3520,6 +3522,74 @@ export const useHooks = (t?: any) => {
     {
       field: "packtype",
       enum: state.packtypeOptions
+    },
+    {
+      field: "dannum_cost1",
+      render: (scope: any) => {
+        if (scope.row.moneyrate > 1) {
+          return (
+            <div>
+              <span class="text-f-s" style="color: var(--lj-color-gray-7)">
+                $
+              </span>
+              {formatAmount3({ val: floatDiv(scope.row.dannum_cost1, scope.row.moneyrate) })}
+            </div>
+          );
+        } else {
+          return formatAmount3({ val: scope.row.dannum_cost1 });
+        }
+      }
+    },
+    {
+      field: "dannum_cost2",
+      render: (scope: any) => {
+        if (scope.row.moneyrate > 1) {
+          return (
+            <div>
+              <span class="text-f-s" style="color: var(--lj-color-gray-7)">
+                $
+              </span>
+              {formatAmount3({ val: floatDiv(scope.row.dannum_cost2, scope.row.moneyrate) })}
+            </div>
+          );
+        } else {
+          return formatAmount3({ val: scope.row.dannum_cost2 });
+        }
+      }
+    },
+    {
+      field: "dannum_cost3",
+      render: (scope: any) => {
+        if (scope.row.moneyrate > 1) {
+          return (
+            <div>
+              <span class="text-f-s" style="color: var(--lj-color-gray-7)">
+                $
+              </span>
+              {formatAmount3({ val: floatDiv(scope.row.dannum_cost3, scope.row.moneyrate) })}
+            </div>
+          );
+        } else {
+          return formatAmount3({ val: scope.row.dannum_cost3 });
+        }
+      }
+    },
+    {
+      field: "dannum_cost4",
+      render: (scope: any) => {
+        if (scope.row.moneyrate > 1) {
+          return (
+            <div>
+              <span class="text-f-s" style="color: var(--lj-color-gray-7)">
+                $
+              </span>
+              {formatAmount3({ val: floatDiv(scope.row.dannum_cost4, scope.row.moneyrate) })}
+            </div>
+          );
+        } else {
+          return formatAmount3({ val: scope.row.dannum_cost4 });
+        }
+      }
     }
   ];
 

+ 33 - 33
JLHWEB/src/views/quote/mattressQuote/index.vue

@@ -325,7 +325,7 @@ const action: detailAction[] = [
 
       let _mattressids = curRecords.map((item: any) => Number(item.mattressid));
 
-      ElMessageBox.confirm(`是否确定要删除${curRecords.length}张床垫报价单吗?`, "询问", {
+      ElMessageBox.confirm(`是否确定要删除${curRecords.length}张床垫报价单(及其副规格报价单)吗?`, "询问", {
         confirmButtonText: t("common.delText"),
         cancelButtonText: "否",
         type: "warning"
@@ -364,38 +364,38 @@ const action: detailAction[] = [
       router.push(`/mattressQuote/copy?id=${_cur.mattressid}&code=${_cur.mattresscode}`);
     }
   }),
-  [
-    buttonDefault({
-      label: t("common.businessOrder"),
-      power: 94,
-      clickFunc: item => {
-        toAuditing({ xd_flag: 1 }, t("common.businessOrder"));
-      }
-    }),
-    buttonDefault({
-      label: t("common.businessOrderCancel"),
-      power: 95,
-      clickFunc: item => {
-        toAuditing({ xd_flag: 0 }, t("common.businessOrder"));
-      }
-    })
-  ],
-  [
-    buttonDefault({
-      label: t("common.auditFinance"),
-      power: 73,
-      clickFunc: item => {
-        toAuditing({ flag: 1 }, t("common.auditFinance"));
-      }
-    }),
-    buttonDefault({
-      label: t("common.withdrawAuditFinance"),
-      power: 74,
-      clickFunc: item => {
-        toAuditing({ flag: 0 }, t("common.withdrawAuditFinance"));
-      }
-    })
-  ],
+  // [
+  buttonDefault({
+    label: t("common.businessOrder"),
+    power: 94,
+    clickFunc: item => {
+      toAuditing({ xd_flag: 1 }, t("common.businessOrder"));
+    }
+  }),
+  buttonDefault({
+    label: t("common.businessOrderCancel"),
+    power: 95,
+    clickFunc: item => {
+      toAuditing({ xd_flag: 0 }, t("common.businessOrder"));
+    }
+  }),
+  // ],
+  // [
+  buttonDefault({
+    label: t("common.auditFinance"),
+    power: 73,
+    clickFunc: item => {
+      toAuditing({ flag: 1 }, t("common.auditFinance"));
+    }
+  }),
+  buttonDefault({
+    label: t("common.withdrawAuditFinance"),
+    power: 74,
+    clickFunc: item => {
+      toAuditing({ flag: 0 }, t("common.withdrawAuditFinance"));
+    }
+  }),
+  // ],
   buttonDefault({
     label: t("common.copyFromMulitFlag"),
     power: 75,