huangxw 10 hónapja
szülő
commit
ead1b7614f

+ 12 - 0
src/api/cdt/menus/index.ts

@@ -50,6 +50,18 @@ export const addTestPackage = (data?: any): any => {
         data
     });
 };
+/**
+ * 修改检测套餐
+ * @param id
+ * @returns {*}
+ */
+export const editTestPackage = (data?: any): any => {
+    return request({
+        url: '/dgtmedicine/testPackage/edit',
+        method: 'post',
+        data
+    });
+};
 /**
  * 上架检测套餐
  * @param id

+ 15 - 11
src/views/cdt/menus/form/index.vue

@@ -134,14 +134,14 @@
                         <vxe-table ref="tableRightRef" border :data="form.priceDetail" :column-config="{ resizable: true }">
                             <vxe-column type="seq" width="60" title="序号" align="center" />
                             <vxe-column v-if="form.permitType === '2'" title="企业名称" align="center" min-width="100" :formatter="colNoData">
-                                <template #default="{ row }">{{ row?.cpyName }}</template>
+                                <template #default="{ row, $rowIndex }">{{ row?.cpyName || form?.permitCpyNames[$rowIndex] || '-' }}</template>
                             </vxe-column>
                             <vxe-column title="适用类型" align="center" field="memberLevelName" min-width="100" :formatter="colNoData" />
                             <vxe-column title="折扣标准" align="center" min-width="100">
                                 <template #default="{ row }">{{ NP.times(row?.memberDiscount, 10) }}折</template>
                             </vxe-column>
                             <vxe-column title="折扣后售价" align="center" field="name" min-width="100">
-                                <template #default="{ row }">{{ row?.discountPrice }}元</template>
+                                <template #default="{ row }">{{ NP.times(row?.originalPrice, row?.memberDiscount) }}元</template>
                             </vxe-column>
                             <vxe-column title="最终售价" align="center" min-width="100">
                                 <template #default="{ row }">
@@ -171,7 +171,7 @@ import NP from 'number-precision';
 import { colNoData } from '@/utils/noData';
 import { vipDiscountList } from '@/api/cdt/discount';
 import { debounce } from 'lodash';
-import { addTestPackage, getTestPackage, getTestPackageItems, testPackageSale } from '@/api/cdt/menus';
+import { addTestPackage, editTestPackage, getTestPackage, getTestPackageItems, testPackageSale } from '@/api/cdt/menus';
 const { query }: any = useRoute();
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { dm_package_type, dm_permit_type, vip_level } = toRefs<any>(proxy?.useDict('dm_package_type', 'dm_permit_type', 'vip_level'));
@@ -246,14 +246,22 @@ const submitSever = async (type) => {
                 memberLevel: item.memberLevel,
                 memberDiscount: item.memberDiscount,
                 originalPrice: item.originalPrice,
+                memberLevelName: item.memberLevelName,
                 price: item.price
             }
         })
    }
    delete params.items;
-   const res = await addTestPackage(params).finally(() => {
-       proxy.$modal.closeLoading();
-   });
+   let res = null;
+   if (form.value.id) {
+       res = await editTestPackage(params).finally(() => {
+           proxy.$modal.closeLoading();
+       });
+   } else {
+       res = await addTestPackage(params).finally(() => {
+           proxy.$modal.closeLoading();
+       });
+   }
    if (!res || res.code !== 200) return;
    if (type) {
     await testPackageSale(res.data?.id || form.value?.id);
@@ -310,13 +318,11 @@ const changePermit = (val: string[]) => {
             memberDiscount: item.discount,
             memberLevelName: item.name,
             originalPrice: totalCountPrice.value,
-            discountPrice: NP.times(item.discount, totalCountPrice.value),
             price: NP.times(item.discount, totalCountPrice.value) || undefined
         };
     });
 };
 const changePermitCpys = (vals: any[]) => {
-    console.log(vals);
     form.value.priceDetail = vals.map(item => {
         const discountItem = getDiscountItem(item.vipLevel || '0');
         return {
@@ -325,7 +331,6 @@ const changePermitCpys = (vals: any[]) => {
             memberLevel: discountItem?.level,
             memberDiscount: discountItem?.discount,
             originalPrice: totalCountPrice.value,
-            discountPrice: NP.times(discountItem?.discount, totalCountPrice.value),
             price: NP.times(discountItem?.discount, totalCountPrice.value) || undefined
         };
     });
@@ -347,11 +352,10 @@ const getDetail = async () => {
     if (!res || res.code !== 200) return;
     form.value = {
         ...res.data,
-        items: []
+        items: [],
     };
     getItems();
 };
-const itemsInfo = ref<any>([]);
 const getItems = async () => {
     const res = await getTestPackageItems({
         pageNum: 1,

+ 2 - 2
src/views/models/SearchSelect.vue

@@ -1,7 +1,7 @@
 <template>
     <el-select ref="selectDropRef" :multiple-limit="limit" @change="changeSelect" multiple v-model="value" filterable popper-class="custom-dropdown" remote reserve-keyword :remote-method="remoteMethod" remote-show-suffix clearable placeholder="请选择适用企业">
         <div class="optionBox" infinite-scroll-delay="500" infinite-scroll-distance="20" v-infinite-scroll="load">
-            <el-option v-for="item in options" :key="item.value" filterable :label="item.cpyName" :value="item.id"></el-option>
+            <el-option v-for="item in options" :key="item.value" filterable :label="item.cpyName" :value="item.cpyid"></el-option>
         </div>
     </el-select>
 </template>
@@ -59,7 +59,7 @@ const load = () => {
     }
 }
 const changeSelect = (val: string[]) => {
-    const itemInfo = options.value.filter(item => val.includes(item.id))
+    const itemInfo = options.value.filter(item => val.includes(item.cpyid))
     emit('update:modelValue', val)
     emit('change', val)
     emit('changeItem', itemInfo)