@tplc/business 0.3.73 → 0.3.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.3.74](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.3.73...v0.3.74) (2025-03-09)
6
+
7
+
8
+ ### ✨ Features | 新功能
9
+
10
+ * 新增search ([437606d](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/437606d1cb6d7fdacb9a4d7622c7e57ce02cb358))
11
+
5
12
  ### [0.3.73](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.3.69...v0.3.73) (2025-03-08)
6
13
 
7
14
 
@@ -11,6 +11,7 @@
11
11
  </lcb-action-view>
12
12
  <view class="absolute">
13
13
  <wd-message-box />
14
+ <OrderDetLogistic v-model="logistic.show" :data="logistic.data" />
14
15
  </view>
15
16
  </template>
16
17
 
@@ -18,7 +19,13 @@
18
19
  import type { ButtonProps } from '@tplc/wot/components/wd-button/types'
19
20
  import type { IPageBtn, LcbOperationActionsProps } from './types'
20
21
  import { useMessage } from '@tplc/wot'
22
+ import OrderDetLogistic from './components/OrderDetLogistic/index.vue'
23
+ import { reactive } from 'vue'
21
24
  const message = useMessage()
25
+ const logistic = reactive({
26
+ show: false,
27
+ data: {},
28
+ })
22
29
  defineOptions({
23
30
  name: 'LcbOperationActionsBtn',
24
31
  options: {
@@ -83,6 +90,14 @@ async function link({ item }: { item: IPageBtn }) {
83
90
  })
84
91
  },
85
92
  })
93
+ // 显示物流弹窗
94
+ } else if (item.buttonKey === 'showLogisticPop') {
95
+ const { data: logisticInfo } = await uni.$lcb.http.post<any>(item.requestUrl, {
96
+ ...item.requestParam,
97
+ })
98
+ console.log(logisticInfo)
99
+ logistic.data = logisticInfo
100
+ logistic.show = true
86
101
  } else {
87
102
  emits('cancel')
88
103
  }
@@ -0,0 +1,137 @@
1
+ <script setup lang="ts">
2
+ import { useTranslate } from '@tplc/wot'
3
+
4
+ interface LogisticData {
5
+ postageName?: string
6
+ externalPostageNo?: string
7
+ flowInfoList?: Array<{
8
+ statusName: string
9
+ time: string
10
+ context: string
11
+ }>
12
+ receiveName?: string
13
+ receivePhone?: string
14
+ provinceCityAreaName?: string
15
+ address?: string
16
+ }
17
+
18
+ interface Props {
19
+ data?: LogisticData
20
+ }
21
+ const { translate } = useTranslate()
22
+ const model = defineModel<boolean>({ required: true })
23
+ defineProps<Props>()
24
+
25
+ const handleCopy = (text?: string) => {
26
+ if (text) {
27
+ uni.setClipboardData({
28
+ data: text,
29
+ })
30
+ }
31
+ }
32
+ </script>
33
+
34
+ <template>
35
+ <wd-popup
36
+ v-model="model"
37
+ position="bottom"
38
+ custom-class="!rounded-t-20rpx"
39
+ closable
40
+ @close="model = false"
41
+ >
42
+ <view class="popup-view">
43
+ <view class="title">
44
+ {{ translate('物流信息') }}
45
+ </view>
46
+ <view class="p-3 box-border">
47
+ <view class="flex items-center text-3.5">
48
+ <text class="font-500 mr-3">{{ data?.postageName }}</text>
49
+ <text class="flex-1">{{ data?.externalPostageNo }}</text>
50
+ <wd-button size="small" plain @click="handleCopy(data?.externalPostageNo)">
51
+ {{ translate('复制') }}
52
+ </wd-button>
53
+ </view>
54
+ <scroll-view scroll-y class="max-h-50vh overflow-y-auto mt-3">
55
+ <view
56
+ v-for="(item, idx) in data?.flowInfoList"
57
+ :key="idx"
58
+ class="relative p-3 !pt-0 box-border"
59
+ >
60
+ <view
61
+ :class="[
62
+ 'line absolute left-0 top-3.5 h-[calc(100%-24rpx)]',
63
+ idx === (data?.flowInfoList?.length || 0) - 1 ? 'hidden' : '',
64
+ ]"
65
+ />
66
+ <view :class="['dot absolute', idx < 1 ? 'bg-primary' : '']" />
67
+ <view class="flex text-3">
68
+ <text class="font-500 mr-3">{{ item.statusName }}</text>
69
+ <text>{{ item.time }}</text>
70
+ </view>
71
+ <view class="mt-2 text-2.5 text-[#7b7b7b]">
72
+ <text>{{ item.context }}</text>
73
+ </view>
74
+ </view>
75
+ </scroll-view>
76
+ </view>
77
+ <view class="flex items-center bg-white py-3 box-border mx-3 border-top">
78
+ <wd-icon name="location" custom-class="mr-30rpx" />
79
+ <view class="flex-1 truncate">
80
+ <view class="flex items-center text-3">
81
+ <text class="font-500 mr-3">{{ data?.receiveName }}</text>
82
+ <text class="opacity-40">{{ data?.receivePhone }}</text>
83
+ </view>
84
+ <view class="mt-1 opacity-40 truncate text-2.5">
85
+ <text class="truncate">{{ data?.provinceCityAreaName }} {{ data?.address }}</text>
86
+ </view>
87
+ </view>
88
+ </view>
89
+ </view>
90
+ </wd-popup>
91
+ </template>
92
+
93
+ <style scoped lang="scss">
94
+ .icon-address {
95
+ width: 40rpx;
96
+ height: 40rpx;
97
+ }
98
+
99
+ .line {
100
+ width: 2rpx;
101
+ background-color: #ececec;
102
+ margin-left: 5rpx;
103
+ }
104
+
105
+ .top-first {
106
+ top: 50rpx;
107
+ }
108
+
109
+ .h-last {
110
+ height: 18rpx;
111
+ }
112
+
113
+ .dot {
114
+ width: 10rpx;
115
+ height: 10rpx;
116
+ background-color: #ececec;
117
+ left: 1rpx;
118
+ top: 12rpx;
119
+ border-radius: 10rpx;
120
+ z-index: 1;
121
+ }
122
+
123
+ .popup-view {
124
+ .title {
125
+ position: relative;
126
+ font-size: 32rpx;
127
+ font-weight: 500;
128
+ line-height: 96rpx;
129
+ text-align: center;
130
+ border-radius: 20rpx;
131
+ box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(243, 245, 249, 0.94);
132
+ }
133
+ }
134
+ .border-top {
135
+ border-top: 1rpx solid #ececec;
136
+ }
137
+ </style>
@@ -6,7 +6,7 @@
6
6
  borderWidth: `${borderWidth}px`,
