فهرست منبع

加气优惠二期

chenlei 1 سال پیش
والد
کامیت
e3f45b844f

+ 3 - 1
src/components/numer/index.vue

@@ -10,7 +10,7 @@
     <template v-else>
       <div class="mr-spacd4" v-if="props.pre">{{ props.pre }}</div>
       <div v-if="func.isnull(props.value)">
-        {{ func.convert.nullView(props.value) }}
+        {{ props.nullView ? func.convert.nullView(props.value) : props.value }}
       </div>
       <div class="mr-spacd4" v-else>
         <div class="font-bold b-fz" v-if="numer.integer">{{ numer.integer }}</div>
@@ -26,12 +26,14 @@ const props = withDefaults(
   defineProps<{
     isSimple?: boolean
     value?: number | string
+    nullView?: boolean
     pre?: string
     unit?: string
     valueClass: string[]
   }>(),
   {
     value: '',
+    nullView: true,
     unit: '',
   },
 )

+ 1 - 1
src/manifest.json

@@ -83,7 +83,7 @@
   },
   "quickapp": {},
   "mp-weixin": {
-    "appid": "wxf69daeba7aec5be4",
+    "appid": "wx72ba78af2cf68cf0",
     "setting": {
       "urlCheck": false,
       "minified": true

+ 5 - 23
src/pages.json

@@ -58,6 +58,10 @@
       }
     },
     {
+      "path": "pages/order/indexcopy",
+      "type": "page"
+    },
+    {
       "path": "pages/order/orderDetail",
       "type": "page",
       "style": {
@@ -112,27 +116,5 @@
       "type": "page"
     }
   ],
-  "subPackages": [
-    {
-      "root": "pagesSubExample",
-      "pages": [
-        {
-          "path": "index",
-          "type": "page"
-        },
-        {
-          "path": "list/index",
-          "type": "page"
-        },
-        {
-          "path": "login/index",
-          "type": "page"
-        },
-        {
-          "path": "webview/index",
-          "type": "page"
-        }
-      ]
-    }
-  ]
+  "subPackages": []
 }

+ 5 - 1
src/pages/account/index.vue

@@ -6,7 +6,11 @@
     <div class="chunk relative s-fz">
       <div class="yebz absolute" v-if="data.accountInfo.flag === 0">[余额不足]</div>
       <div class="flex items-baseline mb-spacd2">
-        <ay-numer :value="data.accountInfo.showBalance" :unit="data.accountInfo.unit" />
+        <ay-numer
+          :value="data.accountInfo.showBalance"
+          :nullView="!store.user.isLogined"
+          :unit="data.accountInfo.unit"
+        />
         <span v-if="data.accountInfo.showDet">
           (直销 {{ data.accountInfo.carrierDirectBalance }} | 经销
           {{ data.accountInfo.carrierBalance }})

+ 14 - 2
src/pages/index/index.vue

@@ -65,7 +65,11 @@
               [余额不足]
             </div>
           </div>
-          <ay-numer :value="data.accountInfo.showBalance" :unit="data.accountInfo.unit" />
+          <ay-numer
+            :value="data.accountInfo.showBalance"
+            :nullView="!store.user.isLogined"
+            :unit="data.accountInfo.unit"
+          />
         </div>
       </ay-flowLine>
       <ay-flowLine class="flex-1" :loading="store.webapi.strategy.get_truck_info.ing">
@@ -73,7 +77,7 @@
           <div>
             <div class="mb-spacd4" v-show="showcm">车辆管理</div>
             <div v-if="!store.user.isLogined">{{ config.common.nullView[0] }}</div>
-            <div v-show="store.webapi.strategy.get_truck_info.firstSuccess">
+            <div v-else v-show="store.webapi.strategy.get_truck_info.firstSuccess">
               <div class="p-color mt-spac" v-if="data.truckInfo.length === 0">添加车辆</div>
               <div v-else>
                 <span class="font-bold b-fz">{{ data.truckInfo.length }}</span>
