Bläddra i källkod

加工计费标准调整

lxf 1 år sedan
förälder
incheckning
b0806a8d7f

+ 16 - 0
src/utils/util.js

@@ -441,3 +441,19 @@ export function downloadFile(fileStream, fileName) {
   // 释放对象
   URL.revokeObjectURL(url);
 }
+
+// 深冻结 
+export function deepFreeze(obj) {
+  // 获取所有属性
+  var propNames = Object.getOwnPropertyNames(obj);
+  // 遍历
+  propNames.forEach((item) => {
+    var prop = obj[item];
+    // 如果某个属性的属性值是对象,则递归调用
+    if (prop instanceof Object && prop !== null) {
+      deepFreeze(prop);
+    }
+  });
+  // 冻结自身
+  return Object.freeze(obj);
+}

+ 7 - 0
src/views/group/selling-price/charging-standard/addOrModify.vue

@@ -171,6 +171,12 @@ const formConfig = computed(() => {
       itemType: "text",
     },
     {
+      type: "select",
+      prop: "species",
+      data: proxy.useUserStore().allDict["bom_species"],
+      label: "种类",
+    },
+    {
       type: "slot",
       slotName: "priceBillingStandardDetailList",
       label: "",
@@ -179,6 +185,7 @@ const formConfig = computed(() => {
 });
 const rules = ref({
   name: [{ required: true, message: "请输入规则名称", trigger: "blur" }],
+  species: [{ required: true, message: "请输入请选择种类", trigger: "blur" }],
   chargeItem: [{ required: true, message: "请选择收费项目", trigger: "change" }],
   chargeMode: [{ required: true, message: "请选择收费模式", trigger: "change" }],
   sectionMin: [{ required: true, message: "请输入区间起始值", trigger: "blur" }],

+ 10 - 0
src/views/group/selling-price/charging-standard/index.vue

@@ -54,6 +54,16 @@ const config = computed(() => {
     },
     {
       attrs: {
+        label: "种类",
+        prop: "species",
+        width: 180,
+      },
+      render(val) {
+        return proxy.dictKeyValue(val, proxy.useUserStore().allDict["bom_species"]);
+      },
+    },
+    {
+      attrs: {
         label: "操作",
         width: 120,
         align: "center",

+ 24 - 8
src/views/group/subsidiary/business-division/index.vue

@@ -28,6 +28,13 @@
             </el-radio-group>
           </div>
         </template>
+        <template #priceBillingStandardId>
+          <div style="width: 100%">
+            <el-select v-model="formData.data.priceBillingStandardIdArr" placeholder="请选择加工计费标准" multiple style="width: 100%">
+              <el-option v-for="item in priceBillingStandardList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
+            </el-select>
+          </div>
+        </template>
       </byForm>
       <template #footer>
         <el-button @click="openDialog = false" size="large">取 消</el-button>
@@ -334,10 +341,10 @@ const formConfig = computed(() => {
     },
     {
       type: "select",
-      prop: "priceBillingStandardId",
-      label: "加工计费标准",
+      label: "佣金规则",
+      prop: "commissionRule",
+      data: proxy.useUserStore().allDict["department_commissionRule"],
       itemWidth: 50,
-      data: priceBillingStandardList.value,
     },
     {
       type: "select",
@@ -347,11 +354,9 @@ const formConfig = computed(() => {
       itemWidth: 50,
     },
     {
-      type: "select",
-      label: "佣金规则",
-      prop: "commissionRule",
-      data: proxy.useUserStore().allDict["department_commissionRule"],
-      itemWidth: 50,
+      type: "slot",
+      slotName: "priceBillingStandardId",
+      label: "加工计费标准",
     },
     {
       type: "slot",
@@ -420,6 +425,7 @@ const clickModal = () => {
     status: 1,
     wlnWarehouseCodeArr: [],
     wlnBrandArr: [],
+    priceBillingStandardIdArr: [],
   };
   openDialog.value = true;
 };
@@ -435,6 +441,11 @@ const submitForm = () => {
     } else {
       formData.data.wlnWarehouseCode = "";
     }
+    if (formData.data.priceBillingStandardIdArr && formData.data.priceBillingStandardIdArr.length > 0) {
+      formData.data.priceBillingStandardId = formData.data.priceBillingStandardIdArr.join(",");
+    } else {
+      formData.data.priceBillingStandardId = "";
+    }
     proxy.post("/department/" + modalType.value, formData.data).then(() => {
       ElMessage({
         message: modalType.value == "add" ? "添加成功" : "编辑成功",
@@ -459,6 +470,11 @@ const clickUpdate = (row) => {
     } else {
       formData.data.wlnWarehouseCodeArr = [];
     }
+    if (formData.data.priceBillingStandardId) {
+      formData.data.priceBillingStandardIdArr = formData.data.priceBillingStandardId.split(",");
+    } else {
+      formData.data.priceBillingStandardIdArr = [];
+    }
     openDialog.value = true;
   });
 };