@bytenew/bn-bus-ui 1.1.463 → 1.1.464

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.
Files changed (167) hide show
  1. package/dist/assocTableSearch-Bfe96864.js +349 -0
  2. package/dist/assocTableSearch.css +1 -0
  3. package/dist/bn-bus-ui.es.js +65 -0
  4. package/dist/bn-bus-ui.umd.js +49 -0
  5. package/dist/chooseIPaasData-COrrvQKZ.js +391 -0
  6. package/dist/chooseIPaasData.css +1 -0
  7. package/dist/defaultSet-CzN1ec_d.js +297 -0
  8. package/dist/defaultSet.css +1 -0
  9. package/dist/fileFormData-D_Q1vylE.js +53 -0
  10. package/dist/formItemFooter-BvptZj_u.js +108 -0
  11. package/dist/formItemFooter.css +1 -0
  12. package/dist/funcExprDialog-BguNs9fl.js +139 -0
  13. package/dist/funcExprDialog.css +1 -0
  14. package/dist/index-0oB7QocU.js +44 -0
  15. package/dist/index-69fRP0M8.js +89 -0
  16. package/dist/index-BdklTJtF.js +66 -0
  17. package/dist/index-Bu3jHlby.js +45 -0
  18. package/dist/index-BxWx5kpG.js +89 -0
  19. package/dist/index-C5LQ0OSs.js +183 -0
  20. package/dist/index-C8YhrrUN.js +51 -0
  21. package/dist/index-COuPCIzB.js +45 -0
  22. package/dist/index-CSvVyjxx.js +178 -0
  23. package/dist/index-DCv51EXX.js +109 -0
  24. package/dist/index-DUSI6MuC.js +135 -0
  25. package/dist/index-DVzxs2vR.js +58 -0
  26. package/dist/index-Dd4b8zNb.js +746 -0
  27. package/dist/index-Md-ZlkCW.js +66 -0
  28. package/dist/index-hsSIY2FP.js +221 -0
  29. package/dist/index-n13-H3_Y.js +118 -0
  30. package/dist/index-wUl5aPUD.js +64 -0
  31. package/dist/index.css +1 -0
  32. package/dist/index2.css +1 -0
  33. package/dist/index3.css +1 -0
  34. package/dist/index4.css +1 -0
  35. package/dist/index5.css +1 -0
  36. package/dist/index6.css +1 -0
  37. package/dist/index7.css +1 -0
  38. package/dist/install-CNjs0u5x.js +23299 -0
  39. package/dist/install.css +1 -0
  40. package/dist/setOption-CXOifQcx.js +329 -0
  41. package/dist/setOption.css +1 -0
  42. package/dist/setRelationOption-C7VDhej7.js +5217 -0
  43. package/dist/setRelationOption.css +1 -0
  44. package/package.json +4 -20
  45. package/install.js +0 -134
  46. package/packages/BnAddress/index.vue +0 -141
  47. package/packages/BnAddressParse/index.vue +0 -75
  48. package/packages/BnAdvancedFilter/BnFilterView.vue +0 -145
  49. package/packages/BnAdvancedFilter/index.vue +0 -345
  50. package/packages/BnAdvancedFilter/util.js +0 -171
  51. package/packages/BnCascader/BnCascader.vue +0 -543
  52. package/packages/BnCascader/BnCascaderPanel.vue +0 -1331
  53. package/packages/BnCascader/cascaderDisplay.js +0 -102
  54. package/packages/BnCheck/BnCheck.vue +0 -253
  55. package/packages/BnColumnConfig/columnConfigDialog.vue +0 -134
  56. package/packages/BnColumnConfig/component/childrenFormSetting/assocTable.vue +0 -143
  57. package/packages/BnColumnConfig/component/childrenFormSetting/assocTableSearch.vue +0 -314
  58. package/packages/BnColumnConfig/component/childrenFormSetting/index.vue +0 -243
  59. package/packages/BnColumnConfig/component/defaultSet/defaultSet.vue +0 -114
  60. package/packages/BnColumnConfig/component/defaultSet/stringDefault.vue +0 -210
  61. package/packages/BnColumnConfig/component/funcExprDialog/funcExprDialog.vue +0 -126
  62. package/packages/BnColumnConfig/component/packageFilter/index.vue +0 -141
  63. package/packages/BnColumnConfig/component/paraExplainSet/index.vue +0 -156
  64. package/packages/BnColumnConfig/component/setOption/setOption.vue +0 -321
  65. package/packages/BnColumnConfig/component/setRelationOption/ConditionList.vue +0 -277
  66. package/packages/BnColumnConfig/component/setRelationOption/LevelHeader.vue +0 -144
  67. package/packages/BnColumnConfig/component/setRelationOption/setRelationOption.vue +0 -642
  68. package/packages/BnColumnConfig/data.js +0 -129
  69. package/packages/BnColumnConfig/index.scss +0 -23
  70. package/packages/BnColumnConfig/index.vue +0 -309
  71. package/packages/BnCondVal/BnCondVal.vue +0 -112
  72. package/packages/BnCondVal/itemVal/dateRegVal.vue +0 -39
  73. package/packages/BnCondVal/itemVal/dateVal.vue +0 -39
  74. package/packages/BnCondVal/itemVal/numRegVal.vue +0 -67
  75. package/packages/BnCondVal/itemVal/numVal.vue +0 -44
  76. package/packages/BnCondVal/itemVal/relationVal.vue +0 -73
  77. package/packages/BnCondVal/itemVal/selectColumnVal.vue +0 -58
  78. package/packages/BnCondVal/itemVal/selectVal.vue +0 -59
  79. package/packages/BnCondVal/itemVal/stringVal.vue +0 -156
  80. package/packages/BnCondition/index.vue +0 -551
  81. package/packages/BnCondition/util.js +0 -232
  82. package/packages/BnDatePicker/BnDatePicker.vue +0 -194
  83. package/packages/BnDrop/BnDrop.vue +0 -917
  84. package/packages/BnEmptyTip/BnEmptyTip.vue +0 -107
  85. package/packages/BnExportOrder/BnExportOrder.vue +0 -241
  86. package/packages/BnExportOrder/validatorCode.vue +0 -94
  87. package/packages/BnFileView/BnFileView.vue +0 -271
  88. package/packages/BnFileView/FileDetail.vue +0 -125
  89. package/packages/BnFileView/videoPreview.vue +0 -70
  90. package/packages/BnFilterOption/BnFilterOption.vue +0 -160
  91. package/packages/BnFunExpr/BnFunExpr.vue +0 -608
  92. package/packages/BnImportOrder/BnImportOrder.vue +0 -323
  93. package/packages/BnImportTemplate/BnImportTemplate.vue +0 -866
  94. package/packages/BnImportTemplate/assets/merge_tip_img.png +0 -0
  95. package/packages/BnImportTemplate/assets/sheet_tip.png +0 -0
  96. package/packages/BnImportTemplate/assets/xls.png +0 -0
  97. package/packages/BnImportTemplate/components/ImportTemplateTrigger.vue +0 -198
  98. package/packages/BnImportTemplate/components/TemplateEditDialog.vue +0 -340
  99. package/packages/BnImportTemplate/components/TemplateFieldsConfig.vue +0 -401
  100. package/packages/BnImportTemplate/components/TemplateListDialog.vue +0 -297
  101. package/packages/BnInpNum/BnInpNum.vue +0 -165
  102. package/packages/BnMenus/BnMenus.vue +0 -502
  103. package/packages/BnMenus/MenuItem.vue +0 -321
  104. package/packages/BnOrderCard/BnOrderCard.vue +0 -389
  105. package/packages/BnOrderCard/orderRemark.vue +0 -178
  106. package/packages/BnOrderCard/util.js +0 -94
  107. package/packages/BnOrderDetail/BnOrderDetail.vue +0 -338
  108. package/packages/BnOrderDetail/filterLogByUser.vue +0 -108
  109. package/packages/BnOrderDetail/orderLogs.vue +0 -53
  110. package/packages/BnOrderDetail/showSubForm/index.vue +0 -41
  111. package/packages/BnOrderDetail/showSubForm/showChildTable.vue +0 -61
  112. package/packages/BnOrderDetail/showSubForm/showTimeLine.vue +0 -131
  113. package/packages/BnOrderDetail/showSubForm/tableCellCopy.vue +0 -84
  114. package/packages/BnOrderShare/index.vue +0 -378
  115. package/packages/BnOrderShare/shareUrlInp.vue +0 -54
  116. package/packages/BnRadio/BnRadio.vue +0 -181
  117. package/packages/BnRelation/BnRelation.vue +0 -120
  118. package/packages/BnSelect/BnSelect.vue +0 -485
  119. package/packages/BnSmartForm/BnBatchForm.vue +0 -334
  120. package/packages/BnSmartForm/BnBatchFormDialog.vue +0 -423
  121. package/packages/BnSmartForm/BnSmartElf/elfLog/index.vue +0 -57
  122. package/packages/BnSmartForm/BnSmartElf/index.vue +0 -95
  123. package/packages/BnSmartForm/BnSmartFormPsychic.js +0 -629
  124. package/packages/BnSmartForm/BnSmartFormUtil.js +0 -524
  125. package/packages/BnSmartForm/addressForm/index.vue +0 -73
  126. package/packages/BnSmartForm/checkboxForm/index.vue +0 -99
  127. package/packages/BnSmartForm/childrenForm/childFormFile.vue +0 -237
  128. package/packages/BnSmartForm/childrenForm/childrenFormBody.vue +0 -260
  129. package/packages/BnSmartForm/childrenForm/index.vue +0 -110
  130. package/packages/BnSmartForm/childrenForm/searchInventory.vue +0 -115
  131. package/packages/BnSmartForm/chooseAssocTable/chooseAssocTable.vue +0 -451
  132. package/packages/BnSmartForm/chooseAssocTable/chooseChildGood.vue +0 -229
  133. package/packages/BnSmartForm/chooseAssocTable/tableCellCopy.vue +0 -84
  134. package/packages/BnSmartForm/chooseChildOrder/chooseChildOrder.vue +0 -158
  135. package/packages/BnSmartForm/chooseIPaasData/chooseIPaasData.vue +0 -307
  136. package/packages/BnSmartForm/chooseIPaasData/tableCellCopy.vue +0 -84
  137. package/packages/BnSmartForm/choosePackage/choosePackage.vue +0 -361
  138. package/packages/BnSmartForm/dateDualForm/index.vue +0 -37
  139. package/packages/BnSmartForm/dateForm/index.vue +0 -38
  140. package/packages/BnSmartForm/fileForm/fileFormData.js +0 -50
  141. package/packages/BnSmartForm/fileForm/index.vue +0 -240
  142. package/packages/BnSmartForm/formItemFooter/formItemFooter.vue +0 -38
  143. package/packages/BnSmartForm/formItemTop/formItemTop.vue +0 -42
  144. package/packages/BnSmartForm/index.vue +0 -1201
  145. package/packages/BnSmartForm/numberForm/index.vue +0 -63
  146. package/packages/BnSmartForm/radioForm/index.vue +0 -72
  147. package/packages/BnSmartForm/receiveForm/index.vue +0 -112
  148. package/packages/BnSmartForm/relationForm/index.vue +0 -82
  149. package/packages/BnSmartForm/scoreForm/index.vue +0 -39
  150. package/packages/BnSmartForm/selectForm/index.vue +0 -55
  151. package/packages/BnSmartForm/showValForm/index.vue +0 -42
  152. package/packages/BnSmartForm/showValForm/showValFormTable.vue +0 -104
  153. package/packages/BnSmartForm/smartFormsCommon.scss +0 -43
  154. package/packages/BnSmartForm/stringForm/index.vue +0 -170
  155. package/packages/BnVirtPopover/index.vue +0 -319
  156. package/packages/BnWebLog/BnWebLog.vue +0 -140
  157. package/packages/BnWorkSettingDrop/advancedOptions.js +0 -112
  158. package/packages/BnWorkSettingDrop/benBenAIUtil.js +0 -89
  159. package/packages/BnWorkSettingDrop/index.vue +0 -292
  160. package/packages/font/iconfont.css +0 -243
  161. package/packages/font/iconfont.ttf +0 -0
  162. package/packages/font/iconfont.woff +0 -0
  163. package/packages/font/iconfont.woff2 +0 -0
  164. package/utils/addressParse-old.js +0 -645
  165. package/utils/addressParse.js +0 -735
  166. package/utils/config.js +0 -68
  167. package/utils/index.js +0 -1171
