jufubao-base 1.0.302-beta1 → 1.0.302-beta10

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 (27) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseInvoice/Api.js +20 -29
  3. package/src/components/JfbBaseInvoice/Attr.js +12 -39
  4. package/src/components/JfbBaseInvoice/JfbBaseInvoice.vue +491 -78
  5. package/src/components/JfbBaseInvoice/Mock.js +3 -5
  6. package/src/components/JfbBaseInvoice/cusAttr/advanced.js +33 -0
  7. package/src/components/JfbBaseInvoice/cusAttr/content.js +12 -0
  8. package/src/components/JfbBaseInvoice/cusAttr/style.js +41 -0
  9. package/src/components/JfbBaseInvoiceDetail/Api.js +12 -35
  10. package/src/components/JfbBaseInvoiceDetail/Attr.js +12 -39
  11. package/src/components/JfbBaseInvoiceDetail/JfbBaseInvoiceDetail.vue +434 -80
  12. package/src/components/JfbBaseInvoiceDetail/Mock.js +2 -6
  13. package/src/components/JfbBaseInvoiceDetail/cusAttr/advanced.js +6 -0
  14. package/src/components/JfbBaseInvoiceDetail/cusAttr/content.js +12 -0
  15. package/src/components/JfbBaseInvoiceDetail/cusAttr/style.js +41 -0
  16. package/src/components/JfbBaseOrderDetail/Api.js +13 -1
  17. package/src/components/JfbBaseOrderDetail/Attr.js +38 -0
  18. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +78 -1
  19. package/src/components/JfbBaseOrderDetail/Mock.js +2 -1
  20. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +23 -4
  21. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +24 -20
  22. package/src/components/JfbBaseInvoiceConfirm/Api.js +0 -58
  23. package/src/components/JfbBaseInvoiceConfirm/Attr.js +0 -48
  24. package/src/components/JfbBaseInvoiceConfirm/JfbBaseInvoiceConfirm.vue +0 -111
  25. package/src/components/JfbBaseInvoiceConfirm/JfbBaseInvoiceConfirmLess.less +0 -79
  26. package/src/components/JfbBaseInvoiceConfirm/JfbBaseInvoiceConfirmMixin.js +0 -30
  27. package/src/components/JfbBaseInvoiceConfirm/Mock.js +0 -13
@@ -2,110 +2,523 @@
2
2
  <view
3
3
  class="jfb-base-invoice"
4
4
  @click="handleEditxSelect"
5
- :class="{ editx : isEditx && active }"
5
+ :class="{ editx: isEditx && active }"
6
6
  >
7
7
  <!--#ifdef H5-->
8
8
  <view
9
9
  class="jfb-base-invoice__edit"
10
- :class="{ editx : isEditx && active }"
10
+ :class="{ editx: isEditx && active }"
11
11
  v-if="isEditx && active"
12
12
  >
13
13
  <view class="jfb-base-invoice__edit-icon" @click="delEdit">删除</view>
14
14
  </view>
15
15
  <!-- #endif -->
