3d-decorate-platform 1.0.29 → 1.0.30

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/dist/index.umd.js CHANGED
@@ -3501,6 +3501,334 @@
3501
3501
  }]);
3502
3502
  }(React.Component)) || _class$4);
3503
3503
 
3504
+ function listProjectMaterialLibraries() {
3505
+ return _listProjectMaterialLibraries.apply(this, arguments);
3506
+ }
3507
+ function _listProjectMaterialLibraries() {
3508
+ _listProjectMaterialLibraries = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
3509
+ return _regenerator().w(function (_context) {
3510
+ while (1) switch (_context.n) {
3511
+ case 0:
3512
+ return _context.a(2, http({
3513
+ url: '/vbim-decoration-server/projectAssert/list',
3514
+ method: 'post'
3515
+ }));
3516
+ }
3517
+ }, _callee);
3518
+ }));
3519
+ return _listProjectMaterialLibraries.apply(this, arguments);
3520
+ }
3521
+ function saveProjectMaterialLibrary(_x) {
3522
+ return _saveProjectMaterialLibrary.apply(this, arguments);
3523
+ }
3524
+ function _saveProjectMaterialLibrary() {
3525
+ _saveProjectMaterialLibrary = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(params) {
3526
+ return _regenerator().w(function (_context2) {
3527
+ while (1) switch (_context2.n) {
3528
+ case 0:
3529
+ return _context2.a(2, http({
3530
+ url: '/vbim-decoration-server/projectAssert/save',
3531
+ method: 'post',
3532
+ data: params
3533
+ }));
3534
+ }
3535
+ }, _callee2);
3536
+ }));
3537
+ return _saveProjectMaterialLibrary.apply(this, arguments);
3538
+ }
3539
+ function getProjectMaterialLibraries(_x2) {
3540
+ return _getProjectMaterialLibraries.apply(this, arguments);
3541
+ }
3542
+ function _getProjectMaterialLibraries() {
3543
+ _getProjectMaterialLibraries = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(params) {
3544
+ return _regenerator().w(function (_context3) {
3545
+ while (1) switch (_context3.n) {
3546
+ case 0:
3547
+ return _context3.a(2, http({
3548
+ url: '/vbim-decoration-server/projectAssert/page',
3549
+ method: 'post',
3550
+ data: params
3551
+ }));
3552
+ }
3553
+ }, _callee3);
3554
+ }));
3555
+ return _getProjectMaterialLibraries.apply(this, arguments);
3556
+ }
3557
+ function getEnabledSkus(_x3) {
3558
+ return _getEnabledSkus.apply(this, arguments);
3559
+ }
3560
+ function _getEnabledSkus() {
3561
+ _getEnabledSkus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(params) {
3562
+ return _regenerator().w(function (_context4) {
3563
+ while (1) switch (_context4.n) {
3564
+ case 0:
3565
+ return _context4.a(2, http({
3566
+ url: '/vbim-decoration-server/goodMaterialMap/pageEnabledSku',
3567
+ method: 'post',
3568
+ data: params
3569
+ }));
3570
+ }
3571
+ }, _callee4);
3572
+ }));
3573
+ return _getEnabledSkus.apply(this, arguments);
3574
+ }
3575
+ function getEnabledLevel3List() {
3576
+ return _getEnabledLevel3List.apply(this, arguments);
3577
+ }
3578
+ function _getEnabledLevel3List() {
3579
+ _getEnabledLevel3List = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
3580
+ return _regenerator().w(function (_context5) {
3581
+ while (1) switch (_context5.n) {
3582
+ case 0:
3583
+ return _context5.a(2, http({
3584
+ url: '/vbim-decoration-server/materialClassify/queryEnabledLevel3List',
3585
+ method: 'post'
3586
+ }));
3587
+ }
3588
+ }, _callee5);
3589
+ }));
3590
+ return _getEnabledLevel3List.apply(this, arguments);
3591
+ }
3592
+ function saveProjectMaterialSkus(_x4) {
3593
+ return _saveProjectMaterialSkus.apply(this, arguments);
3594
+ }
3595
+ function _saveProjectMaterialSkus() {
3596
+ _saveProjectMaterialSkus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(params) {
3597
+ return _regenerator().w(function (_context6) {
3598
+ while (1) switch (_context6.n) {
3599
+ case 0:
3600
+ return _context6.a(2, http({
3601
+ url: '/vbim-decoration-server/projectAssert/addSku',
3602
+ method: 'post',
3603
+ data: params
3604
+ }));
3605
+ }
3606
+ }, _callee6);
3607
+ }));
3608
+ return _saveProjectMaterialSkus.apply(this, arguments);
3609
+ }
3610
+ function getProjectMaterialSkuIds(_x5) {
3611
+ return _getProjectMaterialSkuIds.apply(this, arguments);
3612
+ }
3613
+ function _getProjectMaterialSkuIds() {
3614
+ _getProjectMaterialSkuIds = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(params) {
3615
+ return _regenerator().w(function (_context7) {
3616
+ while (1) switch (_context7.n) {
3617
+ case 0:
3618
+ return _context7.a(2, http({
3619
+ url: '/vbim-decoration-server/projectAssert/listSku',
3620
+ method: 'post',
3621
+ data: params,
3622
+ // 已选实体 ID 在数组内,补充现有 axios 对大数字 ID 字段的精度保护。
3623
+ transformResponse: [function (data) {
3624
+ return typeof data === 'string' ? JSON.parse(data.replace(/([\[:,])\s*(\d{16,})(?=\s*[,}\]])/g, '$1"$2"')) : data;
3625
+ }]
3626
+ }));
3627
+ }
3628
+ }, _callee7);
3629
+ }));
3630
+ return _getProjectMaterialSkuIds.apply(this, arguments);
3631
+ }
3632
+
3633
+ // 小整数按接口 integer 类型提交,长整型 ID 保留字符串以避免精度丢失。
3634
+ function toIntegerId(value) {
3635
+ var text = String(value == null ? '' : value);
3636
+ if (!/^\d+$/.test(text)) throw new Error('接口 ID 必须为非负整数');
3637
+ var number = Number(text);
3638
+ return Number.isSafeInteger(number) ? number : text;
3639
+ }
3640
+
3641
+ var DEFAULT_LIBRARY_ID = '0';
3642
+ var DEFAULT_LIBRARY = {
3643
+ id: DEFAULT_LIBRARY_ID,
3644
+ name: '默认素材库(全量素材库)'
3645
+ };
3646
+ var PROJECT_LIBRARY_API = {
3647
+ selection: '/vbim-decoration-server/projectAssert/listSku',
3648
+ list: '/vbim-decoration-server/projectAssert/list',
3649
+ binding: '/vbim-decoration-server/dgScheme/detail',
3650
+ apply: '/vbim-decoration-server/dgScheme/applyAssert'
3651
+ };
3652
+ function request(_x) {
3653
+ return _request.apply(this, arguments);
3654
+ }
3655
+ function _request() {
3656
+ _request = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(key) {
3657
+ var data,
3658
+ res,
3659
+ body,
3660
+ _args = arguments,
3661
+ _t;
3662
+ return _regenerator().w(function (_context) {
3663
+ while (1) switch (_context.n) {
3664
+ case 0:
3665
+ data = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
3666
+ if (!(key === 'selection')) {
3667
+ _context.n = 2;
3668
+ break;
3669
+ }
3670
+ _context.n = 1;
3671
+ return getProjectMaterialSkuIds(data);
3672
+ case 1:
3673
+ _t = _context.v;
3674
+ _context.n = 4;
3675
+ break;
3676
+ case 2:
3677
+ _context.n = 3;
3678
+ return http({
3679
+ url: PROJECT_LIBRARY_API[key],
3680
+ method: 'post',
3681
+ data: data
3682
+ });
3683
+ case 3:
3684
+ _t = _context.v;
3685
+ case 4:
3686
+ res = _t;
3687
+ body = res && res.data;
3688
+ if (!(!body || Number(body.code) !== 200 || body.success === false)) {
3689
+ _context.n = 5;
3690
+ break;
3691
+ }
3692
+ throw new Error(body && body.message || '素材库请求失败');
3693
+ case 5:
3694
+ return _context.a(2, body.value);
3695
+ }
3696
+ }, _callee);
3697
+ }));
3698
+ return _request.apply(this, arguments);
3699
+ }
3700
+ function listProjectLibraries() {
3701
+ return _listProjectLibraries.apply(this, arguments);
3702
+ }
3703
+ function _listProjectLibraries() {
3704
+ _listProjectLibraries = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
3705
+ var value;
3706
+ return _regenerator().w(function (_context2) {
3707
+ while (1) switch (_context2.n) {
3708
+ case 0:
3709
+ _context2.n = 1;
3710
+ return request('list');
3711
+ case 1:
3712
+ value = _context2.v;
3713
+ if (Array.isArray(value)) {
3714
+ _context2.n = 2;
3715
+ break;
3716
+ }
3717
+ throw new Error('项目素材库列表格式异常');
3718
+ case 2:
3719
+ return _context2.a(2, [_objectSpread2({}, DEFAULT_LIBRARY)].concat(value.filter(function (item) {
3720
+ return item.id != null && String(item.id) !== DEFAULT_LIBRARY_ID && item.name;
3721
+ }).map(function (item) {
3722
+ return {
3723
+ id: String(item.id),
3724
+ name: item.name
3725
+ };
3726
+ })));
3727
+ }
3728
+ }, _callee2);
3729
+ }));
3730
+ return _listProjectLibraries.apply(this, arguments);
3731
+ }
3732
+ function getSchemeProjectLibrary(_x2) {
3733
+ return _getSchemeProjectLibrary.apply(this, arguments);
3734
+ }
3735
+ function _getSchemeProjectLibrary() {
3736
+ _getSchemeProjectLibrary = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(schemeId) {
3737
+ var detail, id, library;
3738
+ return _regenerator().w(function (_context3) {
3739
+ while (1) switch (_context3.n) {
3740
+ case 0:
3741
+ _context3.n = 1;
3742
+ return request('binding', {
3743
+ schemeId: String(schemeId)
3744
+ });
3745
+ case 1:
3746
+ detail = _context3.v;
3747
+ if (!(!detail || detail.projectAssertId == null)) {
3748
+ _context3.n = 2;
3749
+ break;
3750
+ }
3751
+ throw new Error('方案未返回项目素材库信息');
3752
+ case 2:
3753
+ id = String(detail.projectAssertId);
3754
+ if (!(id === DEFAULT_LIBRARY_ID)) {
3755
+ _context3.n = 3;
3756
+ break;
3757
+ }
3758
+ return _context3.a(2, _objectSpread2({}, DEFAULT_LIBRARY));
3759
+ case 3:
3760
+ _context3.n = 4;
3761
+ return listProjectLibraries();
3762
+ case 4:
3763
+ library = _context3.v.find(function (item) {
3764
+ return item.id === id;
3765
+ });
3766
+ if (library) {
3767
+ _context3.n = 5;
3768
+ break;
3769
+ }
3770
+ throw new Error('当前项目素材库不存在,请重新应用');
3771
+ case 5:
3772
+ return _context3.a(2, library);
3773
+ }
3774
+ }, _callee3);
3775
+ }));
3776
+ return _getSchemeProjectLibrary.apply(this, arguments);
3777
+ }
3778
+ function applySchemeProjectLibrary(_x3, _x4) {
3779
+ return _applySchemeProjectLibrary.apply(this, arguments);
3780
+ }
3781
+ function _applySchemeProjectLibrary() {
3782
+ _applySchemeProjectLibrary = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(schemeId, libraryId) {
3783
+ return _regenerator().w(function (_context4) {
3784
+ while (1) switch (_context4.n) {
3785
+ case 0:
3786
+ if (!(!schemeId || !libraryId)) {
3787
+ _context4.n = 1;
3788
+ break;
3789
+ }
3790
+ throw new Error('缺少模板或素材库 ID');
3791
+ case 1:
3792
+ _context4.n = 2;
3793
+ return request('apply', {
3794
+ schemeId: String(schemeId),
3795
+ assertId: toIntegerId(libraryId)
3796
+ });
3797
+ case 2:
3798
+ return _context4.a(2, getSchemeProjectLibrary(schemeId));
3799
+ }
3800
+ }, _callee4);
3801
+ }));
3802
+ return _applySchemeProjectLibrary.apply(this, arguments);
3803
+ }
3804
+ function getProjectLibrarySelection(_x5) {
3805
+ return _getProjectLibrarySelection.apply(this, arguments);
3806
+ }
3807
+ function _getProjectLibrarySelection() {
3808
+ _getProjectLibrarySelection = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(libraryId) {
3809
+ var value;
3810
+ return _regenerator().w(function (_context5) {
3811
+ while (1) switch (_context5.n) {
3812
+ case 0:
3813
+ _context5.n = 1;
3814
+ return request('selection', {
3815
+ assertId: toIntegerId(libraryId)
3816
+ });
3817
+ case 1:
3818
+ value = _context5.v;
3819
+ if (Array.isArray(value)) {
3820
+ _context5.n = 2;
3821
+ break;
3822
+ }
3823
+ throw new Error('项目素材库 SKU 清单格式异常');
3824
+ case 2:
3825
+ return _context5.a(2, value.map(String));
3826
+ }
3827
+ }, _callee5);
3828
+ }));
3829
+ return _getProjectLibrarySelection.apply(this, arguments);
3830
+ }
3831
+
3504
3832
  var DEFAULT_COMBINATION_ID = 'default';
3505
3833
  var COMBINATION_NAME_MAX = 40;
3506
3834
  var COMBINATION_QUERY_ID = 'combinationId';
@@ -3511,11 +3839,16 @@
3511
3839
  var name = component.name || component.classify3Name || '';
3512
3840
  var parentPath = [component.classify1Name, component.classify2Name].filter(Boolean).join(' / ');
3513
3841
  return {
3842
+ classify1Id: component.classify1Id,
3843
+ classify2Id: component.classify2Id,
3514
3844
  id: String(id || name || ''),
3515
3845
  name: name || '--',
3516
3846
  parentPath: parentPath,
3517
3847
  tag: component.tag || '',
3518
- tagType: component.tagType || ''
3848
+ tagType: component.tagType || '',
3849
+ materialName: component.materialName || '',
3850
+ materialId: component.materialId ? String(component.materialId) : '',
3851
+ assetsType: component.assetsType || ''
3519
3852
  };
3520
3853
  }).filter(function (category) {
3521
3854
  return category.id;
@@ -3561,21 +3894,26 @@
3561
3894
  if (!categories.length) return '当前模板没有三级分类,无法保存组合。';
3562
3895
  var missing = categories.some(function (category) {
3563
3896
  var item = findCombinationItem(payload.items, category);
3564
- return !item || !item.skuId || !item.materialId;
3897
+ return !item || !item.skuId || !item.skuEntityId || item.skuAvailable === false;
3565
3898
  });
3566
3899
  if (missing) return '请为全部三级分类选择已映射素材的商品 SKU。';
3567
3900
  return '';
3568
3901
  }
3569
3902
  function getCombinationLoadError(combination, categories) {
3903
+ if (combination && (combination.needAdjust || (combination.items || []).some(function (item) {
3904
+ return item.skuAvailable === false;
3905
+ }))) {
3906
+ return '组合存在不可用的 SKU,请编辑或复制调整后打开渲染。';
3907
+ }
3570
3908
  if (isDefaultCombination(combination)) return '';
3571
3909
  var items = combination && combination.items || [];
3572
3910
  var categoryList = categories || [];
3573
3911
  var missingCategory = categoryList.length > 0 && categoryList.some(function (category) {
3574
3912
  var item = findCombinationItem(items, category);
3575
- return !item || !item.skuId || !item.materialId;
3913
+ return !item || !item.skuId || !item.skuEntityId;
3576
3914
  });
3577
3915
  var missingItem = items.length === 0 || items.some(function (item) {
3578
- return !item.skuId || !item.materialId;
3916
+ return !item.skuId || !item.skuEntityId;
3579
3917
  });
3580
3918
  if (missingCategory || missingItem) {
3581
3919
  return '组合存在未配置或不可用的 SKU,请先编辑补齐。';
@@ -3599,8 +3937,335 @@
3599
3937
  return "?".concat(params.toString());
3600
3938
  }
3601
3939
 
3602
- var css_248z$7 = ".douGongSchemeTemplate-module_page__3FenY {\n height: 100%;\n min-height: 0;\n overflow: auto;\n background: #f5f5f7;\n color: #000f2c;\n font-size: 14px;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 {\n padding: 16px;\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n font-family: PingFang SC, Microsoft YaHei, sans-serif;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_listPane__2vLv- {\n flex: 1;\n min-height: 0;\n overflow: auto;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_listPaneHidden__1FlxT {\n display: none;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_topBar__LDIKR {\n height: 49px;\n padding: 0 16px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n background: #fff;\n border-bottom: 1px solid #eee;\n border-radius: 8px 8px 0 0;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_topBar__LDIKR .douGongSchemeTemplate-module_topSearch__apeWw {\n width: 320px;\n max-width: 100%;\n height: 32px;\n padding: 0 12px;\n border: none;\n outline: none;\n border-radius: 6px;\n background: #f0f2f5;\n color: #000f2c;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_topBar__LDIKR .douGongSchemeTemplate-module_topRight__nL1I5 {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 12px;\n flex-wrap: wrap;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_topBar__LDIKR .douGongSchemeTemplate-module_readonlyTag__2Q6Hk {\n padding: 2px 6px;\n border-radius: 6px;\n background: #e7f3ff;\n color: #1890ff;\n font-size: 10px;\n line-height: 18px;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_successToast__3wAsJ {\n position: fixed;\n top: 28px;\n left: 50%;\n z-index: 1100;\n margin: 0;\n width: -moz-fit-content;\n width: fit-content;\n max-width: 100%;\n padding: 4px 12px;\n display: flex;\n align-items: center;\n gap: 8px;\n border: none;\n border-radius: 4px;\n background: #52b41f;\n color: #fff;\n font-size: 13px;\n line-height: 20px;\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);\n transform: translateX(-50%);\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_successToast__3wAsJ.douGongSchemeTemplate-module_errorToast__2YRAD {\n background: #e5484d;\n}\n.douGongSchemeTemplate-module_ghostPrimaryButton__uWclq,\n.douGongSchemeTemplate-module_primaryButton__1kTUF,\n.douGongSchemeTemplate-module_secondaryButton__2P2It,\n.douGongSchemeTemplate-module_linkButton__3pWfb,\n.douGongSchemeTemplate-module_tagButton__1QYbm,\n.douGongSchemeTemplate-module_tinyTag__waUqq {\n border: none;\n outline: none;\n cursor: pointer;\n transition: all 0.18s ease;\n}\n.douGongSchemeTemplate-module_ghostPrimaryButton__uWclq:disabled,\n.douGongSchemeTemplate-module_primaryButton__1kTUF:disabled,\n.douGongSchemeTemplate-module_secondaryButton__2P2It:disabled,\n.douGongSchemeTemplate-module_linkButton__3pWfb:disabled,\n.douGongSchemeTemplate-module_tagButton__1QYbm:disabled {\n cursor: not-allowed;\n opacity: 0.45;\n}\n.douGongSchemeTemplate-module_ghostPrimaryButton__uWclq {\n height: 32px;\n padding: 0 14px;\n border-radius: 6px;\n border: 1px solid #1890ff;\n background: #fff;\n color: #1890ff;\n}\n.douGongSchemeTemplate-module_ghostPrimaryButton__uWclq:hover {\n border-color: #1890FF;\n background: #1890FF;\n color: #ffffff;\n}\n.douGongSchemeTemplate-module_ghostPrimaryButton__uWclq:disabled:hover {\n border-color: #1890FF;\n background: #fff;\n color: #1890FF;\n}\n.douGongSchemeTemplate-module_primaryButton__1kTUF {\n height: 32px;\n padding: 0 16px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n border: 1px solid #1890FF;\n border-radius: 4px;\n background: #1890FF;\n color: #fff;\n font-size: 13px;\n font-weight: 500;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_primaryButton__1kTUF:hover {\n border-color: #1890FF;\n background: #1890FF;\n}\n.douGongSchemeTemplate-module_secondaryButton__2P2It {\n height: 32px;\n padding: 0 13px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n border: 1px solid rgba(115, 123, 139, 0.4);\n border-radius: 6px;\n background: #fff;\n color: #737b8b;\n font-size: 14px;\n line-height: 22px;\n font-weight: 400;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_secondaryButton__2P2It:hover {\n border-color: #1890ff;\n background: #fff;\n color: #1890ff;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_headerSection__3EeK5 {\n min-height: 40px;\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_headerSection__3EeK5 .douGongSchemeTemplate-module_titleBlock__2fHU3 {\n min-width: 0;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_headerSection__3EeK5 .douGongSchemeTemplate-module_titleBlock__2fHU3 .douGongSchemeTemplate-module_pageTitle__2SHpl {\n margin: 0;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n font-weight: 500;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_headerSection__3EeK5 .douGongSchemeTemplate-module_titleBlock__2fHU3 .douGongSchemeTemplate-module_pageDesc__46Bk9 {\n margin: 2px 0 0;\n font-size: 12px;\n line-height: 18px;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u {\n margin-top: 16px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 16px;\n flex-wrap: nowrap;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX {\n display: flex;\n align-items: center;\n gap: 16px;\n flex-wrap: nowrap;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_searchWrap__18O1V {\n position: relative;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_searchWrap__18O1V .douGongSchemeTemplate-module_searchIcon__2Zb5l {\n position: absolute;\n top: 50%;\n left: 12px;\n z-index: 1;\n transform: translateY(-50%);\n color: #8b93a5;\n font-size: 16px;\n pointer-events: none;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_searchWrap__18O1V .douGongSchemeTemplate-module_searchInput__2K_jd {\n width: 240px;\n max-width: 100%;\n height: 32px;\n padding: 0 10px 0 34px;\n border: 1px solid #fff;\n border-radius: 6px;\n background: #fff;\n color: #000f2c;\n font-size: 14px;\n line-height: 22px;\n outline: none;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_searchWrap__18O1V .douGongSchemeTemplate-module_searchInput__2K_jd:focus {\n border-color: #1890ff;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH {\n display: flex;\n align-items: center;\n gap: 0;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_statusFilterLabel__NfpNT {\n color: #000;\n font-size: 14px;\n line-height: 22px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB {\n position: relative;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterTrigger__3CTf0 {\n width: 140px;\n height: 32px;\n padding: 0 8px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n border: 1px solid #fff;\n border-radius: 4px;\n background: #fff;\n color: rgba(0, 0, 0, 0.7);\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterTrigger__3CTf0.douGongSchemeTemplate-module_filterTriggerActive__1gpKF {\n border-color: #1890ff;\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.08);\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterTrigger__3CTf0 .douGongSchemeTemplate-module_filterTriggerText__-tyTA {\n max-width: 106px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 14px;\n line-height: 22px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterTrigger__3CTf0 .douGongSchemeTemplate-module_filterArrowOpen__35EOc {\n transform: rotate(180deg);\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterMenu__2IR3a {\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 12;\n width: 140px;\n padding: 5px;\n display: flex;\n flex-direction: column;\n gap: 0;\n border: 1px solid rgba(113, 125, 153, 0.3);\n border-radius: 4px;\n background: #fff;\n box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterMenu__2IR3a .douGongSchemeTemplate-module_filterOption__2OYSa {\n width: 100%;\n min-height: 36px;\n padding: 8px 10px;\n display: flex;\n align-items: center;\n border: none;\n border-radius: 4px;\n background: transparent;\n text-align: left;\n color: #616778;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterMenu__2IR3a .douGongSchemeTemplate-module_filterOption__2OYSa:hover {\n background: #f7f8fa;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterMenu__2IR3a .douGongSchemeTemplate-module_filterOption__2OYSa.douGongSchemeTemplate-module_filterOptionActive__2GDge {\n background: #f2f3f5;\n color: #000f2c;\n font-weight: 500;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterMenu__2IR3a .douGongSchemeTemplate-module_filterOption__2OYSa .douGongSchemeTemplate-module_filterOptionText__a3LdL {\n display: block;\n font-size: 14px;\n line-height: 22px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_quickTabs__31Fp- {\n display: inline-flex;\n align-items: center;\n gap: 0;\n padding: 0;\n border-radius: 4px;\n background: #fff;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_quickTabs__31Fp- .douGongSchemeTemplate-module_tagButton__1QYbm {\n height: 32px;\n padding: 0 12px;\n border-radius: 4px;\n background: transparent;\n color: #737b8b;\n font-size: 13px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_quickTabs__31Fp- .douGongSchemeTemplate-module_tagButton__1QYbm.douGongSchemeTemplate-module_tagButtonActive__1MNPi {\n background: #f0f2f5;\n color: #000f2c;\n font-weight: 600;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr {\n height: 100px;\n margin-top: 16px;\n overflow: hidden;\n border-radius: 6px;\n background: #fff;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_statusFlowHeader__1rpIs {\n height: 46px;\n padding: 0 16px;\n display: flex;\n align-items: center;\n border-bottom: 1px solid #f1f3f5;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n font-weight: 500;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_statusFlowContent__3WAoV {\n height: 54px;\n padding: 0 16px;\n display: flex;\n align-items: center;\n gap: 12px;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_statusFlowSteps__1F6ma {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf {\n height: 22px;\n padding: 1px 6px;\n display: inline-flex;\n align-items: center;\n border-radius: 4px;\n font-size: 14px;\n line-height: 20px;\n font-weight: 400;\n white-space: nowrap;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf.douGongSchemeTemplate-module_flowStatusWaiting__3r1aO {\n background: #f0f2f5;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf.douGongSchemeTemplate-module_flowStatusSynced__2Xv40 {\n background: #ecfef6;\n color: #079669;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf.douGongSchemeTemplate-module_flowStatusPending__2OsoZ {\n background: #fdf4d3;\n color: #d97707;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf.douGongSchemeTemplate-module_flowStatusLoaded__3y62K {\n background: #e7f3ff;\n color: #1890ff;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf.douGongSchemeTemplate-module_flowStatusFailed__2dg_T {\n background: #fef2f2;\n color: #dc2626;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_statusFlowArrow__2bvD7 {\n width: 22px;\n height: 22px;\n display: block;\n flex: 0 0 22px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_statusFlowNote__Vjxx0 {\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ {\n margin-top: 16px;\n border: 1px solid #fff;\n border-radius: 6px;\n background: #fff;\n overflow: hidden;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 {\n width: 100%;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table {\n color: #000f2c;\n font-size: 14px;\n font-weight: 400;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-container {\n border-radius: 6px 6px 0 0;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-content {\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-content::-webkit-scrollbar {\n height: 8px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-content::-webkit-scrollbar-track {\n background: #f5f6f8;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-content::-webkit-scrollbar-thumb {\n border: 2px solid #f5f6f8;\n border-radius: 8px;\n background: #c5ccd6;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-thead > tr > th {\n height: 32px;\n padding: 4px 12px;\n border-bottom: 0;\n background: #f0f2f5;\n color: #737b8b;\n font-size: 12px;\n font-weight: 400;\n line-height: 20px;\n white-space: nowrap;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-tbody > tr > td {\n height: 48px;\n padding: 4px 12px;\n border-bottom-color: #f1f3f5;\n background: #fff;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n font-weight: 400;\n box-sizing: border-box;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-cell-fix-right {\n background: #fff;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-thead .ant-table-cell-fix-right {\n background: #f0f2f5;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-placeholder .ant-table-cell {\n height: 128px;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-pagination {\n margin: 16px 20px 20px;\n}\n.douGongSchemeTemplate-module_tableCellText__2qFGr {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_schemeName__1ceWV {\n display: block;\n overflow: hidden;\n font-size: 14px;\n line-height: 20px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_schemeNameCell__2nPKG {\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.douGongSchemeTemplate-module_schemeNameCell__2nPKG .douGongSchemeTemplate-module_schemeName__1ceWV {\n min-width: 0;\n flex: 0 1 auto;\n}\n.douGongSchemeTemplate-module_schemeNameCell__2nPKG .douGongSchemeTemplate-module_missingReplacementTag__Z9ch8 {\n flex: 0 1 auto;\n}\n.douGongSchemeTemplate-module_missingReplacementTag__Z9ch8 {\n max-width: 100%;\n height: 22px;\n padding: 0 7px;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n overflow: hidden;\n border-radius: 4px;\n background: #fff4df;\n color: #d97707;\n font-size: 12px;\n line-height: 22px;\n cursor: help;\n}\n.douGongSchemeTemplate-module_missingReplacementTag__Z9ch8 .douGongSchemeTemplate-module_warningIcon__2zRRw {\n width: 14px;\n height: 14px;\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1px solid currentColor;\n border-radius: 50%;\n font-size: 10px;\n font-weight: 600;\n line-height: 12px;\n}\n.douGongSchemeTemplate-module_missingReplacementTag__Z9ch8 .douGongSchemeTemplate-module_missingReplacementText__2zNKu {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_actionCell__3nl3R {\n display: flex;\n align-items: center;\n gap: 10px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_tableEmpty__3Sn9M {\n min-height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n.douGongSchemeTemplate-module_thumbPlaceholder__2CrEd {\n display: flex;\n align-items: center;\n justify-content: center;\n color: #737b8b;\n font-size: 12px;\n}\n.douGongSchemeTemplate-module_countTag__1jVo7,\n.douGongSchemeTemplate-module_detailStatusTag__1XI4X,\n.douGongSchemeTemplate-module_roomStatusTag__1Y4t9 {\n padding: 1px 6px;\n border-radius: 4px;\n font-size: 12px;\n line-height: 20px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_statusTag__3DER1 {\n padding: 1px 6px;\n border-radius: 4px;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_countSynced__2a7zL,\n.douGongSchemeTemplate-module_statusSynced__37Ne1,\n.douGongSchemeTemplate-module_detailStatusPass__2XvB-,\n.douGongSchemeTemplate-module_roomStatusReady__ybwdf {\n color: #079669;\n background: #ecfef6;\n}\n.douGongSchemeTemplate-module_countMissing__2K--O,\n.douGongSchemeTemplate-module_statusMissing__2RxH8,\n.douGongSchemeTemplate-module_statusPending__1ZWi1,\n.douGongSchemeTemplate-module_detailStatusWarn__-Y94A {\n color: #d97707;\n background: #fdf4d3;\n}\n.douGongSchemeTemplate-module_countFailed__nruJ2,\n.douGongSchemeTemplate-module_statusFailed__UopKP {\n color: #dc2626;\n background: #fef2f2;\n}\n.douGongSchemeTemplate-module_countPending__27xmW,\n.douGongSchemeTemplate-module_statusLoaded__12k7U {\n color: #1890ff;\n background: #e7f3ff;\n}\n.douGongSchemeTemplate-module_statusWaitingSync__2jaah {\n color: #737b8b;\n background: #f0f2f5;\n}\n.douGongSchemeTemplate-module_linkButton__3pWfb {\n padding: 0;\n background: transparent;\n color: #1890ff;\n font-size: 14px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_linkButtonMuted__2oeN1 {\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_inlineRetryButton__3Vw7_ {\n margin-left: 10px;\n padding: 0;\n border: none;\n background: transparent;\n color: #1890ff;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_paginationInfo__1YZsz {\n margin-top: 10px;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n text-align: right;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_breadcrumb__c_H9- {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_breadcrumb__c_H9- .douGongSchemeTemplate-module_backButton__tVGM2 {\n padding: 0;\n display: inline-flex;\n align-items: center;\n gap: 3px;\n border: none;\n background: transparent;\n color: #737b8b;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailHeader__3Seoj {\n margin-top: 14px;\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailHeader__3Seoj .douGongSchemeTemplate-module_detailHeaderActions__1jQl4 {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailHeader__3Seoj .douGongSchemeTemplate-module_detailTitle__xXzXb {\n margin: 0;\n font-size: 16px;\n line-height: 22px;\n font-weight: 600;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailHeader__3Seoj .douGongSchemeTemplate-module_detailMeta__2vP9V {\n margin-top: 3px;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n overflow-wrap: anywhere;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailNotice__16CrR {\n margin-top: 12px;\n padding: 10px 12px;\n border-radius: 6px;\n background: #fff;\n color: #737b8b;\n font-size: 13px;\n line-height: 18px;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR {\n flex: 1;\n min-height: 0;\n margin-top: 14px;\n display: grid;\n grid-template-columns: minmax(0, 1fr) 290px;\n gap: 16px;\n align-items: stretch;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailMain__29q-l {\n min-height: 0;\n overflow: auto;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailCard__394jb,\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N,\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug {\n border-radius: 12px;\n background: #fff;\n overflow: hidden;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_cardTitle__3yuFg {\n padding: 14px 16px 10px;\n font-size: 14px;\n font-weight: 600;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc {\n padding: 0 16px 16px;\n display: grid;\n grid-template-columns: 260px minmax(0, 1fr);\n gap: 24px;\n align-items: center;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreviewButton__5jeiZ {\n position: relative;\n width: 260px;\n height: 146px;\n padding: 0;\n overflow: hidden;\n border: none;\n border-radius: 6px;\n background: #f0f2f5;\n cursor: zoom-in;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreviewButton__5jeiZ .douGongSchemeTemplate-module_detailPreviewHint__2TUEI {\n position: absolute;\n right: 2px;\n bottom: 2px;\n height: 21px;\n padding: 0 2px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: rgba(0, 0, 0, 0.8);\n color: #fff;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n pointer-events: none;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreview__VnC6W {\n width: 100%;\n height: 100%;\n display: block;\n border-radius: 6px;\n -o-object-fit: cover;\n object-fit: cover;\n background: #f0f2f5;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreview__VnC6W.douGongSchemeTemplate-module_thumbPlaceholder__2CrEd {\n display: flex;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailGrid__3lbSq {\n display: grid;\n grid-template-columns: 88px minmax(0, 1fr);\n gap: 12px 16px;\n align-items: center;\n min-width: 0;\n font-size: 14px;\n line-height: 20px;\n overflow-wrap: anywhere;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailGrid__3lbSq .douGongSchemeTemplate-module_detailLabel__3J5WH {\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_dwgEntry__1Qo8C {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n min-width: 0;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_dwgEntryHint__1cXPi {\n color: #737b8b;\n font-size: 14px;\n line-height: 22px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug {\n margin-top: 12px;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_tableNote__3D8p2 {\n margin-left: auto;\n color: #a0a5b3;\n font-size: 12px;\n font-weight: 400;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_roomRow__31qry {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr 1fr;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_roomRow__31qry:last-child .douGongSchemeTemplate-module_roomCell__ZJpvG {\n border-bottom: none;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_roomRow__31qry .douGongSchemeTemplate-module_roomCell__ZJpvG {\n padding: 11px 14px;\n border-bottom: 1px solid #f1f3f5;\n font-size: 12px;\n line-height: 18px;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_roomRow__31qry .douGongSchemeTemplate-module_roomCell__ZJpvG.douGongSchemeTemplate-module_roomHeader__2uRoK {\n background: #f0f2f5;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_roomEmpty__24gXy {\n padding: 24px 16px;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n text-align: center;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N {\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N .douGongSchemeTemplate-module_cardTitle__3yuFg {\n flex: 0 0 auto;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N .douGongSchemeTemplate-module_sideList__3ICY7 {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N .douGongSchemeTemplate-module_sideRow__16PhL {\n padding: 0 16px;\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: center;\n min-height: 44px;\n gap: 12px;\n border-bottom: 1px solid #f1f3f5;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N .douGongSchemeTemplate-module_sideRow__16PhL:last-child {\n border-bottom: none;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N .douGongSchemeTemplate-module_sideEmpty__3y7N_ {\n padding: 24px 16px;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n text-align: center;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F {\n position: fixed;\n inset: 0;\n z-index: 1200;\n font-family: PingFang SC, Microsoft YaHei, sans-serif;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewMask__7DYDG {\n position: absolute;\n inset: 0;\n background: rgba(18, 28, 42, 0.3);\n opacity: 0;\n transition: opacity 0.18s ease;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewPanel__3Gqnw {\n position: absolute;\n left: 50%;\n top: 50%;\n width: 800px;\n height: 760px;\n max-width: calc(100vw - 32px);\n max-height: calc(100vh - 32px);\n overflow: hidden;\n border-radius: 12px;\n background: #fff;\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.96);\n transition: opacity 0.18s ease, transform 0.18s ease;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewHeader__reK51 {\n height: 52px;\n padding: 0 16px 0 24px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #dde1e6;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewTitle__2yrsg {\n color: #000;\n font-size: 16px;\n line-height: 20px;\n font-weight: 600;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewClose__302ry {\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n background: transparent;\n color: #737b8b;\n font-size: 16px;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewBody__3bvip {\n height: 644px;\n padding: 12px 24px 24px;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewMeta__1Yfha {\n height: 23px;\n margin: 0;\n overflow: hidden;\n color: #737b8b;\n font-size: 14px;\n line-height: 23px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewViewport__32Vv9 {\n position: relative;\n width: 100%;\n height: 573px;\n margin-top: 12px;\n overflow: hidden;\n border-radius: 12px;\n background: #f5f5f7;\n cursor: grab;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewViewport__32Vv9.douGongSchemeTemplate-module_imagePreviewViewportDragging__zJ7O- {\n cursor: grabbing;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewImage__2c8eK {\n width: 100%;\n height: 100%;\n display: block;\n -o-object-fit: cover;\n object-fit: cover;\n transform-origin: center;\n transition: transform 0.08s ease-out;\n pointer-events: none;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewHint__2S7_k {\n position: absolute;\n left: 50%;\n bottom: 32px;\n height: 32px;\n padding: 0 17px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1px solid rgba(255, 255, 255, 0.16);\n border-radius: 100px;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n transform: translateX(-50%);\n pointer-events: none;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewFooter__1vWfa {\n height: 64px;\n padding-right: 24px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n border-top: 1px solid #dde1e6;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewFooterButton__4XHqt {\n height: 32px;\n padding: 0 16px;\n border: 1px solid #717d99;\n border-radius: 4px;\n background: #fff;\n color: #737b8b;\n font-size: 14px;\n line-height: 22px;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewFooterButton__4XHqt:hover {\n border-color: #1890ff;\n color: #1890ff;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F.douGongSchemeTemplate-module_imagePreviewOverlayOpen__2ULl6 .douGongSchemeTemplate-module_imagePreviewMask__7DYDG {\n opacity: 1;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F.douGongSchemeTemplate-module_imagePreviewOverlayOpen__2ULl6 .douGongSchemeTemplate-module_imagePreviewPanel__3Gqnw {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n}\n.douGongSchemeTemplate-module_tinyTag__waUqq {\n height: 22px;\n padding: 0 6px;\n border-radius: 4px;\n background: #e7f3ff;\n color: #1890ff;\n font-size: 12px;\n line-height: 22px;\n}\n.douGongSchemeTemplate-module_tinyTag__waUqq.douGongSchemeTemplate-module_tinyTagWarn__3sn-j {\n background: #fff4df;\n color: #f59e0b;\n}\n.douGongSchemeTemplate-module_tinyTag__waUqq.douGongSchemeTemplate-module_tinyTagPending__12CgZ {\n background: #f0f2f5;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc {\n position: fixed;\n inset: 0;\n z-index: 1000;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalMask__3A1yT {\n position: absolute;\n inset: 0;\n background: rgba(18, 28, 42, 0.3);\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 {\n position: absolute;\n left: 50%;\n top: 50%;\n max-width: calc(100vw - 32px);\n border-radius: 10px;\n background: #fff;\n overflow: hidden;\n transform: translate(-50%, -50%) scale(0.96);\n opacity: 0;\n transition: transform 0.18s ease, opacity 0.18s ease;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74.douGongSchemeTemplate-module_modalPanelOpen__5HYe- {\n transform: translate(-50%, -50%) scale(1);\n opacity: 1;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalHeader__20Ezx {\n height: 48px;\n padding: 0 16px 0 24px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #dde1e6;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalHeader__20Ezx .douGongSchemeTemplate-module_modalTitle__2Ho1E {\n font-size: 15px;\n line-height: 20px;\n font-weight: 600;\n color: #000;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalHeader__20Ezx .douGongSchemeTemplate-module_modalClose__36Aoz {\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #737b8b;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF {\n padding: 18px 24px 20px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalText__3GpW0 {\n margin: 0;\n color: #737b8b;\n font-size: 13px;\n line-height: 21px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalNotice__2a08n,\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_warnNotice__2gdpe {\n min-height: 40px;\n padding: 8px 12px 8px 10px;\n display: flex;\n align-items: center;\n gap: 6px;\n border-radius: 4px;\n font-size: 12px;\n line-height: 22px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalNotice__2a08n {\n margin-top: 16px;\n background: #f0f2f5;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_warnNotice__2gdpe {\n margin-top: 0;\n background: rgba(250, 173, 20, 0.1);\n color: #f07618;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalMetaGrid__1b9uH {\n margin-top: 24px;\n display: grid;\n grid-template-columns: 72px minmax(0, 1fr);\n gap: 12px 0;\n font-size: 14px;\n line-height: 24px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalMetaGrid__1b9uH .douGongSchemeTemplate-module_modalMetaLabel__1meX8 {\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalMetaGrid__1b9uH .douGongSchemeTemplate-module_modalMetaValue__3_xcX {\n color: #000;\n word-break: break-all;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalFooter__1WwN5 {\n min-height: 60px;\n padding: 14px 24px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 12px;\n border-top: 1px solid #dde1e6;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalFooter__1WwN5 .douGongSchemeTemplate-module_modalSecondaryButton__1FbtV {\n height: 32px;\n padding: 0 14px;\n border: 1px solid #cfd5df;\n border-radius: 4px;\n background: #fff;\n color: #5f6878;\n font-size: 13px;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalFooter__1WwN5 .douGongSchemeTemplate-module_modalSecondaryButton__1FbtV:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc.douGongSchemeTemplate-module_modalOverlayOpen__FnhSv .douGongSchemeTemplate-module_modalPanel__2FV74 {\n transform: translate(-50%, -50%) scale(1);\n opacity: 1;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 {\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 32px);\n border-radius: 12px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalHeader__20Ezx {\n flex: 0 0 auto;\n height: 52px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalHeader__20Ezx .douGongSchemeTemplate-module_modalTitle__2Ho1E {\n font-size: 16px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalBody__S30fF {\n flex: 1 1 auto;\n min-height: 0;\n padding: 12px 24px 20px;\n overflow: auto;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalFooter__1WwN5 {\n flex: 0 0 auto;\n height: auto;\n min-height: 64px;\n flex-wrap: wrap;\n gap: 20px;\n}\n.douGongSchemeTemplate-module_dwgIcon16__3cZof {\n display: inline-flex;\n width: 16px;\n height: 16px;\n overflow: hidden;\n flex-shrink: 0;\n}\n.douGongSchemeTemplate-module_dwgIcon16__3cZof img {\n display: block;\n width: 16px;\n height: 16px;\n}\n.douGongSchemeTemplate-module_dwgListPanel__uCBs3 {\n width: 699px;\n border-radius: 12px;\n}\n.douGongSchemeTemplate-module_dwgListHeader__9P2hs {\n height: 52px;\n padding: 0 16px 0 24px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #dde1e6;\n}\n.douGongSchemeTemplate-module_dwgListTitle__O-TeY {\n margin: 0;\n color: #000;\n font-size: 16px;\n line-height: 20px;\n font-weight: 600;\n}\n.douGongSchemeTemplate-module_dwgListClose__ajTtt {\n width: 16px;\n height: 16px;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_dwgListBody__2JI6N {\n padding: 12px 24px 16px;\n}\n.douGongSchemeTemplate-module_dwgListMeta__3rmgW {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n margin-bottom: 16px;\n}\n.douGongSchemeTemplate-module_dwgListSchemeName__2xnu- {\n color: #000;\n font-size: 14px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_dwgListCount__3aGmn {\n color: #737b8b;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_dwgTableWrap__3GhAa {\n border: 1px solid #f1f3f5;\n border-radius: 4px;\n overflow: hidden;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF {\n width: 100%;\n border-collapse: collapse;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th,\n.douGongSchemeTemplate-module_dwgTable__2DTDF td {\n padding: 0 12px;\n text-align: left;\n font-size: 12px;\n line-height: 16px;\n color: #000f2c;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th {\n height: 32px;\n background: #f0f2f5;\n color: #737b8b;\n font-weight: 400;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF td {\n height: 48px;\n border-bottom: 1px solid #f1f3f5;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF tbody tr:last-child td {\n border-bottom: none;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th:nth-child(1),\n.douGongSchemeTemplate-module_dwgTable__2DTDF td:nth-child(1) {\n width: 34%;\n white-space: normal;\n overflow-wrap: anywhere;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th:nth-child(2),\n.douGongSchemeTemplate-module_dwgTable__2DTDF td:nth-child(2) {\n width: 14%;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th:nth-child(3),\n.douGongSchemeTemplate-module_dwgTable__2DTDF td:nth-child(3) {\n width: 23%;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th:nth-child(4),\n.douGongSchemeTemplate-module_dwgTable__2DTDF td:nth-child(4) {\n width: 15%;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th:nth-child(5),\n.douGongSchemeTemplate-module_dwgTable__2DTDF td:nth-child(5) {\n width: 14%;\n}\n.douGongSchemeTemplate-module_dwgTableTime__3bRWS {\n font-variant-numeric: tabular-nums;\n}\n.douGongSchemeTemplate-module_dwgTableEmpty__3LqVZ {\n color: #737b8b;\n text-align: center;\n}\n.douGongSchemeTemplate-module_dwgStatus__1b3RM {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 22px;\n padding: 0 6px;\n border-radius: 4px;\n font-size: 14px;\n line-height: 22px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_dwgStatusSuccess__2N0WN {\n background: #ecfef6;\n color: #079669;\n}\n.douGongSchemeTemplate-module_dwgStatusProcessing__vDbTL {\n background: #f0f2f5;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_dwgStatusFailed__39xru {\n background: #fef2f2;\n color: #dc2626;\n}\n.douGongSchemeTemplate-module_dwgWaitAction__VR1mw {\n color: #737b8b;\n font-size: 14px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_dwgNotice__3T4xB {\n margin-top: 8px;\n min-height: 40px;\n padding: 8px 12px 8px 10px;\n display: flex;\n align-items: center;\n gap: 6px;\n border-radius: 4px;\n background: #f0f2f5;\n color: #737b8b;\n font-size: 14px;\n line-height: 22px;\n}\n.douGongSchemeTemplate-module_dwgListFooter__33GY9 {\n height: 64px;\n padding: 0 24px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n border-top: 1px solid #dde1e6;\n}\n.douGongSchemeTemplate-module_dwgListFooterHint__1IkeC {\n color: #737b8b;\n font-size: 14px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_dwgViewerOverlay__H2O2N {\n position: fixed;\n inset: 0;\n z-index: 1200;\n display: flex;\n flex-direction: column;\n background: #000;\n opacity: 0;\n transition: opacity 0.18s ease;\n}\n.douGongSchemeTemplate-module_dwgViewerOverlayOpen__1mQxv {\n opacity: 1;\n}\n.douGongSchemeTemplate-module_dwgViewerBar__Umr4Y {\n position: relative;\n z-index: 2;\n height: 40px;\n padding: 0 16px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: #252525;\n flex-shrink: 0;\n}\n.douGongSchemeTemplate-module_dwgViewerTitle__1IWk4 {\n color: #f6ffed;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.douGongSchemeTemplate-module_dwgViewerClose__3IIeG {\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n flex-shrink: 0;\n}\n.douGongSchemeTemplate-module_dwgViewerCloseIcon__dOTfa {\n display: inline-flex;\n width: 24px;\n height: 24px;\n overflow: hidden;\n}\n.douGongSchemeTemplate-module_dwgViewerCloseIcon__dOTfa img {\n display: block;\n width: 24px;\n height: 24px;\n}\n.douGongSchemeTemplate-module_dwgViewerHint__1VK96 {\n position: absolute;\n top: 45px;\n left: 50%;\n z-index: 3;\n height: 32px;\n padding: 0 13px;\n display: flex;\n align-items: center;\n justify-content: center;\n transform: translateX(-50%);\n border: 1px solid rgba(255, 255, 255, 0.5);\n border-radius: 100px;\n background: rgba(0, 0, 0, 0.8);\n color: #fff;\n font-size: 14px;\n line-height: 20px;\n pointer-events: none;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_dwgViewerStage__K6J6M {\n flex: 1;\n min-height: 0;\n position: relative;\n background: #000;\n}\n.douGongSchemeTemplate-module_dwgEngineHost__17hPS {\n width: 100%;\n height: 100%;\n}\n.douGongSchemeTemplate-module_dwgViewerEmpty__1gYlp {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #f6ffed;\n font-size: 14px;\n line-height: 22px;\n}\n@media (max-width: 1200px) {\n .douGongSchemeTemplate-module_detailPage__qtPSM {\n overflow: auto;\n }\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR {\n display: flex;\n flex: none;\n flex-direction: column;\n min-height: auto;\n overflow: visible;\n }\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailMain__29q-l,\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N {\n flex: none;\n height: auto;\n min-height: auto;\n overflow: visible;\n }\n}\n@media (max-height: 791px) {\n .douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewPanel__3Gqnw {\n height: calc(100vh - 32px);\n }\n .douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewBody__3bvip {\n height: calc(100vh - 148px);\n }\n .douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewViewport__32Vv9 {\n height: calc(100vh - 219px);\n }\n}\n@media (max-width: 900px) {\n .douGongSchemeTemplate-module_topBar__LDIKR,\n .douGongSchemeTemplate-module_headerSection__3EeK5,\n .douGongSchemeTemplate-module_detailHeader__3Seoj {\n align-items: stretch;\n flex-direction: column;\n }\n .douGongSchemeTemplate-module_searchInput__2K_jd,\n .douGongSchemeTemplate-module_filterTrigger__3CTf0 {\n width: 100%;\n }\n .douGongSchemeTemplate-module_toolbarLeft__2fPEX {\n width: 100%;\n }\n .douGongSchemeTemplate-module_searchWrap__18O1V,\n .douGongSchemeTemplate-module_statusFilterGroup__3eurH {\n flex: 1 1 100%;\n }\n .douGongSchemeTemplate-module_statusFilterGroup__3eurH,\n .douGongSchemeTemplate-module_filterWrap__3I8mB {\n width: 100%;\n }\n .douGongSchemeTemplate-module_quickTabs__31Fp- {\n width: 100%;\n justify-content: flex-start;\n overflow-x: auto;\n }\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailHeader__3Seoj {\n align-items: stretch;\n flex-direction: column;\n }\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc {\n grid-template-columns: 1fr;\n }\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreviewButton__5jeiZ,\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreview__VnC6W {\n width: 100%;\n max-width: none;\n height: 180px;\n }\n}\n@media (max-width: 640px) {\n .douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalHeader__20Ezx {\n padding-left: 16px;\n }\n .douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalBody__S30fF,\n .douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalFooter__1WwN5 {\n padding-left: 16px;\n padding-right: 16px;\n }\n .douGongSchemeTemplate-module_container__28Kh7 {\n padding: 12px;\n }\n .douGongSchemeTemplate-module_detailTitle__xXzXb {\n font-size: 18px;\n line-height: 26px;\n }\n .douGongSchemeTemplate-module_roomRow__31qry {\n min-width: 560px;\n }\n .douGongSchemeTemplate-module_modalBody__S30fF,\n .douGongSchemeTemplate-module_modalFooter__1WwN5 {\n padding-left: 16px;\n padding-right: 16px;\n }\n .douGongSchemeTemplate-module_modalHeader__20Ezx {\n padding-left: 16px;\n }\n .douGongSchemeTemplate-module_modalFooter__1WwN5 {\n gap: 12px;\n }\n}\n";
3603
- var styles$5 = {"page":"douGongSchemeTemplate-module_page__3FenY","container":"douGongSchemeTemplate-module_container__28Kh7","listPane":"douGongSchemeTemplate-module_listPane__2vLv-","listPaneHidden":"douGongSchemeTemplate-module_listPaneHidden__1FlxT","topBar":"douGongSchemeTemplate-module_topBar__LDIKR","topSearch":"douGongSchemeTemplate-module_topSearch__apeWw","topRight":"douGongSchemeTemplate-module_topRight__nL1I5","readonlyTag":"douGongSchemeTemplate-module_readonlyTag__2Q6Hk","successToast":"douGongSchemeTemplate-module_successToast__3wAsJ","errorToast":"douGongSchemeTemplate-module_errorToast__2YRAD","ghostPrimaryButton":"douGongSchemeTemplate-module_ghostPrimaryButton__uWclq","primaryButton":"douGongSchemeTemplate-module_primaryButton__1kTUF","secondaryButton":"douGongSchemeTemplate-module_secondaryButton__2P2It","linkButton":"douGongSchemeTemplate-module_linkButton__3pWfb","tagButton":"douGongSchemeTemplate-module_tagButton__1QYbm","tinyTag":"douGongSchemeTemplate-module_tinyTag__waUqq","headerSection":"douGongSchemeTemplate-module_headerSection__3EeK5","titleBlock":"douGongSchemeTemplate-module_titleBlock__2fHU3","pageTitle":"douGongSchemeTemplate-module_pageTitle__2SHpl","pageDesc":"douGongSchemeTemplate-module_pageDesc__46Bk9","toolbar":"douGongSchemeTemplate-module_toolbar__6rt4u","toolbarLeft":"douGongSchemeTemplate-module_toolbarLeft__2fPEX","searchWrap":"douGongSchemeTemplate-module_searchWrap__18O1V","searchIcon":"douGongSchemeTemplate-module_searchIcon__2Zb5l","searchInput":"douGongSchemeTemplate-module_searchInput__2K_jd","statusFilterGroup":"douGongSchemeTemplate-module_statusFilterGroup__3eurH","statusFilterLabel":"douGongSchemeTemplate-module_statusFilterLabel__NfpNT","filterWrap":"douGongSchemeTemplate-module_filterWrap__3I8mB","filterTrigger":"douGongSchemeTemplate-module_filterTrigger__3CTf0","filterTriggerActive":"douGongSchemeTemplate-module_filterTriggerActive__1gpKF","filterTriggerText":"douGongSchemeTemplate-module_filterTriggerText__-tyTA","filterArrowOpen":"douGongSchemeTemplate-module_filterArrowOpen__35EOc","filterMenu":"douGongSchemeTemplate-module_filterMenu__2IR3a","filterOption":"douGongSchemeTemplate-module_filterOption__2OYSa","filterOptionActive":"douGongSchemeTemplate-module_filterOptionActive__2GDge","filterOptionText":"douGongSchemeTemplate-module_filterOptionText__a3LdL","quickTabs":"douGongSchemeTemplate-module_quickTabs__31Fp-","tagButtonActive":"douGongSchemeTemplate-module_tagButtonActive__1MNPi","statusFlowCard":"douGongSchemeTemplate-module_statusFlowCard__1GrXr","statusFlowHeader":"douGongSchemeTemplate-module_statusFlowHeader__1rpIs","statusFlowContent":"douGongSchemeTemplate-module_statusFlowContent__3WAoV","statusFlowSteps":"douGongSchemeTemplate-module_statusFlowSteps__1F6ma","flowStatus":"douGongSchemeTemplate-module_flowStatus__3-nmf","flowStatusWaiting":"douGongSchemeTemplate-module_flowStatusWaiting__3r1aO","flowStatusSynced":"douGongSchemeTemplate-module_flowStatusSynced__2Xv40","flowStatusPending":"douGongSchemeTemplate-module_flowStatusPending__2OsoZ","flowStatusLoaded":"douGongSchemeTemplate-module_flowStatusLoaded__3y62K","flowStatusFailed":"douGongSchemeTemplate-module_flowStatusFailed__2dg_T","statusFlowArrow":"douGongSchemeTemplate-module_statusFlowArrow__2bvD7","statusFlowNote":"douGongSchemeTemplate-module_statusFlowNote__Vjxx0","tableCard":"douGongSchemeTemplate-module_tableCard__29TC_","schemeTable":"douGongSchemeTemplate-module_schemeTable__2Wx66","tableCellText":"douGongSchemeTemplate-module_tableCellText__2qFGr","schemeName":"douGongSchemeTemplate-module_schemeName__1ceWV","schemeNameCell":"douGongSchemeTemplate-module_schemeNameCell__2nPKG","missingReplacementTag":"douGongSchemeTemplate-module_missingReplacementTag__Z9ch8","warningIcon":"douGongSchemeTemplate-module_warningIcon__2zRRw","missingReplacementText":"douGongSchemeTemplate-module_missingReplacementText__2zNKu","actionCell":"douGongSchemeTemplate-module_actionCell__3nl3R","tableEmpty":"douGongSchemeTemplate-module_tableEmpty__3Sn9M","thumbPlaceholder":"douGongSchemeTemplate-module_thumbPlaceholder__2CrEd","countTag":"douGongSchemeTemplate-module_countTag__1jVo7","detailStatusTag":"douGongSchemeTemplate-module_detailStatusTag__1XI4X","roomStatusTag":"douGongSchemeTemplate-module_roomStatusTag__1Y4t9","statusTag":"douGongSchemeTemplate-module_statusTag__3DER1","countSynced":"douGongSchemeTemplate-module_countSynced__2a7zL","statusSynced":"douGongSchemeTemplate-module_statusSynced__37Ne1","detailStatusPass":"douGongSchemeTemplate-module_detailStatusPass__2XvB-","roomStatusReady":"douGongSchemeTemplate-module_roomStatusReady__ybwdf","countMissing":"douGongSchemeTemplate-module_countMissing__2K--O","statusMissing":"douGongSchemeTemplate-module_statusMissing__2RxH8","statusPending":"douGongSchemeTemplate-module_statusPending__1ZWi1","detailStatusWarn":"douGongSchemeTemplate-module_detailStatusWarn__-Y94A","countFailed":"douGongSchemeTemplate-module_countFailed__nruJ2","statusFailed":"douGongSchemeTemplate-module_statusFailed__UopKP","countPending":"douGongSchemeTemplate-module_countPending__27xmW","statusLoaded":"douGongSchemeTemplate-module_statusLoaded__12k7U","statusWaitingSync":"douGongSchemeTemplate-module_statusWaitingSync__2jaah","linkButtonMuted":"douGongSchemeTemplate-module_linkButtonMuted__2oeN1","inlineRetryButton":"douGongSchemeTemplate-module_inlineRetryButton__3Vw7_","paginationInfo":"douGongSchemeTemplate-module_paginationInfo__1YZsz","detailPage":"douGongSchemeTemplate-module_detailPage__qtPSM","breadcrumb":"douGongSchemeTemplate-module_breadcrumb__c_H9-","backButton":"douGongSchemeTemplate-module_backButton__tVGM2","detailHeader":"douGongSchemeTemplate-module_detailHeader__3Seoj","detailHeaderActions":"douGongSchemeTemplate-module_detailHeaderActions__1jQl4","detailTitle":"douGongSchemeTemplate-module_detailTitle__xXzXb","detailMeta":"douGongSchemeTemplate-module_detailMeta__2vP9V","detailNotice":"douGongSchemeTemplate-module_detailNotice__16CrR","detailLayout":"douGongSchemeTemplate-module_detailLayout__3mEQR","detailMain":"douGongSchemeTemplate-module_detailMain__29q-l","detailCard":"douGongSchemeTemplate-module_detailCard__394jb","sideCard":"douGongSchemeTemplate-module_sideCard__3g45N","roomsCard":"douGongSchemeTemplate-module_roomsCard__2Q6ug","cardTitle":"douGongSchemeTemplate-module_cardTitle__3yuFg","detailInfo":"douGongSchemeTemplate-module_detailInfo__Jz_Lc","detailPreviewButton":"douGongSchemeTemplate-module_detailPreviewButton__5jeiZ","detailPreviewHint":"douGongSchemeTemplate-module_detailPreviewHint__2TUEI","detailPreview":"douGongSchemeTemplate-module_detailPreview__VnC6W","detailGrid":"douGongSchemeTemplate-module_detailGrid__3lbSq","detailLabel":"douGongSchemeTemplate-module_detailLabel__3J5WH","dwgEntry":"douGongSchemeTemplate-module_dwgEntry__1Qo8C","dwgEntryHint":"douGongSchemeTemplate-module_dwgEntryHint__1cXPi","tableNote":"douGongSchemeTemplate-module_tableNote__3D8p2","roomRow":"douGongSchemeTemplate-module_roomRow__31qry","roomCell":"douGongSchemeTemplate-module_roomCell__ZJpvG","roomHeader":"douGongSchemeTemplate-module_roomHeader__2uRoK","roomEmpty":"douGongSchemeTemplate-module_roomEmpty__24gXy","sideList":"douGongSchemeTemplate-module_sideList__3ICY7","sideRow":"douGongSchemeTemplate-module_sideRow__16PhL","sideEmpty":"douGongSchemeTemplate-module_sideEmpty__3y7N_","imagePreviewOverlay":"douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F","imagePreviewMask":"douGongSchemeTemplate-module_imagePreviewMask__7DYDG","imagePreviewPanel":"douGongSchemeTemplate-module_imagePreviewPanel__3Gqnw","imagePreviewHeader":"douGongSchemeTemplate-module_imagePreviewHeader__reK51","imagePreviewTitle":"douGongSchemeTemplate-module_imagePreviewTitle__2yrsg","imagePreviewClose":"douGongSchemeTemplate-module_imagePreviewClose__302ry","imagePreviewBody":"douGongSchemeTemplate-module_imagePreviewBody__3bvip","imagePreviewMeta":"douGongSchemeTemplate-module_imagePreviewMeta__1Yfha","imagePreviewViewport":"douGongSchemeTemplate-module_imagePreviewViewport__32Vv9","imagePreviewViewportDragging":"douGongSchemeTemplate-module_imagePreviewViewportDragging__zJ7O-","imagePreviewImage":"douGongSchemeTemplate-module_imagePreviewImage__2c8eK","imagePreviewHint":"douGongSchemeTemplate-module_imagePreviewHint__2S7_k","imagePreviewFooter":"douGongSchemeTemplate-module_imagePreviewFooter__1vWfa","imagePreviewFooterButton":"douGongSchemeTemplate-module_imagePreviewFooterButton__4XHqt","imagePreviewOverlayOpen":"douGongSchemeTemplate-module_imagePreviewOverlayOpen__2ULl6","tinyTagWarn":"douGongSchemeTemplate-module_tinyTagWarn__3sn-j","tinyTagPending":"douGongSchemeTemplate-module_tinyTagPending__12CgZ","modalOverlay":"douGongSchemeTemplate-module_modalOverlay__1C-cc","modalMask":"douGongSchemeTemplate-module_modalMask__3A1yT","modalPanel":"douGongSchemeTemplate-module_modalPanel__2FV74","modalPanelOpen":"douGongSchemeTemplate-module_modalPanelOpen__5HYe-","modalHeader":"douGongSchemeTemplate-module_modalHeader__20Ezx","modalTitle":"douGongSchemeTemplate-module_modalTitle__2Ho1E","modalClose":"douGongSchemeTemplate-module_modalClose__36Aoz","modalBody":"douGongSchemeTemplate-module_modalBody__S30fF","modalText":"douGongSchemeTemplate-module_modalText__3GpW0","modalNotice":"douGongSchemeTemplate-module_modalNotice__2a08n","warnNotice":"douGongSchemeTemplate-module_warnNotice__2gdpe","modalMetaGrid":"douGongSchemeTemplate-module_modalMetaGrid__1b9uH","modalMetaLabel":"douGongSchemeTemplate-module_modalMetaLabel__1meX8","modalMetaValue":"douGongSchemeTemplate-module_modalMetaValue__3_xcX","modalFooter":"douGongSchemeTemplate-module_modalFooter__1WwN5","modalSecondaryButton":"douGongSchemeTemplate-module_modalSecondaryButton__1FbtV","modalOverlayOpen":"douGongSchemeTemplate-module_modalOverlayOpen__FnhSv","comboDialogPanel":"douGongSchemeTemplate-module_comboDialogPanel__3kJs6","dwgIcon16":"douGongSchemeTemplate-module_dwgIcon16__3cZof","dwgListPanel":"douGongSchemeTemplate-module_dwgListPanel__uCBs3","dwgListHeader":"douGongSchemeTemplate-module_dwgListHeader__9P2hs","dwgListTitle":"douGongSchemeTemplate-module_dwgListTitle__O-TeY","dwgListClose":"douGongSchemeTemplate-module_dwgListClose__ajTtt","dwgListBody":"douGongSchemeTemplate-module_dwgListBody__2JI6N","dwgListMeta":"douGongSchemeTemplate-module_dwgListMeta__3rmgW","dwgListSchemeName":"douGongSchemeTemplate-module_dwgListSchemeName__2xnu-","dwgListCount":"douGongSchemeTemplate-module_dwgListCount__3aGmn","dwgTableWrap":"douGongSchemeTemplate-module_dwgTableWrap__3GhAa","dwgTable":"douGongSchemeTemplate-module_dwgTable__2DTDF","dwgTableTime":"douGongSchemeTemplate-module_dwgTableTime__3bRWS","dwgTableEmpty":"douGongSchemeTemplate-module_dwgTableEmpty__3LqVZ","dwgStatus":"douGongSchemeTemplate-module_dwgStatus__1b3RM","dwgStatusSuccess":"douGongSchemeTemplate-module_dwgStatusSuccess__2N0WN","dwgStatusProcessing":"douGongSchemeTemplate-module_dwgStatusProcessing__vDbTL","dwgStatusFailed":"douGongSchemeTemplate-module_dwgStatusFailed__39xru","dwgWaitAction":"douGongSchemeTemplate-module_dwgWaitAction__VR1mw","dwgNotice":"douGongSchemeTemplate-module_dwgNotice__3T4xB","dwgListFooter":"douGongSchemeTemplate-module_dwgListFooter__33GY9","dwgListFooterHint":"douGongSchemeTemplate-module_dwgListFooterHint__1IkeC","dwgViewerOverlay":"douGongSchemeTemplate-module_dwgViewerOverlay__H2O2N","dwgViewerOverlayOpen":"douGongSchemeTemplate-module_dwgViewerOverlayOpen__1mQxv","dwgViewerBar":"douGongSchemeTemplate-module_dwgViewerBar__Umr4Y","dwgViewerTitle":"douGongSchemeTemplate-module_dwgViewerTitle__1IWk4","dwgViewerClose":"douGongSchemeTemplate-module_dwgViewerClose__3IIeG","dwgViewerCloseIcon":"douGongSchemeTemplate-module_dwgViewerCloseIcon__dOTfa","dwgViewerHint":"douGongSchemeTemplate-module_dwgViewerHint__1VK96","dwgViewerStage":"douGongSchemeTemplate-module_dwgViewerStage__K6J6M","dwgEngineHost":"douGongSchemeTemplate-module_dwgEngineHost__17hPS","dwgViewerEmpty":"douGongSchemeTemplate-module_dwgViewerEmpty__1gYlp"};
3940
+ var SCHEME_COMBINATION_API = {
3941
+ list: '/vbim-decoration-server/dgScheme/combinationList',
3942
+ detail: '/vbim-decoration-server/dgScheme/combinationDetail',
3943
+ categories: '/vbim-decoration-server/dgScheme/classify3List',
3944
+ save: '/vbim-decoration-server/dgScheme/saveCombination',
3945
+ mappedSkuList: '/vbim-decoration-server/goodMaterialMap/pageEnabledSku'
3946
+ };
3947
+ function request$1(_x, _x2) {
3948
+ return _request$1.apply(this, arguments);
3949
+ }
3950
+ function _request$1() {
3951
+ _request$1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(key, data) {
3952
+ var res, body;
3953
+ return _regenerator().w(function (_context) {
3954
+ while (1) switch (_context.n) {
3955
+ case 0:
3956
+ _context.n = 1;
3957
+ return http({
3958
+ url: SCHEME_COMBINATION_API[key],
3959
+ method: 'post',
3960
+ data: data
3961
+ });
3962
+ case 1:
3963
+ res = _context.v;
3964
+ body = res && res.data;
3965
+ if (!(!body || Number(body.code) !== 200 || body.success === false)) {
3966
+ _context.n = 2;
3967
+ break;
3968
+ }
3969
+ throw new Error(body && body.message || '方案组合请求失败');
3970
+ case 2:
3971
+ return _context.a(2, body.value);
3972
+ }
3973
+ }, _callee);
3974
+ }));
3975
+ return _request$1.apply(this, arguments);
3976
+ }
3977
+ function normalizeItem(raw) {
3978
+ return _objectSpread2(_objectSpread2({}, raw), {}, {
3979
+ classify3Id: String(raw.classify3Id || ''),
3980
+ classify3Name: raw.classify3Name || '',
3981
+ skuEntityId: raw.skuEntityId == null ? '' : String(raw.skuEntityId),
3982
+ skuId: raw.skuId || '',
3983
+ skuName: raw.skuName || '',
3984
+ materialId: raw.materialId == null ? '' : String(raw.materialId),
3985
+ materialName: raw.materialName || '',
3986
+ assetsType: raw.assetType || raw.assetsType || ''
3987
+ });
3988
+ }
3989
+ function normalizeCombination(raw, schemeId) {
3990
+ return {
3991
+ id: String(raw.combinationId),
3992
+ schemeId: String(schemeId || ''),
3993
+ name: raw.name || '',
3994
+ isDefault: raw.defaultFlag != null && Number(raw.defaultFlag) === 0,
3995
+ needAdjust: raw.needAdjust === true,
3996
+ items: (raw.components || []).map(normalizeItem),
3997
+ updatedAt: raw.updateTime || ''
3998
+ };
3999
+ }
4000
+ function listSchemeCombinations(_x3) {
4001
+ return _listSchemeCombinations.apply(this, arguments);
4002
+ }
4003
+ function _listSchemeCombinations() {
4004
+ _listSchemeCombinations = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(schemeId) {
4005
+ var rows;
4006
+ return _regenerator().w(function (_context2) {
4007
+ while (1) switch (_context2.n) {
4008
+ case 0:
4009
+ if (schemeId) {
4010
+ _context2.n = 1;
4011
+ break;
4012
+ }
4013
+ return _context2.a(2, []);
4014
+ case 1:
4015
+ _context2.n = 2;
4016
+ return request$1('list', {
4017
+ schemeId: String(schemeId)
4018
+ });
4019
+ case 2:
4020
+ rows = _context2.v;
4021
+ if (Array.isArray(rows)) {
4022
+ _context2.n = 3;
4023
+ break;
4024
+ }
4025
+ throw new Error('方案组合列表格式异常');
4026
+ case 3:
4027
+ return _context2.a(2, rows.map(function (item) {
4028
+ return normalizeCombination(item, schemeId);
4029
+ }));
4030
+ }
4031
+ }, _callee2);
4032
+ }));
4033
+ return _listSchemeCombinations.apply(this, arguments);
4034
+ }
4035
+ function getSchemeCombinationDetail(_x4, _x5) {
4036
+ return _getSchemeCombinationDetail.apply(this, arguments);
4037
+ }
4038
+ function _getSchemeCombinationDetail() {
4039
+ _getSchemeCombinationDetail = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(combinationId, schemeId) {
4040
+ var value;
4041
+ return _regenerator().w(function (_context3) {
4042
+ while (1) switch (_context3.n) {
4043
+ case 0:
4044
+ _context3.n = 1;
4045
+ return request$1('detail', {
4046
+ combinationId: String(combinationId)
4047
+ });
4048
+ case 1:
4049
+ value = _context3.v;
4050
+ if (!(!value || value.combinationId == null)) {
4051
+ _context3.n = 2;
4052
+ break;
4053
+ }
4054
+ throw new Error('方案组合详情为空');
4055
+ case 2:
4056
+ return _context3.a(2, normalizeCombination(value, schemeId));
4057
+ }
4058
+ }, _callee3);
4059
+ }));
4060
+ return _getSchemeCombinationDetail.apply(this, arguments);
4061
+ }
4062
+ function listSchemeCombinationCategories(_x6) {
4063
+ return _listSchemeCombinationCategories.apply(this, arguments);
4064
+ }
4065
+ function _listSchemeCombinationCategories() {
4066
+ _listSchemeCombinationCategories = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(schemeId) {
4067
+ var rows;
4068
+ return _regenerator().w(function (_context4) {
4069
+ while (1) switch (_context4.n) {
4070
+ case 0:
4071
+ _context4.n = 1;
4072
+ return request$1('categories', {
4073
+ schemeId: String(schemeId)
4074
+ });
4075
+ case 1:
4076
+ rows = _context4.v;
4077
+ if (Array.isArray(rows)) {
4078
+ _context4.n = 2;
4079
+ break;
4080
+ }
4081
+ throw new Error('方案三级分类列表格式异常');
4082
+ case 2:
4083
+ return _context4.a(2, rows);
4084
+ }
4085
+ }, _callee4);
4086
+ }));
4087
+ return _listSchemeCombinationCategories.apply(this, arguments);
4088
+ }
4089
+ function saveSchemeCombination(_x7) {
4090
+ return _saveSchemeCombination.apply(this, arguments);
4091
+ }
4092
+ function _saveSchemeCombination() {
4093
+ _saveSchemeCombination = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(payload) {
4094
+ var error, components;
4095
+ return _regenerator().w(function (_context5) {
4096
+ while (1) switch (_context5.n) {
4097
+ case 0:
4098
+ error = getSaveError(payload, payload && payload.existing);
4099
+ if (!error) {
4100
+ _context5.n = 1;
4101
+ break;
4102
+ }
4103
+ throw new Error(error);
4104
+ case 1:
4105
+ components = payload.categories.map(function (category) {
4106
+ var selected = payload.items.find(function (item) {
4107
+ return String(item.classify3Id) === String(category.id);
4108
+ });
4109
+ if (!category.classify1Id || !category.classify2Id || !selected.skuEntityId) {
4110
+ throw new Error('分类层级或商品实体 ID 缺失,请重新选择商品');
4111
+ }
4112
+ return {
4113
+ classify1: toIntegerId(category.classify1Id),
4114
+ classify2: toIntegerId(category.classify2Id),
4115
+ classify3: toIntegerId(category.id),
4116
+ skuEntityId: toIntegerId(selected.skuEntityId)
4117
+ };
4118
+ }); // 保存接口 value 为 null,由调用方重新读取列表。
4119
+ _context5.n = 2;
4120
+ return request$1('save', {
4121
+ schemeId: String(payload.schemeId),
4122
+ combinationId: payload.id ? toIntegerId(payload.id) : null,
4123
+ name: payload.name.trim(),
4124
+ components: components
4125
+ });
4126
+ case 2:
4127
+ return _context5.a(2);
4128
+ }
4129
+ }, _callee5);
4130
+ }));
4131
+ return _saveSchemeCombination.apply(this, arguments);
4132
+ }
4133
+ function listMappedSkus() {
4134
+ return _listMappedSkus.apply(this, arguments);
4135
+ }
4136
+ function _listMappedSkus() {
4137
+ _listMappedSkus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {
4138
+ var params,
4139
+ rows,
4140
+ pageNumber,
4141
+ totalPage,
4142
+ value,
4143
+ keyword,
4144
+ matches,
4145
+ library,
4146
+ allowed,
4147
+ _args6 = arguments;
4148
+ return _regenerator().w(function (_context6) {
4149
+ while (1) switch (_context6.n) {
4150
+ case 0:
4151
+ params = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {};
4152
+ rows = [];
4153
+ pageNumber = 1;
4154
+ totalPage = 1;
4155
+ case 1:
4156
+ _context6.n = 2;
4157
+ return request$1('mappedSkuList', {
4158
+ classify3: params.classify3Id ? toIntegerId(params.classify3Id) : null,
4159
+ skuName: '',
4160
+ skuId: '',
4161
+ assetType: '',
4162
+ classify1: null,
4163
+ classify2: null,
4164
+ brandId: null,
4165
+ space: '',
4166
+ pageNumber: pageNumber,
4167
+ pageSize: 100
4168
+ });
4169
+ case 2:
4170
+ value = _context6.v;
4171
+ if (!(!value || !Array.isArray(value.pageList))) {
4172
+ _context6.n = 3;
4173
+ break;
4174
+ }
4175
+ throw new Error('商品 SKU 列表格式异常');
4176
+ case 3:
4177
+ rows.push.apply(rows, _toConsumableArray(value.pageList.map(function (raw) {
4178
+ return _objectSpread2(_objectSpread2({}, raw), {}, {
4179
+ id: raw.id == null ? '' : String(raw.id),
4180
+ skuEntityId: raw.id == null ? '' : String(raw.id),
4181
+ name: raw.skuName || '',
4182
+ classify3Id: String(params.classify3Id || ''),
4183
+ classify3Name: raw.classify3Name || params.classify3Name || '',
4184
+ materialId: raw.materialId == null ? '' : String(raw.materialId),
4185
+ materialName: raw.materialName || '',
4186
+ assetsType: raw.assetType || '',
4187
+ selectable: raw.id != null && !!raw.materialId
4188
+ });
4189
+ })));
4190
+ totalPage = Number(value.totalPage) || 1;
4191
+ pageNumber += 1;
4192
+ case 4:
4193
+ if (pageNumber <= totalPage) {
4194
+ _context6.n = 1;
4195
+ break;
4196
+ }
4197
+ case 5:
4198
+ keyword = String(params.keyword || '').trim().toLowerCase();
4199
+ matches = rows.filter(function (item) {
4200
+ return !keyword || "".concat(item.skuId, " ").concat(item.name).toLowerCase().includes(keyword);
4201
+ });
4202
+ if (!(!params.schemeId || params.ignoreProjectLibrary)) {
4203
+ _context6.n = 6;
4204
+ break;
4205
+ }
4206
+ return _context6.a(2, matches);
4207
+ case 6:
4208
+ _context6.n = 7;
4209
+ return getSchemeProjectLibrary(params.schemeId);
4210
+ case 7:
4211
+ library = _context6.v;
4212
+ if (!(library.id === DEFAULT_LIBRARY_ID)) {
4213
+ _context6.n = 8;
4214
+ break;
4215
+ }
4216
+ return _context6.a(2, matches);
4217
+ case 8:
4218
+ _context6.n = 9;
4219
+ return getProjectLibrarySelection(library.id);
4220
+ case 9:
4221
+ allowed = _context6.v;
4222
+ return _context6.a(2, matches.filter(function (item) {
4223
+ return allowed.includes(item.skuEntityId);
4224
+ }));
4225
+ }
4226
+ }, _callee6);
4227
+ }));
4228
+ return _listMappedSkus.apply(this, arguments);
4229
+ }
4230
+ function validateSchemeCombination(_x8, _x9) {
4231
+ return _validateSchemeCombination.apply(this, arguments);
4232
+ }
4233
+ function _validateSchemeCombination() {
4234
+ _validateSchemeCombination = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(schemeId, combinationId) {
4235
+ var list, combination;
4236
+ return _regenerator().w(function (_context7) {
4237
+ while (1) switch (_context7.n) {
4238
+ case 0:
4239
+ _context7.n = 1;
4240
+ return listSchemeCombinations(schemeId);
4241
+ case 1:
4242
+ list = _context7.v;
4243
+ combination = combinationId ? list.find(function (item) {
4244
+ return item.id === combinationId;
4245
+ }) : list.find(isDefaultCombination);
4246
+ if (combination) {
4247
+ _context7.n = 2;
4248
+ break;
4249
+ }
4250
+ throw new Error('方案组合不存在,请重新选择');
4251
+ case 2:
4252
+ if (!(combination.needAdjust || combination.items.some(function (item) {
4253
+ return item.skuAvailable === false;
4254
+ }))) {
4255
+ _context7.n = 3;
4256
+ break;
4257
+ }
4258
+ throw new Error('组合存在不可用 SKU,请编辑或复制调整后打开渲染');
4259
+ case 3:
4260
+ return _context7.a(2, combination);
4261
+ }
4262
+ }, _callee7);
4263
+ }));
4264
+ return _validateSchemeCombination.apply(this, arguments);
4265
+ }
4266
+
4267
+ var css_248z$7 = ".douGongSchemeTemplate-module_page__3FenY {\n height: 100%;\n min-height: 0;\n overflow: auto;\n background: #f5f5f7;\n color: #000f2c;\n font-size: 14px;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 {\n padding: 16px;\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n font-family: PingFang SC, Microsoft YaHei, sans-serif;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_listPane__2vLv- {\n flex: 1;\n min-height: 0;\n overflow: auto;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_listPaneHidden__1FlxT {\n display: none;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_topBar__LDIKR {\n height: 49px;\n padding: 0 16px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n background: #fff;\n border-bottom: 1px solid #eee;\n border-radius: 8px 8px 0 0;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_topBar__LDIKR .douGongSchemeTemplate-module_topSearch__apeWw {\n width: 320px;\n max-width: 100%;\n height: 32px;\n padding: 0 12px;\n border: none;\n outline: none;\n border-radius: 6px;\n background: #f0f2f5;\n color: #000f2c;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_topBar__LDIKR .douGongSchemeTemplate-module_topRight__nL1I5 {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 12px;\n flex-wrap: wrap;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_topBar__LDIKR .douGongSchemeTemplate-module_readonlyTag__2Q6Hk {\n padding: 2px 6px;\n border-radius: 6px;\n background: #e7f3ff;\n color: #1890ff;\n font-size: 10px;\n line-height: 18px;\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_successToast__3wAsJ {\n position: fixed;\n top: 28px;\n left: 50%;\n z-index: 1100;\n margin: 0;\n width: -moz-fit-content;\n width: fit-content;\n max-width: 100%;\n padding: 4px 12px;\n display: flex;\n align-items: center;\n gap: 8px;\n border: none;\n border-radius: 4px;\n background: #52b41f;\n color: #fff;\n font-size: 13px;\n line-height: 20px;\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);\n transform: translateX(-50%);\n}\n.douGongSchemeTemplate-module_page__3FenY .douGongSchemeTemplate-module_successToast__3wAsJ.douGongSchemeTemplate-module_errorToast__2YRAD {\n background: #e5484d;\n}\n.douGongSchemeTemplate-module_ghostPrimaryButton__uWclq,\n.douGongSchemeTemplate-module_primaryButton__1kTUF,\n.douGongSchemeTemplate-module_secondaryButton__2P2It,\n.douGongSchemeTemplate-module_linkButton__3pWfb,\n.douGongSchemeTemplate-module_tagButton__1QYbm,\n.douGongSchemeTemplate-module_tinyTag__waUqq {\n border: none;\n outline: none;\n cursor: pointer;\n transition: all 0.18s ease;\n}\n.douGongSchemeTemplate-module_ghostPrimaryButton__uWclq:disabled,\n.douGongSchemeTemplate-module_primaryButton__1kTUF:disabled,\n.douGongSchemeTemplate-module_secondaryButton__2P2It:disabled,\n.douGongSchemeTemplate-module_linkButton__3pWfb:disabled,\n.douGongSchemeTemplate-module_tagButton__1QYbm:disabled {\n cursor: not-allowed;\n opacity: 0.45;\n}\n.douGongSchemeTemplate-module_ghostPrimaryButton__uWclq {\n height: 32px;\n padding: 0 14px;\n border-radius: 6px;\n border: 1px solid #1890ff;\n background: #fff;\n color: #1890ff;\n}\n.douGongSchemeTemplate-module_ghostPrimaryButton__uWclq:hover {\n border-color: #1890FF;\n background: #1890FF;\n color: #ffffff;\n}\n.douGongSchemeTemplate-module_ghostPrimaryButton__uWclq:disabled:hover {\n border-color: #1890FF;\n background: #fff;\n color: #1890FF;\n}\n.douGongSchemeTemplate-module_primaryButton__1kTUF {\n height: 32px;\n padding: 0 16px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n border: 1px solid #1890FF;\n border-radius: 4px;\n background: #1890FF;\n color: #fff;\n font-size: 13px;\n font-weight: 500;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_primaryButton__1kTUF:hover {\n border-color: #1890FF;\n background: #1890FF;\n}\n.douGongSchemeTemplate-module_secondaryButton__2P2It {\n height: 32px;\n padding: 0 13px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n border: 1px solid rgba(115, 123, 139, 0.4);\n border-radius: 6px;\n background: #fff;\n color: #737b8b;\n font-size: 14px;\n line-height: 22px;\n font-weight: 400;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_secondaryButton__2P2It:hover {\n border-color: #1890ff;\n background: #fff;\n color: #1890ff;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_headerSection__3EeK5 {\n min-height: 40px;\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_headerSection__3EeK5 .douGongSchemeTemplate-module_titleBlock__2fHU3 {\n min-width: 0;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_headerSection__3EeK5 .douGongSchemeTemplate-module_titleBlock__2fHU3 .douGongSchemeTemplate-module_pageTitle__2SHpl {\n margin: 0;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n font-weight: 500;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_headerSection__3EeK5 .douGongSchemeTemplate-module_titleBlock__2fHU3 .douGongSchemeTemplate-module_pageDesc__46Bk9 {\n margin: 2px 0 0;\n font-size: 12px;\n line-height: 18px;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u {\n margin-top: 16px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 16px;\n flex-wrap: nowrap;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX {\n display: flex;\n align-items: center;\n gap: 16px;\n flex-wrap: nowrap;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_searchWrap__18O1V {\n position: relative;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_searchWrap__18O1V .douGongSchemeTemplate-module_searchIcon__2Zb5l {\n position: absolute;\n top: 50%;\n left: 12px;\n z-index: 1;\n transform: translateY(-50%);\n color: #8b93a5;\n font-size: 16px;\n pointer-events: none;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_searchWrap__18O1V .douGongSchemeTemplate-module_searchInput__2K_jd {\n width: 240px;\n max-width: 100%;\n height: 32px;\n padding: 0 10px 0 34px;\n border: 1px solid #fff;\n border-radius: 6px;\n background: #fff;\n color: #000f2c;\n font-size: 14px;\n line-height: 22px;\n outline: none;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_searchWrap__18O1V .douGongSchemeTemplate-module_searchInput__2K_jd:focus {\n border-color: #1890ff;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH {\n display: flex;\n align-items: center;\n gap: 0;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_statusFilterLabel__NfpNT {\n color: #000;\n font-size: 14px;\n line-height: 22px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB {\n position: relative;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterTrigger__3CTf0 {\n width: 140px;\n height: 32px;\n padding: 0 8px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n border: 1px solid #fff;\n border-radius: 4px;\n background: #fff;\n color: rgba(0, 0, 0, 0.7);\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterTrigger__3CTf0.douGongSchemeTemplate-module_filterTriggerActive__1gpKF {\n border-color: #1890ff;\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.08);\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterTrigger__3CTf0 .douGongSchemeTemplate-module_filterTriggerText__-tyTA {\n max-width: 106px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 14px;\n line-height: 22px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterTrigger__3CTf0 .douGongSchemeTemplate-module_filterArrowOpen__35EOc {\n transform: rotate(180deg);\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterMenu__2IR3a {\n position: absolute;\n top: calc(100% + 6px);\n left: 0;\n z-index: 12;\n width: 140px;\n padding: 5px;\n display: flex;\n flex-direction: column;\n gap: 0;\n border: 1px solid rgba(113, 125, 153, 0.3);\n border-radius: 4px;\n background: #fff;\n box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterMenu__2IR3a .douGongSchemeTemplate-module_filterOption__2OYSa {\n width: 100%;\n min-height: 36px;\n padding: 8px 10px;\n display: flex;\n align-items: center;\n border: none;\n border-radius: 4px;\n background: transparent;\n text-align: left;\n color: #616778;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterMenu__2IR3a .douGongSchemeTemplate-module_filterOption__2OYSa:hover {\n background: #f7f8fa;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterMenu__2IR3a .douGongSchemeTemplate-module_filterOption__2OYSa.douGongSchemeTemplate-module_filterOptionActive__2GDge {\n background: #f2f3f5;\n color: #000f2c;\n font-weight: 500;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_statusFilterGroup__3eurH .douGongSchemeTemplate-module_filterWrap__3I8mB .douGongSchemeTemplate-module_filterMenu__2IR3a .douGongSchemeTemplate-module_filterOption__2OYSa .douGongSchemeTemplate-module_filterOptionText__a3LdL {\n display: block;\n font-size: 14px;\n line-height: 22px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_quickTabs__31Fp- {\n display: inline-flex;\n align-items: center;\n gap: 0;\n padding: 0;\n border-radius: 4px;\n background: #fff;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_quickTabs__31Fp- .douGongSchemeTemplate-module_tagButton__1QYbm {\n height: 32px;\n padding: 0 12px;\n border-radius: 4px;\n background: transparent;\n color: #737b8b;\n font-size: 13px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_toolbar__6rt4u .douGongSchemeTemplate-module_toolbarLeft__2fPEX .douGongSchemeTemplate-module_quickTabs__31Fp- .douGongSchemeTemplate-module_tagButton__1QYbm.douGongSchemeTemplate-module_tagButtonActive__1MNPi {\n background: #f0f2f5;\n color: #000f2c;\n font-weight: 600;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr {\n height: 100px;\n margin-top: 16px;\n overflow: hidden;\n border-radius: 6px;\n background: #fff;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_statusFlowHeader__1rpIs {\n height: 46px;\n padding: 0 16px;\n display: flex;\n align-items: center;\n border-bottom: 1px solid #f1f3f5;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n font-weight: 500;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_statusFlowContent__3WAoV {\n height: 54px;\n padding: 0 16px;\n display: flex;\n align-items: center;\n gap: 12px;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_statusFlowSteps__1F6ma {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf {\n height: 22px;\n padding: 1px 6px;\n display: inline-flex;\n align-items: center;\n border-radius: 4px;\n font-size: 14px;\n line-height: 20px;\n font-weight: 400;\n white-space: nowrap;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf.douGongSchemeTemplate-module_flowStatusWaiting__3r1aO {\n background: #f0f2f5;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf.douGongSchemeTemplate-module_flowStatusSynced__2Xv40 {\n background: #ecfef6;\n color: #079669;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf.douGongSchemeTemplate-module_flowStatusPending__2OsoZ {\n background: #fdf4d3;\n color: #d97707;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf.douGongSchemeTemplate-module_flowStatusLoaded__3y62K {\n background: #e7f3ff;\n color: #1890ff;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_flowStatus__3-nmf.douGongSchemeTemplate-module_flowStatusFailed__2dg_T {\n background: #fef2f2;\n color: #dc2626;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_statusFlowArrow__2bvD7 {\n width: 22px;\n height: 22px;\n display: block;\n flex: 0 0 22px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_statusFlowCard__1GrXr .douGongSchemeTemplate-module_statusFlowNote__Vjxx0 {\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ {\n margin-top: 16px;\n border: 1px solid #fff;\n border-radius: 6px;\n background: #fff;\n overflow: hidden;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 {\n width: 100%;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table {\n color: #000f2c;\n font-size: 14px;\n font-weight: 400;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-container {\n border-radius: 6px 6px 0 0;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-content {\n overscroll-behavior-x: contain;\n -webkit-overflow-scrolling: touch;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-content::-webkit-scrollbar {\n height: 8px;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-content::-webkit-scrollbar-track {\n background: #f5f6f8;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-content::-webkit-scrollbar-thumb {\n border: 2px solid #f5f6f8;\n border-radius: 8px;\n background: #c5ccd6;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-thead > tr > th {\n height: 32px;\n padding: 4px 12px;\n border-bottom: 0;\n background: #f0f2f5;\n color: #737b8b;\n font-size: 12px;\n font-weight: 400;\n line-height: 20px;\n white-space: nowrap;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-tbody > tr > td {\n height: 48px;\n padding: 4px 12px;\n border-bottom-color: #f1f3f5;\n background: #fff;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n font-weight: 400;\n box-sizing: border-box;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-cell-fix-right {\n background: #fff;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-thead .ant-table-cell-fix-right {\n background: #f0f2f5;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-table-placeholder .ant-table-cell {\n height: 128px;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_container__28Kh7 .douGongSchemeTemplate-module_tableCard__29TC_ .douGongSchemeTemplate-module_schemeTable__2Wx66 .ant-pagination {\n margin: 16px 20px 20px;\n}\n.douGongSchemeTemplate-module_tableCellText__2qFGr {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_schemeName__1ceWV {\n display: block;\n overflow: hidden;\n font-size: 14px;\n line-height: 20px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_schemeNameCell__2nPKG {\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.douGongSchemeTemplate-module_schemeNameCell__2nPKG .douGongSchemeTemplate-module_schemeName__1ceWV {\n min-width: 0;\n flex: 0 1 auto;\n}\n.douGongSchemeTemplate-module_schemeNameCell__2nPKG .douGongSchemeTemplate-module_missingReplacementTag__Z9ch8 {\n flex: 0 1 auto;\n}\n.douGongSchemeTemplate-module_missingReplacementTag__Z9ch8 {\n max-width: 100%;\n height: 22px;\n padding: 0 7px;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n overflow: hidden;\n border-radius: 4px;\n background: #fff4df;\n color: #d97707;\n font-size: 12px;\n line-height: 22px;\n cursor: help;\n}\n.douGongSchemeTemplate-module_missingReplacementTag__Z9ch8 .douGongSchemeTemplate-module_warningIcon__2zRRw {\n width: 14px;\n height: 14px;\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1px solid currentColor;\n border-radius: 50%;\n font-size: 10px;\n font-weight: 600;\n line-height: 12px;\n}\n.douGongSchemeTemplate-module_missingReplacementTag__Z9ch8 .douGongSchemeTemplate-module_missingReplacementText__2zNKu {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_actionCell__3nl3R {\n display: flex;\n align-items: center;\n gap: 10px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_tableEmpty__3Sn9M {\n min-height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n}\n.douGongSchemeTemplate-module_thumbPlaceholder__2CrEd {\n display: flex;\n align-items: center;\n justify-content: center;\n color: #737b8b;\n font-size: 12px;\n}\n.douGongSchemeTemplate-module_countTag__1jVo7,\n.douGongSchemeTemplate-module_detailStatusTag__1XI4X,\n.douGongSchemeTemplate-module_roomStatusTag__1Y4t9 {\n padding: 1px 6px;\n border-radius: 4px;\n font-size: 12px;\n line-height: 20px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_statusTag__3DER1 {\n padding: 1px 6px;\n border-radius: 4px;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_countSynced__2a7zL,\n.douGongSchemeTemplate-module_statusSynced__37Ne1,\n.douGongSchemeTemplate-module_detailStatusPass__2XvB-,\n.douGongSchemeTemplate-module_roomStatusReady__ybwdf {\n color: #079669;\n background: #ecfef6;\n}\n.douGongSchemeTemplate-module_countMissing__2K--O,\n.douGongSchemeTemplate-module_statusMissing__2RxH8,\n.douGongSchemeTemplate-module_statusPending__1ZWi1,\n.douGongSchemeTemplate-module_detailStatusWarn__-Y94A {\n color: #d97707;\n background: #fdf4d3;\n}\n.douGongSchemeTemplate-module_countFailed__nruJ2,\n.douGongSchemeTemplate-module_statusFailed__UopKP {\n color: #dc2626;\n background: #fef2f2;\n}\n.douGongSchemeTemplate-module_countPending__27xmW,\n.douGongSchemeTemplate-module_statusLoaded__12k7U {\n color: #1890ff;\n background: #e7f3ff;\n}\n.douGongSchemeTemplate-module_statusWaitingSync__2jaah {\n color: #737b8b;\n background: #f0f2f5;\n}\n.douGongSchemeTemplate-module_linkButton__3pWfb {\n padding: 0;\n background: transparent;\n color: #1890ff;\n font-size: 14px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_linkButtonMuted__2oeN1 {\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_inlineRetryButton__3Vw7_ {\n margin-left: 10px;\n padding: 0;\n border: none;\n background: transparent;\n color: #1890ff;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_paginationInfo__1YZsz {\n margin-top: 10px;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n text-align: right;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_breadcrumb__c_H9- {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_breadcrumb__c_H9- .douGongSchemeTemplate-module_backButton__tVGM2 {\n padding: 0;\n display: inline-flex;\n align-items: center;\n gap: 3px;\n border: none;\n background: transparent;\n color: #737b8b;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailHeader__3Seoj {\n margin-top: 14px;\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailHeader__3Seoj .douGongSchemeTemplate-module_detailHeaderActions__1jQl4 {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailHeader__3Seoj .douGongSchemeTemplate-module_detailTitle__xXzXb {\n margin: 0;\n font-size: 16px;\n line-height: 22px;\n font-weight: 600;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailHeader__3Seoj .douGongSchemeTemplate-module_detailMeta__2vP9V {\n margin-top: 3px;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n overflow-wrap: anywhere;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailNotice__16CrR {\n margin-top: 12px;\n padding: 10px 12px;\n border-radius: 6px;\n background: #fff;\n color: #737b8b;\n font-size: 13px;\n line-height: 18px;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR {\n flex: 1;\n min-height: 0;\n margin-top: 14px;\n display: grid;\n grid-template-columns: minmax(0, 1fr) 290px;\n gap: 16px;\n align-items: stretch;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailMain__29q-l {\n min-height: 0;\n overflow: auto;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailCard__394jb,\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N,\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug {\n border-radius: 12px;\n background: #fff;\n overflow: hidden;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_cardTitle__3yuFg {\n padding: 14px 16px 10px;\n font-size: 14px;\n font-weight: 600;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc {\n padding: 0 16px 16px;\n display: grid;\n grid-template-columns: 260px minmax(0, 1fr);\n gap: 24px;\n align-items: center;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreviewButton__5jeiZ {\n position: relative;\n width: 260px;\n height: 146px;\n padding: 0;\n overflow: hidden;\n border: none;\n border-radius: 6px;\n background: #f0f2f5;\n cursor: zoom-in;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreviewButton__5jeiZ .douGongSchemeTemplate-module_detailPreviewHint__2TUEI {\n position: absolute;\n right: 2px;\n bottom: 2px;\n height: 21px;\n padding: 0 2px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: rgba(0, 0, 0, 0.8);\n color: #fff;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n pointer-events: none;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreview__VnC6W {\n width: 100%;\n height: 100%;\n display: block;\n border-radius: 6px;\n -o-object-fit: cover;\n object-fit: cover;\n background: #f0f2f5;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreview__VnC6W.douGongSchemeTemplate-module_thumbPlaceholder__2CrEd {\n display: flex;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailGrid__3lbSq {\n display: grid;\n grid-template-columns: 88px minmax(0, 1fr);\n gap: 12px 16px;\n align-items: center;\n min-width: 0;\n font-size: 14px;\n line-height: 20px;\n overflow-wrap: anywhere;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailGrid__3lbSq .douGongSchemeTemplate-module_detailLabel__3J5WH {\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_dwgEntry__1Qo8C {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n min-width: 0;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_dwgEntryHint__1cXPi {\n color: #737b8b;\n font-size: 14px;\n line-height: 22px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug {\n margin-top: 12px;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_tableNote__3D8p2 {\n margin-left: auto;\n color: #a0a5b3;\n font-size: 12px;\n font-weight: 400;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_roomRow__31qry {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr 1fr;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_roomRow__31qry:last-child .douGongSchemeTemplate-module_roomCell__ZJpvG {\n border-bottom: none;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_roomRow__31qry .douGongSchemeTemplate-module_roomCell__ZJpvG {\n padding: 11px 14px;\n border-bottom: 1px solid #f1f3f5;\n font-size: 12px;\n line-height: 18px;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_roomRow__31qry .douGongSchemeTemplate-module_roomCell__ZJpvG.douGongSchemeTemplate-module_roomHeader__2uRoK {\n background: #f0f2f5;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_roomsCard__2Q6ug .douGongSchemeTemplate-module_roomEmpty__24gXy {\n padding: 24px 16px;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n text-align: center;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N {\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N .douGongSchemeTemplate-module_cardTitle__3yuFg {\n flex: 0 0 auto;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N .douGongSchemeTemplate-module_sideList__3ICY7 {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N .douGongSchemeTemplate-module_sideRow__16PhL {\n padding: 0 16px;\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: center;\n min-height: 44px;\n gap: 12px;\n border-bottom: 1px solid #f1f3f5;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N .douGongSchemeTemplate-module_sideRow__16PhL:last-child {\n border-bottom: none;\n}\n.douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N .douGongSchemeTemplate-module_sideEmpty__3y7N_ {\n padding: 24px 16px;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n text-align: center;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F {\n position: fixed;\n inset: 0;\n z-index: 1200;\n font-family: PingFang SC, Microsoft YaHei, sans-serif;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewMask__7DYDG {\n position: absolute;\n inset: 0;\n background: rgba(18, 28, 42, 0.3);\n opacity: 0;\n transition: opacity 0.18s ease;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewPanel__3Gqnw {\n position: absolute;\n left: 50%;\n top: 50%;\n width: 800px;\n height: 760px;\n max-width: calc(100vw - 32px);\n max-height: calc(100vh - 32px);\n overflow: hidden;\n border-radius: 12px;\n background: #fff;\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.96);\n transition: opacity 0.18s ease, transform 0.18s ease;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewHeader__reK51 {\n height: 52px;\n padding: 0 16px 0 24px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #dde1e6;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewTitle__2yrsg {\n color: #000;\n font-size: 16px;\n line-height: 20px;\n font-weight: 600;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewClose__302ry {\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n background: transparent;\n color: #737b8b;\n font-size: 16px;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewBody__3bvip {\n height: 644px;\n padding: 12px 24px 24px;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewMeta__1Yfha {\n height: 23px;\n margin: 0;\n overflow: hidden;\n color: #737b8b;\n font-size: 14px;\n line-height: 23px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewViewport__32Vv9 {\n position: relative;\n width: 100%;\n height: 573px;\n margin-top: 12px;\n overflow: hidden;\n border-radius: 12px;\n background: #f5f5f7;\n cursor: grab;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewViewport__32Vv9.douGongSchemeTemplate-module_imagePreviewViewportDragging__zJ7O- {\n cursor: grabbing;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewImage__2c8eK {\n width: 100%;\n height: 100%;\n display: block;\n -o-object-fit: cover;\n object-fit: cover;\n transform-origin: center;\n transition: transform 0.08s ease-out;\n pointer-events: none;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewHint__2S7_k {\n position: absolute;\n left: 50%;\n bottom: 32px;\n height: 32px;\n padding: 0 17px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1px solid rgba(255, 255, 255, 0.16);\n border-radius: 100px;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n transform: translateX(-50%);\n pointer-events: none;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewFooter__1vWfa {\n height: 64px;\n padding-right: 24px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n border-top: 1px solid #dde1e6;\n box-sizing: border-box;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewFooterButton__4XHqt {\n height: 32px;\n padding: 0 16px;\n border: 1px solid #717d99;\n border-radius: 4px;\n background: #fff;\n color: #737b8b;\n font-size: 14px;\n line-height: 22px;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewFooterButton__4XHqt:hover {\n border-color: #1890ff;\n color: #1890ff;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F.douGongSchemeTemplate-module_imagePreviewOverlayOpen__2ULl6 .douGongSchemeTemplate-module_imagePreviewMask__7DYDG {\n opacity: 1;\n}\n.douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F.douGongSchemeTemplate-module_imagePreviewOverlayOpen__2ULl6 .douGongSchemeTemplate-module_imagePreviewPanel__3Gqnw {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n}\n.douGongSchemeTemplate-module_tinyTag__waUqq {\n height: 22px;\n padding: 0 6px;\n border-radius: 4px;\n background: #e7f3ff;\n color: #1890ff;\n font-size: 12px;\n line-height: 22px;\n}\n.douGongSchemeTemplate-module_tinyTag__waUqq.douGongSchemeTemplate-module_tinyTagWarn__3sn-j {\n background: #fff4df;\n color: #f59e0b;\n}\n.douGongSchemeTemplate-module_tinyTag__waUqq.douGongSchemeTemplate-module_tinyTagPending__12CgZ {\n background: #f0f2f5;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc {\n position: fixed;\n inset: 0;\n z-index: 1000;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalMask__3A1yT {\n position: absolute;\n inset: 0;\n background: rgba(18, 28, 42, 0.3);\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 {\n position: absolute;\n left: 50%;\n top: 50%;\n max-width: calc(100vw - 32px);\n border-radius: 10px;\n background: #fff;\n overflow: hidden;\n transform: translate(-50%, -50%) scale(0.96);\n opacity: 0;\n transition: transform 0.18s ease, opacity 0.18s ease;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74.douGongSchemeTemplate-module_modalPanelOpen__5HYe- {\n transform: translate(-50%, -50%) scale(1);\n opacity: 1;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalHeader__20Ezx {\n height: 48px;\n padding: 0 16px 0 24px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #dde1e6;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalHeader__20Ezx .douGongSchemeTemplate-module_modalTitle__2Ho1E {\n font-size: 15px;\n line-height: 20px;\n font-weight: 600;\n color: #000;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalHeader__20Ezx .douGongSchemeTemplate-module_modalClose__36Aoz {\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #737b8b;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF {\n padding: 18px 24px 20px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalText__3GpW0 {\n margin: 0;\n color: #737b8b;\n font-size: 13px;\n line-height: 21px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalNotice__2a08n,\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_warnNotice__2gdpe {\n min-height: 40px;\n padding: 8px 12px 8px 10px;\n display: flex;\n align-items: center;\n gap: 6px;\n border-radius: 4px;\n font-size: 12px;\n line-height: 22px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalNotice__2a08n {\n margin-top: 16px;\n background: #f0f2f5;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_warnNotice__2gdpe {\n margin-top: 0;\n background: rgba(250, 173, 20, 0.1);\n color: #f07618;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalMetaGrid__1b9uH {\n margin-top: 24px;\n display: grid;\n grid-template-columns: 72px minmax(0, 1fr);\n gap: 12px 0;\n font-size: 14px;\n line-height: 24px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalMetaGrid__1b9uH .douGongSchemeTemplate-module_modalMetaLabel__1meX8 {\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalBody__S30fF .douGongSchemeTemplate-module_modalMetaGrid__1b9uH .douGongSchemeTemplate-module_modalMetaValue__3_xcX {\n color: #000;\n word-break: break-all;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalFooter__1WwN5 {\n min-height: 60px;\n padding: 14px 24px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 12px;\n border-top: 1px solid #dde1e6;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalFooter__1WwN5 .douGongSchemeTemplate-module_modalSecondaryButton__1FbtV {\n height: 32px;\n padding: 0 14px;\n border: 1px solid #cfd5df;\n border-radius: 4px;\n background: #fff;\n color: #5f6878;\n font-size: 13px;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_modalPanel__2FV74 .douGongSchemeTemplate-module_modalFooter__1WwN5 .douGongSchemeTemplate-module_modalSecondaryButton__1FbtV:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc.douGongSchemeTemplate-module_modalOverlayOpen__FnhSv .douGongSchemeTemplate-module_modalPanel__2FV74 {\n transform: translate(-50%, -50%) scale(1);\n opacity: 1;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 {\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 32px);\n border-radius: 12px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalHeader__20Ezx {\n flex: 0 0 auto;\n height: 52px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalHeader__20Ezx .douGongSchemeTemplate-module_modalTitle__2Ho1E {\n font-size: 16px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalBody__S30fF {\n flex: 1 1 auto;\n min-height: 0;\n padding: 12px 24px 20px;\n overflow: auto;\n}\n.douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalFooter__1WwN5 {\n flex: 0 0 auto;\n height: auto;\n min-height: 64px;\n flex-wrap: wrap;\n gap: 20px;\n}\n.douGongSchemeTemplate-module_dwgIcon16__3cZof {\n display: inline-flex;\n width: 16px;\n height: 16px;\n overflow: hidden;\n flex-shrink: 0;\n}\n.douGongSchemeTemplate-module_dwgIcon16__3cZof img {\n display: block;\n width: 16px;\n height: 16px;\n}\n.douGongSchemeTemplate-module_dwgListPanel__uCBs3 {\n width: 699px;\n border-radius: 12px;\n}\n.douGongSchemeTemplate-module_dwgListHeader__9P2hs {\n height: 52px;\n padding: 0 16px 0 24px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-bottom: 1px solid #dde1e6;\n}\n.douGongSchemeTemplate-module_dwgListTitle__O-TeY {\n margin: 0;\n color: #000;\n font-size: 16px;\n line-height: 20px;\n font-weight: 600;\n}\n.douGongSchemeTemplate-module_dwgListClose__ajTtt {\n width: 16px;\n height: 16px;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n}\n.douGongSchemeTemplate-module_dwgListBody__2JI6N {\n padding: 12px 24px 16px;\n}\n.douGongSchemeTemplate-module_dwgListMeta__3rmgW {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n margin-bottom: 16px;\n}\n.douGongSchemeTemplate-module_dwgListSchemeName__2xnu- {\n color: #000;\n font-size: 14px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_dwgListCount__3aGmn {\n color: #737b8b;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_dwgTableWrap__3GhAa {\n border: 1px solid #f1f3f5;\n border-radius: 4px;\n overflow: hidden;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF {\n width: 100%;\n border-collapse: collapse;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th,\n.douGongSchemeTemplate-module_dwgTable__2DTDF td {\n padding: 0 12px;\n text-align: left;\n font-size: 12px;\n line-height: 16px;\n color: #000f2c;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th {\n height: 32px;\n background: #f0f2f5;\n color: #737b8b;\n font-weight: 400;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF td {\n height: 48px;\n border-bottom: 1px solid #f1f3f5;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF tbody tr:last-child td {\n border-bottom: none;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th:nth-child(1),\n.douGongSchemeTemplate-module_dwgTable__2DTDF td:nth-child(1) {\n width: 34%;\n white-space: normal;\n overflow-wrap: anywhere;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th:nth-child(2),\n.douGongSchemeTemplate-module_dwgTable__2DTDF td:nth-child(2) {\n width: 14%;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th:nth-child(3),\n.douGongSchemeTemplate-module_dwgTable__2DTDF td:nth-child(3) {\n width: 23%;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th:nth-child(4),\n.douGongSchemeTemplate-module_dwgTable__2DTDF td:nth-child(4) {\n width: 15%;\n}\n.douGongSchemeTemplate-module_dwgTable__2DTDF th:nth-child(5),\n.douGongSchemeTemplate-module_dwgTable__2DTDF td:nth-child(5) {\n width: 14%;\n}\n.douGongSchemeTemplate-module_dwgTableTime__3bRWS {\n font-variant-numeric: tabular-nums;\n}\n.douGongSchemeTemplate-module_dwgTableEmpty__3LqVZ {\n color: #737b8b;\n text-align: center;\n}\n.douGongSchemeTemplate-module_dwgStatus__1b3RM {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 22px;\n padding: 0 6px;\n border-radius: 4px;\n font-size: 14px;\n line-height: 22px;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_dwgStatusSuccess__2N0WN {\n background: #ecfef6;\n color: #079669;\n}\n.douGongSchemeTemplate-module_dwgStatusProcessing__vDbTL {\n background: #f0f2f5;\n color: #737b8b;\n}\n.douGongSchemeTemplate-module_dwgStatusFailed__39xru {\n background: #fef2f2;\n color: #dc2626;\n}\n.douGongSchemeTemplate-module_dwgWaitAction__VR1mw {\n color: #737b8b;\n font-size: 14px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_dwgNotice__3T4xB {\n margin-top: 8px;\n min-height: 40px;\n padding: 8px 12px 8px 10px;\n display: flex;\n align-items: center;\n gap: 6px;\n border-radius: 4px;\n background: #f0f2f5;\n color: #737b8b;\n font-size: 14px;\n line-height: 22px;\n}\n.douGongSchemeTemplate-module_dwgListFooter__33GY9 {\n height: 64px;\n padding: 0 24px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n border-top: 1px solid #dde1e6;\n}\n.douGongSchemeTemplate-module_dwgListFooterHint__1IkeC {\n color: #737b8b;\n font-size: 14px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_dwgViewerOverlay__H2O2N {\n position: fixed;\n inset: 0;\n z-index: 1200;\n display: flex;\n flex-direction: column;\n background: #000;\n opacity: 0;\n transition: opacity 0.18s ease;\n}\n.douGongSchemeTemplate-module_dwgViewerOverlayOpen__1mQxv {\n opacity: 1;\n}\n.douGongSchemeTemplate-module_dwgViewerBar__Umr4Y {\n position: relative;\n z-index: 2;\n height: 40px;\n padding: 0 16px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: #252525;\n flex-shrink: 0;\n}\n.douGongSchemeTemplate-module_dwgViewerTitle__1IWk4 {\n color: #f6ffed;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.douGongSchemeTemplate-module_dwgViewerClose__3IIeG {\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n flex-shrink: 0;\n}\n.douGongSchemeTemplate-module_dwgViewerCloseIcon__dOTfa {\n display: inline-flex;\n width: 24px;\n height: 24px;\n overflow: hidden;\n}\n.douGongSchemeTemplate-module_dwgViewerCloseIcon__dOTfa img {\n display: block;\n width: 24px;\n height: 24px;\n}\n.douGongSchemeTemplate-module_dwgViewerHint__1VK96 {\n position: absolute;\n top: 45px;\n left: 50%;\n z-index: 3;\n height: 32px;\n padding: 0 13px;\n display: flex;\n align-items: center;\n justify-content: center;\n transform: translateX(-50%);\n border: 1px solid rgba(255, 255, 255, 0.5);\n border-radius: 100px;\n background: rgba(0, 0, 0, 0.8);\n color: #fff;\n font-size: 14px;\n line-height: 20px;\n pointer-events: none;\n white-space: nowrap;\n}\n.douGongSchemeTemplate-module_dwgViewerStage__K6J6M {\n flex: 1;\n min-height: 0;\n position: relative;\n background: #000;\n}\n.douGongSchemeTemplate-module_dwgEngineHost__17hPS {\n width: 100%;\n height: 100%;\n}\n.douGongSchemeTemplate-module_dwgViewerEmpty__1gYlp {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #f6ffed;\n font-size: 14px;\n line-height: 22px;\n}\n@media (max-width: 1200px) {\n .douGongSchemeTemplate-module_detailPage__qtPSM {\n overflow: auto;\n }\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR {\n display: flex;\n flex: none;\n flex-direction: column;\n min-height: auto;\n overflow: visible;\n }\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailMain__29q-l,\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_sideCard__3g45N {\n flex: none;\n height: auto;\n min-height: auto;\n overflow: visible;\n }\n}\n@media (max-height: 791px) {\n .douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewPanel__3Gqnw {\n height: calc(100vh - 32px);\n }\n .douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewBody__3bvip {\n height: calc(100vh - 148px);\n }\n .douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F .douGongSchemeTemplate-module_imagePreviewViewport__32Vv9 {\n height: calc(100vh - 219px);\n }\n}\n@media (max-width: 900px) {\n .douGongSchemeTemplate-module_topBar__LDIKR,\n .douGongSchemeTemplate-module_headerSection__3EeK5,\n .douGongSchemeTemplate-module_detailHeader__3Seoj {\n align-items: stretch;\n flex-direction: column;\n }\n .douGongSchemeTemplate-module_searchInput__2K_jd,\n .douGongSchemeTemplate-module_filterTrigger__3CTf0 {\n width: 100%;\n }\n .douGongSchemeTemplate-module_toolbarLeft__2fPEX {\n width: 100%;\n }\n .douGongSchemeTemplate-module_searchWrap__18O1V,\n .douGongSchemeTemplate-module_statusFilterGroup__3eurH {\n flex: 1 1 100%;\n }\n .douGongSchemeTemplate-module_statusFilterGroup__3eurH,\n .douGongSchemeTemplate-module_filterWrap__3I8mB {\n width: 100%;\n }\n .douGongSchemeTemplate-module_quickTabs__31Fp- {\n width: 100%;\n justify-content: flex-start;\n overflow-x: auto;\n }\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailHeader__3Seoj {\n align-items: stretch;\n flex-direction: column;\n }\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc {\n grid-template-columns: 1fr;\n }\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreviewButton__5jeiZ,\n .douGongSchemeTemplate-module_detailPage__qtPSM .douGongSchemeTemplate-module_detailLayout__3mEQR .douGongSchemeTemplate-module_detailInfo__Jz_Lc .douGongSchemeTemplate-module_detailPreview__VnC6W {\n width: 100%;\n max-width: none;\n height: 180px;\n }\n}\n@media (max-width: 640px) {\n .douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalHeader__20Ezx {\n padding-left: 16px;\n }\n .douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalBody__S30fF,\n .douGongSchemeTemplate-module_modalOverlay__1C-cc .douGongSchemeTemplate-module_comboDialogPanel__3kJs6 .douGongSchemeTemplate-module_modalFooter__1WwN5 {\n padding-left: 16px;\n padding-right: 16px;\n }\n .douGongSchemeTemplate-module_container__28Kh7 {\n padding: 12px;\n }\n .douGongSchemeTemplate-module_detailTitle__xXzXb {\n font-size: 18px;\n line-height: 26px;\n }\n .douGongSchemeTemplate-module_roomRow__31qry {\n min-width: 560px;\n }\n .douGongSchemeTemplate-module_modalBody__S30fF,\n .douGongSchemeTemplate-module_modalFooter__1WwN5 {\n padding-left: 16px;\n padding-right: 16px;\n }\n .douGongSchemeTemplate-module_modalHeader__20Ezx {\n padding-left: 16px;\n }\n .douGongSchemeTemplate-module_modalFooter__1WwN5 {\n gap: 12px;\n }\n}\n.douGongSchemeTemplate-module_libraryScope__25kuQ {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 12px;\n padding: 12px 16px 16px;\n margin-bottom: 14px;\n background: #fff;\n border-radius: 12px;\n}\n.douGongSchemeTemplate-module_libraryScope__25kuQ button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.douGongSchemeTemplate-module_libraryTitleRow__3JzPt {\n display: flex;\n align-items: baseline;\n gap: 8px;\n color: #000;\n font-size: 14px;\n line-height: 20px;\n}\n.douGongSchemeTemplate-module_libraryControls__16Yot {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 16px;\n}\n.douGongSchemeTemplate-module_libraryHint__1g4XF {\n color: #737b8b;\n font-size: 12px;\n}\n.douGongSchemeTemplate-module_libraryStatus__1JYgp {\n color: #737b8b;\n font-size: 14px;\n line-height: 22px;\n}\n";
4268
+ var styles$5 = {"page":"douGongSchemeTemplate-module_page__3FenY","container":"douGongSchemeTemplate-module_container__28Kh7","listPane":"douGongSchemeTemplate-module_listPane__2vLv-","listPaneHidden":"douGongSchemeTemplate-module_listPaneHidden__1FlxT","topBar":"douGongSchemeTemplate-module_topBar__LDIKR","topSearch":"douGongSchemeTemplate-module_topSearch__apeWw","topRight":"douGongSchemeTemplate-module_topRight__nL1I5","readonlyTag":"douGongSchemeTemplate-module_readonlyTag__2Q6Hk","successToast":"douGongSchemeTemplate-module_successToast__3wAsJ","errorToast":"douGongSchemeTemplate-module_errorToast__2YRAD","ghostPrimaryButton":"douGongSchemeTemplate-module_ghostPrimaryButton__uWclq","primaryButton":"douGongSchemeTemplate-module_primaryButton__1kTUF","secondaryButton":"douGongSchemeTemplate-module_secondaryButton__2P2It","linkButton":"douGongSchemeTemplate-module_linkButton__3pWfb","tagButton":"douGongSchemeTemplate-module_tagButton__1QYbm","tinyTag":"douGongSchemeTemplate-module_tinyTag__waUqq","headerSection":"douGongSchemeTemplate-module_headerSection__3EeK5","titleBlock":"douGongSchemeTemplate-module_titleBlock__2fHU3","pageTitle":"douGongSchemeTemplate-module_pageTitle__2SHpl","pageDesc":"douGongSchemeTemplate-module_pageDesc__46Bk9","toolbar":"douGongSchemeTemplate-module_toolbar__6rt4u","toolbarLeft":"douGongSchemeTemplate-module_toolbarLeft__2fPEX","searchWrap":"douGongSchemeTemplate-module_searchWrap__18O1V","searchIcon":"douGongSchemeTemplate-module_searchIcon__2Zb5l","searchInput":"douGongSchemeTemplate-module_searchInput__2K_jd","statusFilterGroup":"douGongSchemeTemplate-module_statusFilterGroup__3eurH","statusFilterLabel":"douGongSchemeTemplate-module_statusFilterLabel__NfpNT","filterWrap":"douGongSchemeTemplate-module_filterWrap__3I8mB","filterTrigger":"douGongSchemeTemplate-module_filterTrigger__3CTf0","filterTriggerActive":"douGongSchemeTemplate-module_filterTriggerActive__1gpKF","filterTriggerText":"douGongSchemeTemplate-module_filterTriggerText__-tyTA","filterArrowOpen":"douGongSchemeTemplate-module_filterArrowOpen__35EOc","filterMenu":"douGongSchemeTemplate-module_filterMenu__2IR3a","filterOption":"douGongSchemeTemplate-module_filterOption__2OYSa","filterOptionActive":"douGongSchemeTemplate-module_filterOptionActive__2GDge","filterOptionText":"douGongSchemeTemplate-module_filterOptionText__a3LdL","quickTabs":"douGongSchemeTemplate-module_quickTabs__31Fp-","tagButtonActive":"douGongSchemeTemplate-module_tagButtonActive__1MNPi","statusFlowCard":"douGongSchemeTemplate-module_statusFlowCard__1GrXr","statusFlowHeader":"douGongSchemeTemplate-module_statusFlowHeader__1rpIs","statusFlowContent":"douGongSchemeTemplate-module_statusFlowContent__3WAoV","statusFlowSteps":"douGongSchemeTemplate-module_statusFlowSteps__1F6ma","flowStatus":"douGongSchemeTemplate-module_flowStatus__3-nmf","flowStatusWaiting":"douGongSchemeTemplate-module_flowStatusWaiting__3r1aO","flowStatusSynced":"douGongSchemeTemplate-module_flowStatusSynced__2Xv40","flowStatusPending":"douGongSchemeTemplate-module_flowStatusPending__2OsoZ","flowStatusLoaded":"douGongSchemeTemplate-module_flowStatusLoaded__3y62K","flowStatusFailed":"douGongSchemeTemplate-module_flowStatusFailed__2dg_T","statusFlowArrow":"douGongSchemeTemplate-module_statusFlowArrow__2bvD7","statusFlowNote":"douGongSchemeTemplate-module_statusFlowNote__Vjxx0","tableCard":"douGongSchemeTemplate-module_tableCard__29TC_","schemeTable":"douGongSchemeTemplate-module_schemeTable__2Wx66","tableCellText":"douGongSchemeTemplate-module_tableCellText__2qFGr","schemeName":"douGongSchemeTemplate-module_schemeName__1ceWV","schemeNameCell":"douGongSchemeTemplate-module_schemeNameCell__2nPKG","missingReplacementTag":"douGongSchemeTemplate-module_missingReplacementTag__Z9ch8","warningIcon":"douGongSchemeTemplate-module_warningIcon__2zRRw","missingReplacementText":"douGongSchemeTemplate-module_missingReplacementText__2zNKu","actionCell":"douGongSchemeTemplate-module_actionCell__3nl3R","tableEmpty":"douGongSchemeTemplate-module_tableEmpty__3Sn9M","thumbPlaceholder":"douGongSchemeTemplate-module_thumbPlaceholder__2CrEd","countTag":"douGongSchemeTemplate-module_countTag__1jVo7","detailStatusTag":"douGongSchemeTemplate-module_detailStatusTag__1XI4X","roomStatusTag":"douGongSchemeTemplate-module_roomStatusTag__1Y4t9","statusTag":"douGongSchemeTemplate-module_statusTag__3DER1","countSynced":"douGongSchemeTemplate-module_countSynced__2a7zL","statusSynced":"douGongSchemeTemplate-module_statusSynced__37Ne1","detailStatusPass":"douGongSchemeTemplate-module_detailStatusPass__2XvB-","roomStatusReady":"douGongSchemeTemplate-module_roomStatusReady__ybwdf","countMissing":"douGongSchemeTemplate-module_countMissing__2K--O","statusMissing":"douGongSchemeTemplate-module_statusMissing__2RxH8","statusPending":"douGongSchemeTemplate-module_statusPending__1ZWi1","detailStatusWarn":"douGongSchemeTemplate-module_detailStatusWarn__-Y94A","countFailed":"douGongSchemeTemplate-module_countFailed__nruJ2","statusFailed":"douGongSchemeTemplate-module_statusFailed__UopKP","countPending":"douGongSchemeTemplate-module_countPending__27xmW","statusLoaded":"douGongSchemeTemplate-module_statusLoaded__12k7U","statusWaitingSync":"douGongSchemeTemplate-module_statusWaitingSync__2jaah","linkButtonMuted":"douGongSchemeTemplate-module_linkButtonMuted__2oeN1","inlineRetryButton":"douGongSchemeTemplate-module_inlineRetryButton__3Vw7_","paginationInfo":"douGongSchemeTemplate-module_paginationInfo__1YZsz","detailPage":"douGongSchemeTemplate-module_detailPage__qtPSM","breadcrumb":"douGongSchemeTemplate-module_breadcrumb__c_H9-","backButton":"douGongSchemeTemplate-module_backButton__tVGM2","detailHeader":"douGongSchemeTemplate-module_detailHeader__3Seoj","detailHeaderActions":"douGongSchemeTemplate-module_detailHeaderActions__1jQl4","detailTitle":"douGongSchemeTemplate-module_detailTitle__xXzXb","detailMeta":"douGongSchemeTemplate-module_detailMeta__2vP9V","detailNotice":"douGongSchemeTemplate-module_detailNotice__16CrR","detailLayout":"douGongSchemeTemplate-module_detailLayout__3mEQR","detailMain":"douGongSchemeTemplate-module_detailMain__29q-l","detailCard":"douGongSchemeTemplate-module_detailCard__394jb","sideCard":"douGongSchemeTemplate-module_sideCard__3g45N","roomsCard":"douGongSchemeTemplate-module_roomsCard__2Q6ug","cardTitle":"douGongSchemeTemplate-module_cardTitle__3yuFg","detailInfo":"douGongSchemeTemplate-module_detailInfo__Jz_Lc","detailPreviewButton":"douGongSchemeTemplate-module_detailPreviewButton__5jeiZ","detailPreviewHint":"douGongSchemeTemplate-module_detailPreviewHint__2TUEI","detailPreview":"douGongSchemeTemplate-module_detailPreview__VnC6W","detailGrid":"douGongSchemeTemplate-module_detailGrid__3lbSq","detailLabel":"douGongSchemeTemplate-module_detailLabel__3J5WH","dwgEntry":"douGongSchemeTemplate-module_dwgEntry__1Qo8C","dwgEntryHint":"douGongSchemeTemplate-module_dwgEntryHint__1cXPi","tableNote":"douGongSchemeTemplate-module_tableNote__3D8p2","roomRow":"douGongSchemeTemplate-module_roomRow__31qry","roomCell":"douGongSchemeTemplate-module_roomCell__ZJpvG","roomHeader":"douGongSchemeTemplate-module_roomHeader__2uRoK","roomEmpty":"douGongSchemeTemplate-module_roomEmpty__24gXy","sideList":"douGongSchemeTemplate-module_sideList__3ICY7","sideRow":"douGongSchemeTemplate-module_sideRow__16PhL","sideEmpty":"douGongSchemeTemplate-module_sideEmpty__3y7N_","imagePreviewOverlay":"douGongSchemeTemplate-module_imagePreviewOverlay__3zn9F","imagePreviewMask":"douGongSchemeTemplate-module_imagePreviewMask__7DYDG","imagePreviewPanel":"douGongSchemeTemplate-module_imagePreviewPanel__3Gqnw","imagePreviewHeader":"douGongSchemeTemplate-module_imagePreviewHeader__reK51","imagePreviewTitle":"douGongSchemeTemplate-module_imagePreviewTitle__2yrsg","imagePreviewClose":"douGongSchemeTemplate-module_imagePreviewClose__302ry","imagePreviewBody":"douGongSchemeTemplate-module_imagePreviewBody__3bvip","imagePreviewMeta":"douGongSchemeTemplate-module_imagePreviewMeta__1Yfha","imagePreviewViewport":"douGongSchemeTemplate-module_imagePreviewViewport__32Vv9","imagePreviewViewportDragging":"douGongSchemeTemplate-module_imagePreviewViewportDragging__zJ7O-","imagePreviewImage":"douGongSchemeTemplate-module_imagePreviewImage__2c8eK","imagePreviewHint":"douGongSchemeTemplate-module_imagePreviewHint__2S7_k","imagePreviewFooter":"douGongSchemeTemplate-module_imagePreviewFooter__1vWfa","imagePreviewFooterButton":"douGongSchemeTemplate-module_imagePreviewFooterButton__4XHqt","imagePreviewOverlayOpen":"douGongSchemeTemplate-module_imagePreviewOverlayOpen__2ULl6","tinyTagWarn":"douGongSchemeTemplate-module_tinyTagWarn__3sn-j","tinyTagPending":"douGongSchemeTemplate-module_tinyTagPending__12CgZ","modalOverlay":"douGongSchemeTemplate-module_modalOverlay__1C-cc","modalMask":"douGongSchemeTemplate-module_modalMask__3A1yT","modalPanel":"douGongSchemeTemplate-module_modalPanel__2FV74","modalPanelOpen":"douGongSchemeTemplate-module_modalPanelOpen__5HYe-","modalHeader":"douGongSchemeTemplate-module_modalHeader__20Ezx","modalTitle":"douGongSchemeTemplate-module_modalTitle__2Ho1E","modalClose":"douGongSchemeTemplate-module_modalClose__36Aoz","modalBody":"douGongSchemeTemplate-module_modalBody__S30fF","modalText":"douGongSchemeTemplate-module_modalText__3GpW0","modalNotice":"douGongSchemeTemplate-module_modalNotice__2a08n","warnNotice":"douGongSchemeTemplate-module_warnNotice__2gdpe","modalMetaGrid":"douGongSchemeTemplate-module_modalMetaGrid__1b9uH","modalMetaLabel":"douGongSchemeTemplate-module_modalMetaLabel__1meX8","modalMetaValue":"douGongSchemeTemplate-module_modalMetaValue__3_xcX","modalFooter":"douGongSchemeTemplate-module_modalFooter__1WwN5","modalSecondaryButton":"douGongSchemeTemplate-module_modalSecondaryButton__1FbtV","modalOverlayOpen":"douGongSchemeTemplate-module_modalOverlayOpen__FnhSv","comboDialogPanel":"douGongSchemeTemplate-module_comboDialogPanel__3kJs6","dwgIcon16":"douGongSchemeTemplate-module_dwgIcon16__3cZof","dwgListPanel":"douGongSchemeTemplate-module_dwgListPanel__uCBs3","dwgListHeader":"douGongSchemeTemplate-module_dwgListHeader__9P2hs","dwgListTitle":"douGongSchemeTemplate-module_dwgListTitle__O-TeY","dwgListClose":"douGongSchemeTemplate-module_dwgListClose__ajTtt","dwgListBody":"douGongSchemeTemplate-module_dwgListBody__2JI6N","dwgListMeta":"douGongSchemeTemplate-module_dwgListMeta__3rmgW","dwgListSchemeName":"douGongSchemeTemplate-module_dwgListSchemeName__2xnu-","dwgListCount":"douGongSchemeTemplate-module_dwgListCount__3aGmn","dwgTableWrap":"douGongSchemeTemplate-module_dwgTableWrap__3GhAa","dwgTable":"douGongSchemeTemplate-module_dwgTable__2DTDF","dwgTableTime":"douGongSchemeTemplate-module_dwgTableTime__3bRWS","dwgTableEmpty":"douGongSchemeTemplate-module_dwgTableEmpty__3LqVZ","dwgStatus":"douGongSchemeTemplate-module_dwgStatus__1b3RM","dwgStatusSuccess":"douGongSchemeTemplate-module_dwgStatusSuccess__2N0WN","dwgStatusProcessing":"douGongSchemeTemplate-module_dwgStatusProcessing__vDbTL","dwgStatusFailed":"douGongSchemeTemplate-module_dwgStatusFailed__39xru","dwgWaitAction":"douGongSchemeTemplate-module_dwgWaitAction__VR1mw","dwgNotice":"douGongSchemeTemplate-module_dwgNotice__3T4xB","dwgListFooter":"douGongSchemeTemplate-module_dwgListFooter__33GY9","dwgListFooterHint":"douGongSchemeTemplate-module_dwgListFooterHint__1IkeC","dwgViewerOverlay":"douGongSchemeTemplate-module_dwgViewerOverlay__H2O2N","dwgViewerOverlayOpen":"douGongSchemeTemplate-module_dwgViewerOverlayOpen__1mQxv","dwgViewerBar":"douGongSchemeTemplate-module_dwgViewerBar__Umr4Y","dwgViewerTitle":"douGongSchemeTemplate-module_dwgViewerTitle__1IWk4","dwgViewerClose":"douGongSchemeTemplate-module_dwgViewerClose__3IIeG","dwgViewerCloseIcon":"douGongSchemeTemplate-module_dwgViewerCloseIcon__dOTfa","dwgViewerHint":"douGongSchemeTemplate-module_dwgViewerHint__1VK96","dwgViewerStage":"douGongSchemeTemplate-module_dwgViewerStage__K6J6M","dwgEngineHost":"douGongSchemeTemplate-module_dwgEngineHost__17hPS","dwgViewerEmpty":"douGongSchemeTemplate-module_dwgViewerEmpty__1gYlp","libraryScope":"douGongSchemeTemplate-module_libraryScope__25kuQ","libraryTitleRow":"douGongSchemeTemplate-module_libraryTitleRow__3JzPt","libraryControls":"douGongSchemeTemplate-module_libraryControls__16Yot","libraryHint":"douGongSchemeTemplate-module_libraryHint__1g4XF","libraryStatus":"douGongSchemeTemplate-module_libraryStatus__1JYgp"};
3604
4269
  styleInject(css_248z$7);
3605
4270
 
3606
4271
  var ANIMATION_DURATION = 180;
@@ -3683,230 +4348,6 @@
3683
4348
  }, footer) : null)), document.body);
3684
4349
  }
3685
4350
 
3686
- var STORAGE_KEY = 'vbim-dg-scheme-combinations-mock';
3687
- var PRESET_SKUS = {
3688
- 智能马桶: ['恒洁智能马桶 Q9', '箭牌智能马桶 A6', '未映射马桶样品'],
3689
- 花洒套装: ['摩恩花洒套装 M1', '九牧花洒套装 J2', '未映射花洒样品'],
3690
- 独立浴缸: ['科勒独立浴缸 K3', 'TOTO 独立浴缸 T1', '未映射浴缸样品'],
3691
- 浴缸: ['科勒独立浴缸 K3', 'TOTO 嵌入浴缸 T2', '未映射浴缸样品'],
3692
- 浴室柜组合: ['北欧浴室柜 1.2m', '轻奢浴室柜 1.0m', '未映射浴室柜样品'],
3693
- 地砖: ['灰色通体砖 800', '米白大理石砖 600', '未映射地砖样品'],
3694
- 铝扣板吊顶: ['白色铝扣板', '拉丝银铝扣板', '未映射吊顶样品'],
3695
- 普通毛巾架: ['不锈钢毛巾架', '哑黑毛巾架', '未映射毛巾架样品'],
3696
- 毛巾架: ['不锈钢毛巾架', '哑黑毛巾架', '未映射毛巾架样品']
3697
- };
3698
- var PRESET_MATERIALS = ['白色陶瓷', '哑光灰', '原木色', '拉丝不锈钢'];
3699
- function readStore() {
3700
- if (typeof window === 'undefined' || !window.sessionStorage) return {};
3701
- try {
3702
- var parsed = JSON.parse(window.sessionStorage.getItem(STORAGE_KEY) || '{}');
3703
- return parsed && _typeof(parsed) === 'object' && !Array.isArray(parsed) ? parsed : {};
3704
- } catch (e) {
3705
- return {};
3706
- }
3707
- }
3708
- function writeStore(store) {
3709
- if (typeof window === 'undefined' || !window.sessionStorage) {
3710
- throw new Error('保存失败,浏览器存储不可用。请保留当前页面后重试。');
3711
- }
3712
- try {
3713
- window.sessionStorage.setItem(STORAGE_KEY, JSON.stringify(store));
3714
- } catch (e) {
3715
- throw new Error('保存失败,浏览器存储不可用。请保留当前页面后重试。');
3716
- }
3717
- }
3718
- function copy(value) {
3719
- return JSON.parse(JSON.stringify(value));
3720
- }
3721
- function pad(value) {
3722
- return value < 10 ? "0".concat(value) : String(value);
3723
- }
3724
- function formatTime(date) {
3725
- return "".concat(date.getFullYear(), "-").concat(pad(date.getMonth() + 1), "-").concat(pad(date.getDate()), " ").concat(pad(date.getHours()), ":").concat(pad(date.getMinutes()));
3726
- }
3727
- function createId() {
3728
- if (typeof crypto !== 'undefined' && crypto.randomUUID) return crypto.randomUUID();
3729
- return "combo-".concat(Date.now(), "-").concat(Math.random().toString(16).slice(2));
3730
- }
3731
- function buildSku(category, name, index) {
3732
- var mapped = index < 2;
3733
- var materialName = mapped ? PRESET_MATERIALS[index % PRESET_MATERIALS.length] : '';
3734
- return {
3735
- id: "mock-sku-".concat(category.id, "-").concat(index + 1),
3736
- name: name,
3737
- classify3Id: category.id,
3738
- classify3Name: category.name,
3739
- materialId: mapped ? "mock-material-".concat(category.id, "-").concat(index + 1) : '',
3740
- materialName: materialName,
3741
- selectable: mapped
3742
- };
3743
- }
3744
- function listMockCombinations(schemeId) {
3745
- var store = readStore();
3746
- var list = store[String(schemeId)] || [];
3747
- return copy(list);
3748
- }
3749
- function listMockMappedSkus(params) {
3750
- var category = {
3751
- id: String(params && (params.classify3Id || params.classify3Name) || ''),
3752
- name: params && params.classify3Name || '未命名分类'
3753
- };
3754
- var names = PRESET_SKUS[category.name] || ["".concat(category.name, " \u6807\u51C6\u6B3E"), "".concat(category.name, " \u5347\u7EA7\u6B3E"), "".concat(category.name, " \u672A\u6620\u5C04\u6837\u54C1")];
3755
- var keyword = String(params && params.keyword || '').trim().toLowerCase();
3756
- return names.map(function (name, index) {
3757
- return buildSku(category, name, index);
3758
- }).filter(function (sku) {
3759
- if (!keyword) return true;
3760
- return sku.name.toLowerCase().indexOf(keyword) > -1 || sku.id.toLowerCase().indexOf(keyword) > -1;
3761
- });
3762
- }
3763
- function assertMappedSkus(payload) {
3764
- var categories = payload.categories || [];
3765
- var unavailable = categories.some(function (category) {
3766
- var selected = findCombinationItem(payload.items, category);
3767
- if (!selected) return true;
3768
- var sku = listMockMappedSkus({
3769
- classify3Id: category.id,
3770
- classify3Name: category.name
3771
- }).find(function (item) {
3772
- return item.id === selected.skuId;
3773
- });
3774
- return !sku || sku.selectable !== true || !sku.materialId;
3775
- });
3776
- if (unavailable) {
3777
- throw new Error('请为全部三级分类选择已映射素材的商品 SKU。');
3778
- }
3779
- }
3780
- function saveMockCombination(payload) {
3781
- var schemeId = String(payload.schemeId || '');
3782
- var store = readStore();
3783
- var existing = store[schemeId] || [];
3784
- var error = getSaveError(payload, existing);
3785
- if (error) throw new Error(error);
3786
- assertMappedSkus(payload);
3787
- var saved = {
3788
- id: payload.id ? String(payload.id) : createId(),
3789
- schemeId: schemeId,
3790
- name: String(payload.name || '').trim(),
3791
- items: (payload.categories || []).map(function (category) {
3792
- var selected = findCombinationItem(payload.items, category) || {};
3793
- return {
3794
- classify3Id: category.id,
3795
- classify3Name: category.name,
3796
- skuId: selected.skuId,
3797
- skuName: selected.skuName,
3798
- materialId: selected.materialId,
3799
- materialName: selected.materialName
3800
- };
3801
- }),
3802
- updatedAt: formatTime(new Date())
3803
- };
3804
- var next = existing.filter(function (item) {
3805
- return item.id !== saved.id;
3806
- }).concat(saved);
3807
- store[schemeId] = next;
3808
- writeStore(store);
3809
- return copy(saved);
3810
- }
3811
-
3812
- var SCHEME_COMBINATION_API = {
3813
- list: '/vbim-decoration-server/dgScheme/combination/list',
3814
- save: '/vbim-decoration-server/dgScheme/combination/save',
3815
- mappedSkuList: '/vbim-decoration-server/dgScheme/combination/mappedSku/list'
3816
- };
3817
- function unwrapApiData(res, fallback) {
3818
- var data = res && res.data;
3819
- if (!data || data.code !== 200 || data.success === false) {
3820
- throw new Error(data && data.message || fallback);
3821
- }
3822
- return data.value;
3823
- }
3824
- function normalizeItem(raw) {
3825
- if (!raw || _typeof(raw) !== 'object') return null;
3826
- var sku = raw.sku && _typeof(raw.sku) === 'object' ? raw.sku : {};
3827
- var material = raw.material || sku.material || {};
3828
- var classify3Id = raw.classify3Id || raw.leafId || '';
3829
- var classify3Name = raw.classify3Name || raw.leaf || '';
3830
- var skuId = raw.skuId || sku.id || '';
3831
- if (!classify3Id && !classify3Name) return null;
3832
- return {
3833
- classify3Id: String(classify3Id || classify3Name),
3834
- classify3Name: classify3Name,
3835
- skuId: String(skuId || ''),
3836
- skuName: raw.skuName || sku.name || '',
3837
- materialId: String(raw.materialId || material.id || ''),
3838
- materialName: raw.materialName || material.name || ''
3839
- };
3840
- }
3841
- function normalizeItems(raw) {
3842
- if (Array.isArray(raw && raw.items)) {
3843
- return raw.items.map(normalizeItem).filter(Boolean);
3844
- }
3845
- if (raw && raw.skus && _typeof(raw.skus) === 'object' && !Array.isArray(raw.skus)) {
3846
- return Object.keys(raw.skus).map(function (key) {
3847
- return normalizeItem(_objectSpread2(_objectSpread2({}, raw.skus[key]), {}, {
3848
- classify3Id: raw.skus[key].classify3Id || key
3849
- }));
3850
- }).filter(Boolean);
3851
- }
3852
- return [];
3853
- }
3854
- function normalizeCombination(raw, schemeId) {
3855
- return {
3856
- id: String(raw && raw.id || ''),
3857
- schemeId: String(raw && raw.schemeId || schemeId || ''),
3858
- name: raw && raw.name || '',
3859
- items: normalizeItems(raw),
3860
- updatedAt: raw && (raw.updatedAt || raw.updateTime || raw.time) || ''
3861
- };
3862
- }
3863
- function saveToApi(payload) {
3864
- return http({
3865
- url: SCHEME_COMBINATION_API.save,
3866
- method: 'post',
3867
- data: {
3868
- id: payload.id || undefined,
3869
- schemeId: String(payload.schemeId || ''),
3870
- name: String(payload.name || '').trim(),
3871
- items: (payload.categories || []).map(function (category) {
3872
- var selected = (payload.items || []).find(function (item) {
3873
- return String(item.classify3Id) === String(category.id) || item.classify3Name === category.name;
3874
- }) || {};
3875
- return {
3876
- classify3Id: category.id,
3877
- classify3Name: category.name,
3878
- skuId: selected.skuId,
3879
- skuName: selected.skuName,
3880
- materialId: selected.materialId,
3881
- materialName: selected.materialName
3882
- };
3883
- })
3884
- }
3885
- }).then(function (res) {
3886
- return normalizeCombination(unwrapApiData(res, '保存方案组合失败'), payload.schemeId);
3887
- });
3888
- }
3889
- function listSchemeCombinations(schemeId) {
3890
- if (!schemeId) return Promise.resolve([]);
3891
- return Promise.resolve(listMockCombinations(schemeId));
3892
- }
3893
- function saveSchemeCombination(payload) {
3894
- var clientError = getSaveError(payload, payload && payload.existing);
3895
- if (clientError) return Promise.reject(new Error(clientError));
3896
- {
3897
- try {
3898
- return Promise.resolve(saveMockCombination(payload));
3899
- } catch (e) {
3900
- return Promise.reject(e);
3901
- }
3902
- }
3903
- return saveToApi(payload);
3904
- }
3905
- function listMappedSkus(params) {
3906
- var query = params || {};
3907
- return Promise.resolve(listMockMappedSkus(query));
3908
- }
3909
-
3910
4351
  var css_248z$8 = ".schemeCombination-module_panel__21C6G {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n min-width: 0;\n height: 100%;\n}\n.schemeCombination-module_head__1ieXl {\n padding: 16px 16px 0;\n}\n.schemeCombination-module_titleRow__1I4lq {\n display: flex;\n align-items: baseline;\n gap: 0;\n}\n.schemeCombination-module_title__RqC14 {\n margin: 0;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n}\n.schemeCombination-module_count__1jzPG {\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n white-space: nowrap;\n}\n.schemeCombination-module_hint__HeJ4h,\n.schemeCombination-module_meta__1PG3I,\n.schemeCombination-module_note__3p1MS {\n margin: 0;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n}\n.schemeCombination-module_hint__HeJ4h {\n margin-top: 4px;\n}\n.schemeCombination-module_body__1W-CI {\n flex: 1;\n min-height: 0;\n padding: 12px 16px 0;\n overflow: auto;\n}\n.schemeCombination-module_card__3G0EV {\n margin-top: 0;\n border: 1px solid #f1f3f5;\n border-radius: 6px;\n background: #fff;\n}\n.schemeCombination-module_card__3G0EV + .schemeCombination-module_card__3G0EV {\n margin-top: 12px;\n}\n.schemeCombination-module_cardHead__1mkVl {\n width: 100%;\n min-height: 44px;\n padding: 10px 12px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n border: none;\n background: #fff;\n color: #000;\n font-size: 14px;\n line-height: 20px;\n font-weight: 500;\n text-align: left;\n cursor: pointer;\n}\n.schemeCombination-module_summaryMain__2X4wW {\n min-width: 0;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n.schemeCombination-module_chevron__1CboB,\n.schemeCombination-module_chevronOpen__3qWpI {\n display: block;\n flex: 0 0 auto;\n}\n.schemeCombination-module_chevronOpen__3qWpI {\n transform: rotate(180deg);\n}\n.schemeCombination-module_tagNeutral__7KMCC {\n flex: 0 0 auto;\n height: 22px;\n padding: 0 8px;\n display: inline-flex;\n align-items: center;\n border-radius: 12px;\n background: #f0f2f5;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n font-weight: 400;\n}\n.schemeCombination-module_categoryList__3iz18 {\n padding: 0 0 4px;\n}\n.schemeCombination-module_categoryRow__23BU1 {\n min-height: 46px;\n padding: 4px 12px 4px 32px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n border-bottom: 1px solid #f1f3f5;\n}\n.schemeCombination-module_categoryName__cZ8YZ,\n.schemeCombination-module_skuText__t8eal {\n min-width: 0;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n overflow-wrap: anywhere;\n}\n.schemeCombination-module_skuText__t8eal {\n text-align: right;\n}\n.schemeCombination-module_statusModel__VBHAz,\n.schemeCombination-module_statusWarn__3c2pR,\n.schemeCombination-module_pending__1hbmJ {\n flex: 0 0 auto;\n height: 22px;\n padding: 0 6px;\n display: inline-flex;\n align-items: center;\n border-radius: 4px;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n}\n.schemeCombination-module_statusModel__VBHAz {\n background: #e7f3ff;\n color: #1890ff;\n}\n.schemeCombination-module_statusWarn__3c2pR {\n background: #fdf4d3;\n color: #d97707;\n}\n.schemeCombination-module_pending__1hbmJ {\n background: #f0f2f5;\n color: #737b8b;\n}\n.schemeCombination-module_cardNote__11eWn,\n.schemeCombination-module_cardNoteFilled__1tdIo {\n margin: 0;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n}\n.schemeCombination-module_cardNote__11eWn {\n padding: 0 12px 12px 32px;\n}\n.schemeCombination-module_cardNoteFilled__1tdIo {\n margin: 8px 16px 12px;\n padding: 8px 12px 8px 16px;\n border-radius: 4px;\n background: #f0f2f5;\n}\n.schemeCombination-module_cardActions__29oT_ {\n display: flex;\n gap: 12px;\n padding: 0 12px 12px 32px;\n}\n.schemeCombination-module_footer__2_Vy0 {\n flex: 0 0 auto;\n padding: 12px 16px 16px;\n}\n.schemeCombination-module_summary__3gViy {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 8px;\n cursor: pointer;\n font-size: 13px;\n line-height: 20px;\n font-weight: 600;\n overflow-wrap: anywhere;\n}\n.schemeCombination-module_summary__3gViy::-webkit-details-marker {\n display: none;\n}\n.schemeCombination-module_summary__3gViy::before {\n content: '\\25B8';\n color: #737b8b;\n font-weight: 400;\n}\ndetails[open] > .schemeCombination-module_summary__3gViy::before {\n content: '\\25BE';\n}\n.schemeCombination-module_tag__2R47D,\n.schemeCombination-module_tagWarn__2n0u-,\n.schemeCombination-module_tagNeutral__7KMCC {\n flex: 0 0 auto;\n margin-left: auto;\n padding: 0 6px;\n border-radius: 4px;\n font-size: 12px;\n line-height: 20px;\n font-weight: 400;\n white-space: nowrap;\n}\n.schemeCombination-module_tag__2R47D,\n.schemeCombination-module_tagNeutral__7KMCC {\n background: #f0f2f5;\n color: #5f6878;\n}\n.schemeCombination-module_tagWarn__2n0u- {\n background: rgba(250, 173, 20, 0.12);\n color: #d46b08;\n}\n.schemeCombination-module_table__35Zal {\n width: 100%;\n margin-top: 8px;\n border-collapse: collapse;\n font-size: 12px;\n line-height: 18px;\n}\n.schemeCombination-module_table__35Zal td {\n padding: 6px 0;\n border-bottom: 1px solid #f1f3f5;\n vertical-align: top;\n overflow-wrap: anywhere;\n}\n.schemeCombination-module_table__35Zal td:last-child {\n text-align: right;\n}\n.schemeCombination-module_parentPath__3XTzp,\n.schemeCombination-module_skuId__rd-Sk {\n display: block;\n margin-top: 2px;\n color: #737b8b;\n}\n.schemeCombination-module_actions__eknX6 {\n display: flex;\n gap: 12px;\n margin-top: 8px;\n}\n.schemeCombination-module_linkButton__1wXQ0,\n.schemeCombination-module_textButton__qzead {\n padding: 0;\n border: none;\n background: transparent;\n color: #1890ff;\n font-size: 14px;\n line-height: 22px;\n cursor: pointer;\n}\n.schemeCombination-module_textButton__qzead:disabled,\n.schemeCombination-module_linkButton__1wXQ0:disabled,\n.schemeCombination-module_primaryButton__320pM:disabled,\n.schemeCombination-module_secondaryButton__2tnEv:disabled,\n.schemeCombination-module_createButton__U3WQR:disabled {\n cursor: not-allowed;\n opacity: 0.45;\n}\n.schemeCombination-module_primaryButton__320pM,\n.schemeCombination-module_secondaryButton__2tnEv,\n.schemeCombination-module_createButton__U3WQR {\n height: 32px;\n padding: 0 16px;\n border-radius: 6px;\n font-size: 14px;\n line-height: 22px;\n cursor: pointer;\n}\n.schemeCombination-module_primaryButton__320pM,\n.schemeCombination-module_createButton__U3WQR {\n border: 1px solid #1890ff;\n background: #1890ff;\n color: #fff;\n}\n.schemeCombination-module_secondaryButton__2tnEv {\n border: 1px solid #717d99;\n background: #fff;\n color: #737b8b;\n}\n.schemeCombination-module_createButton__U3WQR {\n width: 100%;\n padding: 0 13px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n}\n.schemeCombination-module_createButton__U3WQR img {\n display: block;\n flex: 0 0 auto;\n}\n.schemeCombination-module_note__3p1MS {\n margin-top: 8px;\n}\n.schemeCombination-module_empty__6bkci,\n.schemeCombination-module_statusLine__nhdEf {\n padding: 16px 4px;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n text-align: center;\n}\n.schemeCombination-module_empty__6bkci .schemeCombination-module_textButton__qzead,\n.schemeCombination-module_statusLine__nhdEf .schemeCombination-module_textButton__qzead {\n margin-left: 8px;\n}\n.schemeCombination-module_fieldLabel__100GW {\n display: block;\n margin-bottom: 6px;\n color: #000f2c;\n font-size: 13px;\n line-height: 20px;\n}\n.schemeCombination-module_required__1fVsl {\n color: #e5484d;\n}\n.schemeCombination-module_input__3T8l5,\n.schemeCombination-module_searchInput__2wr7q {\n width: 100%;\n max-width: 480px;\n height: 34px;\n padding: 0 12px;\n border: 1px solid #dde1e6;\n border-radius: 6px;\n color: #000f2c;\n font-size: 13px;\n box-sizing: border-box;\n}\n.schemeCombination-module_editorHint__cIi3P {\n margin: 8px 0 12px;\n padding: 0;\n}\n.schemeCombination-module_tableScroll__3oRUg {\n max-height: max(140px, min(490px, calc(100vh - 360px)));\n overflow: auto;\n border: 1px solid #f1f3f5;\n border-radius: 6px;\n}\n.schemeCombination-module_skuScroll__1q8oz {\n max-height: max(160px, min(420px, calc(100vh - 280px)));\n margin-top: 12px;\n overflow: auto;\n}\n.schemeCombination-module_editorTable__3aNOm {\n width: 100%;\n min-width: 640px;\n border-collapse: collapse;\n font-size: 14px;\n line-height: 20px;\n}\n.schemeCombination-module_editorTable__3aNOm th,\n.schemeCombination-module_editorTable__3aNOm td {\n padding: 4px 12px;\n border-bottom: 1px solid #f1f3f5;\n text-align: left;\n vertical-align: middle;\n overflow-wrap: anywhere;\n}\n.schemeCombination-module_editorTable__3aNOm th {\n height: 32px;\n color: #737b8b;\n font-size: 12px;\n font-weight: 400;\n background: #f0f2f5;\n}\n.schemeCombination-module_editorTable__3aNOm td {\n height: 55px;\n}\n.schemeCombination-module_editorTable__3aNOm th:nth-child(1),\n.schemeCombination-module_editorTable__3aNOm td:nth-child(1) {\n width: 37%;\n}\n.schemeCombination-module_editorTable__3aNOm th:nth-child(2),\n.schemeCombination-module_editorTable__3aNOm td:nth-child(2) {\n width: 22%;\n}\n.schemeCombination-module_editorTable__3aNOm th:nth-child(3),\n.schemeCombination-module_editorTable__3aNOm td:nth-child(3) {\n width: 29%;\n}\n.schemeCombination-module_editorTable__3aNOm th:last-child,\n.schemeCombination-module_editorTable__3aNOm td:last-child {\n width: 12%;\n}\n.schemeCombination-module_cellTitle__3QcAs {\n display: block;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n}\n.schemeCombination-module_schemeLabel__169sA {\n margin: 0 0 12px;\n color: #737b8b;\n font-size: 14px;\n line-height: 20px;\n overflow-wrap: anywhere;\n}\n.schemeCombination-module_nameRow__V7obY {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 16px;\n}\n.schemeCombination-module_nameLabel__12fK- {\n flex: 0 0 auto;\n color: #737b8b;\n font-size: 14px;\n line-height: 20px;\n}\n.schemeCombination-module_nameInput__1ItrK {\n width: 356px;\n max-width: 100%;\n min-width: 0;\n height: 40px;\n padding: 0 12px;\n border: none;\n border-radius: 6px;\n background: #f0f2f5;\n color: #000f2c;\n font-size: 14px;\n box-sizing: border-box;\n}\n.schemeCombination-module_nameInput__1ItrK::-moz-placeholder {\n color: #94999f;\n}\n.schemeCombination-module_nameInput__1ItrK::placeholder {\n color: #94999f;\n}\n.schemeCombination-module_formHint__G4hvm {\n margin: 16px 0 12px;\n color: #737b8b;\n font-size: 14px;\n line-height: 20px;\n}\n.schemeCombination-module_emptyDialog__3Him0 {\n display: flex;\n flex-direction: column;\n}\n.schemeCombination-module_emptyNotice__1t9yJ {\n min-height: 32px;\n padding: 8px 12px;\n border-radius: 4px;\n background: #f0f2f5;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n}\n.schemeCombination-module_emptyState__hgVQ_ {\n min-height: max(180px, min(520px, calc(100vh - 240px)));\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n.schemeCombination-module_emptyTitle__SlbwW {\n margin: 16px 0 0;\n color: #060a1a;\n font-size: 16px;\n line-height: 22px;\n font-weight: 600;\n}\n.schemeCombination-module_emptyDesc__3R2M3 {\n margin: 8px 0 0;\n color: #737b8b;\n font-size: 14px;\n line-height: 20px;\n}\n.schemeCombination-module_emptyState__hgVQ_ .schemeCombination-module_primaryButton__320pM {\n margin-top: 16px;\n}\n.schemeCombination-module_emptyFoot__3nTEk {\n margin: 12px 0 0;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n}\n.schemeCombination-module_error__25vIZ {\n min-height: 18px;\n margin: 12px 0 0;\n color: #e5484d;\n font-size: 12px;\n line-height: 18px;\n}\n.schemeCombination-module_skuList__1CQgS {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.schemeCombination-module_skuRow__1zLU5 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 10px 12px;\n border: 1px solid #e6e8ee;\n border-radius: 8px;\n}\n.schemeCombination-module_skuRowCurrent__18Mlm {\n border-color: #1890ff;\n background: #eff6ff;\n}\n.schemeCombination-module_skuName__26o5h {\n font-size: 13px;\n line-height: 20px;\n font-weight: 600;\n}\n.schemeCombination-module_choiceList__deHYo {\n display: flex;\n flex-direction: column;\n gap: 10px;\n max-height: max(160px, min(420px, calc(100vh - 280px)));\n overflow: auto;\n}\n.schemeCombination-module_choice__3lAUo {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n padding: 12px 14px;\n border: 1px solid #e6e8ee;\n border-radius: 8px;\n cursor: pointer;\n}\n.schemeCombination-module_choice__3lAUo input {\n margin-top: 3px;\n}\n.schemeCombination-module_choiceActive__2owW6 {\n border-color: #1890ff;\n background: #eff6ff;\n}\n.schemeCombination-module_choiceName__27PZA {\n display: block;\n font-size: 14px;\n line-height: 20px;\n}\n.schemeCombination-module_banner__gMf2I {\n margin: 0 16px;\n padding: 12px 16px;\n border: 1px solid #bbd5ff;\n border-radius: 8px;\n background: #eff6ff;\n}\n.schemeCombination-module_bannerHead__3worW {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 12px;\n}\n.schemeCombination-module_bannerTitle__1RKK- {\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n}\n.schemeCombination-module_bannerTable__3SnTj {\n width: 100%;\n margin-top: 8px;\n border-collapse: collapse;\n font-size: 12px;\n line-height: 18px;\n}\n.schemeCombination-module_bannerTable__3SnTj th,\n.schemeCombination-module_bannerTable__3SnTj td {\n padding: 6px 8px 6px 0;\n border-bottom: 1px solid rgba(24, 144, 255, 0.15);\n text-align: left;\n vertical-align: top;\n overflow-wrap: anywhere;\n}\n";
3911
4352
  var styles$6 = {"panel":"schemeCombination-module_panel__21C6G","head":"schemeCombination-module_head__1ieXl","titleRow":"schemeCombination-module_titleRow__1I4lq","title":"schemeCombination-module_title__RqC14","count":"schemeCombination-module_count__1jzPG","hint":"schemeCombination-module_hint__HeJ4h","meta":"schemeCombination-module_meta__1PG3I","note":"schemeCombination-module_note__3p1MS","body":"schemeCombination-module_body__1W-CI","card":"schemeCombination-module_card__3G0EV","cardHead":"schemeCombination-module_cardHead__1mkVl","summaryMain":"schemeCombination-module_summaryMain__2X4wW","chevron":"schemeCombination-module_chevron__1CboB","chevronOpen":"schemeCombination-module_chevronOpen__3qWpI","tagNeutral":"schemeCombination-module_tagNeutral__7KMCC","categoryList":"schemeCombination-module_categoryList__3iz18","categoryRow":"schemeCombination-module_categoryRow__23BU1","categoryName":"schemeCombination-module_categoryName__cZ8YZ","skuText":"schemeCombination-module_skuText__t8eal","statusModel":"schemeCombination-module_statusModel__VBHAz","statusWarn":"schemeCombination-module_statusWarn__3c2pR","pending":"schemeCombination-module_pending__1hbmJ","cardNote":"schemeCombination-module_cardNote__11eWn","cardNoteFilled":"schemeCombination-module_cardNoteFilled__1tdIo","cardActions":"schemeCombination-module_cardActions__29oT_","footer":"schemeCombination-module_footer__2_Vy0","summary":"schemeCombination-module_summary__3gViy","tag":"schemeCombination-module_tag__2R47D","tagWarn":"schemeCombination-module_tagWarn__2n0u-","table":"schemeCombination-module_table__35Zal","parentPath":"schemeCombination-module_parentPath__3XTzp","skuId":"schemeCombination-module_skuId__rd-Sk","actions":"schemeCombination-module_actions__eknX6","linkButton":"schemeCombination-module_linkButton__1wXQ0","textButton":"schemeCombination-module_textButton__qzead","primaryButton":"schemeCombination-module_primaryButton__320pM","secondaryButton":"schemeCombination-module_secondaryButton__2tnEv","createButton":"schemeCombination-module_createButton__U3WQR","empty":"schemeCombination-module_empty__6bkci","statusLine":"schemeCombination-module_statusLine__nhdEf","fieldLabel":"schemeCombination-module_fieldLabel__100GW","required":"schemeCombination-module_required__1fVsl","input":"schemeCombination-module_input__3T8l5","searchInput":"schemeCombination-module_searchInput__2wr7q","editorHint":"schemeCombination-module_editorHint__cIi3P","tableScroll":"schemeCombination-module_tableScroll__3oRUg","skuScroll":"schemeCombination-module_skuScroll__1q8oz","editorTable":"schemeCombination-module_editorTable__3aNOm","cellTitle":"schemeCombination-module_cellTitle__3QcAs","schemeLabel":"schemeCombination-module_schemeLabel__169sA","nameRow":"schemeCombination-module_nameRow__V7obY","nameLabel":"schemeCombination-module_nameLabel__12fK-","nameInput":"schemeCombination-module_nameInput__1ItrK","formHint":"schemeCombination-module_formHint__G4hvm","emptyDialog":"schemeCombination-module_emptyDialog__3Him0","emptyNotice":"schemeCombination-module_emptyNotice__1t9yJ","emptyState":"schemeCombination-module_emptyState__hgVQ_","emptyTitle":"schemeCombination-module_emptyTitle__SlbwW","emptyDesc":"schemeCombination-module_emptyDesc__3R2M3","emptyFoot":"schemeCombination-module_emptyFoot__3nTEk","error":"schemeCombination-module_error__25vIZ","skuList":"schemeCombination-module_skuList__1CQgS","skuRow":"schemeCombination-module_skuRow__1zLU5","skuRowCurrent":"schemeCombination-module_skuRowCurrent__18Mlm","skuName":"schemeCombination-module_skuName__26o5h","choiceList":"schemeCombination-module_choiceList__deHYo","choice":"schemeCombination-module_choice__3lAUo","choiceActive":"schemeCombination-module_choiceActive__2owW6","choiceName":"schemeCombination-module_choiceName__27PZA","banner":"schemeCombination-module_banner__gMf2I","bannerHead":"schemeCombination-module_bannerHead__3worW","bannerTitle":"schemeCombination-module_bannerTitle__1RKK-","bannerTable":"schemeCombination-module_bannerTable__3SnTj"};
3912
4353
  styleInject(css_248z$8);
@@ -3940,10 +4381,11 @@
3940
4381
  _useState0 = _slicedToArray(_useState9, 2),
3941
4382
  submitError = _useState0[0],
3942
4383
  setSubmitError = _useState0[1];
3943
- var options = [createDefaultCombination(schemeId)].concat(items);
4384
+ var options = items;
3944
4385
  React.useEffect(function () {
3945
4386
  var cancelled = false;
3946
4387
  if (!visible) return undefined;
4388
+ setItems([]);
3947
4389
  setSelectedId('');
3948
4390
  setSubmitError('');
3949
4391
  setLoading(true);
@@ -3987,7 +4429,7 @@
3987
4429
  }, "\u53D6\u6D88"), /*#__PURE__*/React__default['default'].createElement("button", {
3988
4430
  type: "button",
3989
4431
  className: styles$6.primaryButton,
3990
- disabled: !selectedId,
4432
+ disabled: loading || !!error || !selectedId,
3991
4433
  onClick: handleConfirm
3992
4434
  }, confirmText || '确认并进入渲染平台'))
3993
4435
  }, /*#__PURE__*/React__default['default'].createElement("p", {
@@ -4032,6 +4474,16 @@
4032
4474
 
4033
4475
  var emptyCombinationIcon = "data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%201435784647%22%3E%3Cg%20clip-path%3D%22url%28%23clip0_0_221%29%22%3E%3Cg%20id%3D%22Group%201435784545%22%3E%3Cpath%20id%3D%22Vector%201283%22%20opacity%3D%220.2%22%20d%3D%22M28.7479%2031.4232L10.8364%2039.6326C10.2178%2039.9162%2010.203%2040.7898%2010.8117%2041.0942L28.7479%2050.0623L45.9509%2041.0876C46.5431%2040.7786%2046.5283%2039.9261%2045.9257%2039.638L28.7479%2031.4232Z%22%20fill%3D%22%23737B8B%22%20stroke-width%3D%221.62079%22%20stroke%3D%22%23737B8B%22%2F%3E%3Cpath%20id%3D%22Vector%201284%22%20d%3D%22M28.7463%2031.4218V6.2995%22%20stroke-width%3D%222%22%20stroke%3D%22url%28%23paint0_linear_0_221%29%22%2F%3E%3Cmask%20id%3D%22stroke0_0_221%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M27.3883%205.49729C28.223%205.1372%2029.1706%205.14419%2029.9999%205.51655L47.0824%2013.1862C48.247%2013.7091%2048.9962%2014.8668%2048.9962%2016.1434L48.9962%2039.3637C48.9962%2040.6011%2048.2918%2041.7306%2047.1805%2042.2749L30.0961%2050.6427C29.2126%2051.0755%2028.1802%2051.0836%2027.29%2050.6646L9.43328%2042.2614C8.29713%2041.7268%207.57195%2040.5841%207.57196%2039.3284L7.57195%2016.1775C7.57195%2014.8836%208.34146%2013.7136%209.52957%2013.201L27.3883%205.49729Z%22%2F%3E%3C%2Fmask%3E%3Cpath%20id%3D%22Rectangle%2034626769%22%20d%3D%22M47.0824%2013.1862L29.9999%205.51655C29.1706%205.14419%2028.223%205.1372%2027.3883%205.49729L9.52957%2013.201C8.34146%2013.7136%207.57195%2014.8836%207.57195%2016.1775L7.57195%2039.3284C7.57195%2040.5841%208.29713%2041.7268%209.43328%2042.2614L27.29%2050.6646C28.1802%2051.0836%2029.2126%2051.0755%2030.0961%2050.6427L47.1805%2042.2749C48.2918%2041.7306%2048.9962%2040.6011%2048.9962%2039.3637L48.9962%2016.1434C48.9962%2014.8668%2048.247%2013.7091%2047.0824%2013.1862Z%22%20stroke-width%3D%224%22%20stroke%3D%22%23D1D4DA%22%20mask%3D%22url%28%23stroke0_0_221%29%22%2F%3E%3C%2Fg%3E%3Ccircle%20id%3D%22Ellipse%202799%22%20cx%3D%2228.0122%22%20cy%3D%2227.3455%22%20r%3D%2211.3455%22%20fill%3D%22url%28%23paint1_linear_0_221%29%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22paint0_linear_0_221%22%20x1%3D%2229.2463%22%20y1%3D%226.2995%22%20x2%3D%2229.2463%22%20y2%3D%2231.4218%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%23CACED5%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23CACED5%22%20stop-opacity%3D%220%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22paint1_linear_0_221%22%20x1%3D%2219.9999%22%20y1%3D%2221%22%20x2%3D%2235.9999%22%20y2%3D%2236.5%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%23A5ABB5%22%20stop-opacity%3D%220.7%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23484B4F%22%2F%3E%3C%2FlinearGradient%3E%3CclipPath%20id%3D%22clip0_0_221%22%3E%3Crect%20width%3D%2256%22%20height%3D%2256%22%20rx%3D%2210.6667%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E";
4034
4476
 
4477
+ function renderMappedMaterial(selected, category) {
4478
+ var mapped = selected && selected.materialName ? selected : category || {};
4479
+ var materialMeta = [mapped.materialId, mapped.assetsType].filter(Boolean).join(' · ');
4480
+ if (!mapped.materialName) return '—';
4481
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("span", {
4482
+ className: styles$6.cellTitle
4483
+ }, mapped.materialName), materialMeta ? /*#__PURE__*/React__default['default'].createElement("span", {
4484
+ className: styles$6.parentPath
4485
+ }, materialMeta) : null);
4486
+ }
4035
4487
  function cloneItems(items) {
4036
4488
  return (items || []).map(function (item) {
4037
4489
  return _objectSpread2({}, item);
@@ -4189,10 +4641,13 @@
4189
4641
  items: rest.concat({
4190
4642
  classify3Id: pickingCategory.id,
4191
4643
  classify3Name: pickingCategory.name,
4192
- skuId: sku.id,
4644
+ skuId: sku.skuId,
4645
+ skuEntityId: sku.skuEntityId,
4646
+ skuAvailable: true,
4193
4647
  skuName: sku.name,
4194
4648
  materialId: sku.materialId,
4195
- materialName: sku.materialName
4649
+ materialName: sku.materialName,
4650
+ assetsType: sku.assetsType || ''
4196
4651
  })
4197
4652
  });
4198
4653
  });
@@ -4263,7 +4718,7 @@
4263
4718
  disabled: !categories.length
4264
4719
  }, "\u65B0\u5EFA\u7EC4\u5408"), /*#__PURE__*/React__default['default'].createElement("p", {
4265
4720
  className: styles$6.emptyFoot
4266
- }, "\u539F\u578B\u6570\u636E\u4FDD\u5B58\u5728\u5F53\u524D\u6D4F\u89C8\u5668"))) : pickingCategory ? /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("p", {
4721
+ }, "\u4FDD\u5B58\u540E\u53EF\u5728\u5F53\u524D\u65B9\u6848\u4E2D\u4F7F\u7528"))) : pickingCategory ? /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("p", {
4267
4722
  className: "".concat(styles$6.hint, " ").concat(styles$6.editorHint)
4268
4723
  }, "\u53EA\u53EF\u9009\u62E9\u5DF2\u6620\u5C04\u7D20\u6750\u7684\u5546\u54C1 SKU\uFF0C\u540C\u4E00\u4E09\u7EA7\u5206\u7C7B\u7684\u6784\u4EF6\u4F1A\u7EDF\u4E00\u4F7F\u7528\u6B64\u914D\u7F6E\u3002"), /*#__PURE__*/React__default['default'].createElement("input", {
4269
4724
  className: styles$6.searchInput,
@@ -4283,7 +4738,7 @@
4283
4738
  }, "\u6CA1\u6709\u5339\u914D\u7684\u5546\u54C1 SKU") : null, /*#__PURE__*/React__default['default'].createElement("div", {
4284
4739
  className: styles$6.skuList
4285
4740
  }, skuOptions.map(function (sku) {
4286
- var current = currentSku && currentSku.skuId === sku.id;
4741
+ var current = currentSku && currentSku.skuEntityId === sku.skuEntityId;
4287
4742
  return /*#__PURE__*/React__default['default'].createElement("div", {
4288
4743
  key: sku.id,
4289
4744
  className: "".concat(styles$6.skuRow, " ").concat(current ? styles$6.skuRowCurrent : '')
@@ -4291,7 +4746,7 @@
4291
4746
  className: styles$6.skuName
4292
4747
  }, sku.name), /*#__PURE__*/React__default['default'].createElement("span", {
4293
4748
  className: styles$6.skuId
4294
- }, sku.id), /*#__PURE__*/React__default['default'].createElement("span", {
4749
+ }, sku.skuId), /*#__PURE__*/React__default['default'].createElement("span", {
4295
4750
  className: styles$6.skuId
4296
4751
  }, sku.selectable ? sku.materialName : '未映射素材')), /*#__PURE__*/React__default['default'].createElement("button", {
4297
4752
  type: "button",
@@ -4341,11 +4796,7 @@
4341
4796
  className: styles$6.parentPath
4342
4797
  }, selected.skuId)) : /*#__PURE__*/React__default['default'].createElement("span", {
4343
4798
  className: styles$6.pending
4344
- }, "\u5F85\u9009\u62E9")), /*#__PURE__*/React__default['default'].createElement("td", null, selected && selected.materialName ? /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("span", {
4345
- className: styles$6.cellTitle
4346
- }, selected.materialName), selected.materialId ? /*#__PURE__*/React__default['default'].createElement("span", {
4347
- className: styles$6.parentPath
4348
- }, selected.materialId) : null) : '—'), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement("button", {
4799
+ }, "\u5F85\u9009\u62E9")), /*#__PURE__*/React__default['default'].createElement("td", null, renderMappedMaterial(selected, category)), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement("button", {
4349
4800
  type: "button",
4350
4801
  className: styles$6.linkButton,
4351
4802
  onClick: function onClick() {
@@ -4360,24 +4811,13 @@
4360
4811
  }, error)));
4361
4812
  }
4362
4813
 
4363
- function categoryStatus(category) {
4364
- if (!category || !category.tag) return null;
4365
- if (category.tagType === 'warn' || category.tagType === 'pending' || category.tag === '缺可替换项') {
4366
- return {
4367
- text: '可替换项少',
4368
- tone: 'warn'
4369
- };
4370
- }
4371
- return {
4372
- text: category.tag,
4373
- tone: 'model'
4374
- };
4375
- }
4376
4814
  function SchemeCombinationPanel(_ref) {
4377
4815
  var schemeId = _ref.schemeId,
4378
4816
  schemeLabel = _ref.schemeLabel,
4817
+ libraryName = _ref.libraryName,
4379
4818
  categories = _ref.categories,
4380
- categoriesLoading = _ref.categoriesLoading;
4819
+ categoriesLoading = _ref.categoriesLoading,
4820
+ libraryRevision = _ref.libraryRevision;
4381
4821
  var _useState = React.useState([]),
4382
4822
  _useState2 = _slicedToArray(_useState, 2),
4383
4823
  items = _useState2[0],
@@ -4422,15 +4862,51 @@
4422
4862
  return function () {
4423
4863
  cancelled = true;
4424
4864
  };
4425
- }, [revision, schemeId]);
4865
+ }, [revision, schemeId, libraryRevision]);
4426
4866
  var toggleExpanded = function toggleExpanded(id) {
4427
4867
  setExpandedId(function (current) {
4428
4868
  return current === id ? '' : id;
4429
4869
  });
4430
4870
  };
4431
- var openEditor = function openEditor(next) {
4432
- setEditor(next);
4433
- };
4871
+ var openEditor = /*#__PURE__*/function () {
4872
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(next) {
4873
+ var detail, _t;
4874
+ return _regenerator().w(function (_context) {
4875
+ while (1) switch (_context.p = _context.n) {
4876
+ case 0:
4877
+ if (next.combination) {
4878
+ _context.n = 1;
4879
+ break;
4880
+ }
4881
+ setEditor(next);
4882
+ return _context.a(2);
4883
+ case 1:
4884
+ _context.p = 1;
4885
+ _context.n = 2;
4886
+ return getSchemeCombinationDetail(next.combination.id, schemeId);
4887
+ case 2:
4888
+ detail = _context.v;
4889
+ setEditor(_objectSpread2(_objectSpread2({}, next), {}, {
4890
+ combination: _objectSpread2(_objectSpread2(_objectSpread2({}, next.combination), detail), {}, {
4891
+ isDefault: next.combination.isDefault
4892
+ })
4893
+ }));
4894
+ setError('');
4895
+ _context.n = 4;
4896
+ break;
4897
+ case 3:
4898
+ _context.p = 3;
4899
+ _t = _context.v;
4900
+ setError(_t.message || '组合详情加载失败');
4901
+ case 4:
4902
+ return _context.a(2);
4903
+ }
4904
+ }, _callee, null, [[1, 3]]);
4905
+ }));
4906
+ return function openEditor(_x) {
4907
+ return _ref2.apply(this, arguments);
4908
+ };
4909
+ }();
4434
4910
  return /*#__PURE__*/React__default['default'].createElement("div", {
4435
4911
  className: styles$6.panel
4436
4912
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -4441,43 +4917,11 @@
4441
4917
  className: styles$6.title
4442
4918
  }, "\u65B9\u6848\u7EC4\u5408"), /*#__PURE__*/React__default['default'].createElement("span", {
4443
4919
  className: styles$6.count
4444
- }, "\uFF08\u5171".concat(items.length + 1, "\u5957\uFF09"))), /*#__PURE__*/React__default['default'].createElement("p", {
4920
+ }, "\uFF08\u5171".concat(items.length, "\u5957\uFF09"))), /*#__PURE__*/React__default['default'].createElement("p", {
4445
4921
  className: styles$6.hint
4446
- }, "\u5C55\u5F00\u67E5\u770B\u5206\u7C7B\u914D\u7F6E\uFF0C\u9009\u62E9\u7EC4\u5408\u540E\u52A0\u8F7D\u6E32\u67D3\u3002")), /*#__PURE__*/React__default['default'].createElement("div", {
4922
+ }, libraryName || '素材库加载中')), /*#__PURE__*/React__default['default'].createElement("div", {
4447
4923
  className: styles$6.body
4448
- }, /*#__PURE__*/React__default['default'].createElement("div", {
4449
- className: styles$6.card
4450
- }, /*#__PURE__*/React__default['default'].createElement("button", {
4451
- type: "button",
4452
- className: styles$6.cardHead,
4453
- onClick: function onClick() {
4454
- return toggleExpanded('default');
4455
- }
4456
- }, /*#__PURE__*/React__default['default'].createElement("span", {
4457
- className: styles$6.summaryMain
4458
- }, /*#__PURE__*/React__default['default'].createElement("img", {
4459
- src: chevronIcon,
4460
- alt: "",
4461
- className: expandedId === 'default' ? styles$6.chevronOpen : styles$6.chevron
4462
- }), /*#__PURE__*/React__default['default'].createElement("span", null, "\u9ED8\u8BA4\u7EC4\u5408")), /*#__PURE__*/React__default['default'].createElement("span", {
4463
- className: styles$6.tagNeutral
4464
- }, "\u9ED8\u8BA4\u6A21\u7248")), expandedId === 'default' && categoryList.length ? /*#__PURE__*/React__default['default'].createElement("div", {
4465
- className: styles$6.categoryList
4466
- }, categoryList.map(function (category) {
4467
- var status = categoryStatus(category);
4468
- return /*#__PURE__*/React__default['default'].createElement("div", {
4469
- key: category.id,
4470
- className: styles$6.categoryRow
4471
- }, /*#__PURE__*/React__default['default'].createElement("span", {
4472
- className: styles$6.categoryName
4473
- }, category.name), status ? /*#__PURE__*/React__default['default'].createElement("span", {
4474
- className: status.tone === 'warn' ? styles$6.statusWarn : styles$6.statusModel
4475
- }, status.text) : null);
4476
- })) : null, expandedId === 'default' && !categoryList.length ? /*#__PURE__*/React__default['default'].createElement("p", {
4477
- className: styles$6.cardNote
4478
- }, categoriesLoading ? '三级分类加载中' : '暂无三级分类') : null, /*#__PURE__*/React__default['default'].createElement("p", {
4479
- className: expandedId === 'default' ? styles$6.cardNoteFilled : styles$6.cardNote
4480
- }, "\u6CBF\u7528\u6A21\u677F\u539F\u6709\u6A21\u578B\u4E0E\u6750\u8D28\u914D\u7F6E")), loading ? /*#__PURE__*/React__default['default'].createElement("div", {
4924
+ }, loading ? /*#__PURE__*/React__default['default'].createElement("div", {
4481
4925
  className: styles$6.statusLine
4482
4926
  }, "\u65B9\u6848\u7EC4\u5408\u52A0\u8F7D\u4E2D...") : null, !loading && error ? /*#__PURE__*/React__default['default'].createElement("div", {
4483
4927
  className: styles$6.statusLine
@@ -4506,7 +4950,9 @@
4506
4950
  src: chevronIcon,
4507
4951
  alt: "",
4508
4952
  className: expanded ? styles$6.chevronOpen : styles$6.chevron
4509
- }), /*#__PURE__*/React__default['default'].createElement("span", null, item.name))), expanded ? /*#__PURE__*/React__default['default'].createElement("div", {
4953
+ }), /*#__PURE__*/React__default['default'].createElement("span", null, item.name), item.needAdjust ? /*#__PURE__*/React__default['default'].createElement("span", {
4954
+ className: styles$6.pending
4955
+ }, "\u9700\u8C03\u6574") : null)), expanded ? /*#__PURE__*/React__default['default'].createElement("div", {
4510
4956
  className: styles$6.categoryList
4511
4957
  }, categoryList.map(function (category) {
4512
4958
  var selected = findCombinationItem(item.items, category);
@@ -4525,7 +4971,7 @@
4525
4971
  }, /*#__PURE__*/React__default['default'].createElement("button", {
4526
4972
  type: "button",
4527
4973
  className: styles$6.linkButton,
4528
- disabled: !categoryList.length,
4974
+ disabled: !categoryList.length || isDefaultCombination(item),
4529
4975
  onClick: function onClick() {
4530
4976
  return openEditor({
4531
4977
  view: 'form',
@@ -4567,7 +5013,7 @@
4567
5013
  alt: ""
4568
5014
  }), /*#__PURE__*/React__default['default'].createElement("span", null, "\u65B0\u5EFA\u7EC4\u5408")), /*#__PURE__*/React__default['default'].createElement("p", {
4569
5015
  className: styles$6.note
4570
- }, !categoriesLoading && !categoryList.length ? '当前模板没有三级分类,只能使用默认组合。' : categoriesLoading ? '三级分类加载完成后可以新建组合。' : items.length ? '打开渲染平台时,先选择要加载的组合。' : '当前仅有默认组合,打开渲染平台时直接加载。')), /*#__PURE__*/React__default['default'].createElement(SchemeCombinationEditor, {
5016
+ }, !categoriesLoading && !categoryList.length ? '当前模板没有三级分类,只能使用默认组合。' : categoriesLoading ? '三级分类加载完成后可以新建组合。' : '先选组合,再按项目范围检查和加载。')), /*#__PURE__*/React__default['default'].createElement(SchemeCombinationEditor, {
4571
5017
  visible: !!editor,
4572
5018
  view: editor && editor.view,
4573
5019
  mode: editor && editor.mode,
@@ -4603,6 +5049,144 @@
4603
5049
  }));
4604
5050
  }
4605
5051
 
5052
+ function SchemeProjectLibraryScope(_ref) {
5053
+ var schemeId = _ref.schemeId,
5054
+ onLoaded = _ref.onLoaded,
5055
+ onApplied = _ref.onApplied,
5056
+ onConfigure = _ref.onConfigure;
5057
+ var _useState = React.useState([]),
5058
+ _useState2 = _slicedToArray(_useState, 2),
5059
+ libraries = _useState2[0],
5060
+ setLibraries = _useState2[1];
5061
+ var _useState3 = React.useState(null),
5062
+ _useState4 = _slicedToArray(_useState3, 2),
5063
+ applied = _useState4[0],
5064
+ setApplied = _useState4[1];
5065
+ var _useState5 = React.useState(''),
5066
+ _useState6 = _slicedToArray(_useState5, 2),
5067
+ selected = _useState6[0],
5068
+ setSelected = _useState6[1];
5069
+ var _useState7 = React.useState(false),
5070
+ _useState8 = _slicedToArray(_useState7, 2),
5071
+ busy = _useState8[0],
5072
+ setBusy = _useState8[1];
5073
+ var _useState9 = React.useState(''),
5074
+ _useState0 = _slicedToArray(_useState9, 2),
5075
+ error = _useState0[0],
5076
+ setError = _useState0[1];
5077
+ var _useState1 = React.useState(0),
5078
+ _useState10 = _slicedToArray(_useState1, 2),
5079
+ retry = _useState10[0],
5080
+ setRetry = _useState10[1];
5081
+ React.useEffect(function () {
5082
+ var active = true;
5083
+ setApplied(null);
5084
+ setSelected('');
5085
+ setError('');
5086
+ Promise.all([listProjectLibraries(), getSchemeProjectLibrary(schemeId)]).then(function (_ref2) {
5087
+ var _ref3 = _slicedToArray(_ref2, 2),
5088
+ list = _ref3[0],
5089
+ binding = _ref3[1];
5090
+ if (!active) return;
5091
+ setLibraries(list);
5092
+ setApplied(binding);
5093
+ setSelected(binding.id);
5094
+ if (onLoaded) onLoaded(binding);
5095
+ }).catch(function (e) {
5096
+ if (active) setError(e.message || '素材库加载失败');
5097
+ });
5098
+ return function () {
5099
+ active = false;
5100
+ };
5101
+ }, [schemeId, retry]);
5102
+ var apply = /*#__PURE__*/function () {
5103
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
5104
+ var binding, _t;
5105
+ return _regenerator().w(function (_context) {
5106
+ while (1) switch (_context.p = _context.n) {
5107
+ case 0:
5108
+ if (!(busy || !applied || selected === applied.id)) {
5109
+ _context.n = 1;
5110
+ break;
5111
+ }
5112
+ return _context.a(2);
5113
+ case 1:
5114
+ setBusy(true);
5115
+ setError('');
5116
+ _context.p = 2;
5117
+ _context.n = 3;
5118
+ return applySchemeProjectLibrary(schemeId, selected);
5119
+ case 3:
5120
+ binding = _context.v;
5121
+ setApplied(binding);
5122
+ onApplied(binding);
5123
+ _context.n = 5;
5124
+ break;
5125
+ case 4:
5126
+ _context.p = 4;
5127
+ _t = _context.v;
5128
+ setError(_t.message || '应用失败,请重试');
5129
+ case 5:
5130
+ _context.p = 5;
5131
+ setBusy(false);
5132
+ return _context.f(5);
5133
+ case 6:
5134
+ return _context.a(2);
5135
+ }
5136
+ }, _callee, null, [[2, 4, 5, 6]]);
5137
+ }));
5138
+ return function apply() {
5139
+ return _ref4.apply(this, arguments);
5140
+ };
5141
+ }();
5142
+ return /*#__PURE__*/React__default['default'].createElement("div", {
5143
+ className: styles$5.libraryScope
5144
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
5145
+ className: styles$5.libraryTitleRow
5146
+ }, /*#__PURE__*/React__default['default'].createElement("strong", null, "\u5F53\u524D\u9879\u76EE\u7D20\u6750\u5E93"), /*#__PURE__*/React__default['default'].createElement("span", {
5147
+ className: styles$5.libraryHint
5148
+ }, "\u9009\u62E9\u7D20\u6750\u5E93\u540E\uFF0C\u70B9\u51FB\u201C\u5E94\u7528\u201D\u751F\u6548")), /*#__PURE__*/React__default['default'].createElement("div", {
5149
+ className: styles$5.libraryControls
5150
+ }, /*#__PURE__*/React__default['default'].createElement(_Select__default['default'], {
5151
+ "aria-label": "\u9879\u76EE\u7D20\u6750\u5E93",
5152
+ value: selected || undefined,
5153
+ disabled: !applied || busy,
5154
+ style: {
5155
+ width: 216
5156
+ },
5157
+ onChange: setSelected
5158
+ }, libraries.map(function (item) {
5159
+ return /*#__PURE__*/React__default['default'].createElement(_Select__default['default'].Option, {
5160
+ key: item.id,
5161
+ value: item.id
5162
+ }, item.name);
5163
+ })), /*#__PURE__*/React__default['default'].createElement("button", {
5164
+ type: "button",
5165
+ className: styles$5.ghostPrimaryButton,
5166
+ disabled: !applied || busy || selected === applied.id,
5167
+ onClick: apply
5168
+ }, busy ? '应用中…' : '应用'), /*#__PURE__*/React__default['default'].createElement("button", {
5169
+ type: "button",
5170
+ className: styles$5.linkButton,
5171
+ disabled: !applied || busy,
5172
+ onClick: function onClick() {
5173
+ return onConfigure(selected);
5174
+ }
5175
+ }, selected === DEFAULT_LIBRARY_ID ? '查看全量素材' : '配置素材库'), applied ? /*#__PURE__*/React__default['default'].createElement("span", {
5176
+ className: styles$5.libraryStatus
5177
+ }, selected !== applied.id ? '尚未应用,当前仍使用:' : '已应用:', applied.name) : null), error ? /*#__PURE__*/React__default['default'].createElement("div", {
5178
+ role: "alert"
5179
+ }, error, " ", /*#__PURE__*/React__default['default'].createElement("button", {
5180
+ type: "button",
5181
+ className: styles$5.linkButton,
5182
+ onClick: function onClick() {
5183
+ return setRetry(function (value) {
5184
+ return value + 1;
5185
+ });
5186
+ }
5187
+ }, "\u91CD\u65B0\u52A0\u8F7D")) : null);
5188
+ }
5189
+
4606
5190
  var modalCloseIcon = "data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%201000018337%22%3E%3Cpath%20id%3D%22Vector%22%20opacity%3D%220.6%22%20d%3D%22M12.8049%2011.8637L8.9415%208.0002L12.8049%204.13634C12.9308%204.0104%2013.0001%203.84294%2013%203.66481C12.9999%203.48721%2012.9307%203.3205%2012.8052%203.19539C12.6796%203.0694%2012.5127%203.0001%2012.3351%203C12.1567%203%2011.9894%203.06928%2011.8636%203.19506L8.00028%207.05838L4.13634%203.19506C4.01056%203.06928%203.84342%203%203.6657%203C3.48799%203%203.32085%203.06926%203.19509%203.19503C3.06935%203.32042%203.00012%203.48721%203%203.66481C2.99988%203.84294%203.06916%204.0104%203.19509%204.13633L7.059%208.00019L3.19507%2011.8637C3.06928%2011.9895%203%2012.1566%203%2012.3343C3%2012.512%203.06929%2012.6792%203.19509%2012.805C3.32085%2012.9308%203.48798%2013%203.66568%2013C3.8434%2013%204.01056%2012.9307%204.13632%2012.805L8.00022%208.94154L11.8636%2012.805C11.9894%2012.9308%2012.1567%2013%2012.3347%2013C12.5127%2012.9999%2012.6795%2012.9307%2012.8046%2012.8053C13.0643%2012.5455%2013.0644%2012.1232%2012.8049%2011.8637Z%22%20fill%3D%22black%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E";
4607
5191
 
4608
5192
  var noticeInfoIcon = "data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20overflow%3D%22visible%22%20style%3D%22display%3A%20block%3B%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_0_13%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M8%2014.625C11.6589%2014.625%2014.625%2011.6589%2014.625%208C14.625%204.34111%2011.6589%201.375%208%201.375C4.34111%201.375%201.375%204.34111%201.375%208C1.375%2011.6589%204.34111%2014.625%208%2014.625ZM8%2016C3.58172%2016%200%2012.4183%200%208C0%203.58172%203.58172%200%208%200C12.4183%200%2016%203.58172%2016%208C16%2012.4183%2012.4183%2016%208%2016Z%22%20fill%3D%22%23737B8B%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M8.6875%204C8.6875%203.62031%208.37969%203.3125%208%203.3125C7.62031%203.3125%207.3125%203.62031%207.3125%204V9.30456C7.3125%209.68427%207.62031%209.99206%208%209.99206C8.37969%209.99206%208.6875%209.68427%208.6875%209.30456V4ZM8%2010.6875C7.44772%2010.6875%207%2011.1352%207%2011.6875C7%2012.2398%207.44772%2012.6875%208%2012.6875C8.55228%2012.6875%209%2012.2398%209%2011.6875C9%2011.1352%208.55228%2010.6875%208%2010.6875Z%22%20fill%3D%22%23737B8B%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_0_13%22%3E%3Crect%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E";
@@ -4610,31 +5194,38 @@
4610
5194
  var STATUS_OPTIONS = [{
4611
5195
  value: 'all',
4612
5196
  label: '全部'
5197
+ }, {
5198
+ value: 'waitingSync',
5199
+ label: '待同步'
5200
+ }, {
5201
+ value: 'loaded',
5202
+ label: '已加载'
4613
5203
  }, {
4614
5204
  value: 'synced',
4615
5205
  label: '已同步'
4616
5206
  }, {
4617
5207
  value: 'pending',
4618
5208
  label: '待加载'
4619
- }, {
4620
- value: 'missingDefault',
4621
- label: '缺默认模型'
4622
5209
  }, {
4623
5210
  value: 'failed',
4624
5211
  label: '加载失败'
4625
5212
  }];
4626
5213
  var STATUS_TRIGGER_LABEL_MAP = {
4627
5214
  all: '全部',
5215
+ waitingSync: '待同步',
5216
+ loaded: '已加载',
5217
+ syncFailed: '同步失败',
4628
5218
  synced: '已同步',
4629
5219
  pending: '待加载',
4630
5220
  missingDefault: '缺默认模型',
4631
5221
  failed: '加载失败'
4632
5222
  };
4633
5223
  var STATUS_API_VALUE_MAP = {
5224
+ waitingSync: 0,
5225
+ loaded: 3,
4634
5226
  synced: 1,
4635
5227
  pending: 2,
4636
- missingDefault: 4,
4637
- failed: 3
5228
+ failed: 4
4638
5229
  };
4639
5230
  var FILE_ENGINE_STATUS = {
4640
5231
  PENDING: 0,
@@ -5227,7 +5818,9 @@
5227
5818
  onParseDrawing = _ref.onParseDrawing,
5228
5819
  onRetryDrawing = _ref.onRetryDrawing,
5229
5820
  onRefreshDrawings = _ref.onRefreshDrawings,
5230
- onToast = _ref.onToast;
5821
+ onToast = _ref.onToast,
5822
+ onLibraryApplied = _ref.onLibraryApplied,
5823
+ onConfigureLibrary = _ref.onConfigureLibrary;
5231
5824
  var _useState = React.useState(false),
5232
5825
  _useState2 = _slicedToArray(_useState, 2),
5233
5826
  thumbnailError = _useState2[0],
@@ -5248,10 +5841,21 @@
5248
5841
  _useState0 = _slicedToArray(_useState9, 2),
5249
5842
  combinationChoiceVisible = _useState0[0],
5250
5843
  setCombinationChoiceVisible = _useState0[1];
5844
+ var _useState1 = React.useState(0),
5845
+ _useState10 = _slicedToArray(_useState1, 2),
5846
+ libraryRevision = _useState10[0],
5847
+ setLibraryRevision = _useState10[1];
5848
+ var _useState11 = React.useState(scheme && scheme.projectLibraryName || ''),
5849
+ _useState12 = _slicedToArray(_useState11, 2),
5850
+ libraryName = _useState12[0],
5851
+ setLibraryName = _useState12[1];
5251
5852
  var drawings = scheme && scheme.drawings || [];
5252
5853
  var hasProcessingDrawing = drawings.some(function (item) {
5253
5854
  return item && item.status === DRAWING_STATUS.PROCESSING;
5254
5855
  });
5856
+ React.useEffect(function () {
5857
+ setLibraryName(scheme && scheme.projectLibraryName || '');
5858
+ }, [scheme && scheme.id]);
5255
5859
  React.useEffect(function () {
5256
5860
  if (!dwgListVisible || !scheme || !onRefreshDrawings) return undefined;
5257
5861
  onRefreshDrawings(scheme);
@@ -5275,6 +5879,7 @@
5275
5879
  var canDownloadDwg = drawings.some(function (item) {
5276
5880
  return item && item.downloadUrl;
5277
5881
  });
5882
+ var drawingTotal = drawings.length || Number(scheme.drawingCount) || 0;
5278
5883
  var combinationCategories = toCombinationCategories(scheme.components);
5279
5884
  var schemeLabel = "".concat(scheme.name || '斗拱方案', " \xB7 ").concat(scheme.id || '');
5280
5885
  var handleDownloadDwg = function handleDownloadDwg() {
@@ -5290,15 +5895,7 @@
5290
5895
  setActiveDrawing(drawing);
5291
5896
  };
5292
5897
  var handleOpenRenderClick = function handleOpenRenderClick() {
5293
- listSchemeCombinations(scheme.id).then(function (list) {
5294
- if (!list || !list.length) {
5295
- onOpenRender(scheme, createDefaultCombination(scheme.id));
5296
- return;
5297
- }
5298
- setCombinationChoiceVisible(true);
5299
- }).catch(function () {
5300
- return setCombinationChoiceVisible(true);
5301
- });
5898
+ setCombinationChoiceVisible(true);
5302
5899
  };
5303
5900
  return /*#__PURE__*/React__default['default'].createElement("div", {
5304
5901
  className: styles$5.detailPage
@@ -5314,7 +5911,7 @@
5314
5911
  className: styles$5.detailTitle
5315
5912
  }, scheme.name), /*#__PURE__*/React__default['default'].createElement("div", {
5316
5913
  className: styles$5.detailMeta
5317
- }, "\u65B9\u6848 ID\uFF1A".concat(scheme.id, " \xB7 ").concat(scheme.city || '--', " / ").concat(scheme.community || '--', " \xB7 \u573A\u666F\u5730\u5740\uFF1A").concat(scheme.sceneUrl || '--'))), /*#__PURE__*/React__default['default'].createElement("div", {
5914
+ }, "\u65B9\u6848 ID\uFF1A".concat(scheme.id, " \xB7 ").concat(scheme.city || '--', " / ").concat(scheme.community || '--'))), /*#__PURE__*/React__default['default'].createElement("div", {
5318
5915
  className: styles$5.detailHeaderActions
5319
5916
  }, /*#__PURE__*/React__default['default'].createElement("button", {
5320
5917
  type: "button",
@@ -5339,7 +5936,21 @@
5339
5936
  className: styles$5.detailLayout
5340
5937
  }, /*#__PURE__*/React__default['default'].createElement("div", {
5341
5938
  className: styles$5.detailMain
5342
- }, /*#__PURE__*/React__default['default'].createElement("div", {
5939
+ }, /*#__PURE__*/React__default['default'].createElement(SchemeProjectLibraryScope, {
5940
+ key: scheme.id,
5941
+ schemeId: scheme.id,
5942
+ onLoaded: function onLoaded(binding) {
5943
+ return setLibraryName(binding && binding.name || '');
5944
+ },
5945
+ onApplied: function onApplied(binding) {
5946
+ setLibraryRevision(function (value) {
5947
+ return value + 1;
5948
+ });
5949
+ setLibraryName(binding && binding.name || '');
5950
+ if (onLibraryApplied) onLibraryApplied(binding);
5951
+ },
5952
+ onConfigure: onConfigureLibrary
5953
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
5343
5954
  className: styles$5.detailCard
5344
5955
  }, /*#__PURE__*/React__default['default'].createElement("div", {
5345
5956
  className: styles$5.cardTitle
@@ -5383,9 +5994,9 @@
5383
5994
  onClick: function onClick() {
5384
5995
  return setDwgListVisible(true);
5385
5996
  }
5386
- }, "\u67E5\u770Bdwg\u56FE\u7EB8"), /*#__PURE__*/React__default['default'].createElement("span", {
5997
+ }, "\u67E5\u770Bdwg\u56FE\u7EB8\uFF08".concat(drawingTotal, "\uFF09")), /*#__PURE__*/React__default['default'].createElement("span", {
5387
5998
  className: styles$5.dwgEntryHint
5388
- }, scheme.drawingCount ? "\u5171 ".concat(scheme.drawingCount, " \u4EFD\u56FE\u7EB8") : '来自斗拱同步'))))), /*#__PURE__*/React__default['default'].createElement("div", {
5999
+ }, "\u6765\u81EA\u6597\u62F1\u540C\u6B65"))))), /*#__PURE__*/React__default['default'].createElement("div", {
5389
6000
  className: styles$5.roomsCard
5390
6001
  }, /*#__PURE__*/React__default['default'].createElement("div", {
5391
6002
  className: styles$5.cardTitle
@@ -5399,7 +6010,7 @@
5399
6010
  className: "".concat(styles$5.roomCell, " ").concat(styles$5.roomHeader)
5400
6011
  }, "\u623F\u95F4"), /*#__PURE__*/React__default['default'].createElement("div", {
5401
6012
  className: "".concat(styles$5.roomCell, " ").concat(styles$5.roomHeader)
5402
- }, "\u7A7A\u95F4\u6807\u8BC6"), /*#__PURE__*/React__default['default'].createElement("div", {
6013
+ }, "\u7A7A\u95F4\u4FE1\u606F"), /*#__PURE__*/React__default['default'].createElement("div", {
5403
6014
  className: "".concat(styles$5.roomCell, " ").concat(styles$5.roomHeader)
5404
6015
  }, "\u6784\u4EF6\u6570\u91CF"), /*#__PURE__*/React__default['default'].createElement("div", {
5405
6016
  className: "".concat(styles$5.roomCell, " ").concat(styles$5.roomHeader)
@@ -5427,6 +6038,8 @@
5427
6038
  }, /*#__PURE__*/React__default['default'].createElement(SchemeCombinationPanel, {
5428
6039
  schemeId: scheme.id,
5429
6040
  schemeLabel: schemeLabel,
6041
+ libraryName: libraryName,
6042
+ libraryRevision: libraryRevision,
5430
6043
  categories: combinationCategories,
5431
6044
  categoriesLoading: loading
5432
6045
  }))), /*#__PURE__*/React__default['default'].createElement(DouGongImagePreviewModal, {
@@ -5555,28 +6168,42 @@
5555
6168
  onToast = _ref.onToast;
5556
6169
  var _useState = React.useState(''),
5557
6170
  _useState2 = _slicedToArray(_useState, 2),
5558
- searchText = _useState2[0],
5559
- setSearchText = _useState2[1];
5560
- var _useState3 = React.useState('all'),
6171
+ cityFilter = _useState2[0],
6172
+ setCityFilter = _useState2[1];
6173
+ var _useState3 = React.useState(''),
5561
6174
  _useState4 = _slicedToArray(_useState3, 2),
5562
- statusFilter = _useState4[0],
5563
- setStatusFilter = _useState4[1];
5564
- var _useState5 = React.useState(false),
6175
+ projectFilter = _useState4[0],
6176
+ setProjectFilter = _useState4[1];
6177
+ var _useState5 = React.useState(''),
5565
6178
  _useState6 = _slicedToArray(_useState5, 2),
5566
- showStatusMenu = _useState6[0],
5567
- setShowStatusMenu = _useState6[1];
5568
- var _useState7 = React.useState(false),
6179
+ searchText = _useState6[0],
6180
+ setSearchText = _useState6[1];
6181
+ var _useState7 = React.useState('all'),
5569
6182
  _useState8 = _slicedToArray(_useState7, 2),
5570
- syncModalVisible = _useState8[0],
5571
- setSyncModalVisible = _useState8[1];
6183
+ statusFilter = _useState8[0],
6184
+ setStatusFilter = _useState8[1];
5572
6185
  var _useState9 = React.useState(false),
5573
6186
  _useState0 = _slicedToArray(_useState9, 2),
5574
- syncing = _useState0[0],
5575
- setSyncing = _useState0[1];
5576
- var _useState1 = React.useState(240),
6187
+ showStatusMenu = _useState0[0],
6188
+ setShowStatusMenu = _useState0[1];
6189
+ var _useState1 = React.useState(false),
5577
6190
  _useState10 = _slicedToArray(_useState1, 2),
5578
- tableScrollY = _useState10[0],
5579
- setTableScrollY = _useState10[1];
6191
+ syncModalVisible = _useState10[0],
6192
+ setSyncModalVisible = _useState10[1];
6193
+ var _useState11 = React.useState(false),
6194
+ _useState12 = _slicedToArray(_useState11, 2),
6195
+ syncing = _useState12[0],
6196
+ setSyncing = _useState12[1];
6197
+ var _useState13 = React.useState(240),
6198
+ _useState14 = _slicedToArray(_useState13, 2),
6199
+ tableScrollY = _useState14[0],
6200
+ setTableScrollY = _useState14[1];
6201
+ var optionRowsRef = React.useRef([]);
6202
+ schemes.forEach(function (item) {
6203
+ if (!optionRowsRef.current.some(function (row) {
6204
+ return row.id === item.id;
6205
+ })) optionRowsRef.current.push(item);
6206
+ });
5580
6207
  var statusMenuRef = React.useRef(null);
5581
6208
  var tableCardRef = React.useRef(null);
5582
6209
  var initialPageNoRef = React.useRef(initialPageNo || 1);
@@ -5588,6 +6215,8 @@
5588
6215
  onFetch({
5589
6216
  pageNo: pageNo,
5590
6217
  pageSize: pagination.pageSize || 20,
6218
+ city: cityFilter || undefined,
6219
+ housingEstate: projectFilter || undefined,
5591
6220
  condition: searchText.trim(),
5592
6221
  status: STATUS_API_VALUE_MAP[statusFilter]
5593
6222
  });
@@ -5595,7 +6224,7 @@
5595
6224
  return function () {
5596
6225
  return window.clearTimeout(timer);
5597
6226
  };
5598
- }, [pagination.pageSize, searchText, statusFilter]);
6227
+ }, [pagination.pageSize, searchText, statusFilter, cityFilter, projectFilter]);
5599
6228
  React.useEffect(function () {
5600
6229
  if (!showStatusMenu) return undefined;
5601
6230
  var handleClick = function handleClick(event) {
@@ -5633,6 +6262,8 @@
5633
6262
  return onFetch({
5634
6263
  pageNo: pagination.pageNo || 1,
5635
6264
  pageSize: pagination.pageSize || 20,
6265
+ city: cityFilter || undefined,
6266
+ housingEstate: projectFilter || undefined,
5636
6267
  condition: searchText.trim(),
5637
6268
  status: STATUS_API_VALUE_MAP[statusFilter]
5638
6269
  });
@@ -5643,48 +6274,55 @@
5643
6274
  return _regenerator().w(function (_context) {
5644
6275
  while (1) switch (_context.p = _context.n) {
5645
6276
  case 0:
5646
- if (!syncing) {
6277
+ {
5647
6278
  _context.n = 1;
5648
6279
  break;
5649
6280
  }
5650
- return _context.a(2);
5651
6281
  case 1:
6282
+ if (!syncing) {
6283
+ _context.n = 2;
6284
+ break;
6285
+ }
6286
+ return _context.a(2);
6287
+ case 2:
5652
6288
  setSyncing(true);
5653
6289
  previousTotal = pagination.totalSize || schemes.length;
5654
- _context.p = 2;
5655
- _context.n = 3;
6290
+ _context.p = 3;
6291
+ _context.n = 4;
5656
6292
  return onFetch({
5657
6293
  pageNo: 1,
5658
6294
  pageSize: pagination.pageSize || 20,
6295
+ city: cityFilter || undefined,
6296
+ housingEstate: projectFilter || undefined,
5659
6297
  condition: searchText.trim(),
5660
6298
  status: STATUS_API_VALUE_MAP[statusFilter]
5661
6299
  });
5662
- case 3:
6300
+ case 4:
5663
6301
  data = _context.v;
5664
6302
  if (!(!data || data.code !== 200 || data.success === false)) {
5665
- _context.n = 4;
6303
+ _context.n = 5;
5666
6304
  break;
5667
6305
  }
5668
6306
  throw new Error(data && data.message || '同步失败,请稍后重试');
5669
- case 4:
6307
+ case 5:
5670
6308
  nextTotal = Number((data === null || data === void 0 ? void 0 : (_data$value = data.value) === null || _data$value === void 0 ? void 0 : _data$value.totalSize) || previousTotal);
5671
6309
  addedCount = Math.max(0, nextTotal - previousTotal);
5672
6310
  setSyncModalVisible(false);
5673
6311
  onToast(addedCount > 0 ? "\u540C\u6B65\u5B8C\u6210\uFF1A\u65B0\u589E ".concat(addedCount, " \u4E2A\u6597\u62F1\u65B9\u6848") : '同步完成:暂无新增斗拱方案', false);
5674
- _context.n = 6;
6312
+ _context.n = 7;
5675
6313
  break;
5676
- case 5:
5677
- _context.p = 5;
5678
- _t = _context.v;
5679
- onToast(_t.message || '同步失败,请稍后重试', true);
5680
6314
  case 6:
5681
6315
  _context.p = 6;
5682
- setSyncing(false);
5683
- return _context.f(6);
6316
+ _t = _context.v;
6317
+ onToast(_t.message || '同步失败,请稍后重试', true);
5684
6318
  case 7:
6319
+ _context.p = 7;
6320
+ setSyncing(false);
6321
+ return _context.f(7);
6322
+ case 8:
5685
6323
  return _context.a(2);
5686
6324
  }
5687
- }, _callee, null, [[2, 5, 6, 7]]);
6325
+ }, _callee, null, [[3, 6, 7, 8]]);
5688
6326
  }));
5689
6327
  return function handleStartSync() {
5690
6328
  return _ref2.apply(this, arguments);
@@ -5713,6 +6351,20 @@
5713
6351
  className: styles$5.missingReplacementText
5714
6352
  }, missingNames.length > 1 ? "\u7F3A\u53EF\u66FF\u6362\u9879\uFF08".concat(missingNames.length, "\uFF09") : warningText))) : null);
5715
6353
  }
6354
+ }, {
6355
+ title: '城市',
6356
+ dataIndex: 'city',
6357
+ width: 100,
6358
+ render: function render(value) {
6359
+ return value || '未配置';
6360
+ }
6361
+ }, {
6362
+ title: '项目',
6363
+ dataIndex: 'community',
6364
+ width: 140,
6365
+ render: function render(value) {
6366
+ return value || '未配置';
6367
+ }
5716
6368
  }, {
5717
6369
  title: '方案模板ID',
5718
6370
  dataIndex: 'templateId',
@@ -5741,6 +6393,13 @@
5741
6393
  className: "".concat(styles$5.statusTag, " ").concat(statusConfig.className)
5742
6394
  }, statusConfig.label);
5743
6395
  }
6396
+ }, {
6397
+ title: '已应用素材库',
6398
+ dataIndex: 'projectLibraryName',
6399
+ width: 230,
6400
+ render: function render(value) {
6401
+ return value || '默认素材库(全量素材库)';
6402
+ }
5744
6403
  }, {
5745
6404
  title: '同步时间',
5746
6405
  dataIndex: 'syncTime',
@@ -5812,6 +6471,43 @@
5812
6471
  },
5813
6472
  className: styles$5.searchInput,
5814
6473
  placeholder: "\u641C\u7D22\u65B9\u6848ID/\u540D\u79F0"
6474
+ })), /*#__PURE__*/React__default['default'].createElement(_Select__default['default'], {
6475
+ "aria-label": "\u57CE\u5E02\u7B5B\u9009",
6476
+ value: cityFilter,
6477
+ style: {
6478
+ width: 130
6479
+ },
6480
+ onChange: function onChange(value) {
6481
+ setCityFilter(value);
6482
+ setProjectFilter('');
6483
+ }
6484
+ }, /*#__PURE__*/React__default['default'].createElement(_Select__default['default'].Option, {
6485
+ value: ""
6486
+ }, "\u57CE\u5E02\uFF1A\u5168\u90E8"), _toConsumableArray(new Set(optionRowsRef.current.map(function (item) {
6487
+ return item.city || '未配置';
6488
+ }))).map(function (city) {
6489
+ return /*#__PURE__*/React__default['default'].createElement(_Select__default['default'].Option, {
6490
+ key: city,
6491
+ value: city
6492
+ }, city);
6493
+ })), /*#__PURE__*/React__default['default'].createElement(_Select__default['default'], {
6494
+ "aria-label": "\u9879\u76EE\u7B5B\u9009",
6495
+ value: projectFilter,
6496
+ style: {
6497
+ width: 150
6498
+ },
6499
+ onChange: setProjectFilter
6500
+ }, /*#__PURE__*/React__default['default'].createElement(_Select__default['default'].Option, {
6501
+ value: ""
6502
+ }, "\u9879\u76EE\uFF1A\u5168\u90E8"), _toConsumableArray(new Set(optionRowsRef.current.filter(function (item) {
6503
+ return !cityFilter || (item.city || '未配置') === cityFilter;
6504
+ }).map(function (item) {
6505
+ return item.community;
6506
+ }).filter(Boolean))).map(function (project) {
6507
+ return /*#__PURE__*/React__default['default'].createElement(_Select__default['default'].Option, {
6508
+ key: project,
6509
+ value: project
6510
+ }, project);
5815
6511
  })), /*#__PURE__*/React__default['default'].createElement("div", {
5816
6512
  className: styles$5.statusFilterGroup
5817
6513
  }, /*#__PURE__*/React__default['default'].createElement("span", {
@@ -5909,12 +6605,14 @@
5909
6605
  return onFetch({
5910
6606
  pageNo: nextPagination.current,
5911
6607
  pageSize: nextPagination.pageSize,
6608
+ city: cityFilter || undefined,
6609
+ housingEstate: projectFilter || undefined,
5912
6610
  condition: searchText.trim(),
5913
6611
  status: STATUS_API_VALUE_MAP[statusFilter]
5914
6612
  });
5915
6613
  },
5916
6614
  scroll: {
5917
- x: 1202,
6615
+ x: 1672,
5918
6616
  y: tableScrollY
5919
6617
  },
5920
6618
  size: "small",
@@ -6045,24 +6743,74 @@
6045
6743
  setTranslatingDrawingId('');
6046
6744
  });
6047
6745
  };
6048
- var handleOpenRender = function handleOpenRender(scheme, combination) {
6049
- dispatch({
6050
- type: 'schemeWorkbench/updateState',
6051
- payload: {
6052
- douGongRenderPageNo: douGongPagination.pageNo || 1
6053
- }
6054
- });
6746
+ var handleConfigureLibrary = function handleConfigureLibrary(libraryId) {
6747
+ var isDefaultLibrary = libraryId === DEFAULT_LIBRARY_ID;
6748
+ // 全量素材库复用已有商品素材映射页面;跳转依据当前选中项,无需先应用。
6749
+ var pathname = isDefaultLibrary ? '/productMaterialMapping' : '/projectMaterialLibrary';
6750
+ var params = new URLSearchParams();
6751
+ if (!isDefaultLibrary) {
6752
+ params.set('libraryId', libraryId);
6753
+ params.set('schemeId', activeDetailId);
6754
+ params.set('returnPath', '/douGongSchemeTemplate');
6755
+ }
6055
6756
  window.dispatchEvent(new CustomEvent('onDecoratePageChange', {
6056
6757
  detail: {
6057
- path: '/myScheme',
6058
- title: '平台方案'
6758
+ path: pathname,
6759
+ title: isDefaultLibrary ? '商品素材映射' : '项目素材库配置'
6059
6760
  }
6060
6761
  }));
6061
6762
  dispatch(router.routerRedux.push({
6062
- pathname: '/myScheme',
6063
- search: buildRenderSearch(scheme, combination)
6763
+ pathname: pathname,
6764
+ search: params.toString() ? "?".concat(params.toString()) : ''
6064
6765
  }));
6065
6766
  };
6767
+ var handleOpenRender = /*#__PURE__*/function () {
6768
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(scheme, combination) {
6769
+ var _t;
6770
+ return _regenerator().w(function (_context) {
6771
+ while (1) switch (_context.p = _context.n) {
6772
+ case 0:
6773
+ _context.p = 0;
6774
+ _context.n = 1;
6775
+ return validateSchemeCombination(scheme.id, combination && combination.id);
6776
+ case 1:
6777
+ combination = _context.v;
6778
+ _context.n = 3;
6779
+ break;
6780
+ case 2:
6781
+ _context.p = 2;
6782
+ _t = _context.v;
6783
+ setToast({
6784
+ text: _t.message || '素材库范围校验失败',
6785
+ error: true
6786
+ });
6787
+ return _context.a(2);
6788
+ case 3:
6789
+ dispatch({
6790
+ type: 'schemeWorkbench/updateState',
6791
+ payload: {
6792
+ douGongRenderPageNo: douGongPagination.pageNo || 1
6793
+ }
6794
+ });
6795
+ window.dispatchEvent(new CustomEvent('onDecoratePageChange', {
6796
+ detail: {
6797
+ path: '/myScheme',
6798
+ title: '平台方案'
6799
+ }
6800
+ }));
6801
+ dispatch(router.routerRedux.push({
6802
+ pathname: '/myScheme',
6803
+ search: buildRenderSearch(scheme, combination)
6804
+ }));
6805
+ case 4:
6806
+ return _context.a(2);
6807
+ }
6808
+ }, _callee, null, [[0, 2]]);
6809
+ }));
6810
+ return function handleOpenRender(_x, _x2) {
6811
+ return _ref2.apply(this, arguments);
6812
+ };
6813
+ }();
6066
6814
  return /*#__PURE__*/React__default['default'].createElement("div", {
6067
6815
  className: styles$5.page
6068
6816
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -6094,6 +6842,29 @@
6094
6842
  });
6095
6843
  }
6096
6844
  })), activeDetailId ? /*#__PURE__*/React__default['default'].createElement(DouGongSchemeDetail, {
6845
+ onConfigureLibrary: handleConfigureLibrary,
6846
+ onLibraryApplied: function onLibraryApplied(binding) {
6847
+ dispatch({
6848
+ type: 'schemeWorkbench/updateState',
6849
+ payload: {
6850
+ douGongSchemes: schemes.map(function (item) {
6851
+ return item.id === activeDetailId ? _objectSpread2(_objectSpread2({}, item), {}, {
6852
+ projectLibraryName: binding.name
6853
+ }) : item;
6854
+ })
6855
+ }
6856
+ });
6857
+ dispatch({
6858
+ type: 'schemeWorkbench/fetchDouGongSchemeDetail',
6859
+ payload: {
6860
+ schemeId: activeDetailId
6861
+ }
6862
+ });
6863
+ setToast({
6864
+ text: "\u5DF2\u5E94\u7528\uFF1A".concat(binding.name),
6865
+ error: false
6866
+ });
6867
+ },
6097
6868
  scheme: activeScheme,
6098
6869
  loading: douGongDetailLoading,
6099
6870
  error: douGongDetailError,
@@ -6121,8 +6892,8 @@
6121
6892
  role: "status"
6122
6893
  }, /*#__PURE__*/React__default['default'].createElement(icons.CheckCircleFilled, null), /*#__PURE__*/React__default['default'].createElement("span", null, toast.text)) : null);
6123
6894
  }
6124
- var DouGongSchemeTemplate$1 = dva.connect(function (_ref2) {
6125
- var schemeWorkbench = _ref2.schemeWorkbench;
6895
+ var DouGongSchemeTemplate$1 = dva.connect(function (_ref3) {
6896
+ var schemeWorkbench = _ref3.schemeWorkbench;
6126
6897
  return {
6127
6898
  schemeWorkbench: schemeWorkbench
6128
6899
  };
@@ -12832,8 +13603,8 @@
12832
13603
  };
12833
13604
  })(MaterialCategoryManagement);
12834
13605
 
12835
- var css_248z$j = ".projectMaterialLibrary-module_page__3A8nq {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n padding: 16px;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n background: #f5f5f7;\n}\n.projectMaterialLibrary-module_detailPage__2WRC7 {\n padding-bottom: 0;\n}\n.projectMaterialLibrary-module_detailPage__2WRC7 .projectMaterialLibrary-module_card__1wKFK {\n border-radius: 6px 6px 0 0;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-btn,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-btn {\n height: 32px;\n font-size: 14px;\n border-radius: 6px;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-btn-primary,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-btn-primary {\n background: #1890ff;\n border-color: #1890ff;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-btn-link,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-btn-link {\n padding: 0;\n color: #1890ff;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-input-affix-wrapper,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-input-affix-wrapper,\n.projectMaterialLibrary-module_page__3A8nq .ant-select-selector,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-select-selector {\n font-size: 14px;\n border-color: #f0f2f5 !important;\n border-radius: 6px !important;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-checkbox-checked .ant-checkbox-inner,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-checkbox-checked .ant-checkbox-inner {\n background: #1890ff;\n border-color: #1890ff;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-checkbox-indeterminate .ant-checkbox-inner::after,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-checkbox-indeterminate .ant-checkbox-inner::after {\n background: #1890ff;\n}\n.projectMaterialLibrary-module_header__4NMsC {\n display: flex;\n flex-shrink: 0;\n gap: 16px;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 12px;\n}\n.projectMaterialLibrary-module_header__4NMsC h1 {\n margin: 0;\n color: #000f2c;\n font-weight: 500;\n font-size: 14px;\n line-height: 20px;\n}\n.projectMaterialLibrary-module_header__4NMsC p {\n margin: 2px 0 0;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n}\n.projectMaterialLibrary-module_header__4NMsC .ant-btn {\n flex-shrink: 0;\n}\n.projectMaterialLibrary-module_card__1wKFK {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n background: #fff;\n border-radius: 6px;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-table-pagination {\n margin: 0;\n padding: 12px 16px;\n border-top: 1px solid #F0F0F0;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-total-text {\n color: #8C8C8C;\n font-size: 13px;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item {\n min-width: 32px;\n height: 32px;\n line-height: 32px;\n border-radius: 6px;\n border: 1px solid #F0F0F0;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item a {\n color: #616778;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item:hover {\n border-color: #1890FF;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item:hover a {\n color: #1890FF;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item-active {\n background: #1890FF;\n border-color: #1890FF;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item-active a {\n color: #fff;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-prev,\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-next {\n min-width: 32px;\n height: 32px;\n line-height: 32px;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-prev .ant-pagination-item-link,\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-next .ant-pagination-item-link {\n border-radius: 6px;\n border: 1px solid #F0F0F0;\n color: #616778;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-prev .ant-pagination-item-link:hover,\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-next .ant-pagination-item-link:hover {\n border-color: #1890FF;\n color: #1890FF;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-disabled .ant-pagination-item-link {\n color: #D9D9D9;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-disabled .ant-pagination-item-link:hover {\n border-color: #F0F0F0;\n color: #D9D9D9;\n}\n.projectMaterialLibrary-module_tableWrap__LTBNF {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table {\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-thead > tr > th {\n height: 32px;\n padding: 6px 12px;\n color: #737b8b;\n font-weight: 400;\n font-size: 12px;\n background: #f0f2f5;\n border-bottom: 0;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-thead > tr > th::before {\n display: none;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-tbody > tr > td {\n height: 64px;\n padding: 11px 12px;\n white-space: nowrap;\n border-bottom-color: #f1f3f5;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-tbody > tr:last-child > td {\n border-bottom: 0;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-tbody > tr.ant-table-row-selected > td {\n background: #fff;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-tbody > tr.ant-table-row-selected:hover > td {\n background: #fafafa;\n}\n.projectMaterialLibrary-module_libraryTable__kXewg {\n width: 100%;\n}\n.projectMaterialLibrary-module_libraryTable__kXewg .ant-table-thead > tr > th {\n height: 32px;\n padding: 4px 12px;\n border-bottom: 0;\n}\n.projectMaterialLibrary-module_libraryTable__kXewg .ant-table-tbody > tr > td {\n height: 64px;\n padding: 12px;\n font-size: 14px;\n border-bottom-color: #f1f3f5;\n}\n.projectMaterialLibrary-module_pagination__1tPXI {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n padding: 12px 16px;\n border-top: 1px solid #f1f3f5;\n}\n.projectMaterialLibrary-module_pagination__1tPXI .ant-pagination-item {\n border-radius: 6px;\n}\n.projectMaterialLibrary-module_pagination__1tPXI .ant-pagination-item-active {\n background: transparent;\n border-color: #1890ff;\n}\n.projectMaterialLibrary-module_pagination__1tPXI .ant-pagination-item-active a {\n color: #1890ff;\n}\n.projectMaterialLibrary-module_libraryName__qvCG4 {\n display: flex;\n align-items: center;\n}\n.projectMaterialLibrary-module_libraryCity__URWCE {\n margin-right: 10px;\n padding-right: 10px;\n line-height: 14px;\n border-right: 1px solid #d9dde4;\n}\n.projectMaterialLibrary-module_muted__dElYD,\n.projectMaterialLibrary-module_footerHint__3GH0b {\n color: #737b8b;\n font-size: 12px;\n}\n.projectMaterialLibrary-module_footerHint__3GH0b {\n flex-shrink: 0;\n margin: 12px 0 0;\n}\n.projectMaterialLibrary-module_breadcrumb__iE3KR {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n margin-bottom: 12px;\n color: #737b8b;\n font-size: 14px;\n}\n.projectMaterialLibrary-module_breadcrumb__iE3KR .ant-btn-link {\n color: #737b8b;\n}\n.projectMaterialLibrary-module_breadcrumb__iE3KR .ant-btn > .anticon + span {\n margin-left: 4px;\n}\n.projectMaterialLibrary-module_breadcrumb__iE3KR strong {\n color: #000f2c;\n font-weight: 500;\n}\n.projectMaterialLibrary-module_selectionBar__1de5o {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: 10px;\n align-items: center;\n padding: 12px 12px 0;\n color: #737b8b;\n font-size: 12px;\n line-height: 20px;\n}\n.projectMaterialLibrary-module_selectionBar__1de5o strong {\n color: #000f2c;\n font-weight: 500;\n font-size: 14px;\n}\n.projectMaterialLibrary-module_selectionBar__1de5o .projectMaterialLibrary-module_unsaved__ZPXXB {\n color: #d97707;\n}\n.projectMaterialLibrary-module_filters__3oCLW {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: 16px;\n align-items: center;\n padding: 12px;\n}\n.projectMaterialLibrary-module_filters__3oCLW .projectMaterialLibrary-module_search__2M0PY {\n width: 240px;\n max-width: 100%;\n height: 32px;\n background: #f0f2f5;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-input {\n background: transparent;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-input-prefix {\n margin-right: 8px;\n color: #7383a2;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-select {\n width: 140px;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-select-selector {\n height: 32px !important;\n background: #f0f2f5 !important;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-select-selection-placeholder {\n color: #595959;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-select-clear {\n background: #f0f2f5;\n}\n.projectMaterialLibrary-module_filterField__2qwYo {\n display: flex;\n align-items: center;\n color: #141414;\n white-space: nowrap;\n}\n.projectMaterialLibrary-module_resultCount__3Bij1 {\n color: #737b8b;\n font-size: 12px;\n white-space: nowrap;\n}\n.projectMaterialLibrary-module_skuTableWrap__2xiJt {\n margin: 0 4px 0 12px;\n}\n.projectMaterialLibrary-module_skuTableWrap__2xiJt .ant-table-container {\n overflow: hidden;\n border: 1px solid #f0f2f5;\n border-radius: 6px 6px 0 0;\n}\n.projectMaterialLibrary-module_material__U4kDY > div {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.projectMaterialLibrary-module_material__U4kDY .projectMaterialLibrary-module_muted__dElYD {\n margin-top: 2px;\n line-height: 18px;\n}\n.projectMaterialLibrary-module_saveBar__2L6Mc {\n display: flex;\n flex-shrink: 0;\n justify-content: flex-end;\n margin: 0 -16px;\n padding: 15px 24px 16px;\n background: #fff;\n border-top: 1px solid #e9ecf1;\n}\n.projectMaterialLibrary-module_saveBar__2L6Mc .ant-btn {\n border-radius: 4px;\n}\n.projectMaterialLibrary-module_loadError__ZCoP7 {\n flex-shrink: 0;\n margin-bottom: 12px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK {\n color: #000f2c;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-content {\n overflow: hidden;\n border-radius: 8px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-header {\n padding: 15px 24px 16px;\n border-bottom-color: #d9dde4;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-title {\n color: #141414;\n font-weight: 600;\n font-size: 16px;\n line-height: 20px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-body {\n padding: 26px 24px 40px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-footer {\n padding: 15px 24px 16px;\n border-top-color: #d9dde4;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-footer .ant-btn + .ant-btn {\n margin-left: 20px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-btn {\n border-radius: 4px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-btn-default {\n color: #737b8b;\n border-color: #7383a2;\n}\n.projectMaterialLibrary-module_nameField__VQrOx {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n gap: 8px 16px;\n align-items: center;\n color: #737b8b;\n font-size: 14px;\n white-space: nowrap;\n}\n.projectMaterialLibrary-module_nameField__VQrOx .ant-input {\n min-width: 0;\n height: 40px;\n font-size: 14px;\n background: #f0f2f5;\n border-color: #f0f2f5;\n border-radius: 4px;\n}\n.projectMaterialLibrary-module_nameField__VQrOx .ant-input::-moz-placeholder {\n color: #cfd5df;\n}\n.projectMaterialLibrary-module_nameField__VQrOx .ant-input::placeholder {\n color: #cfd5df;\n}\n.projectMaterialLibrary-module_error__3ygOt {\n grid-column: 2;\n margin: 0;\n color: #ff4d4f;\n font-size: 12px;\n white-space: normal;\n}\n@media (max-width: 760px) {\n .projectMaterialLibrary-module_header__4NMsC {\n flex-wrap: wrap;\n }\n}\n";
12836
- var styles$h = {"page":"projectMaterialLibrary-module_page__3A8nq","detailPage":"projectMaterialLibrary-module_detailPage__2WRC7","card":"projectMaterialLibrary-module_card__1wKFK","createModal":"projectMaterialLibrary-module_createModal__1H4CK","header":"projectMaterialLibrary-module_header__4NMsC","tableWrap":"projectMaterialLibrary-module_tableWrap__LTBNF","table":"projectMaterialLibrary-module_table__2RYTw","libraryTable":"projectMaterialLibrary-module_libraryTable__kXewg","pagination":"projectMaterialLibrary-module_pagination__1tPXI","libraryName":"projectMaterialLibrary-module_libraryName__qvCG4","libraryCity":"projectMaterialLibrary-module_libraryCity__URWCE","muted":"projectMaterialLibrary-module_muted__dElYD","footerHint":"projectMaterialLibrary-module_footerHint__3GH0b","breadcrumb":"projectMaterialLibrary-module_breadcrumb__iE3KR","selectionBar":"projectMaterialLibrary-module_selectionBar__1de5o","unsaved":"projectMaterialLibrary-module_unsaved__ZPXXB","filters":"projectMaterialLibrary-module_filters__3oCLW","search":"projectMaterialLibrary-module_search__2M0PY","filterField":"projectMaterialLibrary-module_filterField__2qwYo","resultCount":"projectMaterialLibrary-module_resultCount__3Bij1","skuTableWrap":"projectMaterialLibrary-module_skuTableWrap__2xiJt","material":"projectMaterialLibrary-module_material__U4kDY","saveBar":"projectMaterialLibrary-module_saveBar__2L6Mc","loadError":"projectMaterialLibrary-module_loadError__ZCoP7","nameField":"projectMaterialLibrary-module_nameField__VQrOx","error":"projectMaterialLibrary-module_error__3ygOt"};
13606
+ var css_248z$j = ".projectMaterialLibrary-module_page__3A8nq {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n padding: 16px;\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n background: #f5f5f7;\n}\n.projectMaterialLibrary-module_detailPage__2WRC7 {\n padding-bottom: 0;\n}\n.projectMaterialLibrary-module_detailPage__2WRC7 .projectMaterialLibrary-module_card__1wKFK {\n border-radius: 6px 6px 0 0;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-btn,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-btn {\n height: 32px;\n font-size: 14px;\n border-radius: 6px;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-btn-primary,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-btn-primary {\n background: #1890ff;\n border-color: #1890ff;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-btn-link,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-btn-link {\n padding: 0;\n color: #1890ff;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-input-affix-wrapper,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-input-affix-wrapper,\n.projectMaterialLibrary-module_page__3A8nq .ant-select-selector,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-select-selector {\n font-size: 14px;\n border-color: #f0f2f5 !important;\n border-radius: 6px !important;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-checkbox-checked .ant-checkbox-inner,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-checkbox-checked .ant-checkbox-inner {\n background: #1890ff;\n border-color: #1890ff;\n}\n.projectMaterialLibrary-module_page__3A8nq .ant-checkbox-indeterminate .ant-checkbox-inner::after,\n.projectMaterialLibrary-module_createModal__1H4CK .ant-checkbox-indeterminate .ant-checkbox-inner::after {\n background: #1890ff;\n}\n.projectMaterialLibrary-module_header__4NMsC {\n display: flex;\n flex-shrink: 0;\n gap: 16px;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 12px;\n}\n.projectMaterialLibrary-module_header__4NMsC h1 {\n margin: 0;\n color: #000f2c;\n font-weight: 500;\n font-size: 14px;\n line-height: 20px;\n}\n.projectMaterialLibrary-module_header__4NMsC p {\n margin: 2px 0 0;\n color: #737b8b;\n font-size: 12px;\n line-height: 18px;\n}\n.projectMaterialLibrary-module_header__4NMsC .ant-btn {\n flex-shrink: 0;\n}\n.projectMaterialLibrary-module_card__1wKFK {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n overflow: hidden;\n background: #fff;\n border-radius: 6px;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-table-pagination {\n margin: 0;\n padding: 12px 16px;\n border-top: 1px solid #F0F0F0;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-total-text {\n color: #8C8C8C;\n font-size: 13px;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item {\n min-width: 32px;\n height: 32px;\n line-height: 32px;\n border-radius: 6px;\n border: 1px solid #F0F0F0;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item a {\n color: #616778;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item:hover {\n border-color: #1890FF;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item:hover a {\n color: #1890FF;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item-active {\n background: #1890FF;\n border-color: #1890FF;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-item-active a {\n color: #fff;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-prev,\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-next {\n min-width: 32px;\n height: 32px;\n line-height: 32px;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-prev .ant-pagination-item-link,\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-next .ant-pagination-item-link {\n border-radius: 6px;\n border: 1px solid #F0F0F0;\n color: #616778;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-prev .ant-pagination-item-link:hover,\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-next .ant-pagination-item-link:hover {\n border-color: #1890FF;\n color: #1890FF;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-disabled .ant-pagination-item-link {\n color: #D9D9D9;\n}\n.projectMaterialLibrary-module_card__1wKFK .ant-pagination-disabled .ant-pagination-item-link:hover {\n border-color: #F0F0F0;\n color: #D9D9D9;\n}\n.projectMaterialLibrary-module_tableWrap__LTBNF {\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table {\n color: #000f2c;\n font-size: 14px;\n line-height: 20px;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-thead > tr > th {\n height: 32px;\n padding: 6px 12px;\n color: #737b8b;\n font-weight: 400;\n font-size: 12px;\n background: #f0f2f5;\n border-bottom: 0;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-thead > tr > th::before {\n display: none;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-tbody > tr > td {\n height: 64px;\n padding: 11px 12px;\n white-space: nowrap;\n border-bottom-color: #f1f3f5;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-tbody > tr:last-child > td {\n border-bottom: 0;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-tbody > tr.ant-table-row-selected > td {\n background: #fff;\n}\n.projectMaterialLibrary-module_table__2RYTw .ant-table-tbody > tr.ant-table-row-selected:hover > td {\n background: #fafafa;\n}\n.projectMaterialLibrary-module_libraryTable__kXewg {\n width: 100%;\n}\n.projectMaterialLibrary-module_libraryTable__kXewg .ant-table-thead > tr > th {\n height: 32px;\n padding: 4px 12px;\n border-bottom: 0;\n}\n.projectMaterialLibrary-module_libraryTable__kXewg .ant-table-tbody > tr > td {\n height: 64px;\n padding: 12px;\n font-size: 14px;\n border-bottom-color: #f1f3f5;\n}\n.projectMaterialLibrary-module_pagination__1tPXI {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n padding: 12px 16px;\n border-top: 1px solid #f1f3f5;\n}\n.projectMaterialLibrary-module_pagination__1tPXI .ant-pagination-item {\n border-radius: 6px;\n}\n.projectMaterialLibrary-module_pagination__1tPXI .ant-pagination-item-active {\n background: transparent;\n border-color: #1890ff;\n}\n.projectMaterialLibrary-module_pagination__1tPXI .ant-pagination-item-active a {\n color: #1890ff;\n}\n.projectMaterialLibrary-module_libraryName__qvCG4 {\n display: flex;\n align-items: center;\n}\n.projectMaterialLibrary-module_libraryCity__URWCE {\n margin-right: 10px;\n padding-right: 10px;\n line-height: 14px;\n border-right: 1px solid #d9dde4;\n}\n.projectMaterialLibrary-module_muted__dElYD,\n.projectMaterialLibrary-module_footerHint__3GH0b {\n color: #737b8b;\n font-size: 12px;\n}\n.projectMaterialLibrary-module_footerHint__3GH0b {\n flex-shrink: 0;\n margin: 12px 0 0;\n}\n.projectMaterialLibrary-module_breadcrumb__iE3KR {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n margin-bottom: 12px;\n color: #737b8b;\n font-size: 14px;\n}\n.projectMaterialLibrary-module_breadcrumb__iE3KR .ant-btn-link {\n color: #737b8b;\n}\n.projectMaterialLibrary-module_breadcrumb__iE3KR .ant-btn > .anticon + span {\n margin-left: 4px;\n}\n.projectMaterialLibrary-module_breadcrumb__iE3KR strong {\n color: #000f2c;\n font-weight: 500;\n}\n.projectMaterialLibrary-module_selectionBar__1de5o {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: 10px;\n align-items: center;\n padding: 12px 12px 0;\n color: #737b8b;\n font-size: 12px;\n line-height: 20px;\n}\n.projectMaterialLibrary-module_selectionBar__1de5o strong {\n color: #000f2c;\n font-weight: 500;\n font-size: 14px;\n}\n.projectMaterialLibrary-module_selectionBar__1de5o .projectMaterialLibrary-module_unsaved__ZPXXB {\n color: #d97707;\n}\n.projectMaterialLibrary-module_selectionBar__1de5o .projectMaterialLibrary-module_saved__MbTLV {\n color: #52c41a;\n}\n.projectMaterialLibrary-module_filters__3oCLW {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n gap: 16px;\n align-items: center;\n padding: 12px;\n}\n.projectMaterialLibrary-module_filters__3oCLW .projectMaterialLibrary-module_search__2M0PY {\n width: 240px;\n max-width: 100%;\n height: 32px;\n background: #f0f2f5;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-input {\n background: transparent;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-input-prefix {\n margin-right: 8px;\n color: #7383a2;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-select {\n width: 140px;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-select-selector {\n height: 32px !important;\n background: #f0f2f5 !important;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-select-selection-placeholder {\n color: #595959;\n}\n.projectMaterialLibrary-module_filters__3oCLW .ant-select-clear {\n background: #f0f2f5;\n}\n.projectMaterialLibrary-module_filterField__2qwYo {\n display: flex;\n align-items: center;\n color: #141414;\n white-space: nowrap;\n}\n.projectMaterialLibrary-module_resultCount__3Bij1 {\n color: #737b8b;\n font-size: 12px;\n white-space: nowrap;\n}\n.projectMaterialLibrary-module_skuTableWrap__2xiJt {\n margin: 0 4px 0 12px;\n}\n.projectMaterialLibrary-module_skuTableWrap__2xiJt .ant-table-container {\n overflow: hidden;\n border: 1px solid #f0f2f5;\n border-radius: 6px 6px 0 0;\n}\n.projectMaterialLibrary-module_material__U4kDY > div {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.projectMaterialLibrary-module_material__U4kDY .projectMaterialLibrary-module_muted__dElYD {\n margin-top: 2px;\n line-height: 18px;\n}\n.projectMaterialLibrary-module_saveBar__2L6Mc {\n display: flex;\n flex-shrink: 0;\n justify-content: flex-end;\n margin: 0 -16px;\n padding: 15px 24px 16px;\n background: #fff;\n border-top: 1px solid #e9ecf1;\n}\n.projectMaterialLibrary-module_saveBar__2L6Mc .ant-btn {\n border-radius: 4px;\n}\n.projectMaterialLibrary-module_loadError__ZCoP7 {\n flex-shrink: 0;\n margin-bottom: 12px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK {\n color: #000f2c;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-content {\n overflow: hidden;\n border-radius: 8px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-header {\n padding: 15px 24px 16px;\n border-bottom-color: #d9dde4;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-title {\n color: #141414;\n font-weight: 600;\n font-size: 16px;\n line-height: 20px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-body {\n padding: 26px 24px 40px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-footer {\n padding: 15px 24px 16px;\n border-top-color: #d9dde4;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-modal-footer .ant-btn + .ant-btn {\n margin-left: 20px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-btn {\n border-radius: 4px;\n}\n.projectMaterialLibrary-module_createModal__1H4CK .ant-btn-default {\n color: #737b8b;\n border-color: #7383a2;\n}\n.projectMaterialLibrary-module_nameField__VQrOx {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n gap: 8px 16px;\n align-items: center;\n color: #737b8b;\n font-size: 14px;\n white-space: nowrap;\n}\n.projectMaterialLibrary-module_nameField__VQrOx .ant-input {\n min-width: 0;\n height: 40px;\n font-size: 14px;\n background: #f0f2f5;\n border-color: #f0f2f5;\n border-radius: 4px;\n}\n.projectMaterialLibrary-module_nameField__VQrOx .ant-input::-moz-placeholder {\n color: #cfd5df;\n}\n.projectMaterialLibrary-module_nameField__VQrOx .ant-input::placeholder {\n color: #cfd5df;\n}\n.projectMaterialLibrary-module_error__3ygOt {\n grid-column: 2;\n margin: 0;\n color: #ff4d4f;\n font-size: 12px;\n white-space: normal;\n}\n@media (max-width: 760px) {\n .projectMaterialLibrary-module_header__4NMsC {\n flex-wrap: wrap;\n }\n}\n";
13607
+ var styles$h = {"page":"projectMaterialLibrary-module_page__3A8nq","detailPage":"projectMaterialLibrary-module_detailPage__2WRC7","card":"projectMaterialLibrary-module_card__1wKFK","createModal":"projectMaterialLibrary-module_createModal__1H4CK","header":"projectMaterialLibrary-module_header__4NMsC","tableWrap":"projectMaterialLibrary-module_tableWrap__LTBNF","table":"projectMaterialLibrary-module_table__2RYTw","libraryTable":"projectMaterialLibrary-module_libraryTable__kXewg","pagination":"projectMaterialLibrary-module_pagination__1tPXI","libraryName":"projectMaterialLibrary-module_libraryName__qvCG4","libraryCity":"projectMaterialLibrary-module_libraryCity__URWCE","muted":"projectMaterialLibrary-module_muted__dElYD","footerHint":"projectMaterialLibrary-module_footerHint__3GH0b","breadcrumb":"projectMaterialLibrary-module_breadcrumb__iE3KR","selectionBar":"projectMaterialLibrary-module_selectionBar__1de5o","unsaved":"projectMaterialLibrary-module_unsaved__ZPXXB","saved":"projectMaterialLibrary-module_saved__MbTLV","filters":"projectMaterialLibrary-module_filters__3oCLW","search":"projectMaterialLibrary-module_search__2M0PY","filterField":"projectMaterialLibrary-module_filterField__2qwYo","resultCount":"projectMaterialLibrary-module_resultCount__3Bij1","skuTableWrap":"projectMaterialLibrary-module_skuTableWrap__2xiJt","material":"projectMaterialLibrary-module_material__U4kDY","saveBar":"projectMaterialLibrary-module_saveBar__2L6Mc","loadError":"projectMaterialLibrary-module_loadError__ZCoP7","nameField":"projectMaterialLibrary-module_nameField__VQrOx","error":"projectMaterialLibrary-module_error__3ygOt"};
12837
13608
  styleInject(css_248z$j);
12838
13609
 
12839
13610
  function CreateLibraryModal(_ref) {
@@ -12944,46 +13715,51 @@
12944
13715
  _useState4 = _slicedToArray(_useState3, 2),
12945
13716
  savedIds = _useState4[0],
12946
13717
  setSavedIds = _useState4[1];
12947
- var _useState5 = React.useState(''),
13718
+ var _useState5 = React.useState(false),
12948
13719
  _useState6 = _slicedToArray(_useState5, 2),
12949
- query = _useState6[0],
12950
- setQuery = _useState6[1];
12951
- var _useState7 = React.useState(undefined),
13720
+ hasSaved = _useState6[0],
13721
+ setHasSaved = _useState6[1];
13722
+ var confirmedBack = React.useRef(false);
13723
+ var _useState7 = React.useState(''),
12952
13724
  _useState8 = _slicedToArray(_useState7, 2),
12953
- brand = _useState8[0],
12954
- setBrand = _useState8[1];
13725
+ query = _useState8[0],
13726
+ setQuery = _useState8[1];
12955
13727
  var _useState9 = React.useState(undefined),
12956
13728
  _useState0 = _slicedToArray(_useState9, 2),
12957
- classify3 = _useState0[0],
12958
- setClassify3 = _useState0[1];
12959
- var _useState1 = React.useState(1),
13729
+ brand = _useState0[0],
13730
+ setBrand = _useState0[1];
13731
+ var _useState1 = React.useState(undefined),
12960
13732
  _useState10 = _slicedToArray(_useState1, 2),
12961
- pageNumber = _useState10[0],
12962
- setPageNumber = _useState10[1];
12963
- var _useState11 = React.useState([]),
13733
+ classify3 = _useState10[0],
13734
+ setClassify3 = _useState10[1];
13735
+ var _useState11 = React.useState(1),
12964
13736
  _useState12 = _slicedToArray(_useState11, 2),
12965
- rows = _useState12[0],
12966
- setRows = _useState12[1];
12967
- var _useState13 = React.useState(0),
13737
+ pageNumber = _useState12[0],
13738
+ setPageNumber = _useState12[1];
13739
+ var _useState13 = React.useState([]),
12968
13740
  _useState14 = _slicedToArray(_useState13, 2),
12969
- total = _useState14[0],
12970
- setTotal = _useState14[1];
12971
- var _useState15 = React.useState(true),
13741
+ rows = _useState14[0],
13742
+ setRows = _useState14[1];
13743
+ var _useState15 = React.useState(0),
12972
13744
  _useState16 = _slicedToArray(_useState15, 2),
12973
- skusLoading = _useState16[0],
12974
- setSkusLoading = _useState16[1];
13745
+ total = _useState16[0],
13746
+ setTotal = _useState16[1];
12975
13747
  var _useState17 = React.useState(true),
12976
13748
  _useState18 = _slicedToArray(_useState17, 2),
12977
- selectionLoading = _useState18[0],
12978
- setSelectionLoading = _useState18[1];
12979
- var _useState19 = React.useState(''),
13749
+ skusLoading = _useState18[0],
13750
+ setSkusLoading = _useState18[1];
13751
+ var _useState19 = React.useState(true),
12980
13752
  _useState20 = _slicedToArray(_useState19, 2),
12981
- skuError = _useState20[0],
12982
- setSkuError = _useState20[1];
13753
+ selectionLoading = _useState20[0],
13754
+ setSelectionLoading = _useState20[1];
12983
13755
  var _useState21 = React.useState(''),
12984
13756
  _useState22 = _slicedToArray(_useState21, 2),
12985
- selectionError = _useState22[0],
12986
- setSelectionError = _useState22[1];
13757
+ skuError = _useState22[0],
13758
+ setSkuError = _useState22[1];
13759
+ var _useState23 = React.useState(''),
13760
+ _useState24 = _slicedToArray(_useState23, 2),
13761
+ selectionError = _useState24[0],
13762
+ setSelectionError = _useState24[1];
12987
13763
  var dirty = selectedIds.length !== savedIds.length || selectedIds.some(function (id) {
12988
13764
  return !savedIds.includes(id);
12989
13765
  });
@@ -13052,11 +13828,14 @@
13052
13828
  var location = _ref2.location,
13053
13829
  retry = _ref2.retry;
13054
13830
  var samePage = location.pathname === '/projectMaterialLibrary';
13055
- if (samePage || window.confirm(leaveMessage)) {
13831
+ var currentLibraryId = new URLSearchParams(history.location.search || '').get('libraryId');
13832
+ var targetLibraryId = new URLSearchParams(location.search || '').get('libraryId');
13833
+ var sameLibrary = samePage && currentLibraryId === targetLibraryId;
13834
+ if (confirmedBack.current || sameLibrary || window.confirm(leaveMessage)) {
13056
13835
  unblock();
13057
13836
  retry();
13058
13837
  if (samePage) unblock = history.block(_blockLeave);
13059
- } else {
13838
+ } else if (!samePage) {
13060
13839
  // 主应用先更新菜单再通知子应用,取消离开时恢复素材库菜单高亮。
13061
13840
  Promise.resolve().then(function () {
13062
13841
  window.dispatchEvent(new CustomEvent('onDecoratePageChange', {
@@ -13075,6 +13854,15 @@
13075
13854
  window.removeEventListener('beforeunload', beforeUnload);
13076
13855
  };
13077
13856
  }, [dirty, history]);
13857
+ var backToList = function backToList() {
13858
+ // 返回按钮已通过弹窗确认,清除详情参数时不再重复询问。
13859
+ confirmedBack.current = true;
13860
+ try {
13861
+ onBack();
13862
+ } finally {
13863
+ confirmedBack.current = false;
13864
+ }
13865
+ };
13078
13866
  var save = /*#__PURE__*/function () {
13079
13867
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
13080
13868
  var result;
@@ -13085,7 +13873,10 @@
13085
13873
  return onSave(selectedIds);
13086
13874
  case 1:
13087
13875
  result = _context.v;
13088
- if (!result.error) setSavedIds(_toConsumableArray(selectedIds));
13876
+ if (!result.error) {
13877
+ setSavedIds(_toConsumableArray(selectedIds));
13878
+ setHasSaved(true);
13879
+ }
13089
13880
  case 2:
13090
13881
  return _context.a(2);
13091
13882
  }
@@ -13176,9 +13967,9 @@
13176
13967
  content: leaveMessage,
13177
13968
  okText: '放弃修改并返回',
13178
13969
  cancelText: '继续编辑',
13179
- onOk: onBack
13970
+ onOk: backToList
13180
13971
  });
13181
- } else onBack();
13972
+ } else backToList();
13182
13973
  }
13183
13974
  }, "\u8FD4\u56DE\u9879\u76EE\u7D20\u6750\u5E93"), /*#__PURE__*/React__default['default'].createElement("span", null, "/"), /*#__PURE__*/React__default['default'].createElement("strong", null, library.name)), /*#__PURE__*/React__default['default'].createElement("div", {
13184
13975
  className: styles$h.header
@@ -13191,9 +13982,11 @@
13191
13982
  className: styles$h.card
13192
13983
  }, /*#__PURE__*/React__default['default'].createElement("div", {
13193
13984
  className: styles$h.selectionBar
13194
- }, /*#__PURE__*/React__default['default'].createElement("strong", null, "\u5DF2\u9009 ", selectedIds.length, " \u9879"), /*#__PURE__*/React__default['default'].createElement("span", null, "\u4EC5\u5C55\u793A\u5DF2\u5173\u8054\u7D20\u6750\u7684SKU"), dirty && /*#__PURE__*/React__default['default'].createElement("span", {
13985
+ }, /*#__PURE__*/React__default['default'].createElement("strong", null, "\u5DF2\u9009 ", selectedIds.length, " \u9879"), /*#__PURE__*/React__default['default'].createElement("span", null, "\u4EC5\u5C55\u793A\u5DF2\u5173\u8054\u7D20\u6750\u7684SKU"), dirty ? /*#__PURE__*/React__default['default'].createElement("span", {
13195
13986
  className: styles$h.unsaved
13196
- }, "\u9009\u62E9\u5C1A\u672A\u4FDD\u5B58")), /*#__PURE__*/React__default['default'].createElement("div", {
13987
+ }, "\u9009\u62E9\u5C1A\u672A\u4FDD\u5B58") : hasSaved && /*#__PURE__*/React__default['default'].createElement("span", {
13988
+ className: styles$h.saved
13989
+ }, "\u5DF2\u4FDD\u5B58")), /*#__PURE__*/React__default['default'].createElement("div", {
13197
13990
  className: styles$h.filters
13198
13991
  }, /*#__PURE__*/React__default['default'].createElement(_Input__default['default'], {
13199
13992
  className: styles$h.search,
@@ -13304,10 +14097,12 @@
13304
14097
  classify3Error = _ref$projectMaterialL.classify3Error,
13305
14098
  dispatch = _ref.dispatch,
13306
14099
  history = _ref.history,
14100
+ location = _ref.location,
13307
14101
  saving = _ref.saving,
13308
14102
  loading = _ref.loading,
13309
14103
  brandsLoading = _ref.brandsLoading,
13310
14104
  classify3Loading = _ref.classify3Loading;
14105
+ var libraryId = new URLSearchParams((location || history.location || {}).search || '').get('libraryId') || '';
13311
14106
  var _useState = React.useState(false),
13312
14107
  _useState2 = _slicedToArray(_useState, 2),
13313
14108
  adding = _useState2[0],
@@ -13316,10 +14111,18 @@
13316
14111
  _useState4 = _slicedToArray(_useState3, 2),
13317
14112
  activeLibrary = _useState4[0],
13318
14113
  setActiveLibrary = _useState4[1];
13319
- var _useState5 = React.useState(1),
14114
+ var _useState5 = React.useState(''),
13320
14115
  _useState6 = _slicedToArray(_useState5, 2),
13321
- pageNumber = _useState6[0],
13322
- setPageNumber = _useState6[1];
14116
+ detailError = _useState6[0],
14117
+ setDetailError = _useState6[1];
14118
+ var _useState7 = React.useState(0),
14119
+ _useState8 = _slicedToArray(_useState7, 2),
14120
+ detailRetry = _useState8[0],
14121
+ setDetailRetry = _useState8[1];
14122
+ var _useState9 = React.useState(1),
14123
+ _useState0 = _slicedToArray(_useState9, 2),
14124
+ pageNumber = _useState0[0],
14125
+ setPageNumber = _useState0[1];
13323
14126
  var send = function send(action, payload) {
13324
14127
  return dispatch({
13325
14128
  type: "projectMaterialLibrary/".concat(action),
@@ -13327,14 +14130,40 @@
13327
14130
  });
13328
14131
  };
13329
14132
  React.useEffect(function () {
13330
- if (!activeLibrary) dispatch({
14133
+ if (!activeLibrary && !libraryId) dispatch({
13331
14134
  type: 'projectMaterialLibrary/fetchLibraries',
13332
14135
  payload: {
13333
14136
  pageNumber: pageNumber,
13334
14137
  pageSize: 20
13335
14138
  }
13336
14139
  });
13337
- }, [dispatch, pageNumber, activeLibrary]);
14140
+ }, [dispatch, pageNumber, activeLibrary, libraryId]);
14141
+ React.useEffect(function () {
14142
+ var active = true;
14143
+ setActiveLibrary(null);
14144
+ setDetailError('');
14145
+ if (!libraryId) return undefined;
14146
+ Promise.resolve(dispatch({
14147
+ type: 'projectMaterialLibrary/fetchLibrary',
14148
+ payload: libraryId
14149
+ })).then(function (result) {
14150
+ if (!active) return;
14151
+ if (result && result.library) setActiveLibrary(result.library);else setDetailError(result && result.error || '项目素材库加载失败。');
14152
+ }).catch(function (error) {
14153
+ if (active) setDetailError(error.message || '项目素材库加载失败。');
14154
+ });
14155
+ return function () {
14156
+ active = false;
14157
+ };
14158
+ }, [dispatch, libraryId, detailRetry]);
14159
+ var backToList = function backToList() {
14160
+ if (libraryId) history.replace({
14161
+ pathname: '/projectMaterialLibrary',
14162
+ search: ''
14163
+ });
14164
+ setActiveLibrary(null);
14165
+ };
14166
+ var openingLibrary = libraryId && (!activeLibrary || String(activeLibrary.id) !== libraryId);
13338
14167
  var saveSelection = /*#__PURE__*/function () {
13339
14168
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(skuIds) {
13340
14169
  var result;
@@ -13389,7 +14218,23 @@
13389
14218
  }];
13390
14219
  return /*#__PURE__*/React__default['default'].createElement("div", {
13391
14220
  className: "".concat(styles$h.page, " ").concat(activeLibrary ? styles$h.detailPage : '')
13392
- }, activeLibrary ? /*#__PURE__*/React__default['default'].createElement(LibraryDetail, {
14221
+ }, openingLibrary ? /*#__PURE__*/React__default['default'].createElement("div", {
14222
+ className: styles$h.card
14223
+ }, detailError ? /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(_Alert__default['default'], {
14224
+ type: "error",
14225
+ showIcon: true,
14226
+ message: detailError
14227
+ }), /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
14228
+ onClick: function onClick() {
14229
+ return setDetailRetry(function (value) {
14230
+ return value + 1;
14231
+ });
14232
+ }
14233
+ }, "\u91CD\u65B0\u52A0\u8F7D"), /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
14234
+ onClick: backToList
14235
+ }, "\u8FD4\u56DE\u9879\u76EE\u7D20\u6750\u5E93")) : /*#__PURE__*/React__default['default'].createElement(_Spin__default['default'], {
14236
+ tip: "\u9879\u76EE\u7D20\u6750\u5E93\u52A0\u8F7D\u4E2D..."
14237
+ })) : activeLibrary ? /*#__PURE__*/React__default['default'].createElement(LibraryDetail, {
13393
14238
  key: activeLibrary.id,
13394
14239
  library: activeLibrary,
13395
14240
  dispatch: dispatch,
@@ -13401,9 +14246,7 @@
13401
14246
  classify3Loading: classify3Loading,
13402
14247
  history: history,
13403
14248
  saving: saving,
13404
- onBack: function onBack() {
13405
- return setActiveLibrary(null);
13406
- },
14249
+ onBack: backToList,
13407
14250
  onSave: saveSelection
13408
14251
  }) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
13409
14252
  className: styles$h.header
@@ -63427,17 +64270,17 @@
63427
64270
  }
63428
64271
  setLoading(true);
63429
64272
  listSchemeCombinations(schemeId).then(function (list) {
63430
- if (cancelled) return;
63431
64273
  var matched = list.find(function (item) {
63432
64274
  return item.id === combinationId;
63433
64275
  }) || null;
64276
+ if (cancelled) return;
63434
64277
  setCombination(matched || {
63435
64278
  id: combinationId,
63436
64279
  schemeId: schemeId,
63437
64280
  name: combinationName || '未找到的组合',
63438
64281
  items: []
63439
64282
  });
63440
- setError(matched ? '' : '当前浏览器会话里没有这套组合,场景仍按模板默认素材加载。');
64283
+ setError(matched ? '' : '未找到这套组合,请重新选择。');
63441
64284
  setLoading(false);
63442
64285
  }).catch(function (e) {
63443
64286
  if (cancelled) return;
@@ -63460,16 +64303,16 @@
63460
64303
  name: combinationName || '方案组合',
63461
64304
  items: []
63462
64305
  };
63463
- var usingDefault = isDefaultCombination(display) && display.id === DEFAULT_COMBINATION_ID;
64306
+ var usingDefault = isDefaultCombination(display);
63464
64307
  return /*#__PURE__*/React__default['default'].createElement("div", {
63465
64308
  className: styles$6.banner
63466
64309
  }, /*#__PURE__*/React__default['default'].createElement("div", {
63467
64310
  className: styles$6.bannerHead
63468
64311
  }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
63469
64312
  className: styles$6.bannerTitle
63470
- }, "\u5DF2\u52A0\u8F7D\u7EC4\u5408\uFF1A".concat(display.name || combinationName || '方案组合')), /*#__PURE__*/React__default['default'].createElement("p", {
64313
+ }, "\u5DF2\u9009\u7EC4\u5408\uFF1A".concat(display.name || combinationName || '方案组合')), /*#__PURE__*/React__default['default'].createElement("p", {
63471
64314
  className: styles$6.meta
63472
- }, loading ? '正在读取组合配置。' : usingDefault ? '沿用模板原有模型与材质配置。当前只记录选择,场景仍按模板默认素材加载。' : "\u5DF2\u8BB0\u5F55 ".concat((display.items || []).length, " \u9879\u5546\u54C1\u53CA\u6620\u5C04\u7D20\u6750\u3002\u5F53\u524D\u53EA\u5C55\u793A\u914D\u7F6E\uFF0C\u573A\u666F\u4ECD\u6309\u6A21\u677F\u9ED8\u8BA4\u7D20\u6750\u52A0\u8F7D\uFF0C\u5F85\u63A5\u53E3\u63A5\u5165\u540E\u751F\u6548\u3002")), error ? /*#__PURE__*/React__default['default'].createElement("p", {
64315
+ }, loading ? '正在读取组合配置。' : usingDefault ? '沿用模板原有模型与材质配置。场景沿用模板默认素材。' : "\u5DF2\u8BFB\u53D6 ".concat((display.items || []).length, " \u9879\u5546\u54C1\u914D\u7F6E\u3002\u5F53\u524D\u573A\u666F\u4ECD\u4F7F\u7528\u6A21\u677F\u9ED8\u8BA4\u7D20\u6750\uFF0C\u7EC4\u5408\u66FF\u6362\u5C1A\u672A\u751F\u6548\u3002")), error ? /*#__PURE__*/React__default['default'].createElement("p", {
63473
64316
  className: styles$6.error
63474
64317
  }, error) : null), /*#__PURE__*/React__default['default'].createElement("button", {
63475
64318
  type: "button",
@@ -68642,6 +69485,21 @@
68642
69485
  }]);
68643
69486
  }(React.Component)) || _class$a);
68644
69487
 
69488
+ // 待同事接入项目素材库详情页面,替换本占位组件即可,保留路由和参数约定。
69489
+ // 路由:/projectLibraryDetail;查询参数:libraryId、schemeId、returnPath。
69490
+ // libraryId 是用户当前选中的库,不代表已点击“应用”,本页面不得自动修改模板绑定。
69491
+ function ProjectLibraryDetail(_ref) {
69492
+ var location = _ref.location;
69493
+ var params = new URLSearchParams(location.search || '');
69494
+ return /*#__PURE__*/React__default['default'].createElement("div", {
69495
+ style: {
69496
+ padding: 24
69497
+ }
69498
+ }, /*#__PURE__*/React__default['default'].createElement("h2", null, "\u9879\u76EE\u7D20\u6750\u5E93\u914D\u7F6E"), /*#__PURE__*/React__default['default'].createElement("p", null, "\u7D20\u6750\u5E93 ID\uFF1A", params.get('libraryId') || '--'), /*#__PURE__*/React__default['default'].createElement(_Empty__default['default'], {
69499
+ description: "\u9879\u76EE\u7D20\u6750\u5E93\u914D\u7F6E\u9875\u9762\u5F85\u63A5\u5165"
69500
+ }));
69501
+ }
69502
+
68645
69503
  var css_248z$y = "/* ── 页面整体 ── */\n.productMaterials-module_wrap__3jwSZ {\n padding: 20px 0 0 16px;\n min-height: 100%;\n background: #ffffff;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n.productMaterials-module_wrap__3jwSZ .ant-btn {\n border-radius: 4px;\n}\n/* ── 页面头部 ── */\n.productMaterials-module_pageHeader__2GzkJ {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 16px;\n}\n.productMaterials-module_pageHeader__2GzkJ .productMaterials-module_pageTitle__26FZk {\n color: #000F2C;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n font-family: \"PingFang SC\";\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: 22px;\n}\n.productMaterials-module_pageHeader__2GzkJ .productMaterials-module_pageTitle__26FZk .productMaterials-module_pageSubtitle__wlmsJ {\n color: #737B8B;\n font-family: \"PingFang SC\";\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n margin-left: 8px;\n}\n.productMaterials-module_pageHeader__2GzkJ .productMaterials-module_headerActions__1LtVX {\n display: flex;\n gap: 12px;\n padding-right: 16px;\n}\n.productMaterials-module_btnDark__3mqus {\n background: #555 !important;\n border-color: #555 !important;\n color: #fff !important;\n}\n.productMaterials-module_btnDark__3mqus:hover,\n.productMaterials-module_btnDark__3mqus:focus {\n background: #444 !important;\n border-color: #444 !important;\n color: #fff !important;\n}\n/* ── 三栏主体 ── */\n.productMaterials-module_mainLayout__3o3Pb {\n display: flex;\n flex: 1;\n min-height: 0;\n background: #fff;\n border-top: 1px solid #EEE;\n overflow: hidden;\n}\n/* ── 左栏 & 中栏 共用标题 ── */\n.productMaterials-module_panelTitle__1PQYC {\n font-size: 13px;\n font-weight: 600;\n color: #333;\n padding: 0 16px 8px;\n}\n/* ── 左栏:素材分类树 ── */\n.productMaterials-module_categoryPanel__2i86D {\n width: 200px;\n min-width: 200px;\n border-right: 1px solid #f0f0f0;\n padding: 16px 0;\n overflow-y: auto;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_categoryItem__3Np4N {\n display: flex;\n align-items: center;\n padding: 7px 16px;\n cursor: pointer;\n color: #717D99;\n font-family: \"PingFang SC\";\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n transition: background 0.15s;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_categoryItem__3Np4N:hover {\n background: #f5f5f5;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_categoryItemActive__1ZypV {\n color: #1890ff !important;\n background: #e6f7ff !important;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_categoryItemChild__1iM6M {\n padding-left: 30px !important;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_categoryItemIcon__12en- {\n width: 14px;\n font-size: 10px;\n margin-right: 4px;\n flex-shrink: 0;\n color: #888;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_categoryItemName__3mIUZ {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_categoryItemCount__1Um7B {\n color: #717D99;\n font-family: \"PingFang SC\";\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n margin-left: 4px;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_subCategoryList__1wzkG {\n background: #fafafa;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_subCategoryItem__3SM6F {\n display: flex;\n align-items: center;\n padding: 6px 16px 6px 36px;\n cursor: pointer;\n color: #000F2C;\n font-family: \"PingFang SC\";\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: normal;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n transition: background 0.15s;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_subCategoryItem__3SM6F:hover {\n background: #f0f0f0;\n}\n.productMaterials-module_categoryPanel__2i86D .productMaterials-module_subCategoryName__30Hnv {\n flex: 1;\n padding-left: 18px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n/* ── 中栏:品牌过滤 ── */\n.productMaterials-module_brandPanel__3x94D {\n width: 160px;\n min-width: 160px;\n border-right: 1px solid #f0f0f0;\n padding: 16px 0;\n overflow-y: auto;\n}\n.productMaterials-module_brandPanel__3x94D .productMaterials-module_brandFilterList__3IGV- {\n padding: 0 8px;\n}\n.productMaterials-module_brandPanel__3x94D .productMaterials-module_brandFilterItem__3Wb21 {\n display: flex;\n align-items: center;\n padding: 7px 8px;\n border-radius: 6px;\n cursor: pointer;\n margin-bottom: 2px;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n transition: background 0.15s;\n}\n.productMaterials-module_brandPanel__3x94D .productMaterials-module_brandFilterItem__3Wb21:hover {\n background: #f5f5f5;\n}\n.productMaterials-module_brandPanel__3x94D .productMaterials-module_brandFilterItemActive__2aFqO {\n background: #e6f7ff !important;\n}\n.productMaterials-module_brandPanel__3x94D .productMaterials-module_brandFilterLogo__3i4Z0 {\n width: auto;\n height: 24px;\n -o-object-fit: contain;\n object-fit: contain;\n margin-right: 8px;\n flex-shrink: 0;\n}\n.productMaterials-module_brandPanel__3x94D .productMaterials-module_brandFilterLogoPlaceholder__2Zyqx {\n width: 40px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #f0f0f0;\n border-radius: 4px;\n font-size: 12px;\n color: #aaa;\n margin-right: 8px;\n flex-shrink: 0;\n}\n.productMaterials-module_brandPanel__3x94D .productMaterials-module_brandFilterName__3RNVU {\n flex: 1;\n min-width: 0;\n font-size: 12px;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n/* ── 右栏:素材网格 ── */\n.productMaterials-module_materialPanel__3qXkn {\n flex: 1;\n min-width: 0;\n padding: 16px;\n overflow-y: auto;\n background-color: #F5F5F7;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_materialPanelHeader__2leEw {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n padding-bottom: 12px;\n border-bottom: 1px solid #f0f0f0;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_sortDisplay__2_ZBP {\n display: flex;\n align-items: center;\n gap: 12px;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_sortLabel__1-h61 {\n color: #737B8B;\n font-family: \"PingFang SC\";\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_sortValue__3ahlu {\n color: #000F2C;\n font-family: \"PingFang SC\";\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_materialTabs__2Job3 {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_materialTabActive__3x4Y4 {\n font-size: 14px;\n font-weight: 500;\n color: #333;\n padding-bottom: 2px;\n border-bottom: 2px solid #555;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_materialCount__1QIjj {\n font-size: 13px;\n color: #999;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_materialGrid__2fBse {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n gap: 16px;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_materialCard__2wYyR {\n position: relative;\n overflow: hidden;\n background: #fff;\n border: 1px solid #f0f0f0;\n cursor: pointer;\n transition: box-shadow 0.2s;\n border-radius: 16px;\n background: #FFF;\n box-shadow: 0 8px 24px 0 rgba(20, 20, 20, 0.02);\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_materialCard__2wYyR:hover {\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardImgWrap__VFzt9 {\n position: relative;\n width: 100%;\n padding-top: 75%;\n background: #f5f5f5;\n overflow: hidden;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardImg__XIbLe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardImgPlaceholder__2vrMa {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: #eee;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardModelPlaceholder__2qU55 {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 4px;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardModelExt__165zy {\n font-size: 20px;\n font-weight: 700;\n color: #fff;\n letter-spacing: 1px;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardModelHint__2qJEZ {\n font-size: 11px;\n color: rgba(255, 255, 255, 0.75);\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardMoreIcon__1lHfo {\n position: absolute;\n bottom: 14px;\n right: 14px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n line-height: 0;\n border-radius: 50%;\n transition: background 0.2s;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardMoreIcon__1lHfo:hover {\n background: rgba(0, 0, 0, 0.3);\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_moreIcon__29nnC {\n font-size: 24px;\n color: #CCCCCC;\n transition: color 0.2s;\n}\n.productMaterials-module_cardMoreIcon__1lHfo:hover .productMaterials-module_materialPanel__3qXkn .productMaterials-module_moreIcon__29nnC {\n color: #FFFFFF;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardInfo__21RwX {\n padding: 8px 10px 10px;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardName__38hFB {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-bottom: 4px;\n}\n.productMaterials-module_materialPanel__3qXkn .productMaterials-module_cardSub__1lQzN {\n display: flex;\n justify-content: space-between;\n font-size: 12px;\n color: #999;\n}\n/* ── 素材卡片下拉菜单 ── */\n.productMaterials-module_cardMoreWrap__3rB9_ {\n position: relative;\n}\n.productMaterials-module_cardDropdown__2rRdj {\n position: absolute;\n bottom: 100%;\n right: 0;\n margin-bottom: 4px;\n display: flex;\n width: 98px;\n padding: 8px;\n flex-direction: column;\n align-items: flex-start;\n gap: 2px;\n border-radius: 14px;\n border: 1px solid rgba(113, 125, 153, 0.3);\n background: #FFF;\n box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.16);\n z-index: 1050;\n}\n.productMaterials-module_cardDropdownItem__3bbe4 {\n width: 100%;\n padding: 6px 12px;\n border-radius: 10px;\n font-size: 14px;\n color: #000F2C;\n cursor: pointer;\n}\n.productMaterials-module_cardDropdownItem__3bbe4:hover {\n background: #F5F5F7;\n}\n/* ── 品牌 Logo 通用(多个弹窗使用) ── */\n.productMaterials-module_brandLogoImg__2b7bX {\n -o-object-fit: contain;\n object-fit: contain;\n border-radius: 4px;\n flex-shrink: 0;\n}\n.productMaterials-module_brandLogoSm__33_mg {\n height: 24px;\n}\n.productMaterials-module_brandLogoMd__3wScP {\n height: 56px;\n}\n.productMaterials-module_brandLogoLg__bFVwp {\n height: 64px;\n}\n/* ── 品牌管理弹窗 ── */\n.productMaterials-module_brandModal__1GZQK .ant-modal-content {\n border-radius: 8px;\n overflow: hidden;\n}\n.productMaterials-module_brandModal__1GZQK .ant-btn {\n border-radius: 4px;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandModalInner__2sEc6 {\n display: flex;\n min-height: 420px;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandListPanel__10u5E {\n width: 210px;\n min-width: 210px;\n border-right: 1px solid #f0f0f0;\n display: flex;\n flex-direction: column;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandListHeader__1UvhS {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 16px;\n border-bottom: 1px solid #f0f0f0;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandListTitle__1Ivxk {\n font-size: 14px;\n font-weight: 500;\n color: #333;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandListBody__1iWdI {\n flex: 1;\n overflow-y: auto;\n max-height: 440px;\n padding: 6px 0;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandListItem__2QVZL {\n display: flex;\n align-items: center;\n padding: 8px 16px;\n cursor: pointer;\n transition: background 0.15s;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandListItem__2QVZL:hover {\n background: #f5f5f5;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandListItemActive__20sTG {\n background: #1890ff !important;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandListItemActive__20sTG .productMaterials-module_brandListItemName__2rQYN {\n color: #fff !important;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandListItemName__2rQYN {\n flex: 1;\n min-width: 0;\n margin-left: 8px;\n font-size: 13px;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandDetailPanel__3aG94 {\n flex: 1;\n padding: 20px 24px;\n position: relative;\n background-color: #F0F2F5;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandDetailTitle__2604W {\n font-size: 16px;\n font-weight: 600;\n color: #333;\n margin-bottom: 10px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandDetailSubtitle__1fciS {\n font-size: 13px;\n font-weight: 500;\n color: #555;\n margin-bottom: 18px;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandFormRow__2igKh {\n display: flex;\n align-items: center;\n margin-bottom: 20px;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandFormLabel__3d6TO {\n width: 88px;\n font-size: 13px;\n color: #555;\n flex-shrink: 0;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_logoEditRow__3M061 {\n display: flex;\n align-items: center;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_myOptionDivider__kSm9j {\n position: absolute;\n bottom: 64px;\n right: 0;\n width: 100%;\n height: 1px;\n background: #DDE1E6;\n}\n.productMaterials-module_brandModal__1GZQK .productMaterials-module_brandDetailFooter__1evwS {\n position: absolute;\n bottom: 20px;\n right: 24px;\n}\n/* ── 品牌头像(多页面共用) ── */\n.productMaterials-module_brandAvatar__2xrdy {\n flex-shrink: 0;\n}\n/* ── 上传/编辑素材弹窗 ── */\n.productMaterials-module_sectionTitle__gEN6m {\n font-size: 14px;\n font-weight: 600;\n color: #333;\n margin: 8px 0 14px 10px;\n}\n/* 表单必填星号 */\n.productMaterials-module_formRequiredMark__1Vp8- {\n color: #ff4d4f;\n display: inline-block;\n width: 8px;\n margin-right: 2px;\n}\n.productMaterials-module_formRequiredMarkPlaceholder__X0q6e {\n display: inline-block;\n width: 8px;\n margin-right: 2px;\n visibility: hidden;\n}\n/* 自定义表单行(替代 antd labelCol/wrapperCol,保证对齐) */\n.productMaterials-module_formRow__3Zswn {\n display: flex;\n align-items: center;\n margin-bottom: 16px;\n}\n.productMaterials-module_formRowLabel__3TF87 {\n flex: 0 0 72px;\n font-size: 13px;\n color: rgba(0, 0, 0, 0.65);\n white-space: nowrap;\n}\n.productMaterials-module_formRowField__1knJp {\n flex: 1;\n min-width: 0;\n}\n/* 编辑链接(素材名称旁) */\n.productMaterials-module_editLink__2fr7f {\n color: #1677ff;\n font-size: 14px;\n cursor: pointer;\n white-space: nowrap;\n flex-shrink: 0;\n}\n.productMaterials-module_editLink__2fr7f:hover {\n color: #4096ff;\n}\n/* idle 态:蓝色文字链接 */\n.productMaterials-module_uploadLink__31icL {\n color: #1677ff;\n font-size: 14px;\n cursor: pointer;\n}\n.productMaterials-module_uploadLink__31icL:hover {\n color: #4096ff;\n}\n/* 进度条行(uploading / fail 共用) */\n.productMaterials-module_uploadProgress__3pOXj {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.productMaterials-module_uploadProgressBar__2kFwA {\n flex: 1;\n min-width: 0;\n}\n.productMaterials-module_uploadProgressBar__2kFwA .ant-progress-inner {\n border-radius: 100px;\n}\n.productMaterials-module_uploadProgressBar__2kFwA .ant-progress-bg {\n background-color: #1677ff;\n}\n/* 进度百分比:蓝色 */\n.productMaterials-module_uploadProgressPct__3oUXa {\n color: #1677ff;\n font-size: 13px;\n white-space: nowrap;\n flex-shrink: 0;\n}\n/* \"上传中\"文字:灰色 */\n.productMaterials-module_uploadProgressText__3dMNq {\n color: #888;\n font-size: 13px;\n white-space: nowrap;\n flex-shrink: 0;\n}\n/* 上传成功行 */\n.productMaterials-module_uploadSuccess__27YQU {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.productMaterials-module_uploadedFileName__2j6rw {\n color: #1677ff;\n font-size: 13px;\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex-shrink: 1;\n}\n/* 替换 / 重新上传按钮(带蓝色边框) */\n.productMaterials-module_uploadReplaceBtn__2hb4b {\n flex-shrink: 0;\n}\n.productMaterials-module_uploadReplaceBtn__2hb4b.ant-btn {\n border-radius: 4px;\n border-color: #1677ff;\n color: #1677ff;\n}\n/* 上传失败行 */\n.productMaterials-module_uploadFail__1VUXi {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n/* \"上传失败\"文字:红色 */\n.productMaterials-module_uploadFailText__RXujm {\n color: #ff4d4f;\n font-size: 13px;\n white-space: nowrap;\n flex-shrink: 0;\n}\n/* ── 通用弹窗底部按钮区 ── */\n.productMaterials-module_modalFooter__UQvZP {\n display: flex;\n justify-content: flex-end;\n margin-top: 20px;\n padding-top: 14px;\n position: relative;\n gap: 20px;\n}\n.productMaterials-module_modalFooter__UQvZP::before {\n content: \"\";\n position: absolute;\n left: -14px;\n bottom: 48px;\n width: calc(100% + 38px);\n height: 1px;\n background: #DDE1E6;\n}\n/* ── 删除确认文案 ── */\n.productMaterials-module_deleteConfirmText__1ickY {\n font-size: 14px;\n color: #555;\n line-height: 1.8;\n text-align: center;\n padding: 12px 0 4px;\n margin: 0;\n}\n/* ── 弹窗按钮圆角 ── */\n.productMaterials-module_uploadModal__3nLAW .ant-btn,\n.productMaterials-module_newBrandModal__2x2Ug .ant-btn,\n.productMaterials-module_deleteModal__1JiEJ .ant-btn {\n border-radius: 4px;\n}\n.productMaterials-module_newBrandModal__2x2Ug .ant-select-selector {\n height: 40px !important;\n border-radius: 8px !important;\n display: flex;\n align-items: center;\n background: #F5F7FA !important;\n border-color: #F5F7FA !important;\n box-shadow: none !important;\n}\n.productMaterials-module_newBrandModal__2x2Ug .ant-select-selection-search-input {\n height: 40px !important;\n}\n.productMaterials-module_newBrandModal__2x2Ug .ant-select-selection-item,\n.productMaterials-module_newBrandModal__2x2Ug .ant-select-selection-placeholder {\n line-height: 38px !important;\n}\n.productMaterials-module_newBrandModal__2x2Ug .ant-input {\n height: 40px;\n border-radius: 8px;\n background: #F5F7FA;\n border-color: #F5F7FA;\n box-shadow: none;\n}\n.productMaterials-module_newBrandModal__2x2Ug .ant-input::-moz-placeholder {\n color: #C5CAD5;\n}\n.productMaterials-module_newBrandModal__2x2Ug .ant-input::placeholder {\n color: #C5CAD5;\n}\n.productMaterials-module_newBrandModal__2x2Ug .ant-btn {\n width: 60px;\n height: 32px;\n border-radius: 4px;\n text-align: center;\n font-family: \"PingFang SC\";\n font-size: 14px;\n font-weight: 400;\n}\n.productMaterials-module_newBrandModal__2x2Ug .ant-btn-default {\n color: #737B8B;\n border-color: #94A0B8;\n background: #fff;\n}\n.productMaterials-module_newBrandModal__2x2Ug .ant-btn-primary {\n background: #1890FF;\n border-color: #1890FF;\n}\n.productMaterials-module_newBrandModal__2x2Ug .productMaterials-module_brandDetailSubtitle__1fciS {\n margin-left: 8px;\n margin-bottom: 26px;\n color: #000;\n font-family: \"PingFang SC\";\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n /* 142.857% */\n}\n.productMaterials-module_newBrandModal__2x2Ug .customModalHeader {\n padding: 28px 32px 24px;\n border-bottom: 1px solid #DDE1E6;\n}\n.productMaterials-module_newBrandModal__2x2Ug .customModalTitle {\n color: #000F2C;\n font-family: \"PingFang SC\";\n font-size: 24px;\n font-style: normal;\n font-weight: 600;\n line-height: 1.2;\n}\n.productMaterials-module_newBrandModal__2x2Ug .customModalClose {\n width: 32px;\n height: 32px;\n font-size: 22px;\n color: #666;\n}\n.productMaterials-module_newBrandModal__2x2Ug .customModalContent {\n border-radius: 24px;\n overflow: hidden;\n}\n.productMaterials-module_newBrandModal__2x2Ug .customModalBody {\n padding: 0 30px 0 0;\n}\n.productMaterials-module_newBrandModal__2x2Ug .productMaterials-module_modalFooter__UQvZP {\n padding-top: 16px;\n justify-content: flex-end;\n gap: 20px;\n position: relative;\n}\n.productMaterials-module_newBrandModal__2x2Ug .productMaterials-module_modalFooter__UQvZP::before {\n content: \"\";\n position: absolute;\n left: -14px;\n bottom: 48px;\n width: calc(100% + 38px);\n height: 1px;\n background: #DDE1E6;\n}\n.productMaterials-module_newBrandFormRow__24e-t {\n display: flex;\n align-items: flex-start;\n margin-bottom: 32px;\n}\n.productMaterials-module_newBrandFormLabel__tmqHj {\n width: 64px;\n margin-right: 16px;\n margin-top: 10px;\n box-sizing: border-box;\n color: #737B8B;\n font-family: \"PingFang SC\";\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 1.4;\n white-space: nowrap;\n}\n.productMaterials-module_newBrandFormField__pKQaX {\n flex: 1;\n min-width: 0;\n}\n.productMaterials-module_newBrandUploadWrap__20SHw {\n width: 80px;\n height: 80px;\n border-radius: 6px;\n border: 1px dashed #B8C1D3;\n background: #F7F9FC;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n}\n.productMaterials-module_newBrandUploadPlus__2JPf7 {\n color: #1890FF;\n font-size: 20px;\n}\n.productMaterials-module_newBrandUploadText__yeXv9 {\n margin-top: 6px;\n color: #121C2A;\n font-family: \"PingFang SC\";\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n}\n.productMaterials-module_newBrandLogoPreview__320Z8 {\n width: 100%;\n height: 100%;\n -o-object-fit: contain;\n object-fit: contain;\n background: #fff;\n}\n.productMaterials-module_newBrandCategoryRow__2-Ph1 {\n display: flex;\n gap: 12px;\n}\n.productMaterials-module_newBrandSelect__3Hgbu {\n width: 160px;\n}\n.productMaterials-module_newBrandInput__dMHCT {\n width: 200px;\n}\n/* 上传/编辑素材弹窗内控件统一高度 40px */\n.productMaterials-module_uploadModal__3nLAW .ant-select-selector {\n height: 40px !important;\n border-radius: 6px !important;\n display: flex;\n align-items: center;\n}\n.productMaterials-module_uploadModal__3nLAW .ant-select-selection-search-input {\n height: 40px !important;\n}\n.productMaterials-module_uploadModal__3nLAW .ant-select-selection-item,\n.productMaterials-module_uploadModal__3nLAW .ant-select-selection-placeholder {\n line-height: 38px !important;\n}\n.productMaterials-module_uploadModal__3nLAW .ant-input {\n height: 40px;\n border-radius: 6px;\n}\n.productMaterials-module_uploadModal__3nLAW .ant-input-number {\n height: 40px;\n border-radius: 6px;\n display: flex;\n align-items: center;\n}\n.productMaterials-module_uploadModal__3nLAW .ant-input-number-input {\n height: 38px;\n}\n/* 品牌 Select:选中项含图片+文字,需 flex 居中覆盖 line-height */\n.productMaterials-module_brandSelect__zin5R .ant-select-selector {\n display: flex !important;\n align-items: center !important;\n}\n.productMaterials-module_brandSelect__zin5R .ant-select-selection-item {\n display: flex !important;\n align-items: center !important;\n line-height: normal !important;\n height: 100%;\n}\n/* ── 自定义 Modal ── */\n.productMaterials-module_customModal__1k8sq {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n padding-top: 100px;\n opacity: 0;\n transition: opacity 0.2s ease;\n}\n.productMaterials-module_customModal__1k8sq.productMaterials-module_customModalCentered__1jRYQ {\n align-items: center;\n padding-top: 0;\n}\n.productMaterials-module_customModalOpen__FJ0np {\n opacity: 1;\n}\n.productMaterials-module_customModalOpen__FJ0np .productMaterials-module_customModalMask__3ZIG4 {\n opacity: 1;\n}\n.productMaterials-module_customModalOpen__FJ0np .productMaterials-module_customModalContent__1_YKi {\n opacity: 1;\n transform: translateY(0);\n}\n.productMaterials-module_customModalClosing__20vw3 {\n opacity: 0;\n}\n.productMaterials-module_customModalClosing__20vw3 .productMaterials-module_customModalMask__3ZIG4 {\n opacity: 0;\n}\n.productMaterials-module_customModalClosing__20vw3 .productMaterials-module_customModalContent__1_YKi {\n opacity: 0;\n transform: translateY(-8px);\n}\n.productMaterials-module_customModalMask__3ZIG4 {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.45);\n z-index: 0;\n opacity: 0;\n transition: opacity 0.2s ease;\n}\n.productMaterials-module_customModalContent__1_YKi {\n position: relative;\n z-index: 1;\n background: #fff;\n border-radius: 8px;\n box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n display: flex;\n flex-direction: column;\n max-height: calc(100vh - 80px);\n opacity: 0;\n transform: translateY(-8px);\n transition: opacity 0.2s ease, transform 0.2s ease;\n}\n.productMaterials-module_customModalHeader__3IgW8 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 24px;\n border-bottom: 1px solid #f0f0f0;\n flex-shrink: 0;\n}\n.productMaterials-module_customModalTitle__3qToJ {\n font-size: 16px;\n font-weight: 600;\n color: rgba(0, 0, 0, 0.88);\n}\n.productMaterials-module_customModalClose__S12yZ {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border-radius: 4px;\n font-size: 16px;\n color: rgba(0, 0, 0, 0.45);\n transition: all 0.15s;\n line-height: 1;\n}\n.productMaterials-module_customModalClose__S12yZ:hover {\n color: rgba(0, 0, 0, 0.88);\n background: rgba(0, 0, 0, 0.06);\n}\n.productMaterials-module_customModalBody__13ZOO {\n padding: 16px 24px 16px 14px;\n flex: 1;\n overflow-y: auto;\n word-break: break-word;\n}\n.productMaterials-module_customModalFooter__2CQnY {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n padding: 12px 24px;\n border-top: 1px solid #f0f0f0;\n flex-shrink: 0;\n}\n";
68646
69504
  var styles$w = {"wrap":"productMaterials-module_wrap__3jwSZ","pageHeader":"productMaterials-module_pageHeader__2GzkJ","pageTitle":"productMaterials-module_pageTitle__26FZk","pageSubtitle":"productMaterials-module_pageSubtitle__wlmsJ","headerActions":"productMaterials-module_headerActions__1LtVX","btnDark":"productMaterials-module_btnDark__3mqus","mainLayout":"productMaterials-module_mainLayout__3o3Pb","panelTitle":"productMaterials-module_panelTitle__1PQYC","categoryPanel":"productMaterials-module_categoryPanel__2i86D","categoryItem":"productMaterials-module_categoryItem__3Np4N","categoryItemActive":"productMaterials-module_categoryItemActive__1ZypV","categoryItemChild":"productMaterials-module_categoryItemChild__1iM6M","categoryItemIcon":"productMaterials-module_categoryItemIcon__12en-","categoryItemName":"productMaterials-module_categoryItemName__3mIUZ","categoryItemCount":"productMaterials-module_categoryItemCount__1Um7B","subCategoryList":"productMaterials-module_subCategoryList__1wzkG","subCategoryItem":"productMaterials-module_subCategoryItem__3SM6F","subCategoryName":"productMaterials-module_subCategoryName__30Hnv","brandPanel":"productMaterials-module_brandPanel__3x94D","brandFilterList":"productMaterials-module_brandFilterList__3IGV-","brandFilterItem":"productMaterials-module_brandFilterItem__3Wb21","brandFilterItemActive":"productMaterials-module_brandFilterItemActive__2aFqO","brandFilterLogo":"productMaterials-module_brandFilterLogo__3i4Z0","brandFilterLogoPlaceholder":"productMaterials-module_brandFilterLogoPlaceholder__2Zyqx","brandFilterName":"productMaterials-module_brandFilterName__3RNVU","materialPanel":"productMaterials-module_materialPanel__3qXkn","materialPanelHeader":"productMaterials-module_materialPanelHeader__2leEw","sortDisplay":"productMaterials-module_sortDisplay__2_ZBP","sortLabel":"productMaterials-module_sortLabel__1-h61","sortValue":"productMaterials-module_sortValue__3ahlu","materialTabs":"productMaterials-module_materialTabs__2Job3","materialTabActive":"productMaterials-module_materialTabActive__3x4Y4","materialCount":"productMaterials-module_materialCount__1QIjj","materialGrid":"productMaterials-module_materialGrid__2fBse","materialCard":"productMaterials-module_materialCard__2wYyR","cardImgWrap":"productMaterials-module_cardImgWrap__VFzt9","cardImg":"productMaterials-module_cardImg__XIbLe","cardImgPlaceholder":"productMaterials-module_cardImgPlaceholder__2vrMa","cardModelPlaceholder":"productMaterials-module_cardModelPlaceholder__2qU55","cardModelExt":"productMaterials-module_cardModelExt__165zy","cardModelHint":"productMaterials-module_cardModelHint__2qJEZ","cardMoreIcon":"productMaterials-module_cardMoreIcon__1lHfo","moreIcon":"productMaterials-module_moreIcon__29nnC","cardInfo":"productMaterials-module_cardInfo__21RwX","cardName":"productMaterials-module_cardName__38hFB","cardSub":"productMaterials-module_cardSub__1lQzN","cardMoreWrap":"productMaterials-module_cardMoreWrap__3rB9_","cardDropdown":"productMaterials-module_cardDropdown__2rRdj","cardDropdownItem":"productMaterials-module_cardDropdownItem__3bbe4","brandLogoImg":"productMaterials-module_brandLogoImg__2b7bX","brandLogoSm":"productMaterials-module_brandLogoSm__33_mg","brandLogoMd":"productMaterials-module_brandLogoMd__3wScP","brandLogoLg":"productMaterials-module_brandLogoLg__bFVwp","brandModal":"productMaterials-module_brandModal__1GZQK","brandModalInner":"productMaterials-module_brandModalInner__2sEc6","brandListPanel":"productMaterials-module_brandListPanel__10u5E","brandListHeader":"productMaterials-module_brandListHeader__1UvhS","brandListTitle":"productMaterials-module_brandListTitle__1Ivxk","brandListBody":"productMaterials-module_brandListBody__1iWdI","brandListItem":"productMaterials-module_brandListItem__2QVZL","brandListItemActive":"productMaterials-module_brandListItemActive__20sTG","brandListItemName":"productMaterials-module_brandListItemName__2rQYN","brandDetailPanel":"productMaterials-module_brandDetailPanel__3aG94","brandDetailTitle":"productMaterials-module_brandDetailTitle__2604W","brandDetailSubtitle":"productMaterials-module_brandDetailSubtitle__1fciS","brandFormRow":"productMaterials-module_brandFormRow__2igKh","brandFormLabel":"productMaterials-module_brandFormLabel__3d6TO","logoEditRow":"productMaterials-module_logoEditRow__3M061","myOptionDivider":"productMaterials-module_myOptionDivider__kSm9j","brandDetailFooter":"productMaterials-module_brandDetailFooter__1evwS","brandAvatar":"productMaterials-module_brandAvatar__2xrdy","sectionTitle":"productMaterials-module_sectionTitle__gEN6m","formRequiredMark":"productMaterials-module_formRequiredMark__1Vp8-","formRequiredMarkPlaceholder":"productMaterials-module_formRequiredMarkPlaceholder__X0q6e","formRow":"productMaterials-module_formRow__3Zswn","formRowLabel":"productMaterials-module_formRowLabel__3TF87","formRowField":"productMaterials-module_formRowField__1knJp","editLink":"productMaterials-module_editLink__2fr7f","uploadLink":"productMaterials-module_uploadLink__31icL","uploadProgress":"productMaterials-module_uploadProgress__3pOXj","uploadProgressBar":"productMaterials-module_uploadProgressBar__2kFwA","uploadProgressPct":"productMaterials-module_uploadProgressPct__3oUXa","uploadProgressText":"productMaterials-module_uploadProgressText__3dMNq","uploadSuccess":"productMaterials-module_uploadSuccess__27YQU","uploadedFileName":"productMaterials-module_uploadedFileName__2j6rw","uploadReplaceBtn":"productMaterials-module_uploadReplaceBtn__2hb4b","uploadFail":"productMaterials-module_uploadFail__1VUXi","uploadFailText":"productMaterials-module_uploadFailText__RXujm","modalFooter":"productMaterials-module_modalFooter__UQvZP","deleteConfirmText":"productMaterials-module_deleteConfirmText__1ickY","uploadModal":"productMaterials-module_uploadModal__3nLAW","newBrandModal":"productMaterials-module_newBrandModal__2x2Ug","deleteModal":"productMaterials-module_deleteModal__1JiEJ","newBrandFormRow":"productMaterials-module_newBrandFormRow__24e-t","newBrandFormLabel":"productMaterials-module_newBrandFormLabel__tmqHj","newBrandFormField":"productMaterials-module_newBrandFormField__pKQaX","newBrandUploadWrap":"productMaterials-module_newBrandUploadWrap__20SHw","newBrandUploadPlus":"productMaterials-module_newBrandUploadPlus__2JPf7","newBrandUploadText":"productMaterials-module_newBrandUploadText__yeXv9","newBrandLogoPreview":"productMaterials-module_newBrandLogoPreview__320Z8","newBrandCategoryRow":"productMaterials-module_newBrandCategoryRow__2-Ph1","newBrandSelect":"productMaterials-module_newBrandSelect__3Hgbu","newBrandInput":"productMaterials-module_newBrandInput__dMHCT","brandSelect":"productMaterials-module_brandSelect__zin5R","customModal":"productMaterials-module_customModal__1k8sq","customModalCentered":"productMaterials-module_customModalCentered__1jRYQ","customModalOpen":"productMaterials-module_customModalOpen__FJ0np","customModalMask":"productMaterials-module_customModalMask__3ZIG4","customModalContent":"productMaterials-module_customModalContent__1_YKi","customModalClosing":"productMaterials-module_customModalClosing__20vw3","customModalHeader":"productMaterials-module_customModalHeader__3IgW8","customModalTitle":"productMaterials-module_customModalTitle__3qToJ","customModalClose":"productMaterials-module_customModalClose__S12yZ","customModalBody":"productMaterials-module_customModalBody__13ZOO","customModalFooter":"productMaterials-module_customModalFooter__2CQnY"};
68647
69505
  styleInject(css_248z$y);
@@ -72586,6 +73444,12 @@
72586
73444
  },
72587
73445
  // 新版左侧菜单:材质素材
72588
73446
  {
73447
+ path: '/projectLibraryDetail',
73448
+ // 项目素材库配置新页面由同事实现,目前先接入占位路由。
73449
+ component: function component() {
73450
+ return ProjectLibraryDetail;
73451
+ }
73452
+ }, {
72589
73453
  path: '/productMaterialMapping',
72590
73454
  component: function component() {
72591
73455
  return ProductMaterialMapping;
@@ -75781,16 +76645,108 @@
75781
76645
  function _getDouGongSchemePage() {
75782
76646
  _getDouGongSchemePage = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
75783
76647
  var params,
76648
+ data,
76649
+ scoped,
76650
+ query,
76651
+ res,
76652
+ body,
76653
+ value,
76654
+ rows,
76655
+ pageNumber,
76656
+ next,
76657
+ nextBody,
76658
+ filtered,
75784
76659
  _args = arguments;
75785
76660
  return _regenerator().w(function (_context) {
75786
76661
  while (1) switch (_context.n) {
75787
76662
  case 0:
75788
76663
  params = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
75789
- return _context.a(2, http({
76664
+ {
76665
+ _context.n = 1;
76666
+ break;
76667
+ }
76668
+ case 1:
76669
+ data = {
76670
+ schemeId: params.schemeId || '',
76671
+ status: params.status == null ? null : params.status,
76672
+ name: params.name || '',
76673
+ pageNumber: params.pageNumber || 1,
76674
+ pageSize: params.pageSize || 20
76675
+ };
76676
+ scoped = !!(params.city || params.housingEstate); // 文档未提供城市/小区筛选字段;有筛选时读取全部匹配页,再筛选和分页。
76677
+ query = scoped ? _objectSpread2(_objectSpread2({}, data), {}, {
76678
+ pageNumber: 1,
76679
+ pageSize: 100
76680
+ }) : data;
76681
+ _context.n = 2;
76682
+ return http({
75790
76683
  url: '/vbim-decoration-server/dgScheme/page',
75791
76684
  method: 'post',
75792
- data: params
75793
- }));
76685
+ data: query
76686
+ });
76687
+ case 2:
76688
+ res = _context.v;
76689
+ body = res && res.data;
76690
+ if (!(!scoped || !body || Number(body.code) !== 200 || body.success === false)) {
76691
+ _context.n = 3;
76692
+ break;
76693
+ }
76694
+ return _context.a(2, res);
76695
+ case 3:
76696
+ value = body.value;
76697
+ if (!(!value || !Array.isArray(value.pageList))) {
76698
+ _context.n = 4;
76699
+ break;
76700
+ }
76701
+ throw new Error('方案列表格式异常');
76702
+ case 4:
76703
+ rows = value.pageList.slice();
76704
+ pageNumber = 2;
76705
+ case 5:
76706
+ if (!(pageNumber <= Number(value.totalPage))) {
76707
+ _context.n = 10;
76708
+ break;
76709
+ }
76710
+ _context.n = 6;
76711
+ return http({
76712
+ url: '/vbim-decoration-server/dgScheme/page',
76713
+ method: 'post',
76714
+ data: _objectSpread2(_objectSpread2({}, query), {}, {
76715
+ pageNumber: pageNumber
76716
+ })
76717
+ });
76718
+ case 6:
76719
+ next = _context.v;
76720
+ nextBody = next && next.data;
76721
+ if (!(!nextBody || Number(nextBody.code) !== 200 || nextBody.success === false)) {
76722
+ _context.n = 7;
76723
+ break;
76724
+ }
76725
+ throw new Error(nextBody && nextBody.message || '方案列表加载失败');
76726
+ case 7:
76727
+ if (!(!nextBody.value || !Array.isArray(nextBody.value.pageList))) {
76728
+ _context.n = 8;
76729
+ break;
76730
+ }
76731
+ throw new Error('方案列表格式异常');
76732
+ case 8:
76733
+ rows.push.apply(rows, _toConsumableArray(nextBody.value.pageList));
76734
+ case 9:
76735
+ pageNumber += 1;
76736
+ _context.n = 5;
76737
+ break;
76738
+ case 10:
76739
+ filtered = rows.filter(function (item) {
76740
+ return (!params.city || (item.city || '未配置') === params.city) && (!params.housingEstate || item.housingEstate === params.housingEstate);
76741
+ });
76742
+ body.value = _objectSpread2(_objectSpread2({}, value), {}, {
76743
+ pageNumber: data.pageNumber,
76744
+ pageSize: data.pageSize,
76745
+ totalSize: filtered.length,
76746
+ totalPage: Math.ceil(filtered.length / data.pageSize),
76747
+ pageList: filtered.slice((data.pageNumber - 1) * data.pageSize, data.pageNumber * data.pageSize)
76748
+ });
76749
+ return _context.a(2, res);
75794
76750
  }
75795
76751
  }, _callee);
75796
76752
  }));
@@ -75802,16 +76758,51 @@
75802
76758
  function _getDouGongSchemeDetail() {
75803
76759
  _getDouGongSchemeDetail = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
75804
76760
  var params,
76761
+ res,
76762
+ body,
76763
+ categories,
76764
+ combinations,
76765
+ defaultCombination,
76766
+ defaults,
75805
76767
  _args2 = arguments;
75806
76768
  return _regenerator().w(function (_context2) {
75807
76769
  while (1) switch (_context2.n) {
75808
76770
  case 0:
75809
76771
  params = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {};
75810
- return _context2.a(2, http({
76772
+ {
76773
+ _context2.n = 1;
76774
+ break;
76775
+ }
76776
+ case 1:
76777
+ _context2.n = 2;
76778
+ return http({
75811
76779
  url: '/vbim-decoration-server/dgScheme/detail',
75812
76780
  method: 'post',
75813
76781
  data: params
75814
- }));
76782
+ });
76783
+ case 2:
76784
+ res = _context2.v;
76785
+ body = res && res.data;
76786
+ if (!(body && Number(body.code) === 200 && body.success !== false && body.value)) {
76787
+ _context2.n = 4;
76788
+ break;
76789
+ }
76790
+ _context2.n = 3;
76791
+ return listSchemeCombinationCategories(params.schemeId);
76792
+ case 3:
76793
+ categories = _context2.v;
76794
+ combinations = body.value.combinationList || [];
76795
+ defaultCombination = combinations.find(function (item) {
76796
+ return Number(item.defaultFlag) === 0;
76797
+ });
76798
+ defaults = defaultCombination && defaultCombination.components || body.value.components || [];
76799
+ body.value.components = categories.map(function (category) {
76800
+ return _objectSpread2(_objectSpread2({}, category), defaults.find(function (item) {
76801
+ return String(item.classify3Id) === String(category.classify3Id);
76802
+ }) || {});
76803
+ });
76804
+ case 4:
76805
+ return _context2.a(2, res);
75815
76806
  }
75816
76807
  }, _callee2);
75817
76808
  }));
@@ -76066,6 +77057,7 @@
76066
77057
  var INITIAL_DOUGONG_SCHEMES = [];
76067
77058
  var INITIAL_MY_SCHEMES = [];
76068
77059
  var douGongDetailRequestSeed = 0;
77060
+ var douGongListRequestSeed = 0;
76069
77061
  var mySchemeListRequestSeed = 0;
76070
77062
  var douGongDrawingListRequestKeys = {};
76071
77063
 
@@ -76191,11 +77183,13 @@
76191
77183
  return isMaterialItem ? [value] : [];
76192
77184
  }
76193
77185
  function normalizeDouGongStatus(status) {
77186
+ if (['synced', 'pending', 'failed', 'loaded', 'waitingSync', 'syncFailed', 'missingDefault'].includes(status)) return status;
76194
77187
  var map = {
77188
+ 0: 'waitingSync',
76195
77189
  1: 'synced',
76196
77190
  2: 'pending',
76197
- 3: 'failed',
76198
- 4: 'missingDefault'
77191
+ 3: 'loaded',
77192
+ 4: 'failed'
76199
77193
  };
76200
77194
  return map[Number(status)] || 'pending';
76201
77195
  }
@@ -76295,10 +77289,17 @@
76295
77289
  tag = modelAssets ? '默认模型' : '默认材质';
76296
77290
  tagType = 'default';
76297
77291
  }
77292
+ var material = component.material || component.defaultMaterial || {};
76298
77293
  return {
77294
+ classify1Id: component.classify1Id,
77295
+ classify2Id: component.classify2Id,
77296
+ classify1Name: component.classify1Name,
77297
+ classify2Name: component.classify2Name,
76299
77298
  id: component.classify3Id,
76300
77299
  name: component.classify3Name || '--',
76301
- assetsType: component.assetsType || component.assetType || '',
77300
+ assetsType: component.assetsType || component.assetType || material.assetsType || material.type || '',
77301
+ materialName: component.materialName || component.assetsName || material.name || '',
77302
+ materialId: component.materialId || component.assetsId || material.id || '',
76302
77303
  hasDefaultAssets: hasDefaultAssets,
76303
77304
  hasReplacement: hasReplacement,
76304
77305
  tag: tag,
@@ -76317,7 +77318,7 @@
76317
77318
  };
76318
77319
  });
76319
77320
  var community = item.housingEstate || '';
76320
- var schemeId = item.schemeId || String(item.id || '');
77321
+ var schemeId = String(item.schemeId || item.id || '');
76321
77322
  var name = getDouGongSchemeName(item, item.schemeName, schemeId);
76322
77323
  var missingReplacementInfo = getMissingReplacementInfo(item);
76323
77324
  return _objectSpread2(_objectSpread2({
@@ -76327,6 +77328,7 @@
76327
77328
  templateId: item.templateId || item.schemeTemplateId || schemeId,
76328
77329
  name: name,
76329
77330
  version: item.version || item.schemeVersion || item.templateVersion || '--',
77331
+ projectLibraryName: item.projectLibraryName,
76330
77332
  city: item.city || '',
76331
77333
  community: community,
76332
77334
  houseType: item.houseType || '--',
@@ -76355,7 +77357,7 @@
76355
77357
  function normalizeRoomStatus(status) {
76356
77358
  return Number(status) === 1 ? 'ready' : 'pending';
76357
77359
  }
76358
- function unwrapApiData$1(res, fallbackMessage) {
77360
+ function unwrapApiData(res, fallbackMessage) {
76359
77361
  var data = res && res.data;
76360
77362
  if (!data || Number(data.code) !== 200 || data.success === false) {
76361
77363
  throw new Error(data && data.message || fallbackMessage);
@@ -76703,10 +77705,11 @@
76703
77705
  call = _ref2.call,
76704
77706
  select = _ref2.select;
76705
77707
  return /*#__PURE__*/_regenerator().m(function _callee() {
76706
- var _yield$select, douGongPagination, condition, conditionIsSchemeId, res, data, value, _t;
77708
+ var requestKey, _yield$select, douGongPagination, condition, conditionIsSchemeId, res, data, value, _t;
76707
77709
  return _regenerator().w(function (_context) {
76708
77710
  while (1) switch (_context.p = _context.n) {
76709
77711
  case 0:
77712
+ requestKey = ++douGongListRequestSeed;
76710
77713
  _context.n = 1;
76711
77714
  return select(function (state) {
76712
77715
  return state.schemeWorkbench;
@@ -76730,6 +77733,8 @@
76730
77733
  return call(getDouGongSchemePage, {
76731
77734
  schemeId: payload.schemeId || (conditionIsSchemeId ? condition : undefined),
76732
77735
  status: payload.status == null ? undefined : payload.status,
77736
+ city: payload.city,
77737
+ housingEstate: payload.housingEstate,
76733
77738
  name: payload.name || (!conditionIsSchemeId && condition ? condition : undefined),
76734
77739
  pageNumber: payload.pageNumber || payload.pageNo || 1,
76735
77740
  pageSize: payload.pageSize || douGongPagination.pageSize || 20
@@ -76737,14 +77742,20 @@
76737
77742
  case 3:
76738
77743
  res = _context.v;
76739
77744
  data = res === null || res === void 0 ? void 0 : res.data;
76740
- if (!((data === null || data === void 0 ? void 0 : data.code) !== 200 || (data === null || data === void 0 ? void 0 : data.success) === false)) {
77745
+ if (!(requestKey !== douGongListRequestSeed)) {
76741
77746
  _context.n = 4;
76742
77747
  break;
76743
77748
  }
76744
- throw new Error((data === null || data === void 0 ? void 0 : data.message) || '获取斗拱方案列表失败');
77749
+ return _context.a(2, data);
76745
77750
  case 4:
77751
+ if (!((data === null || data === void 0 ? void 0 : data.code) !== 200 || (data === null || data === void 0 ? void 0 : data.success) === false)) {
77752
+ _context.n = 5;
77753
+ break;
77754
+ }
77755
+ throw new Error((data === null || data === void 0 ? void 0 : data.message) || '获取斗拱方案列表失败');
77756
+ case 5:
76746
77757
  value = (data === null || data === void 0 ? void 0 : data.value) || {};
76747
- _context.n = 5;
77758
+ _context.n = 6;
76748
77759
  return put({
76749
77760
  type: 'updateState',
76750
77761
  payload: {
@@ -76759,12 +77770,18 @@
76759
77770
  douGongError: ''
76760
77771
  }
76761
77772
  });
76762
- case 5:
76763
- return _context.a(2, data);
76764
77773
  case 6:
76765
- _context.p = 6;
77774
+ return _context.a(2, data);
77775
+ case 7:
77776
+ _context.p = 7;
76766
77777
  _t = _context.v;
76767
- _context.n = 7;
77778
+ if (!(requestKey !== douGongListRequestSeed)) {
77779
+ _context.n = 8;
77780
+ break;
77781
+ }
77782
+ return _context.a(2);
77783
+ case 8:
77784
+ _context.n = 9;
76768
77785
  return put({
76769
77786
  type: 'updateState',
76770
77787
  payload: {
@@ -76772,10 +77789,10 @@
76772
77789
  douGongError: _t.message || '获取斗拱方案列表失败'
76773
77790
  }
76774
77791
  });
76775
- case 7:
77792
+ case 9:
76776
77793
  return _context.a(2);
76777
77794
  }
76778
- }, _callee, null, [[2, 6]]);
77795
+ }, _callee, null, [[2, 7]]);
76779
77796
  })();
76780
77797
  },
76781
77798
  fetchDouGongSchemeDetail: function fetchDouGongSchemeDetail(_ref3, _ref4) {
@@ -76821,7 +77838,7 @@
76821
77838
  });
76822
77839
  case 5:
76823
77840
  listRes = _context2.v;
76824
- listData = unwrapApiData$1(listRes, '获取斗拱方案图纸失败');
77841
+ listData = unwrapApiData(listRes, '获取斗拱方案图纸失败');
76825
77842
  if (isLatestDouGongDrawingListRequest(payload.schemeId, listRequestKey)) {
76826
77843
  drawingPatch = _objectSpread2(_objectSpread2({}, normalizeDrawings(listData.value)), {}, {
76827
77844
  drawingsError: ''
@@ -76897,7 +77914,7 @@
76897
77914
  });
76898
77915
  case 3:
76899
77916
  res = _context3.v;
76900
- data = unwrapApiData$1(res, '获取斗拱方案图纸失败');
77917
+ data = unwrapApiData(res, '获取斗拱方案图纸失败');
76901
77918
  if (isLatestDouGongDrawingListRequest(schemeId, requestKey)) {
76902
77919
  _context3.n = 4;
76903
77920
  break;
@@ -77022,7 +78039,7 @@
77022
78039
  });
77023
78040
  case 5:
77024
78041
  res = _context4.v;
77025
- unwrapApiData$1(res, retry ? '图纸重新解析失败' : '图纸发起解析失败');
78042
+ unwrapApiData(res, retry ? '图纸重新解析失败' : '图纸发起解析失败');
77026
78043
  _context4.n = 6;
77027
78044
  return put({
77028
78045
  type: 'fetchDouGongDrawings',
@@ -79241,118 +80258,6 @@
79241
80258
  }
79242
80259
  };
79243
80260
 
79244
- function saveProjectMaterialLibrary(_x) {
79245
- return _saveProjectMaterialLibrary.apply(this, arguments);
79246
- }
79247
- function _saveProjectMaterialLibrary() {
79248
- _saveProjectMaterialLibrary = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(params) {
79249
- return _regenerator().w(function (_context) {
79250
- while (1) switch (_context.n) {
79251
- case 0:
79252
- return _context.a(2, http({
79253
- url: '/vbim-decoration-server/projectAssert/save',
79254
- method: 'post',
79255
- data: params
79256
- }));
79257
- }
79258
- }, _callee);
79259
- }));
79260
- return _saveProjectMaterialLibrary.apply(this, arguments);
79261
- }
79262
- function getProjectMaterialLibraries(_x2) {
79263
- return _getProjectMaterialLibraries.apply(this, arguments);
79264
- }
79265
- function _getProjectMaterialLibraries() {
79266
- _getProjectMaterialLibraries = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(params) {
79267
- return _regenerator().w(function (_context2) {
79268
- while (1) switch (_context2.n) {
79269
- case 0:
79270
- return _context2.a(2, http({
79271
- url: '/vbim-decoration-server/projectAssert/page',
79272
- method: 'post',
79273
- data: params
79274
- }));
79275
- }
79276
- }, _callee2);
79277
- }));
79278
- return _getProjectMaterialLibraries.apply(this, arguments);
79279
- }
79280
- function getEnabledSkus(_x3) {
79281
- return _getEnabledSkus.apply(this, arguments);
79282
- }
79283
- function _getEnabledSkus() {
79284
- _getEnabledSkus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(params) {
79285
- return _regenerator().w(function (_context3) {
79286
- while (1) switch (_context3.n) {
79287
- case 0:
79288
- return _context3.a(2, http({
79289
- url: '/vbim-decoration-server/goodMaterialMap/pageEnabledSku',
79290
- method: 'post',
79291
- data: params
79292
- }));
79293
- }
79294
- }, _callee3);
79295
- }));
79296
- return _getEnabledSkus.apply(this, arguments);
79297
- }
79298
- function getEnabledLevel3List() {
79299
- return _getEnabledLevel3List.apply(this, arguments);
79300
- }
79301
- function _getEnabledLevel3List() {
79302
- _getEnabledLevel3List = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
79303
- return _regenerator().w(function (_context4) {
79304
- while (1) switch (_context4.n) {
79305
- case 0:
79306
- return _context4.a(2, http({
79307
- url: '/vbim-decoration-server/materialClassify/queryEnabledLevel3List',
79308
- method: 'post'
79309
- }));
79310
- }
79311
- }, _callee4);
79312
- }));
79313
- return _getEnabledLevel3List.apply(this, arguments);
79314
- }
79315
- function saveProjectMaterialSkus(_x4) {
79316
- return _saveProjectMaterialSkus.apply(this, arguments);
79317
- }
79318
- function _saveProjectMaterialSkus() {
79319
- _saveProjectMaterialSkus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(params) {
79320
- return _regenerator().w(function (_context5) {
79321
- while (1) switch (_context5.n) {
79322
- case 0:
79323
- return _context5.a(2, http({
79324
- url: '/vbim-decoration-server/projectAssert/addSku',
79325
- method: 'post',
79326
- data: params
79327
- }));
79328
- }
79329
- }, _callee5);
79330
- }));
79331
- return _saveProjectMaterialSkus.apply(this, arguments);
79332
- }
79333
- function getProjectMaterialSkuIds(_x5) {
79334
- return _getProjectMaterialSkuIds.apply(this, arguments);
79335
- }
79336
- function _getProjectMaterialSkuIds() {
79337
- _getProjectMaterialSkuIds = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(params) {
79338
- return _regenerator().w(function (_context6) {
79339
- while (1) switch (_context6.n) {
79340
- case 0:
79341
- return _context6.a(2, http({
79342
- url: '/vbim-decoration-server/projectAssert/listSku',
79343
- method: 'post',
79344
- data: params,
79345
- // 已选实体 ID 在数组内,补充现有 axios 对大数字 ID 字段的精度保护。
79346
- transformResponse: [function (data) {
79347
- return typeof data === 'string' ? JSON.parse(data.replace(/([\[:,])\s*(\d{16,})(?=\s*[,}\]])/g, '$1"$2"')) : data;
79348
- }]
79349
- }));
79350
- }
79351
- }, _callee6);
79352
- }));
79353
- return _getProjectMaterialSkuIds.apply(this, arguments);
79354
- }
79355
-
79356
80261
  var projectMaterialLibraryModel = {
79357
80262
  namespace: 'projectMaterialLibrary',
79358
80263
  state: {
@@ -79367,79 +80272,60 @@
79367
80272
  },
79368
80273
  subscriptions: {},
79369
80274
  effects: {
79370
- fetchLibraries: [function (_ref, _ref2) {
79371
- var payload = _ref.payload;
79372
- var call = _ref2.call,
79373
- put = _ref2.put;
80275
+ fetchLibrary: function fetchLibrary(_ref, _ref2) {
80276
+ var libraryId = _ref.payload;
80277
+ var call = _ref2.call;
79374
80278
  return /*#__PURE__*/_regenerator().m(function _callee() {
79375
- var res, _res$data$value, pageList, totalSize, pageSize, _t;
80279
+ var res, body, library, _t;
79376
80280
  return _regenerator().w(function (_context) {
79377
80281
  while (1) switch (_context.p = _context.n) {
79378
80282
  case 0:
80283
+ _context.p = 0;
79379
80284
  _context.n = 1;
79380
- return put({
79381
- type: 'updateState',
79382
- payload: {
79383
- libraries: [],
79384
- listError: ''
79385
- }
79386
- });
80285
+ return call(listProjectMaterialLibraries);
79387
80286
  case 1:
79388
- _context.p = 1;
79389
- _context.n = 2;
79390
- return call(getProjectMaterialLibraries, payload);
79391
- case 2:
79392
80287
  res = _context.v;
79393
- if (res.data.success) {
79394
- _context.n = 4;
80288
+ body = res && res.data;
80289
+ if (!(!body || Number(body.code) !== 200 || body.success === false)) {
80290
+ _context.n = 2;
79395
80291
  break;
79396
80292
  }
79397
- _context.n = 3;
79398
- return put({
79399
- type: 'updateState',
79400
- payload: {
79401
- listError: res.data.message || '项目素材库加载失败。'
79402
- }
80293
+ return _context.a(2, {
80294
+ error: body && body.message || '项目素材库加载失败。'
80295
+ });
80296
+ case 2:
80297
+ if (Array.isArray(body.value)) {
80298
+ _context.n = 3;
80299
+ break;
80300
+ }
80301
+ return _context.a(2, {
80302
+ error: '项目素材库列表格式异常。'
79403
80303
  });
79404
80304
  case 3:
79405
- return _context.a(2, _context.v);
79406
- case 4:
79407
- _res$data$value = res.data.value, pageList = _res$data$value.pageList, totalSize = _res$data$value.totalSize, pageSize = _res$data$value.pageSize;
79408
- _context.n = 5;
79409
- return put({
79410
- type: 'updateState',
79411
- payload: {
79412
- libraries: pageList,
79413
- total: totalSize,
79414
- pageSize: pageSize
79415
- }
80305
+ library = body.value.find(function (item) {
80306
+ return String(item.id) === String(libraryId);
79416
80307
  });
79417
- case 5:
79418
- _context.n = 7;
79419
- break;
79420
- case 6:
79421
- _context.p = 6;
80308
+ return _context.a(2, library ? {
80309
+ library: library
80310
+ } : {
80311
+ error: '指定的项目素材库不存在或已删除。'
80312
+ });
80313
+ case 4:
80314
+ _context.p = 4;
79422
80315
  _t = _context.v;
79423
- _context.n = 7;
79424
- return put({
79425
- type: 'updateState',
79426
- payload: {
79427
- listError: _t.message || '项目素材库加载失败。'
79428
- }
80316
+ return _context.a(2, {
80317
+ error: _t.message || '项目素材库加载失败。'
79429
80318
  });
79430
- case 7:
79431
- return _context.a(2);
79432
80319
  }
79433
- }, _callee, null, [[1, 6]]);
80320
+ }, _callee, null, [[0, 4]]);
79434
80321
  })();
79435
- }, {
79436
- type: 'takeLatest'
79437
- }],
79438
- fetchBrands: function fetchBrands(_, _ref3) {
79439
- var call = _ref3.call,
79440
- put = _ref3.put;
80322
+ },
80323
+ fetchLibraries: [function (_ref3, _ref4) {
80324
+ var payload = _ref3.payload;
80325
+ var call = _ref4.call,
80326
+ put = _ref4.put;
79441
80327
  return /*#__PURE__*/_regenerator().m(function _callee2() {
79442
- var res, _t2;
80328
+ var res, _res$data$value, pageList, totalSize, pageSize, _t2;
79443
80329
  return _regenerator().w(function (_context2) {
79444
80330
  while (1) switch (_context2.p = _context2.n) {
79445
80331
  case 0:
@@ -79447,13 +80333,14 @@
79447
80333
  return put({
79448
80334
  type: 'updateState',
79449
80335
  payload: {
79450
- brandError: ''
80336
+ libraries: [],
80337
+ listError: ''
79451
80338
  }
79452
80339
  });
79453
80340
  case 1:
79454
80341
  _context2.p = 1;
79455
80342
  _context2.n = 2;
79456
- return call(getBrandList, {});
80343
+ return call(getProjectMaterialLibraries, payload);
79457
80344
  case 2:
79458
80345
  res = _context2.v;
79459
80346
  if (res.data.success) {
@@ -79464,18 +80351,20 @@
79464
80351
  return put({
79465
80352
  type: 'updateState',
79466
80353
  payload: {
79467
- brandError: res.data.message || '品牌列表加载失败。'
80354
+ listError: res.data.message || '项目素材库加载失败。'
79468
80355
  }
79469
80356
  });
79470
80357
  case 3:
79471
80358
  return _context2.a(2, _context2.v);
79472
80359
  case 4:
80360
+ _res$data$value = res.data.value, pageList = _res$data$value.pageList, totalSize = _res$data$value.totalSize, pageSize = _res$data$value.pageSize;
79473
80361
  _context2.n = 5;
79474
80362
  return put({
79475
80363
  type: 'updateState',
79476
80364
  payload: {
79477
- brandList: res.data.value || [],
79478
- brandError: ''
80365
+ libraries: pageList,
80366
+ total: totalSize,
80367
+ pageSize: pageSize
79479
80368
  }
79480
80369
  });
79481
80370
  case 5:
@@ -79488,7 +80377,7 @@
79488
80377
  return put({
79489
80378
  type: 'updateState',
79490
80379
  payload: {
79491
- brandError: _t2.message || '品牌列表加载失败。'
80380
+ listError: _t2.message || '项目素材库加载失败。'
79492
80381
  }
79493
80382
  });
79494
80383
  case 7:
@@ -79496,10 +80385,12 @@
79496
80385
  }
79497
80386
  }, _callee2, null, [[1, 6]]);
79498
80387
  })();
79499
- },
79500
- fetchClassify3List: function fetchClassify3List(_, _ref4) {
79501
- var call = _ref4.call,
79502
- put = _ref4.put;
80388
+ }, {
80389
+ type: 'takeLatest'
80390
+ }],
80391
+ fetchBrands: function fetchBrands(_, _ref5) {
80392
+ var call = _ref5.call,
80393
+ put = _ref5.put;
79503
80394
  return /*#__PURE__*/_regenerator().m(function _callee3() {
79504
80395
  var res, _t3;
79505
80396
  return _regenerator().w(function (_context3) {
@@ -79509,13 +80400,13 @@
79509
80400
  return put({
79510
80401
  type: 'updateState',
79511
80402
  payload: {
79512
- classify3Error: ''
80403
+ brandError: ''
79513
80404
  }
79514
80405
  });
79515
80406
  case 1:
79516
80407
  _context3.p = 1;
79517
80408
  _context3.n = 2;
79518
- return call(getEnabledLevel3List);
80409
+ return call(getBrandList, {});
79519
80410
  case 2:
79520
80411
  res = _context3.v;
79521
80412
  if (res.data.success) {
@@ -79526,7 +80417,7 @@
79526
80417
  return put({
79527
80418
  type: 'updateState',
79528
80419
  payload: {
79529
- classify3Error: res.data.message || '三级分类加载失败。'
80420
+ brandError: res.data.message || '品牌列表加载失败。'
79530
80421
  }
79531
80422
  });
79532
80423
  case 3:
@@ -79536,8 +80427,8 @@
79536
80427
  return put({
79537
80428
  type: 'updateState',
79538
80429
  payload: {
79539
- classify3List: res.data.value || [],
79540
- classify3Error: ''
80430
+ brandList: res.data.value || [],
80431
+ brandError: ''
79541
80432
  }
79542
80433
  });
79543
80434
  case 5:
@@ -79550,7 +80441,7 @@
79550
80441
  return put({
79551
80442
  type: 'updateState',
79552
80443
  payload: {
79553
- classify3Error: _t3.message || '三级分类加载失败。'
80444
+ brandError: _t3.message || '品牌列表加载失败。'
79554
80445
  }
79555
80446
  });
79556
80447
  case 7:
@@ -79559,36 +80450,70 @@
79559
80450
  }, _callee3, null, [[1, 6]]);
79560
80451
  })();
79561
80452
  },
79562
- fetchSkus: function fetchSkus(_ref5, _ref6) {
79563
- var payload = _ref5.payload;
79564
- var call = _ref6.call;
80453
+ fetchClassify3List: function fetchClassify3List(_, _ref6) {
80454
+ var call = _ref6.call,
80455
+ put = _ref6.put;
79565
80456
  return /*#__PURE__*/_regenerator().m(function _callee4() {
79566
80457
  var res, _t4;
79567
80458
  return _regenerator().w(function (_context4) {
79568
80459
  while (1) switch (_context4.p = _context4.n) {
79569
80460
  case 0:
79570
- _context4.p = 0;
79571
80461
  _context4.n = 1;
79572
- return call(getEnabledSkus, payload);
80462
+ return put({
80463
+ type: 'updateState',
80464
+ payload: {
80465
+ classify3Error: ''
80466
+ }
80467
+ });
79573
80468
  case 1:
80469
+ _context4.p = 1;
80470
+ _context4.n = 2;
80471
+ return call(getEnabledLevel3List);
80472
+ case 2:
79574
80473
  res = _context4.v;
79575
- return _context4.a(2, res.data.success ? {
79576
- page: res.data.value
79577
- } : {
79578
- error: res.data.message || '商品 SKU 加载失败。'
80474
+ if (res.data.success) {
80475
+ _context4.n = 4;
80476
+ break;
80477
+ }
80478
+ _context4.n = 3;
80479
+ return put({
80480
+ type: 'updateState',
80481
+ payload: {
80482
+ classify3Error: res.data.message || '三级分类加载失败。'
80483
+ }
79579
80484
  });
79580
- case 2:
79581
- _context4.p = 2;
80485
+ case 3:
80486
+ return _context4.a(2, _context4.v);
80487
+ case 4:
80488
+ _context4.n = 5;
80489
+ return put({
80490
+ type: 'updateState',
80491
+ payload: {
80492
+ classify3List: res.data.value || [],
80493
+ classify3Error: ''
80494
+ }
80495
+ });
80496
+ case 5:
80497
+ _context4.n = 7;
80498
+ break;
80499
+ case 6:
80500
+ _context4.p = 6;
79582
80501
  _t4 = _context4.v;
79583
- return _context4.a(2, {
79584
- error: _t4.message || '商品 SKU 加载失败。'
80502
+ _context4.n = 7;
80503
+ return put({
80504
+ type: 'updateState',
80505
+ payload: {
80506
+ classify3Error: _t4.message || '三级分类加载失败。'
80507
+ }
79585
80508
  });
80509
+ case 7:
80510
+ return _context4.a(2);
79586
80511
  }
79587
- }, _callee4, null, [[0, 2]]);
80512
+ }, _callee4, null, [[1, 6]]);
79588
80513
  })();
79589
80514
  },
79590
- fetchSelection: function fetchSelection(_ref7, _ref8) {
79591
- var assertId = _ref7.payload;
80515
+ fetchSkus: function fetchSkus(_ref7, _ref8) {
80516
+ var payload = _ref7.payload;
79592
80517
  var call = _ref8.call;
79593
80518
  return /*#__PURE__*/_regenerator().m(function _callee5() {
79594
80519
  var res, _t5;
@@ -79597,51 +80522,79 @@
79597
80522
  case 0:
79598
80523
  _context5.p = 0;
79599
80524
  _context5.n = 1;
79600
- return call(getProjectMaterialSkuIds, {
79601
- assertId: assertId
79602
- });
80525
+ return call(getEnabledSkus, payload);
79603
80526
  case 1:
79604
80527
  res = _context5.v;
79605
80528
  return _context5.a(2, res.data.success ? {
79606
- skuIds: res.data.value.map(String)
80529
+ page: res.data.value
79607
80530
  } : {
79608
- error: res.data.message || '已选 SKU 加载失败,请返回重试。'
80531
+ error: res.data.message || '商品 SKU 加载失败。'
79609
80532
  });
79610
80533
  case 2:
79611
80534
  _context5.p = 2;
79612
80535
  _t5 = _context5.v;
79613
80536
  return _context5.a(2, {
79614
- error: _t5.message || '已选 SKU 加载失败,请返回重试。'
80537
+ error: _t5.message || '商品 SKU 加载失败。'
79615
80538
  });
79616
80539
  }
79617
80540
  }, _callee5, null, [[0, 2]]);
79618
80541
  })();
79619
80542
  },
79620
- createLibrary: function createLibrary(_ref9, _ref0) {
79621
- var name = _ref9.payload;
80543
+ fetchSelection: function fetchSelection(_ref9, _ref0) {
80544
+ var assertId = _ref9.payload;
79622
80545
  var call = _ref0.call;
79623
80546
  return /*#__PURE__*/_regenerator().m(function _callee6() {
79624
- var trimmedName, res, _t6;
80547
+ var res, _t6;
79625
80548
  return _regenerator().w(function (_context6) {
79626
80549
  while (1) switch (_context6.p = _context6.n) {
80550
+ case 0:
80551
+ _context6.p = 0;
80552
+ _context6.n = 1;
80553
+ return call(getProjectMaterialSkuIds, {
80554
+ assertId: assertId
80555
+ });
80556
+ case 1:
80557
+ res = _context6.v;
80558
+ return _context6.a(2, res.data.success ? {
80559
+ skuIds: res.data.value.map(String)
80560
+ } : {
80561
+ error: res.data.message || '已选 SKU 加载失败,请返回重试。'
80562
+ });
80563
+ case 2:
80564
+ _context6.p = 2;
80565
+ _t6 = _context6.v;
80566
+ return _context6.a(2, {
80567
+ error: _t6.message || '已选 SKU 加载失败,请返回重试。'
80568
+ });
80569
+ }
80570
+ }, _callee6, null, [[0, 2]]);
80571
+ })();
80572
+ },
80573
+ createLibrary: function createLibrary(_ref1, _ref10) {
80574
+ var name = _ref1.payload;
80575
+ var call = _ref10.call;
80576
+ return /*#__PURE__*/_regenerator().m(function _callee7() {
80577
+ var trimmedName, res, _t7;
80578
+ return _regenerator().w(function (_context7) {
80579
+ while (1) switch (_context7.p = _context7.n) {
79627
80580
  case 0:
79628
80581
  trimmedName = name.trim();
79629
80582
  if (trimmedName) {
79630
- _context6.n = 1;
80583
+ _context7.n = 1;
79631
80584
  break;
79632
80585
  }
79633
- return _context6.a(2, {
80586
+ return _context7.a(2, {
79634
80587
  error: '请填写素材库名称。'
79635
80588
  });
79636
80589
  case 1:
79637
- _context6.p = 1;
79638
- _context6.n = 2;
80590
+ _context7.p = 1;
80591
+ _context7.n = 2;
79639
80592
  return call(saveProjectMaterialLibrary, {
79640
80593
  name: trimmedName
79641
80594
  });
79642
80595
  case 2:
79643
- res = _context6.v;
79644
- return _context6.a(2, res.data.success ? {
80596
+ res = _context7.v;
80597
+ return _context7.a(2, res.data.success ? {
79645
80598
  library: {
79646
80599
  id: res.data.value,
79647
80600
  name: trimmedName,
@@ -79651,53 +80604,53 @@
79651
80604
  error: res.data.message || '项目素材库创建失败。'
79652
80605
  });
79653
80606
  case 3:
79654
- _context6.p = 3;
79655
- _t6 = _context6.v;
79656
- return _context6.a(2, {
79657
- error: _t6.message || '项目素材库创建失败。'
80607
+ _context7.p = 3;
80608
+ _t7 = _context7.v;
80609
+ return _context7.a(2, {
80610
+ error: _t7.message || '项目素材库创建失败。'
79658
80611
  });
79659
80612
  }
79660
- }, _callee6, null, [[1, 3]]);
80613
+ }, _callee7, null, [[1, 3]]);
79661
80614
  })();
79662
80615
  },
79663
- saveSelection: function saveSelection(_ref1, _ref10) {
79664
- var _ref1$payload = _ref1.payload,
79665
- libraryId = _ref1$payload.libraryId,
79666
- skuIds = _ref1$payload.skuIds;
79667
- var call = _ref10.call;
79668
- return /*#__PURE__*/_regenerator().m(function _callee7() {
79669
- var skuEntityIds, res, _t7;
79670
- return _regenerator().w(function (_context7) {
79671
- while (1) switch (_context7.p = _context7.n) {
80616
+ saveSelection: function saveSelection(_ref11, _ref12) {
80617
+ var _ref11$payload = _ref11.payload,
80618
+ libraryId = _ref11$payload.libraryId,
80619
+ skuIds = _ref11$payload.skuIds;
80620
+ var call = _ref12.call;
80621
+ return /*#__PURE__*/_regenerator().m(function _callee8() {
80622
+ var skuEntityIds, res, _t8;
80623
+ return _regenerator().w(function (_context8) {
80624
+ while (1) switch (_context8.p = _context8.n) {
79672
80625
  case 0:
79673
80626
  skuEntityIds = _toConsumableArray(new Set(skuIds)).map(function (id) {
79674
80627
  return Number.isSafeInteger(Number(id)) ? Number(id) : String(id);
79675
80628
  });
79676
- _context7.p = 1;
79677
- _context7.n = 2;
80629
+ _context8.p = 1;
80630
+ _context8.n = 2;
79678
80631
  return call(saveProjectMaterialSkus, {
79679
80632
  assertId: libraryId,
79680
80633
  skuEntityIds: skuEntityIds
79681
80634
  });
79682
80635
  case 2:
79683
- res = _context7.v;
79684
- return _context7.a(2, res.data.success ? {} : {
80636
+ res = _context8.v;
80637
+ return _context8.a(2, res.data.success ? {} : {
79685
80638
  error: res.data.message || 'SKU 清单保存失败。'
79686
80639
  });
79687
80640
  case 3:
79688
- _context7.p = 3;
79689
- _t7 = _context7.v;
79690
- return _context7.a(2, {
79691
- error: _t7.message || 'SKU 清单保存失败。'
80641
+ _context8.p = 3;
80642
+ _t8 = _context8.v;
80643
+ return _context8.a(2, {
80644
+ error: _t8.message || 'SKU 清单保存失败。'
79692
80645
  });
79693
80646
  }
79694
- }, _callee7, null, [[1, 3]]);
80647
+ }, _callee8, null, [[1, 3]]);
79695
80648
  })();
79696
80649
  }
79697
80650
  },
79698
80651
  reducers: {
79699
- updateState: function updateState(state, _ref11) {
79700
- var payload = _ref11.payload;
80652
+ updateState: function updateState(state, _ref13) {
80653
+ var payload = _ref13.payload;
79701
80654
  return _objectSpread2(_objectSpread2({}, state), payload);
79702
80655
  }
79703
80656
  }