@@ -273,6 +277,7 @@ const topHeight = computed(() => config.common.safeAreaTopHeight)
 const topHeightPX = computed(() => `${topHeight.value}px`)
 const showcm = computed(() => {
   return (
+    !store.user.isLogined ||
     !store.webapi.strategy.get_truck_info.firstSuccess ||
     (store.webapi.strategy.get_truck_info.firstSuccess && data.truckInfo.length)
   )
@@ -474,6 +479,13 @@ const methods = ay.initMethods(
           if (nopayfordriver.settleStatus === 1) {
             // 跳未支付
             ay.goPage(config.pages.order_prePay, { params: { orderId: nopayfordriver.orderId } })
+          } else {
+            const curSettleStatus = config.common.settleStatus.find(
+              (f) => f.value === String(nopayfordriver.settleStatus),
+            )
+            if (curSettleStatus) {
+              func.native.showToast(`存在${curSettleStatus.label}订单!`)
+            }
           }
         }
         if (type === 2) {

+ 7 - 5
src/pages/order/index.vue

@@ -127,7 +127,7 @@
             </div>
           </div>
         </div>
-        <div class="btns">
+        <div class="btns" v-if="data.filterOpen">
           <button @click="methods.clearFilters">清除</button>
           <button type="primary" @click="methods.saveFilters">确定</button>
         </div>
@@ -147,12 +147,14 @@ const staticData = {
     { label: '个人支付', type: 1, hasStatus: ['3'] },
     { label: '所属物流', type: 1, hasStatus: ['0', '1', '2'] },
   ],
+  endDate: func.getDate(Date.now()),
 }
 const drawer = ref()
 const topHeight = computed(() => config.common.safeAreaTopHeight)
 const topHeightPX = computed(() => `${topHeight.value}px`)
 
 const data = ay.initData({
+  filterOpen: false,
   /** 确定选中条件数量 */
   checkCount: 0,
   filters: [
@@ -172,7 +174,7 @@ const data = ay.initData({
       items: func.convert.getCheckItem(config.common.tradeType),
     },
   ] as any[],
-  range: [],
+  range: [staticData.endDate.add(-30, 'day'), staticData.endDate],
   orderList: [] as 订单详情[],
   tags: [
     {
@@ -269,12 +271,12 @@ const methods = {
     }
   },
   drawerChange(args) {
+    data.filterOpen = args
     // 打开抽屉初始化条件选择状态
     if (args) {
       methods.initFiltersCheck()
     } else {
       // 关闭抽屉计算选中数量
-
       methods.setCheckCount()
     }
   },
@@ -354,8 +356,8 @@ const methods = {
 ay.entrance((args) => {
   if (args.loadType === enums.LoadType.onLoad) {
     // 初始化日期范围
-    const endDate = func.getDate(Date.now())
-    data.range = [endDate.add(-30, 'day'), endDate]
+    // const endDate = func.getDate(Date.now())
+    // data.range = [endDate.add(-30, 'day'), endDate]
 
     methods.setCheckCount()
   }

+ 402 - 0
src/pages/order/indexcopy.vue

@@ -0,0 +1,402 @@
+<template>
+  <ay-container :showSpac="false">
+    <ay-sticky relativeTo="#orderList" targetSelector="#top">
+      <div class="center pt-spac pb-spac" id="top">
+        <uni-datetime-picker
+          v-model="data.range"
+          type="daterange"
+          :clearIcon="false"
+          @change="methods.changeDate"
+        />
+        <button
+          type="primary"
+          plain="true"
+          size="mini"
+          class="ml-spac"
+          @click="methods.showFilters"
+        >
+          筛选{{ data.checkCount ? ` · ${data.checkCount}` : '' }}
+        </button>
+        <!-- <uni-badge type="primary" :text="data.checkCount" absolute="rightTop" :offset="[-3, 3]">
+          <uni-icons
+            class="ml-spacd2"
+            type="settings"
+            color=""
+            size="24"
+            @click="methods.showFilters"
+          />
+        </uni-badge> -->
+      </div>
+    </ay-sticky>
+    <div class="center justify-between s-fz tags">
+      <div
+        class="text-center chunk tag"
+        v-for="(t, i) in data.tags"
+        :key="i"
+        :class="{ odd: i % 2 === 0 }"
+      >
+        <div>{{ t.title }}</div>
+        <div>{{ t.unit }}</div>
+        <div class="font-bold p-fz">
+          {{ func.convert.nullView(t.value, 1) }}
+          <!-- <ay-numer :value="func.convert.nullView(t.value, 1)" /> -->
+        </div>
+      </div>
+    </div>
+    <div id="orderList">
+      <div
+        class="chunk childs-fcjb-mbd2"
+        :class="{ 'm-b-0': i === data.orderList.length - 1 }"
+        v-for="(o, i) in data.orderList"
+        :key="i"
+        @click="methods.goDetail(o)"
+      >
+        <div>
+          <div class="font-bold p-fz">{{ o.nickName }}</div>
+          <div>{{ func.convert.getOrderStatusStr(o.settleStatus) }}</div>
+        </div>
+        <div>
+          <div>加气量(公斤)</div>
+          <div>{{ o.gasQty }}</div>
+        </div>
+        <div>
+          <div>小计(元)</div>
+          <div class="font-bold bs-fz">{{ o.allAmount }}</div>
+        </div>
+        <div>
+          <div class="gray-color">{{ func.getDate(o.createDate).format() }}</div>
+        </div>
+      </div>
+    </div>
+    <ay-drawer
+      ref="drawer"
+      mode="right"
+      :maskClick="true"
+      :width="config.common.SystemInfo.windowWidth"
+      :top="topHeightPX"
+      @change="methods.drawerChange"
+    >
+      <div class="m-spac">
+        <div class="center b-fz mb-spac">
+          <div class="font-bold">
+            <span>筛选</span>
+            <span v-if="checkCount">
+              <span>·</span>
+              <span class="p-color">{{ checkCount }}</span>
+            </span>
+          </div>
+
+          <uni-icons
+            type="closeempty"
+            color=""
+            size="24"
+            class="abs-right"
+            @click="methods.closeFilters"
+          />
+        </div>
+        <div>
+          <div>
+            <div v-for="(f, i) in filtersView" :key="i" :class="{ 'nmt-spac': f.type === 1 }">
+              <div
+                class="section"
+                :class="{
+                  'font-bold': !f.type,
+                  'ml-spacd2': f.type === 1,
+                  's-fz': f.type === 1,
+                }"
+              >
+                {{ f.label }}
+              </div>
+
+              <div class="center justify-between flex-wrap s-fz">
+                <div
+                  class="center whitespace-nowrap p-spacd2 chunk f-item"
+                  :class="{
+                    'checked-full': item.checked,
+                    isall: item.value === staticData.nullValue,
+                  }"
+                  v-for="(item, ii) in f.items"
+                  :key="ii"
+                  @click="methods.filterCheck(f, item)"
+                >
+                  <!-- <div class="tag-rb" v-if="item.isPerson">个人支付</div> -->
+                  {{ item.label }}
+                </div>
+                <div class="f-item" v-if="f.items.length % 3 === 2"></div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="btns">
+          <button @click="methods.clearFilters">清除</button>
+          <button type="primary" @click="methods.saveFilters">确定</button>
+        </div>
+      </div>
+    </ay-drawer>
+  </ay-container>
+</template>
+
+<script lang="ts" setup>
+const staticData = {
+  /** 缓存筛选条件key名 */
+  fcn: 'filterCheckeds',
+  /** 全部选项的value值 */
+  nullValue: '-1',
+  payTypeGroups: [
+    { label: '支付方式', type: 0, hasStatus: ['-1', '10'] },
+    { label: '个人支付', type: 1, hasStatus: ['3'] },
+    { label: '所属物流', type: 1, hasStatus: ['0', '1', '2'] },
+  ],
+}
+const drawer = ref()
+const topHeight = computed(() => config.common.safeAreaTopHeight)
+const topHeightPX = computed(() => `${topHeight.value}px`)
+
+const data = ay.initData({
+  /** 确定选中条件数量 */
+  checkCount: 0,
+  filters: [
+    {
+      label: '结算状态',
+      value: 'settleStatus',
+      items: func.convert.getCheckItem(config.common.settleStatus),
+    },
+    {
+      label: '支付方式',
+      value: 'payType',
+      items: func.convert.getCheckItem(config.common.payTypes),
+    },
+    {
+      label: '交易模式',
+      value: 'tradeTypes',
+      items: func.convert.getCheckItem(config.common.tradeType),
+    },
+  ] as any[],
+  range: [],
+  orderList: [] as 订单详情[],
+  tags: [
+    {
+      field: 'allValue',
+      title: '加气总额',
+      unit: '(元)',
+      value: '',
+    },
+    {
+      field: 'allQty',
+      title: '加气总量',
+      unit: '(公斤)',
+      value: '',
+    },
+    {
+      field: 'count',
+      title: '订单总数',
+      unit: '(笔)',
+      value: '',
+    },
+    {
+      field: 'allPrefer',
+      title: '优惠总额',
+      unit: '(元)',
+      value: '',
+    },
+  ],
+})
+const filtersView = computed(() => {
+  const rv = [...data.filters]
+  const payTypeIndex = rv.findIndex((f) => f.value === 'payType')
+  const payTypeItem = rv[payTypeIndex]
+  const groups = staticData.payTypeGroups.map((m) => {
+    return {
+      label: m.label,
+      type: m.type,
+      items: payTypeItem.items.filter((f) => m.hasStatus.includes(f.value)),
+      target: payTypeItem,
+    }
+  })
+
+  rv.splice(payTypeIndex, 1, ...groups)
+  return rv
+})
+/** 选中的条件 */
+const filterCheckeds = computed(() => {
+  const fcs: Record<string, string[]> = {}
+  data.filters.forEach((f) => {
+    const curItems = f.items
+      .filter((ff) => ff.checked && ff.value !== staticData.nullValue)
+      .map((m) => m.value)
+    if (curItems.length) {
+      fcs[f.value] = curItems
+    }
+  })
+  return fcs
+})
+/** 临时选中条件数量 */
+const checkCount = computed(() =>
+  Object.values(filterCheckeds.value)
+    .map((m) => m.length + (m.includes(staticData.nullValue) ? -1 : 0))
+    .reduce((a, b) => a + b, 0),
+)
+const methods = {
+  goDetail(od) {
+    ay.goPage(config.pages.order_orderDetail, { params: od })
+  },
+  /** 从缓存 初始化查询条件选中状态 */
+  getStoreFilterCheckeds() {
+    return uni.getStorageSync(staticData.fcn) || {}
+  },
+  /** 从缓存 初始化查询条件选中状态 */
+  initFiltersCheck() {
+    const filterCheckeds: any = methods.getStoreFilterCheckeds()
+    if (Object.keys(filterCheckeds).length) {
+      data.filters.forEach((f) => {
+        if (filterCheckeds[f.value]) {
+          f.items.forEach((ff) => {
+            ff.checked = filterCheckeds[f.value]?.includes(ff.value)
+          })
+        } else {
+          f.items[0].checked = true
+        }
+      })
+    }
+  },
+  /** 计算条件选中数量 */
+  setCheckCount() {
+    const filterCheckeds = methods.getStoreFilterCheckeds()
+    if (filterCheckeds) {
+      data.checkCount = Object.values<string[]>(filterCheckeds)
+        .map((m) => m.length + (m.includes(staticData.nullValue) ? -1 : 0))
+        .reduce((a, b) => a + b, 0)
+    }
+  },
+  drawerChange(args) {
+    // 打开抽屉初始化条件选择状态
+    if (args) {
+      methods.initFiltersCheck()
+    } else {
+      // 关闭抽屉计算选中数量
+
+      methods.setCheckCount()
+    }
+  },
+  saveFilters() {
+    // 有选中的条件
+    if (Object.keys(filterCheckeds.value).length) {
+      uni.setStorageSync(staticData.fcn, filterCheckeds.value)
+    } else {
+      uni.removeStorageSync(staticData.fcn)
+    }
+    methods.closeFilters()
+    methods.getOrderList()
+  },
+  clearFilters() {
+    data.filters.forEach((f) => {
+      f.items.forEach((ff) => {
+        ff.checked = false
+        if (ff.value === staticData.nullValue) {
+          ff.checked = true
+        }
+      })
+    })
+  },
+  filterCheck(fg, item) {
+    // 点击全部
+    const realfg = fg.target ? fg.target : fg
+    if (item.value === staticData.nullValue) {
+      realfg.items.forEach((f) => (f.checked = false))
+      item.checked = true
+    } else {
+      item.checked = !item.checked
+
+      realfg.items[0].checked = false
+    }
+  },
+  getOrderList(cras = store.curPage.getDefAyContainerRefreshArgs()) {
+    const paramFilters: Record<string, string> = {}
+    const storeFilterCheckeds = methods.getStoreFilterCheckeds()
+    Object.keys(storeFilterCheckeds).forEach(
+      (f) => (paramFilters[f] = storeFilterCheckeds[f].toString()),
+    )
+    webapi.strategy
+      .get_order_list<{ param: { gasstationId?: string } }>(
+        {
+          page: cras.page,
+          size: cras.size,
+          param: {
+            startCreateDate: data.range[0] + ' 00:00:00',
+            endCreateDate: data.range[1] + ' 23:59:59',
+            ...paramFilters,
+          },
+        },
+        { showLoading: !cras.isAdd },
+      )
+      .then((res) => {
+        data.tags.forEach((f) => {
+          f.value = res[f.field]
+        })
+        if (cras.isAdd) {
+          data.orderList.push(...res.page.records)
+        } else {
+          data.orderList = res.page.records
+        }
+      })
+  },
+  changeDate(e) {
+    methods.getOrderList()
+  },
+  showFilters() {
+    drawer.value.open()
+  },
+  closeFilters() {
+    drawer.value.close()
+  },
+}
+
+ay.entrance((args) => {
+  if (args.loadType === enums.LoadType.onLoad) {
+    // 初始化日期范围
+    const endDate = func.getDate(Date.now())
+    const startDate = endDate.add(-30, 'day')
+    data.range = [
+      func.getDate(startDate).format(enums.FormatType.YMD),
+      func.getDate(endDate).format(enums.FormatType.YMD),
+    ]
+
+    methods.setCheckCount()
+  }
+  methods.getOrderList(args.cras)
+})
+</script>
+
+<style lang="scss" scoped>
+.abs-right {
+  position: absolute;
+  right: $p-spac;
+}
+.f-item {
+  box-sizing: border-box;
+  width: 31%;
+  &.isall {
+    background: #fff;
+  }
+  &.checked {
+    color: $p-color;
+  }
+}
+.tags {
+  > .tag {
+    min-width: 20%;
+    max-width: 25%;
+    padding: $p-spacd2 0;
+    background-color: #d5f8e9;
+  }
+  .odd {
+    background-color: #d5e9fa;
+  }
+  // > div:nth-child(odd) {
+  //   background-color: #d5e9fa;
+  // }
+  // > div:nth-child(even) {
+  //   background-color: #d5f8e9;
+  // }
+}
+</style>

+ 1 - 1
src/pages/order/orderDetail.vue

@@ -128,7 +128,7 @@ const data = ay.initData({
             return data.settleStatus === 3
           },
           title: '取消时间',
-          key: 'updateDate',
+          key: 'cancelDate',
           view(data) {
             return func.getDate(data).format()
           },

+ 8 - 0
src/types/schemas/settle.d.ts

@@ -339,6 +339,14 @@ interface DownLoadParam {
   /** 组织id */
   orgId?: number
 }
+interface DriverRankVO {
+  /** 司机信息 */
+  driverName?: string
+  /** 累计加气量 */
+  gasQty?: number
+  /** 排名 */
+  rank?: number
+}
 interface ExcelExportParam {
   /** undefined */
   datas?: AnyObject

+ 63 - 11
src/types/schemas/strategy.d.ts

@@ -312,11 +312,23 @@ interface CarrierRebateVO {
   orgName?: string
   /** 优惠叠加: 11 或 00(当前只需判断值是否为 11-全部叠加,否则为不叠加) */
   rebateconfig?: string
+  /**  加气订单满减(加气站) */
+  reduceRebateCount?: number
   /** 满减优惠参与标识:0-未参加 1-参加 */
   reduceRebateEnable?: number
   /** 更新日期时间 */
   updateDate?: string
 }
+interface CarrierRebatesQryParam {
+  /** 物流公司id,必传 */
+  carrierOrgId?: number
+  /** 加气站名称 */
+  gasstationName?: string
+  /** undefined */
+  listPrice?: number
+  /** undefined */
+  platformPrice?: number
+}
 interface CarrierRebate对象 {
   /** 物流公司id */
   carrierOrgId?: string
@@ -753,7 +765,7 @@ interface FlagStationMonitorVO {
   /** 加气站简称 */
   nickName?: string
   /** 交接班时间点 */
-  time?: LocalTime
+  time?: string
 }
 interface FreightConfigLog对象 {
   /** 计算运费 */
@@ -2072,11 +2084,11 @@ interface ManPriceCarrierRebate对象 {
   gasstationId?: string
   /** 加气站名称 */
   gasstationName?: string
-  /** 加气站满减(元/公斤),3位小数 */
+  /** 加气站特价(元/公斤),3位小数 */
   gasstationRebate?: number
   /** 加气站满减(元/公斤),3位小数 */
   gasstationRebatePlan?: number
-  /** 长城满减(元/公斤),3位小数 */
+  /** 长城特价(元/公斤),3位小数 */
   gwayRebate?: number
   /** 长城满减(元/公斤),3位小数 */
   gwayRebatePlan?: number
@@ -2090,7 +2102,7 @@ interface ManPriceCarrierRebate对象 {
   operatorName?: string
   /** (预约时间)计划生效时间 */
   planDate?: string
-  /** 物流公司专项优惠,按公斤配置(元/公斤) */
+  /** 优惠,按公斤配置(元/公斤) */
   rebate?: number
   /** 物流公司专项优惠,按公斤配置(元/公斤) */
   rebatePlan?: number
@@ -3432,6 +3444,14 @@ interface ReleaseManage对象 {
   /** 单据状态(1-申请 2-通过 3-驳回 4-已发布) */
   status?: number
 }
+interface Result {
+  /** 返回码 */
+  code?: number
+  /** 返回数据 */
+  data?: AnyObject
+  /** 返回信息 */
+  message?: string
+}
 interface SetTruckQtyParam {
   /** 账户余额 */
   balance?: number
@@ -3455,11 +3475,15 @@ interface StationMap对象 {
   city?: string
   /** 联系人 */
   contacts?: string
+  /** 日销量(吨) */
+  daySale?: number
+  /** 开发负责人 */
+  devPerson?: string
   /** 开发状态:合作、推进、关注、关注-待定、竞品-中石化、竞品-中海油、竞品-中石油、放弃 */
   devStatus?: string
   /** 加气站名称 */
   gasstationName?: string
-  /** undefined */
+  /** 国道省道 */
   groad?: string
   /** 主键id */
   id?: string
@@ -3467,8 +3491,6 @@ interface StationMap对象 {
   intention?: string
   /** 纬度 */
   latitude?: string
-  /** 国、省道站 */
-  locType?: string
   /** 经度 */
   longitude?: string
   /** 业务经理姓名 */
@@ -3485,7 +3507,7 @@ interface StationMap对象 {
   region?: string
   /** 备注 */
   remark?: string
-  /** 所在路段及位置 */
+  /** 周边道路 */
   road?: string
   /** 站点类型:中石化站,社会站,中石油站,中海油站,合作经营站 */
   stationType?: string
@@ -4911,6 +4933,28 @@ interface 气瓶检测的加气站 {
   /** 预约订单 */
   gctOrder?: GctOrder对象
 }
+interface 物流管理端专享优惠VO实体类 {
+  /** 物流专享 */
+  carrierRebate?: number
+  /** 优惠差价(元/公斤) */
+  diff?: number
+  /** 满减公斤 */
+  fullQty?: number
+  /** 加气站名称 */
+  gasstationName?: string
+  /** 优惠内容 */
+  note?: string
+  /** 结算特价 */
+  price?: number
+  /** 优惠类型:1-大象线上 2-线下优惠 3-叠加 */
+  rebateType?: number
+  /** 满减优惠 */
+  reduceRebate?: number
+  /** 车辆经营类型:0=自营车辆 1=其他[挂靠车辆] 2=全部 */
+  truckType?: number
+  /** 类型:0-大象线上 1-线下优惠 */
+  type?: number
+}
 interface 盘盈亏数据VO {
   /** 账存量 */
   accountQty?: number
@@ -5264,7 +5308,7 @@ interface 站的气价监控物流特价VO实体类 {
   carrierRebate?: number
   /** 优惠差价(元/公斤) */
   diff?: number
-  /** 影响物流/卡 */
+  /** 影响物流(type为 0-大象线上)/卡(type为1-线下优惠) */
   effectCount?: number
   /** 满减公斤 */
   fullQty?: number
@@ -5280,7 +5324,7 @@ interface 站的气价监控物流特价VO实体类 {
   rebateType?: number
   /** 满减优惠 */
   reduceRebate?: number
-  /** 类型:0-大象线上 1-线下优惠 */
+  /** 销售方式:0-大象线上 1-加注机线下 */
   type?: number
 }
 interface 组合支付分页查询参数 {
@@ -5434,8 +5478,10 @@ interface 订单列表返回实体类 {
   allQty?: number
   /** 加气总量(吨) */
   allQtyTon?: number
-  /** 站实时清分总额(元) */
+  /** 站结算清分总额(元) */
   allSplit?: number
+  /** 站标准清分总额(元) */
+  allStandardSplit?: number
   /** 加气总额(元) */
   allValue?: number
   /** 加气总额(万元) */
@@ -5452,6 +5498,8 @@ interface 订单列表返回实体类 {
   gwaySpecial?: number
   /** 分页信息 */
   page?: IPage<订单详情>
+  /** 站优惠总额(元) */
+  stationPrefer?: number
 }
 interface 订单导出参数 {
   /** 导出列的字段 */
@@ -5740,6 +5788,10 @@ interface 通用id参数 {
   /** 通用id参数 */
   id?: string
 }
+interface 通用字符串单参数_参数类 {
+  /** 城市 */
+  city?: string
+}
 interface 预警提醒 物流公司信息 {
   /** 物流公司id */
   orgId?: number

+ 9 - 9
src/utils/config/interFaces/index.ts

@@ -1,30 +1,30 @@
 import websocket from './websocket'
-import account from './account'
 import message from './message'
+import allinpay from './allinpay'
+import account from './account'
 import tms from './tms'
+import settle from './settle'
 import pay from './pay'
 import user from './user'
-import settle from './settle'
-import allinpay from './allinpay'
 import strategy from './strategy'
 
 export default {
   /** websocket打印中心 */
   websocket,
-  /** 账户中心 */
-  account,
   /** 消息中心 */
   message,
+  /** 通联支付 */
+  allinpay,
+  /** 账户中心 */
+  account,
   /** 运力中心 */
   tms,
+  /** 结算中心 */
+  settle,
   /** 支付中心 */
   pay,
   /** 用户中心 */
   user,
-  /** 结算中心 */
-  settle,
-  /** 通联支付 */
-  allinpay,
   /** 运营策略中心 */
   strategy,
 }

+ 14 - 8
src/utils/config/interFaces/pay.ts

@@ -3,49 +3,49 @@ export default {
   profit_day: {
     realUrl: '/pay/data/profit_day' as const,
     reqType: {} as 优惠运营分析查询参数实体类,
-    resType: {} as 长城毛利返回的实体类日统计,
+    resType: {} as Array<长城毛利返回的实体类日统计>,
   },
   /** 按月查询毛利估算(元) */
   profit_month: {
     realUrl: '/pay/data/profit_month' as const,
     reqType: {} as 优惠运营分析查询参数实体类,
-    resType: {} as 长城毛利返回的实体类日统计,
+    resType: {} as Array<长城毛利返回的实体类日统计>,
   },
   /** 按日查询优惠金额(元) */
   rebate_amount_day: {
     realUrl: '/pay/data/rebate_amount_day' as const,
     reqType: {} as 优惠运营分析查询参数实体类,
-    resType: {} as 优惠金额_元_返回的实体类日统计,
+    resType: {} as Array<优惠金额_元_返回的实体类日统计>,
   },
   /** 按月查询优惠金额(元) */
   rebate_amount_month: {
     realUrl: '/pay/data/rebate_amount_month' as const,
     reqType: {} as 优惠运营分析查询参数实体类,
-    resType: {} as 优惠金额_元_返回的实体类月统计,
+    resType: {} as Array<优惠金额_元_返回的实体类月统计>,
   },
   /** 按日查询优惠平均差价(元/公斤) */
   rebate_price_day: {
     realUrl: '/pay/data/rebate_price_day' as const,
     reqType: {} as 优惠运营分析查询参数实体类,
-    resType: {} as 优惠平均差价返回的实体类月统计日统计,
+    resType: {} as Array<优惠平均差价返回的实体类月统计日统计>,
   },
   /** 按月查询优惠平均差价(元/公斤) */
   rebate_price_month: {
     realUrl: '/pay/data/rebate_price_month' as const,
     reqType: {} as 优惠运营分析查询参数实体类,
-    resType: {} as 优惠平均差价返回的实体类月统计日统计,
+    resType: {} as Array<优惠平均差价返回的实体类月统计日统计>,
   },
   /** 按日查询销量优惠分布(公斤) */
   rebate_qty_day: {
     realUrl: '/pay/data/rebate_qty_day' as const,
     reqType: {} as 优惠运营分析查询参数实体类,
-    resType: {} as 销量优惠分布返回的实体类日统计,
+    resType: {} as Array<销量优惠分布返回的实体类日统计>,
   },
   /** 按月查询销量优惠分布(公斤) */
   rebate_qty_month: {
     realUrl: '/pay/data/rebate_qty_month' as const,
     reqType: {} as 优惠运营分析查询参数实体类,
-    resType: {} as 销量优惠分布返回的实体类日统计,
+    resType: {} as Array<销量优惠分布返回的实体类日统计>,
   },
   /** 创建加气订单 */
   add: {
@@ -257,6 +257,12 @@ export default {
     reqType: {} as 通用id参数,
     resType: {} as Array<GctOrderAttach对象>,
   },
+  /** 修改加气订单价格信息 */
+  ch_order_createdate: {
+    realUrl: '/pay/handle/ch_order_createdate' as const,
+    reqType: {} as GasOrder对象,
+    resType: {} as any,
+  },
   /** 请求绑定银行卡 */
   bind_bankCard: {
     realUrl: '/pay/member/bind_bankCard' as const,

+ 6 - 0
src/utils/config/interFaces/settle.ts

@@ -683,6 +683,12 @@ export default {
 
     resType: {} as any,
   },
+  /** 获取某个时间段驾驶员加气排名 */
+  driver_rank: {
+    realUrl: '/settle/statistics/driver_rank' as const,
+
+    resType: {} as DriverRankVO,
+  },
   /** 查询加气站库存数据汇总(多天数据) */
   find_Gasstation_stock_sum: {
     realUrl: '/settle/statistics/find_Gasstation_stock_sum' as const,

+ 50 - 14
src/utils/config/interFaces/strategy.ts

@@ -446,6 +446,12 @@ export default {
     reqType: {} as FlagStationDateParam,
     resType: {} as FlagStationMonitorVO,
   },
+  /** 物流管理端资金管理-专享优惠,物流id必传 */
+  get_carrier_rebates: {
+    realUrl: '/strategy/flag/price/get_carrier_rebates' as const,
+    reqType: {} as IPageParams<CarrierRebatesQryParam>,
+    resType: {} as 物流管理端专享优惠VO实体类,
+  },
   /** 查询站的作战地图当日数据,只传站id即可 */
   get_gasdata: {
     realUrl: '/strategy/flag/price/get_gasdata' as const,
@@ -1034,6 +1040,12 @@ export default {
     reqType: {} as GwayGaspriceLog对象,
     resType: {} as any,
   },
+  /** 根据创建订单日期重新计算gasOrder价格 */
+  recalculate: {
+    realUrl: '/strategy/handle/recalculate' as const,
+    reqType: {} as GasOrder对象,
+    resType: {} as GasOrder对象,
+  },
   /** 设置出港价 */
   set_harbour_price: {
     realUrl: '/strategy/harbour_price/set_harbour_price' as const,
@@ -2204,14 +2216,38 @@ export default {
     reqType: {} as ReleaseManage对象,
     resType: {} as any,
   },
+  /** 新增站信息 */
+  add_33: {
+    realUrl: '/strategy/station_map/add' as const,
+    reqType: {} as StationMap对象,
+    resType: {} as boolean,
+  },
+  /** 删除站信息 */
+  delete_6: {
+    realUrl: '/strategy/station_map/delete' as const,
+    reqType: {} as StationMap对象,
+    resType: {} as boolean,
+  },
+  /** 获取城市的经纬度范围 */
+  get_city_region: {
+    realUrl: '/strategy/station_map/get_city_region' as const,
+    reqType: {} as 通用字符串单参数_参数类,
+    resType: {} as Array<string>,
+  },
   /** 按条件获取站信息列表 */
   list_59: {
     realUrl: '/strategy/station_map/list' as const,
     reqType: {} as StationMap对象,
-    resType: {} as StationMap对象,
+    resType: {} as Array<StationMap对象>,
+  },
+  /** 更改站信息 */
+  update_25: {
+    realUrl: '/strategy/station_map/update' as const,
+    reqType: {} as StationMap对象,
+    resType: {} as boolean,
   },
   /** 添加库存变动日志 */
-  add_33: {
+  add_34: {
     realUrl: '/strategy/stock_log/add' as const,
     reqType: {} as StockLog对象,
     resType: {} as any,
@@ -2325,7 +2361,7 @@ export default {
     resType: {} as any,
   },
   /** 添加system_config_log */
-  add_34: {
+  add_35: {
     realUrl: '/strategy/system_config_log/add' as const,
     reqType: {} as SystemConfigLog对象,
     resType: {} as any,
@@ -2337,19 +2373,19 @@ export default {
     resType: {} as any,
   },
   /** 修改system_config_log */
-  update_25: {
+  update_26: {
     realUrl: '/strategy/system_config_log/update' as const,
     reqType: {} as SystemConfigLog对象,
     resType: {} as any,
   },
   /** 添加tag */
-  add_35: {
+  add_36: {
     realUrl: '/strategy/tag/add' as const,
     reqType: {} as Tag对象,
     resType: {} as any,
   },
   /** 删除tag */
-  delete_6: {
+  delete_7: {
     realUrl: '/strategy/tag/delete' as const,
     reqType: {} as Tag对象,
     resType: {} as boolean,
@@ -2367,7 +2403,7 @@ export default {
     resType: {} as any,
   },
   /** 修改tag */
-  update_26: {
+  update_27: {
     realUrl: '/strategy/tag/update' as const,
     reqType: {} as Tag对象,
     resType: {} as any,
@@ -2463,7 +2499,7 @@ export default {
     resType: {} as CarrierVO,
   },
   /** 新增卡车 */
-  add_36: {
+  add_37: {
     realUrl: '/strategy/truck/add' as const,
     reqType: {} as Truck对象,
     resType: {} as any,
@@ -2850,7 +2886,7 @@ export default {
     resType: {} as string,
   },
   /** 添加truck_com_contract */
-  add_37: {
+  add_38: {
     realUrl: '/strategy/truck_com_contract/add' as const,
     reqType: {} as TruckComContract对象,
     resType: {} as any,
@@ -2868,13 +2904,13 @@ export default {
     resType: {} as any,
   },
   /** 修改truck_com_contract */
-  update_27: {
+  update_28: {
     realUrl: '/strategy/truck_com_contract/update' as const,
     reqType: {} as TruckComContract对象,
     resType: {} as any,
   },
   /** 新增卡车-司机分配 */
-  add_38: {
+  add_39: {
     realUrl: '/strategy/truck_driver/add' as const,
     reqType: {} as TruckDriver对象,
     resType: {} as any,
@@ -2928,7 +2964,7 @@ export default {
     resType: {} as any,
   },
   /** 添加truck_driver_log */
-  add_39: {
+  add_40: {
     realUrl: '/strategy/truck_driver_log/add' as const,
     reqType: {} as TruckDriverLog对象,
     resType: {} as any,
@@ -2964,13 +3000,13 @@ export default {
     resType: {} as any,
   },
   /** 修改truck_driver_log */
-  update_28: {
+  update_29: {
     realUrl: '/strategy/truck_driver_log/update' as const,
     reqType: {} as TruckDriverLog对象,
     resType: {} as any,
   },
   /** add 卡车变更日志 */
-  add_40: {
+  add_41: {
     realUrl: '/strategy/truck_log/add' as const,
     reqType: {} as TruckLog对象,
     resType: {} as any,

+ 7 - 0
src/utils/config/pages.ts

@@ -148,5 +148,12 @@ export default {
     title: '购车优惠卡',
     identity: true,
     isPager: false
+  } as ayPage,
+  order_indexcopy: {
+    _url: '/pages/order/indexcopy',
+    _type: 'page',
+    title: 'order_indexcopy',
+    identity: true,
+    isPager: false
   } as ayPage
 }

+ 8 - 6
vitePlugin.ts

@@ -263,7 +263,7 @@ const convert = {
     }
   },
 }
-/** 对 uno.config.ts 功能的充 */
+/** 对 uno.config.ts 功能的充 */
 function UnoCssMPPlugin(): Plugin {
   return {
     name: 'UnoCssMPPlugin',
@@ -276,11 +276,13 @@ function UnoCssMPPlugin(): Plugin {
             const tempFilePath = `${options.dir}/${filename}`
             const code = chunk.source as string
             const allCss = code.split('/* stylelint-disable comment-empty-line-before */')
-            let unoCss = allCss[0]
-            unoCss = unoCss
-              .replaceAll('}', '}\n')
-              .replace(/(\.(?:(?!container).+))\{/g, '.container$1,.container $1{')
-            files.write(tempFilePath, unoCss + allCss[1])
+            if (allCss.length === 2) {
+              let unoCss = allCss[0]
+              unoCss = unoCss
+                .replaceAll('}', '}\n')
+                .replace(/(\.(?:(?!container).+))\{/g, '.container$1,.container $1{')
+              files.write(tempFilePath, unoCss + allCss[1])
+            }
 
             // bundle[filename] = {
             //   fileName: 'app.wxss',