16
- <view class="jfb-base-invoice__body">
17
- <view>测试插件( {{containerId}} )</view>
16
+ <view
17
+ class="jfb-base-invoice__body"
18
+ :style="{ minHeight: layoutInfo.bodyMinHeightRpx + 'rpx' }"
19
+ >
20
+ <view v-if="firstStep">
21
+ <view :style="[statusStyle]" class="jfb-base-invoice__body-status">
22
+ <XdFontIcon icon="icongantanhao"></XdFontIcon>
23
+ <view>{{ status_name }}</view>
24
+ </view>
25
+ <view class="jfb-base-invoice__body-content">
26
+ <view class="jfb-base-invoice__body-content-item">
27
+ <view class="jfb-base-invoice__body-content-item-info">
28
+ <view>订单编号</view>
29
+ <view>{{ main_order_id }}</view>
30
+ </view>
31
+ <view class="jfb-base-invoice__body-content-item-info">
32
+ <view>开票金额</view>
33
+ <XdUnit :price="invoice_amount" :isOld="false"></XdUnit>
34
+ </view>
35
+ </view>
36
+ <view
37
+ style="margin-top: 24rpx"
38
+ class="jfb-base-invoice__body-content-item"
39
+ >
40
+ <view class="jfb-base-invoice__body-content-item-info">
41
+ <view>发票类型</view>
42
+ <view>(普通发票)数电发票</view>
43
+ </view>
44
+ <view class="jfb-base-invoice__body-content-item-info">
45
+ <view><text class="required">*</text>抬头类型</view>
46
+ <view>
47
+ <radio-group @change="radioChange">
48
+ <label
49
+ style="margin-left: 10rpx"
50
+ v-for="(item, index) in invoice_header_type_list"
51
+ :key="index"
52
+ >
53
+ <radio
54
+ style="transform: scale(0.7)"
55
+ :value="item.value"
56
+ :checked="item.value === invoice_header_type"
57
+ :activeBackgroundColor="mainColor"
58
+ :activeBorderColor="mainColor"
59
+ :color="mainColor"
60
+ />
61
+ <text
62
+ :style="{
63
+ color:
64
+ item.value === invoice_header_type ? mainColor : '',
65
+ }"
66
+ >{{ item.label }}</text
67
+ >
68
+ </label>
69
+ </radio-group>
70
+ </view>
71
+ </view>
72
+ <view class="jfb-base-invoice__body-content-item-info">
73
+ <view><text class="required">*</text>发票抬头</view>
74
+ <view class="jfb-base-invoice__body-content-item-info-input">
75
+ <input
76
+ type="text"
77
+ v-model="invoice_header"
78
+ placeholder="填写需要开具发票的抬头"
79
+ />
80
+ </view>
81
+ </view>
82
+ <view class="jfb-base-invoice__body-content-item-info">
83
+ <view><text class="required">*</text>联系电话</view>
84
+ <view class="jfb-base-invoice__body-content-item-info-input">
85
+ <input
86
+ type="text"
87
+ v-model="phone_number"
88
+ placeholder="填写联系电话"
89
+ />
90
+ </view>
91
+ </view>
92
+ <view
93
+ v-if="invoice_header_type === 'company'"
94
+ class="jfb-base-invoice__body-content-item-info"
95
+ >
96
+ <view><text class="required">*</text>税号</view>
97
+ <view class="jfb-base-invoice__body-content-item-info-input">
98
+ <input
99
+ type="text"
100
+ v-model="invoice_number"
101
+ placeholder="填写税号"
102
+ />
103
+ </view>
104
+ </view>
105
+ <view class="jfb-base-invoice__body-content-item-info">
106
+ <view><text class="required">*</text>接收邮箱</view>
107
+ <view class="jfb-base-invoice__body-content-item-info-input">
108
+ <input
109
+ type="text"
110
+ v-model="email"
111
+ placeholder="开票成功后将发往您的邮箱"
112
+ />
113
+ </view>
114
+ </view>
115
+ </view>
116
+ </view>
117
+ <view class="fixe_bottom" :style="prod_bottom">
118
+ <XdButton
119
+ width="680rpx"
120
+ @click="handleToSecondStep"
121
+ size="small"
122
+ type="primary"
123
+ >下一步</XdButton
124
+ >
125
+ </view>
126
+ </view>
127
+ <view v-else>
128
+ <view class="jfb-base-invoice__body-step2-content">
129
+ <view class="jfb-base-invoice__body-step2-content-item">
130
+ <view class="jfb-base-invoice__body-step2-content-item-info">
131
+ <view>开票金额</view>
132
+ <XdUnit :isOld="false" :price="invoice_amount"></XdUnit>
133
+ </view>
134
+ <view class="jfb-base-invoice__body-step2-content-item-info">
135
+ <view>发票类型</view>
136
+ <view>(普通发票)数电发票</view>
137
+ </view>
138
+ </view>
139
+ <view
140
+ style="margin-top: 24rpx"
141
+ class="jfb-base-invoice__body-step2-content-item"
142
+ >
143
+ <view class="jfb-base-invoice__body-step2-content-item-info">
144
+ <view>抬头类型</view>
145
+ <view>{{
146
+ invoice_header_type === "company" ? "单位" : "个人"
147
+ }}</view>
148
+ </view>
149
+ <view class="jfb-base-invoice__body-step2-content-item-info">
150
+ <view>发票抬头</view>
151
+ <view>{{ invoice_header }}</view>
152
+ </view>
153
+ <view class="jfb-base-invoice__body-step2-content-item-info">
154
+ <view>联系电话</view>
155
+ <view>{{ phone_number }}</view>
156
+ </view>
157
+ <view
158
+ v-if="invoice_header_type === 'company'"
159
+ class="jfb-base-invoice__body-step2-content-item-info"
160
+ >
161
+ <view>税号</view>
162
+ <view>{{ invoice_number }}</view>
163
+ </view>
164
+ <view class="jfb-base-invoice__body-step2-content-item-info">
165
+ <view>接收邮箱</view>
166
+ <view>{{ email }}</view>
167
+ </view>
168
+ </view>
169
+ </view>
170
+ <view class="fixe_bottom" :style="prod_bottom">
171
+ <XdButton
172
+ style="width: 300rpx"
173
+ :cusStyle="[btnStyle]"
174
+ @click="handleBack"
175
+ size="small"
176
+ type="default"
177
+ >返回修改</XdButton
178
+ >
179
+ <XdButton
180
+ style="width: 300rpx"
181
+ @click="handleConfirm"
182
+ size="small"
183
+ type="primary"
184
+ >确认提交</XdButton
185
+ >
186
+ </view>
187
+ </view>
18
188
  </view>