@@ -1,321 +0,0 @@
1
- <!--
2
- @Description: BnMenus 递归菜单项子组件,负责渲染子菜单折叠标题与叶子节点
3
- @VERSION: 1.0
4
- -->
5
- <template>
6
- <!-- 有子菜单:渲染可折叠的分组标题 -->
7
- <div v-if="hasChildren" class="BnMenus-sub" :class="{ 'is-open': opened }">
8
- <div
9
- class="BnMenus-sub-title"
10
- :class="{ 'is-disable-fold': disableFold }"
11
- :style="rowPaddingStyle"
12
- @click="toggleSubMenu"
13
- >
14
- <div class="BnMenus-sub-title-inner">
15
- <div class="BnMenus-item" :title="menu.title || menu.meta?.title">
16
- <span v-if="menuIcon" class="BnMenus-item-icon" :class="menuIcon"></span>
17
- <span class="BnMenus-item-folder">{{ menu.title || menu.meta?.title }}</span>
18
- </div>
19
- <!-- 展开 / 收起箭头;禁止折叠时显示圆点标识 -->
20
- <span
21
- v-if="disableFold"
22
- class="BnMenus-sub-dot bnUIcon bnUIcon-circle w-font12"
23
- :style="{ color: themeColor }"
24
- ></span>
25
- <span
26
- v-else
27
- class="BnMenus-sub-arrow bnUIcon bnUIcon-arrow2 w-font12"
28
- :class="{ 'is-open': opened }"
29
- ></span>
30
- </div>
31
- </div>
32
- <div v-show="opened" class="BnMenus-sub-list">
33
- <menu-item
34
- v-for="(item, index) in menu.children"
35
- :key="bnMenus.getMenuIndex(item) || index"
36
- :menu="item"
37
- :level="level + 1"
38
- :theme-index="themeIndex"
39
- />
40
- </div>
41
- </div>
42
- <!-- 无子菜单:渲染可点击的叶子节点 -->
43
- <div
44
- v-else
45
- class="BnMenus-body-item"
46
- :class="{
47
- 'is-active': active && !useBorderActive,
48
- 'is-active-border': active && useBorderActive
49
- }"
50
- :style="[rowPaddingStyle, activeStyle]"
51
- @click="bnMenus.selectMenu(menu)"
52
- >
53
- <div class="BnMenus-item" :title="menu.title || menu.meta?.title">
54
- <span v-if="menuIcon" class="BnMenus-item-icon" :class="menuIcon"></span>
55
- <span class="BnMenus-item-text">{{ menu.title || menu.meta?.title }}</span>
56
- <span v-if="active" class="BnMenus-item-stick bnUIcon bnUIcon-stick"></span>
57
- </div>
58
- </div>
59
- </template>
60
-
61
- <script>
62
- export default {
63
- name: "MenuItem",
64
- // 注入父组件 BnMenus 实例
65
- inject: ['bnMenus'],
66
- props: {
67
- // 当前菜单项数据,含 name、icon、meta、children 等字段
68
- menu: {
69
- type: Object,
70
- required: true
71
- },
72
- // 当前菜单层级,从 1 开始,用于计算左侧缩进
73
- level: {
74
- type: Number,
75
- default: 1
76
- },
77
- // 所属一级菜单的索引,用于循环取主题色;子级继承父级传入的值
78
- themeIndex: {
79
- type: Number,
80
- default: 0
81
- }
82
- },
83
- computed: {
84
- /** 是否含有子菜单 */
85
- hasChildren() {
86
- return this.menu.children?.length > 0
87
- },
88
- /** 子菜单是否已展开 */
89
- opened() {
90
- return this.bnMenus.isOpen(this.menu)
91
- },
92
- /** 当前项是否禁止展开/收起 */
93
- disableFold() {
94
- return this.bnMenus.isDisableFold(this.menu)
95
- },
96
- /** 当前项是否处于选中高亮状态 */
97
- active() {
98
- return this.bnMenus.isActive(this.menu)
99
- },
100
- /**
101
- * 菜单图标 class,优先取顶层 icon,兼容 meta.icon
102
- * @returns {String} 矢量图标库 class 名,无图标时返回空字符串
103
- */
104
- menuIcon() {
105
- return this.menu.icon || this.menu.meta?.icon || ''
106
- },
107
- /** 当前项所属一级菜单的主题色 */
108
- themeColor() {
109
- return this.bnMenus.getThemeColor(this.themeIndex)
110
- },
111
- /** 选中时是否使用边框高亮(menu.border / menu.meta.border) */
112
- useBorderActive() {
113
- return !!(this.menu.border || this.menu.meta?.border)
114
- },
115
- /**
116
- * 选中态 CSS 变量,供样式中动态设置文字色与背景色
117
- * @returns {Object} 未选中时返回空对象
118
- */
119
- activeStyle() {
120
- if (!this.active) return {}
121
- return {
122
- '--menu-theme-color': this.themeColor,
123
- '--menu-theme-bg': this.bnMenus.getThemeBg(this.themeIndex)
124
- }
125
- },
126
- /**
127
- * 行级左右边距:基础左右各 10px,子级每深一层左侧额外缩进 10px
128
- */
129
- rowPaddingStyle() {
130
- return { paddingLeft: `${10 + (this.level - 1) * 10}px` }
131
- }
132
- },
133
- methods: {
134
- /** 切换当前子菜单展开 / 收起 */
135
- toggleSubMenu() {
136
- if (this.disableFold) return
137
- this.bnMenus.toggleSubMenu(this.menu)
138
- }
139
- }
140
- }
141
- </script>
142
-
143
- <style scoped lang="scss">
144
- @import "../font/iconfont.css";
145
-
146
- // 菜单项通用样式
147
- .BnMenus-body-item {
148
- cursor: pointer;
149
- user-select: none;
150
- padding: 0 10px;
151
-
152
- .BnMenus-item {
153
- display: flex;
154
- align-items: center;
155
- width: 100%;
156
- height: 40px;
157
- line-height: 40px;
158
- border-radius: 8px;
159
- padding: 0 10px;
160
- overflow: hidden;
161
- border: 1px solid transparent;
162
- box-sizing: border-box;
163
- }
164
- }
165
-
166
- .BnMenus-sub-title {
167
- cursor: pointer;
168
- user-select: none;
169
- padding-right: 10px;
170
-
171
- &.is-disable-fold {
172
- cursor: default;
173
- }
174
-
175
- .BnMenus-item {
176
- display: flex;
177
- align-items: center;
178
- flex: 1;
179
- min-width: 0;
180
- height: 40px;
181
- line-height: 40px;
182
- border-radius: 8px;
183
- padding: 0 10px;
184
- overflow: hidden;
185
- }
186
- }
187
-
188
- .BnMenus-body-item,
189
- .BnMenus-sub-title {
190
- // 默认态图标颜色
191
- .BnMenus-item-icon {
192
- flex-shrink: 0;
193
- margin-right: 8px;
194
- font-size: 16px;
195
- line-height: 1;
196
- color: #86909c;
197
- }
198
-
199
- // 默认态文字颜色
200
- .BnMenus-item-folder {
201
- flex: 1;
202
- min-width: 0;
203
- white-space: nowrap;
204
- overflow: hidden;
205
- text-overflow: ellipsis;
206
- color: #333;
207
- font-size: 14px;
208
- font-weight: 600;
209
- }
210
- // 默认态文字颜色
211
- .BnMenus-item-text {
212
- flex: 1;
213
- min-width: 0;
214
- white-space: nowrap;
215
- overflow: hidden;
216
- text-overflow: ellipsis;
217
- color: #4a5565;
218
- font-size: 14px;
219
- }
220
- }
221
-
222
- // 叶子节点 hover 背景
223
- .BnMenus-body-item:hover .BnMenus-item {
224
- background: #edf5ff;
225
- }
226
-
227
- // 选中高亮:主题色加粗文字 + 浅色背景
228
- .BnMenus-body-item.is-active {
229
- .BnMenus-item {
230
- background: var(--menu-theme-bg);
231
- }
232
-
233
- .BnMenus-item-text {
234
- color: var(--menu-theme-color);
235
- font-weight: 600;
236
- }
237
-
238
- .BnMenus-item-icon {
239
- color: var(--menu-theme-color);
240
- }
241
-
242
- .BnMenus-item-stick {
243
- color: var(--menu-theme-color);
244
- }
245
- }
246
-
247
- // 选中高亮(border 模式):主题色边框,无背景色
248
- .BnMenus-body-item.is-active-border {
249
- .BnMenus-item {
250
- background: transparent;
251
- border-color: var(--menu-theme-color);
252
- }
253
-
254
- .BnMenus-item-text {
255
- color: var(--menu-theme-color);
256
- font-weight: 600;
257
- }
258
-
259
- .BnMenus-item-icon {
260
- color: var(--menu-theme-color);
261
- }
262
-
263
- .BnMenus-item-stick {
264
- color: var(--menu-theme-color);
265
- }
266
-
267
- &:hover .BnMenus-item {
268
- background: transparent;
269
- }
270
- }
271
-
272
- // 选中态右侧竖条标识
273
- .BnMenus-item-stick {
274
- flex-shrink: 0;
275
- font-size: 14px;
276
- line-height: 1;
277
- }
278
-
279
- .BnMenus-sub-title {
280
- // 外层仅负责左右留白与层级缩进,背景色在内层
281
- &-inner {
282
- display: flex;
283
- align-items: center;
284
- height: 40px;
285
- border-radius: 5px;
286
- padding-right: 6px;
287
-
288
- &:hover {
289
- background: #edf5ff;
290
- }
291
- }
292
-
293
- .BnMenus-item {
294
- padding-right: 0;
295
- }
296
- }
297
-
298
- // 子菜单展开箭头,展开时旋转 180°
299
- .BnMenus-sub-arrow {
300
- flex-shrink: 0;
301
- margin-left: 4px;
302
- font-size: 12px;
303
- color: #86909c;
304
- transition: transform 0.2s;
305
-
306
- &.is-open {
307
- transform: rotate(180deg);
308
- }
309
- }
310
-
311
- // 禁止折叠时的圆点标识,颜色取所属一级菜单 THEME_COLORS 主题色
312
- .BnMenus-sub-dot {
313
- flex-shrink: 0;
314
- margin-left: 4px;
315
- font-size: 12px;
316
- }
317
-
318
- .BnMenus-sub-list {
319
- overflow: hidden;
320
- }
321
- </style>
@@ -1,389 +0,0 @@
1
- <!--
2
- @Auther:辛巴
3
- @Date:2025/10/16
4
- @Description:工单详情弹框订单卡片组件
5
- @VERSION:1.0-->
6
- <template>
7
- <div class="bnOrder">
8
- <orderRemark ref="orderRemark" @overRemark="overRemark" :post-func="postFunc"></orderRemark>
9
- <el-card class="bnOrder-card" v-if="orderData.tid && orderData.CRMTRADE">
10
- <div class="bnOrder-info">
11
- <div class="bnOrder-info-item">
12
- <span class="bnOrder-info-title">订单号:</span>
13
- <span class="w-default-hover" @click="openTid('tid')">{{ orderData.tid }}</span>
14
- </div>
15
- <div class="bnOrder-info-item">
16
- <span class="bnOrder-info-title">付款时间:</span>
17
- <span>{{ orderData.CRMTRADE.payTime || '-' }}</span>
18
- </div>
19
- </div>
20
- <div class="bnOrder-info">
21
- <div class="bnOrder-info-item">
22
- <span class="bnOrder-info-title">店铺:</span>
23
- <span class="w-color-orange">{{ orderData?.CRMSELLER?.title || '-' }}</span>
24
- </div>
25
- <div class="bnOrder-info-item">
26
- <span class="bnOrder-info-title">昵称:</span>
27
- <span class="w-color-blue">{{ orderData.CRMTRADE.buyerNick.slice(0, 10) }}</span>
28
- <span class="bnUIcon bnUIcon-openLock w-color-blue w-cursor-pointer"
29
- v-if="!decryptIs.includes('buyerNick')" @click="decryptData('buyerNick')"></span>
30
- </div>
31
- </div>
32
- <div class="bnOrder-info">
33
- <div class="bnOrder-info-item">
34
- <span class="bnOrder-info-title">收货地址:</span>
35
- <span class="w-margin-right8" v-for="(item,index) in ['receiverAddress','receiverName','buyMobile']"
36
- :key="index">
37
- <span> {{ orderData.CRMTRADE[item] }}</span>
38
- <span class="bnUIcon bnUIcon-openLock w-color-blue w-cursor-pointer"
39
- v-if="!decryptIs.includes(item)"
40
- @click="decryptData(item)"></span>
41
- </span>
42
- </div>
43
- </div>
44
- <el-table :data="orderData.CRMORDER" :show-header="false" style="width: 100%">
45
- <el-table-column width="560">
46
- <template #default="scope">
47
- <div class="bnOrder-good">
48
- <div class="w-flex-top">
49
- <div>
50
- <el-image
51
- class="bnOrder-good-img"
52
- style=""
53
- :preview-teleported="true"
54
- :src="scope.row.picUrl"
55
- :preview-src-list="[scope.row.picUrl]"
56
- show-progress fit="cover"
57
- />
58
- </div>
59
- <div class="bnOrder-good-info">
60
- <div class="w-text-over-two w-color-black3 w-default-hover" @click="openTid(scope.row.sourceItemId)">
61
- {{ scope.row.title }}
62
- </div>
63
- <div class="w-font13">
64
- <span class="w-color-gray">商品属性:</span>{{ scope.row.skuPropName || '-' }}
65
- <span class="w-color-gray w-margin-left8">商家编码:</span>{{ scope.row.outerSkuId || '-' }}
66
- </div>
67
- </div>
68
- </div>
69
- <div>
70
- <span class="w-font12 w-margin-right2">x</span><span
71
- class="w-font16 w-font-weight">{{ scope.row.num }}</span>
72
- </div>
73
- </div>
74
- </template>
75
- </el-table-column>
76
- <el-table-column>
77
- <template #default="scope">
78
- <div class="w-flex-lrCenter w-text-over">
79
- <span class="w-font-weight w-font16 w-color-deep-orange">¥{{ scope.row.price }}</span>
80
- </div>
81
- </template>
82
- </el-table-column>
83
- </el-table>
84
- <div class="bnOrder-flag">
85
- <div class="bnOrder-info-item w-color-black8">卖家备注:</div>
86
- <div class="bnOrder-flag-content">
87
- <span v-if="orderData.CRMTRADE.sellerFlag && sellerRemarksColor"
88
- class="bnUIcon bnUIcon-flag" :class="[`flag-color-${sellerRemarksColor}`]"></span>
89
- <span class="w-font14 w-margin-lr3">{{ orderData.CRMTRADE.sellerMemo }}</span>
90
- <span class="w-color-blue w-cursor-pointer w-font14" @click="orderRemark">编辑备注</span>
91
- </div>
92
- </div>
93
- </el-card>
94
- </div>
95
- </template>
96
-
97
- <script>
98
- import {flagList} from "./util.js";
99
- import orderRemark from "./orderRemark.vue";
100
-
101
- export default {
102
- name: "BnOrderCard",
103
- components: {orderRemark},
104
- props: {
105
- // 接口请求外部转发
106
- postFunc: Function,
107
- // 扩展参数
108
- extendPost: {
109
- type: Object,
110
- default() {
111
- return {}
112
- }
113
- },
114
- },
115
- computed: {
116
- // 获取订单备注旗帜颜色
117
- sellerRemarksColor() {
118
- const {sellerFlag} = this.orderData.CRMTRADE;
119
- const {sellerType} = this.orderData.CRMSELLER;
120
- // 特殊值,如果 flag 为100,一律展示橙色(因为其他平台没有橙色,橙黄相反的问题处理 - 布奇。)
121
- if (sellerFlag == '100') {
122
- return 'orange'
123
- }
124
- let flags = this.flagList[sellerType || 1];
125
- // 没找到旗子列表(说明该平台没有旗帜)展示空旗帜
126
- if (flags) {
127
- let flagFind = flags.find(flag => flag.key == sellerFlag);
128
- return flagFind.className;
129
- } else {
130
- return false
131
- }
132
- },
133
- },
134
- data() {
135
- return {
136
- flagList: flagList,
137
- orderData: {},
138
- // 解密历史
139
- decryptIs:[]
140
- }
141
- },
142
- created() {
143
- this.getOrderData();
144
- },
145
- methods: {
146
- /**
147
- * 获取订单信息
148
- * */
149
- async getOrderData() {
150
- let res = await this.postFunc(`/v2/ods/getOdsInfoByDetail/${this.extendPost.projectId}`, {
151
- ...this.extendPost
152
- })
153
- if (!res.code) {
154
- this.orderData = res.data;
155
- }
156
- },
157
- /**
158
- * 点击修改订单备注
159
- * */
160
- orderRemark() {
161
- let postData = {
162
- tid: this.orderData.CRMTRADE.tid, // 订单Id
163
- sellerId: this.orderData.CRMSELLER.id, //淘宝店铺Id
164
- sellerType: this.orderData.CRMSELLER.sellerType, //淘宝店铺Id
165
- flag: this.orderData.CRMTRADE.sellerFlag,// 备注旗帜
166
- sellerMemo: this.orderData.CRMTRADE.sellerMemo, // 备注内容
167
- type: this.orderData.CRMTRADE && this.orderData.CRMTRADE.sellerMemo ? 'update' : 'create' // 1、create 新增 2、update 更新
168
- }
169
- this.$refs.orderRemark.open(postData)
170
- },
171
- /**
172
- * 备注完毕更新备注信息
173
- * */
174
- overRemark(data) {
175
- this.orderData.CRMTRADE.sellerFlag = data.flag;
176
- this.orderData.CRMTRADE.sellerMemo = data.sellerMemo;
177
- },
178
- /**
179
- * 打开订单详情\商品详情。
180
- * type:tid-订单 其他-商品id
181
- * */
182
- openTid(type) {
183
- if (['1', '8'].includes(this.orderData.CRMSELLER.sellerType)) {
184
- let url = ''
185
- if (type == 'tid') {
186
- url = `https://trade.taobao.com/trade/detail/trade_item_detail.htm?spm=a1z09.1.0.0.d3wYGE&bizOrderId=${this.orderData.CRMTRADE.tid}`
187
- } else {
188
- url = `http://item.taobao.com/item.htm?id=${type}`
189
- }
190
- window.open(url, '_target')
191
- } else {
192
- this.$message.warning('仅淘天支持订单信息跳转')
193
- }
194
- },
195
- /**
196
- * 数据解密
197
- * */
198
- decryptData(type) {
199
- this.decryptIs.push(type)
200
- let sellerType = Number(this.orderData.CRMSELLER.sellerType);
201
- let bool1 = Boolean([37, 21, 19, 29, 42, 25, 46].includes(sellerType) &&
202
- ['buyerNick', 'buyMobile', 'receiverName', 'receiverAddress'].includes(type))
203
- let bool2 = Boolean([1, 3, 8, 17, 36, 42, 25, 43, 44, 46].includes(sellerType) &&
204
- ['buyMobile', 'receiverName', 'receiverAddress'].includes(type))
205
- if (bool1 || bool2) {
206
- let type = this.type == 'buyerNick' ? 'receiverName' : this.type;
207
- let condition = {
208
- taskId: this.extendPost.taskId,
209
- sourceId: this.orderData.tid,
210
- }
211
- if (type == 'receiverAddress') {
212
- let addressList = this.orderData.CRMTRADE.receiverAddress.split(',');
213
- let addressString = ''
214
- for (let i = 0; i < addressList.length; i++) {
215
- if (i < 3) {
216
- addressString += (addressList[i] + ',')
217
- } else {
218
- addressString += addressList[i]
219
- }
220
- }
221
- condition[type] = addressString
222
- } else {
223
- condition[type] = this.orderData.CRMTRADE[type];
224
- }
225
- let postData = {
226
- typeEnum: [1, 8].includes(sellerType) ? 12 : 1,// 类型
227
- sellerId: this.orderData.CRMSELLER.id,
228
- sellerType: sellerType,
229
- appId: this.extendPost.appId,
230
- projectId: this.extendPost.projectId,
231
- conditions: [condition]
232
- };
233
- this.postFunc('/v2/decrypt/getReceiverInfo', postData).then(res => {
234
- if (!res.code) {
235
- this.orderData.CRMTRADE[type] = type == 'buyMobile' ? res.data[0].receiverPhone : res.data[0][type]
236
- }
237
- })
238
- } else {
239
- let postData = {
240
- appId: this.extendPost.appId, //小程序id
241
- projectId: this.extendPost.projectId,
242
- tid: this.orderData.tid,
243
- }
244
- this.postFunc(`/v2/ods/getOdsInfoByDetail/${this.extendPost.projectId}`, postData).then(res => {
245
- if (!res.code) {
246
- this.orderData.CRMTRADE[type] = type == 'buyMobile' ? res.data[0].receiverPhone : res.data[0][type]
247
- }
248
- })
249
- }
250
- }
251
- }
252
- };
253
- </script>
254
-
255
- <style scoped lang="scss">
256
- @import "../font/iconfont.css";
257
- // 班牛旗帜颜色
258
- // 灰色
259
- .flag-color-gray {
260
- color: #999999;
261
- }
262
-
263
- // 红色
264
- .flag-color-red {
265
- color: #EA3D3D;
266
- }
267
-
268
- // 黄色
269
- .flag-color-yellow {
270
- color: #FFC60B;
271
- }
272
-
273
- // 绿色
274
- .flag-color-green {
275
- color: #3ACB36;
276
- }
277
-
278
- // 蓝色
279
- .flag-color-blue {
280
- color: #0664F0;
281
- }
282
-
283
- // 紫色
284
- .flag-color-purple {
285
- color: #BA2FFF;
286
- }
287
-
288
- // 橙色
289
- .flag-color-orange {
290
- color: #F48804;
291
- }
292
-
293
- // 浅蓝色
294
- .flag-color-lightBlue {
295
- color: #41B4FA;
296
- }
297
-
298
- // 浅粉色
299
- .flag-color-lightPink {
300
- color: #E5B6B6;
301
- }
302
-
303
- // 深绿色
304
- .flag-color-bottleGreen {
305
- color: #9BA217;
306
- }
307
-
308
- // 桃红色
309
- .flag-color-peach {
310
- color: #E4248E;
311
- }
312
-
313
- // 青色(抖音的,在班牛没有这个颜色,班牛这边是深绿色)
314
- .flag-color-cyan {
315
- color: #9BA217;
316
- }
317
-
318
- .bnOrder {
319
- position: relative;
320
- width: 100%;
321
-
322
- &-card {
323
- width: 100%;
324
- padding: 0;
325
-
326
- :deep(.el-card__body) {
327
- padding: 0;
328
- }
329
- }
330
-
331
- &-info {
332
- display: flex;
333
- align-items: center;
334
- height: 40px;
335
- background: #f5f7fa;
336
- padding: 0 15px;
337
- border-bottom: 1px solid #dcdfe6;
338
-
339
- &-item {
340
- height: 40px;
341
- line-height: 40px;
342
- font-size: 14px;
343
- margin-right: 10px;
344
- }
345
-
346
- &-title {
347
- color: #888;
348
- }
349
-
350
- }
351
-
352
- &-good {
353
- display: flex;
354
- align-items: center;
355
- justify-content: space-between;
356
-
357
- &-info {
358
- padding: 0 10px;
359
-
360
- }
361
-
362
- &-img {
363
- width: 68px;
364
- height: 68px;
365
- background: #f5f5f5;
366
- border-radius: 4px;
367
- }
368
-
369
- &-num {
370
- display: flex;
371
- }
372
- }
373
-
374
- &-flag {
375
- min-height: 40px;
376
- background: #f5f7fa;
377
- padding: 0 15px;
378
- display: flex;
379
-
380
- &-content {
381
- max-width: calc(100% - 80px);
382
- padding: 8px 0;
383
- line-height: 20px;
384
- }
385
- }
386
-
387
- }
388
-
389
- </style>