7
7
  }"
8
8
  >
9
- <lcb-action-view>
9
+ <lcb-action-view v-bind="link">
10
10
  <view
11
11
  class="flex items-center"
12
12
  :style="{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tplc/business",
3
- "version": "0.3.73",
3
+ "version": "0.3.74",
4
4
  "keywords": [
5
5
  "业务组件"
6
6
  ],
@@ -0,0 +1,51 @@
1
+ interface LogisticData {
2
+ postageName?: string
3
+ externalPostageNo?: string
4
+ flowInfoList?: Array<{
5
+ statusName: string
6
+ time: string
7
+ context: string
8
+ }>
9
+ receiveName?: string
10
+ receivePhone?: string
11
+ provinceCityAreaName?: string
12
+ address?: string
13
+ }
14
+ interface Props {
15
+ data?: LogisticData
16
+ }
17
+ declare let __VLS_typeProps: Props
18
+ type __VLS_PublicProps = {
19
+ modelValue: boolean
20
+ } & typeof __VLS_typeProps
21
+ declare const _default: import('vue').DefineComponent<
22
+ __VLS_TypePropsToOption<__VLS_PublicProps>,
23
+ {},
24
+ unknown,
25
+ {},
26
+ {},
27
+ import('vue').ComponentOptionsMixin,
28
+ import('vue').ComponentOptionsMixin,
29
+ {
30
+ 'update:modelValue': (modelValue: boolean) => void
31
+ },
32
+ string,
33
+ import('vue').PublicProps,
34
+ Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<__VLS_PublicProps>>> & {
35
+ 'onUpdate:modelValue'?: ((modelValue: boolean) => any) | undefined
36
+ },
37
+ {},
38
+ {}
39
+ >
40
+ export default _default
41
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T
42
+ type __VLS_TypePropsToOption<T> = {
43
+ [K in keyof T]-?: {} extends Pick<T, K>
44
+ ? {
45
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>
46
+ }
47
+ : {
48
+ type: import('vue').PropType<T[K]>
49
+ required: true
50
+ }
51
+ }