19
189
  </view>
20
190
  </template>
21
191
 
22
192
  <script>
23
- import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
24
- import { jfbRootExec } from "@/utils/xd.event";
25
- import JfbBaseInvoiceMixin from "./JfbBaseInvoiceMixin";
26
- import { getContainerPropsValue } from "@/utils/xd.base";
27
- import componentsMixins from "@/mixins/componentsMixins";
28
- import extsMixins from "@/mixins/extsMixins";
29
- export default {
30
- name: "JfbBaseInvoice",
31
- components: {
32
- XdFontIcon
33
- },
34
- mixins: [
35
- componentsMixins, extsMixins, JfbBaseInvoiceMixin
36
- ],
37
- data() {
193
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
194
+ import XdButton from "@/components/XdButton/XdButton";
195
+ import { jfbRootExec } from "@/utils/xd.event";
196
+ import JfbBaseInvoiceMixin from "./JfbBaseInvoiceMixin";
197
+ import { getContainerPropsValue, gCPVal } from "@/utils/xd.base";
198
+ import componentsMixins from "@/mixins/componentsMixins";
199
+ import extsMixins from "@/mixins/extsMixins";
200
+ import getServiceUrl from "@/common/getServiceUrl";
201
+ import XdUnit from "@/components/XdUnit/XdUnit";
202
+ export default {
203
+ name: "JfbBaseInvoice",
204
+ components: {
205
+ XdFontIcon,
206
+ XdUnit,
207
+ XdButton,
208
+ },
209
+ mixins: [componentsMixins, extsMixins, JfbBaseInvoiceMixin],
210
+ data() {
211
+ return {
212
+ statusBg: "",
213
+ invoice_header_type_list: [],
214
+ invoice_header_type: "",
215
+ invoice_header: "",
216
+ phone_number: "",
217
+ email: "",
218
+ confirmPath: "",
219
+ detailPath: "",
220
+ main_order_id: "",
221
+ pay_order_id: "",
222
+ invoice_amount: "",
223
+ invoice_number: "",
224
+ status_name: "",
225
+ firstStep: true,
226
+ };
227
+ },
228
+ computed: {
229
+ statusStyle() {
38
230
  return {
39
-
40
- //todo
41
- }
231
+ backgroundImage: `url(${this.statusBg})`,
232
+ backgroundRepeat: "no-repeat",
233
+ backgroundSize: "100% 100%",
234
+ };
42
235
  },
43
- watch: {
44
- container(value, oldValue) {
45
- if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
46
- if (this.$configProject['isPreview']) this.init(value)
47
- },
236
+ prod_bottom() {
237
+ return this.fixedStyle({ height: 0, zIndex: 111 });
48
238
  },
49
- created() {
50
- this.init(this.container);
51
-
52
- //todo
239
+ btnStyle() {
240
+ return {
241
+ color: this.mainColor,
242
+ border: `1px solid ${this.mainColor}`,
243
+ };
53
244
  },
54
- methods: {
55
- onJfbLoad(options) {
56
-
57
- // jfbRootExec('baiduUserLogin', {
58
-
59
- // vm: this,// data: {
60
-
61
- // account: 'gaoshiyong',// password: '123456789',// type: 3,// ...options
62
-
63
- // }
64
-
65
- // }).then().catch()
66
- },
67
- /**
68
- * @description 监听事件变化
69
- * @param container {object} 业务组件对象自己
70
- */
71
- init(container) {
245
+ },
246
+ watch: {
247
+ container(value, oldValue) {
248
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
249
+ if (this.$configProject["isPreview"]) this.init(value);
250
+ },
251
+ },
252
+ created() {
253
+ this.init(this.container);
72
254
 
73
- //this.bgcolor = getContainerPropsValue(container, 'content.bgcolor', '#fff');
255
+ //todo
256
+ },
257
+ methods: {
258
+ async onJfbLoad(options) {
259
+ this.main_order_id = options.main_order_id;
260
+ this.pay_order_id = options.pay_order_id;
261
+ await jfbRootExec("userInvoiceOptions", {
262
+ vm: this,
263
+ data: {},
264
+ })
265
+ .then((res) => {
266
+ this.invoice_header_type_list = res.invoice_header_type_list;
267
+ })
268
+ .catch();
269
+ await jfbRootExec("userInvoiceDetail", {
270
+ vm: this,
271
+ data: {
272
+ main_order_id: this.main_order_id,
273
+ pay_order_id: this.pay_order_id,
274
+ },
275
+ })
276
+ .then((res) => {
277
+ this.invoice_amount = res.invoice_result.invoice_amount;
278
+ this.status_name = res.invoice_result.status_name;
279
+ })
280
+ .catch();
281
+ },
282
+ /**
283
+ * @description 监听事件变化
284
+ * @param container {object} 业务组件对象自己
285
+ */
286
+ init(container) {
287
+ this.statusBg = getServiceUrl(
288
+ gCPVal(container, "statusBg", { url: "" }, {}).url
289
+ );
290
+ this.confirmPath = getContainerPropsValue(
291
+ container,
292
+ "content.confirmPath",
293
+ { value: "" }
294
+ ).value;
295
+ this.detailPath = getContainerPropsValue(
296
+ container,
297
+ "content.detailPath",
298
+ { value: "" }
299
+ ).value;
300
+ },
301
+ radioChange: function (evt) {
302
+ for (let i = 0; i < this.invoice_header_type_list.length; i++) {
303
+ if (this.invoice_header_type_list[i].value === evt.detail.value) {
304
+ this.invoice_header_type = evt.detail.value;
305
+ break;
306
+ }
307
+ }
308
+ },
309
+ convertObjToQueryString(obj, prefix = "this.", encode = true) {
310
+ // 过滤掉值为 undefined/null 的属性,避免生成空参数
311
+ const validEntries = Object.entries(obj).filter(
312
+ ([_, value]) => value !== undefined && value !== null
313
+ );
74
314
 
75
- //this.height = getContainerPropsValue(container, 'content.height', 10);
76
- },
77
- onJfbScroll(options) {
78
- console.log('event.onJfbScroll', options)
79
- },
80
- onJfbReachBottom(options) {
81
- console.log('event.onJfbReachBottom', options)
82
- },
83
- onJfbShow(options) {
84
- console.log('event.onJfbShow', options)
85
- },
86
- onJfbHide(options) {
87
- console.log('event.onJfbHide', options)
88
- },
89
- onJfbBack(options) {
90
- console.log('event.onJfbBack', options)
91
- },
92
- onJfbUpdate(...data) {
93
- console.log('event.onJfbUpdate', data)
94
- },
95
- onJfbCustomEvent(options) {
96
- console.log('event.onJfbReachBottom', options)
97
- },
98
- }
99
- }
315
+ // 拼接每个键值对:key=prefix.key(支持编码)
316
+ const querySegments = validEntries.map(([key, _]) => {
317
+ const valueStr = this[key];
318
+ // 根据需求决定是否对值进行 URL 编码(避免特殊字符问题)
319
+ const encodedValue = encode ? encodeURIComponent(valueStr) : valueStr;
320
+ return `${encodeURIComponent(key)}=${encodedValue}`;
321
+ });
100
322
 
323
+ // 用 & 连接所有段,返回最终查询字符串
324
+ return querySegments.join("&");
325
+ },
326
+ handleToSecondStep() {
327
+ if (!this.invoice_header_type) {
328
+ this.$xdAlert({ content: "请选择发票抬头类型" });
329
+ return;
330
+ }
331
+ if (!this.invoice_header) {
332
+ this.$xdAlert({ content: "请填写发票抬头" });
333
+ return;
334
+ }
335
+ if (this.invoice_header_type == "company") {
336
+ if (!this.invoice_number) {
337
+ this.$xdAlert({ content: "请填写税号" });
338
+ return;
339
+ }
340
+ }
341
+ if (!this.phone_number) {
342
+ this.$xdAlert({ content: "请填写联系电话" });
343
+ return;
344
+ } else {
345
+ const reg = /^1[3456789]\d{9}$/;
346
+ if (!reg.test(this.phone_number)) {
347
+ this.$xdAlert({ content: "请填写正确的手机号" });
348
+ return;
349
+ }
350
+ }
351
+ if (!this.email) {
352
+ this.$xdAlert({ content: "请填写接收邮箱" });
353
+ return;
354
+ } else {
355
+ const reg =
356
+ /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
357
+ if (!reg.test(this.email)) {
358
+ this.$xdAlert({ content: "请填写正确的邮箱" });
359
+ return;
360
+ }
361
+ }
362
+ this.firstStep = false;
363
+ },
364
+ handleConfirm() {
365
+ //调用确认提交接口并跳转详情页面
366
+ jfbRootExec("userInvoiceSubmit", {
367
+ vm: this,
368
+ data: {
369
+ main_order_id: this.main_order_id,
370
+ pay_order_id: this.pay_order_id,
371
+ email: this.email,
372
+ invoice_header_type: this.invoice_header_type,
373
+ invoice_header: this.invoice_header,
374
+ phone_number: this.phone_number,
375
+ invoice_number: this.invoice_number,
376
+ },
377
+ }).then((res) => {
378
+ let params = {
379
+ main_order_id: this.main_order_id,
380
+ pay_order_id: this.pay_order_id,
381
+ };
382
+ params = this.convertObjToQueryString(params);
383
+ params = this.$xdUniHelper.navigateTo({
384
+ url: `${this.detailPath}?${params}`,
385
+ });
386
+ });
387
+ },
388
+ handleBack() {
389
+ this.firstStep = true;
390
+ },
391
+ onJfbScroll(options) {
392
+ console.log("event.onJfbScroll", options);
393
+ },
394
+ onJfbReachBottom(options) {
395
+ console.log("event.onJfbReachBottom", options);
396
+ },
397
+ onJfbShow(options) {
398
+ console.log("event.onJfbShow", options);
399
+ },
400
+ onJfbHide(options) {
401
+ console.log("event.onJfbHide", options);
402
+ },
403
+ onJfbBack(options) {
404
+ console.log("event.onJfbBack", options);
405
+ },
406
+ onJfbUpdate(...data) {
407
+ console.log("event.onJfbUpdate", data);
408
+ },
409
+ onJfbCustomEvent(options) {
410
+ console.log("event.onJfbReachBottom", options);
411
+ },
412
+ },
413
+ };
101
414
  </script>
102
415
 
103
416
  <style scoped lang="less">
104
- @import "./JfbBaseInvoiceLess.less";
417
+ @import "./JfbBaseInvoiceLess.less";
105
418
 
106
- .jfb-base-invoice {
107
- &__body{
419
+ .jfb-base-invoice {
420
+ &__body {
421
+ &-status {
422
+ display: flex;
423
+ align-items: center;
424
+ justify-content: center;
425
+ font-size: 36rpx;
426
+ height: 180rpx;
427
+ color: #fff;
428
+ & > view {
429
+ margin-left: 16rpx;
430
+ }
431
+ }
432
+ &-content {
433
+ padding: 24rpx;
434
+ position: relative;
435
+ top: -18rpx;
436
+ border-radius: 16rpx;
437
+ background: #f8f8f8;
438
+ &-item {
439
+ background: #fff;
440
+ border-radius: 8rpx;
441
+ &-info {
442
+ padding: 20rpx 48rpx;
443
+ display: flex;
444
+ justify-content: space-between;
445
+ align-items: center;
446
+ color: #333333;
447
+ font-size: 28rpx;
448
+ border-bottom: 2rpx solid #f7f7f7;
449
+ position: relative;
450
+ &-input {
451
+ flex: 1;
452
+ }
453
+ input {
454
+ font-size: 26rpx;
455
+ text-align: right;
456
+ }
457
+ }
458
+ .required {
459
+ color: red;
460
+ position: absolute;
461
+ left: 30rpx;
462
+ }
463
+ }
464
+ }
465
+ .fixe_bottom {
466
+ display: flex;
467
+ align-items: center;
468
+ justify-content: space-around;
469
+ height: unit(100, rpx);
470
+ padding: 0 unit(40, rpx);
471
+ flex-flow: nowrap;
472
+ background: #fff;
473
+ box-shadow: 0 0 unit(16, rpx) rgba(0, 0, 0, 0.05);
474
+ .flex_l {
475
+ display: flex;
476
+ align-items: center;
477
+ font-size: unit(32, rpx);
478
+ }
108
479
 
480
+ & > view {
481
+ flex: 1;
482
+ padding: 0 unit(15, rpx);
483
+ }
484
+ }
485
+ &-step2-content {
486
+ padding: 24rpx;
487
+ border-radius: 16rpx;
488
+ &-item {
489
+ background: #fff;
490
+ border-radius: 8rpx;
491
+ &-info {
492
+ padding: 20rpx 48rpx;
493
+ display: flex;
494
+ justify-content: space-between;
495
+ align-items: center;
496
+ color: #333333;
497
+ font-size: 28rpx;
498
+ border-bottom: 2rpx solid #f7f7f7;
499
+ }
500
+ }
501
+ }
502
+ .fixe_bottom {
503
+ display: flex;
504
+ align-items: center;
505
+ justify-content: space-around;
506
+ height: unit(100, rpx);
507
+ padding: 0 unit(40, rpx);
508
+ flex-flow: nowrap;
509
+ background: #fff;
510
+ box-shadow: 0 0 unit(16, rpx) rgba(0, 0, 0, 0.05);
511
+ .flex_l {
512
+ display: flex;
513
+ align-items: center;
514
+ font-size: unit(32, rpx);
515
+ }
516
+
517
+ & > view {
518
+ flex: 1;
519
+ padding: 0 unit(15, rpx);
520
+ }
109
521
  }
110
522
  }
523
+ }
111
524
  </style>
@@ -2,12 +2,10 @@
2
2
 
3
3
  module.exports = {
4
4
 
5
- getInvoiceByIdFilmSquate:{},
5
+ userInvoiceDetail: { "invoice_result": { "id": 0, "open_nnid": "", "partner_id": 0, "supplier_id": 0, "site_id": "", "user_id": 0, "issuer": "", "category": "", "category_name": "", "content_type": "", "content_type_name": "", "invoice_header": "", "invoice_header_type": "", "invoice_header_type_name": "", "invoice_amount": 1, "invoice_number": "", "phone_number": "", "email": "", "status": "N", "pay_order_id": "", "main_order_id": "", "scene": "", "supplier_fulfil_type": "", "file_info": "", "product_data": [], "open_user_id": "", "open_username": "", "comment": "", "apply_time": 0, "open_time": 0, "created_time": 0, "updated_time": 0, "issuer_name": "", "product_num": 0, "status_name": "未开票", "total_amount": 0, "channel_amount": 0, "error_info": "", "status_desc": "" }, "request_id": "80f312c6000ec59a" },
6
6
 
7
- updateInvoiceFilmPaiqiDate:{},
7
+ userInvoiceOptions: { "status_list": [{ "label": "未开票", "value": "N" }, { "label": "已开票", "value": "Y" }, { "label": "待开票", "value": "P" }], "category_list": [{ "label": "数电发票(普通发票)", "value": "normal" }], "content_type_list": [{ "label": "明细", "value": "detail" }], "invoice_header_type_list": [{ "label": "个人", "value": "person" }, { "label": "单位", "value": "company" }], "issuer_list": [{ "label": "供货商", "value": "supplier" }, { "label": "平台", "value": "platform" }], "request_id": "c989ca4688ac7ecb" },
8
8
 
9
- removeInvoiceFilmAddress:{},
10
-
11
- addInvoiceFilmcart:{},
9
+ userInvoiceSubmit:{},
12
10
 
13
11
  }
@@ -0,0 +1,33 @@
1
+ import {
2
+ dataVal,
3
+ } from "@/utils/AttrTools";
4
+ export default (data, gValue, gColor, oldData = {}) => {
5
+ return [
6
+ {
7
+ label: '确认开票',
8
+ ele: 'xd-select-pages-path',
9
+ valueKey: 'confirmPath',
10
+ placeholder: '请选择确认开票页面',
11
+ value: data['confirmPath'] || {},
12
+ labelInline: true,
13
+ setting: {
14
+ router: XdBus.getParentApi('getPagesTree'),
15
+ },
16
+ className: 'input100',
17
+ groupKey: 'advanced',
18
+ },
19
+ {
20
+ label: '开票详情',
21
+ ele: 'xd-select-pages-path',
22
+ valueKey: 'detailPath',
23
+ placeholder: '请选择开票详情页面',
24
+ value: data['detailPath'] || {},
25
+ labelInline: true,
26
+ setting: {
27
+ router: XdBus.getParentApi('getPagesTree'),
28
+ },
29
+ className: 'input100',
30
+ groupKey: 'advanced',
31
+ },
32
+ ].filter(i => i);
33
+ }
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+ import {
3
+ dataVal,
4
+ statusDataVal,
5
+ statusShow,
6
+ customVal,
7
+ getRemoteOptions
8
+ } from "@/utils/AttrTools";
9
+
10
+ export default (data, gValue, gColor, oldData = {}) => {
11
+ return [].filter(i => i);
12
+ }