@bytenew/bn-bus-ui 1.1.461 → 1.1.463

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/install.js +134 -0
  2. package/package.json +20 -4
  3. package/packages/BnAddress/index.vue +141 -0
  4. package/packages/BnAddressParse/index.vue +75 -0
  5. package/packages/BnAdvancedFilter/BnFilterView.vue +145 -0
  6. package/packages/BnAdvancedFilter/index.vue +345 -0
  7. package/packages/BnAdvancedFilter/util.js +171 -0
  8. package/packages/BnCascader/BnCascader.vue +543 -0
  9. package/packages/BnCascader/BnCascaderPanel.vue +1331 -0
  10. package/packages/BnCascader/cascaderDisplay.js +102 -0
  11. package/packages/BnCheck/BnCheck.vue +253 -0
  12. package/packages/BnColumnConfig/columnConfigDialog.vue +134 -0
  13. package/packages/BnColumnConfig/component/childrenFormSetting/assocTable.vue +143 -0
  14. package/packages/BnColumnConfig/component/childrenFormSetting/assocTableSearch.vue +314 -0
  15. package/packages/BnColumnConfig/component/childrenFormSetting/index.vue +243 -0
  16. package/packages/BnColumnConfig/component/defaultSet/defaultSet.vue +114 -0
  17. package/packages/BnColumnConfig/component/defaultSet/stringDefault.vue +210 -0
  18. package/packages/BnColumnConfig/component/funcExprDialog/funcExprDialog.vue +126 -0
  19. package/packages/BnColumnConfig/component/packageFilter/index.vue +141 -0
  20. package/packages/BnColumnConfig/component/paraExplainSet/index.vue +156 -0
  21. package/packages/BnColumnConfig/component/setOption/setOption.vue +321 -0
  22. package/packages/BnColumnConfig/component/setRelationOption/ConditionList.vue +277 -0
  23. package/packages/BnColumnConfig/component/setRelationOption/LevelHeader.vue +144 -0
  24. package/packages/BnColumnConfig/component/setRelationOption/setRelationOption.vue +642 -0
  25. package/packages/BnColumnConfig/data.js +129 -0
  26. package/packages/BnColumnConfig/index.scss +23 -0
  27. package/packages/BnColumnConfig/index.vue +309 -0
  28. package/packages/BnCondVal/BnCondVal.vue +112 -0
  29. package/packages/BnCondVal/itemVal/dateRegVal.vue +39 -0
  30. package/packages/BnCondVal/itemVal/dateVal.vue +39 -0
  31. package/packages/BnCondVal/itemVal/numRegVal.vue +67 -0
  32. package/packages/BnCondVal/itemVal/numVal.vue +44 -0
  33. package/packages/BnCondVal/itemVal/relationVal.vue +73 -0
  34. package/packages/BnCondVal/itemVal/selectColumnVal.vue +58 -0
  35. package/packages/BnCondVal/itemVal/selectVal.vue +59 -0
  36. package/packages/BnCondVal/itemVal/stringVal.vue +156 -0
  37. package/packages/BnCondition/index.vue +551 -0
  38. package/packages/BnCondition/util.js +232 -0
  39. package/packages/BnDatePicker/BnDatePicker.vue +194 -0
  40. package/packages/BnDrop/BnDrop.vue +917 -0
  41. package/packages/BnEmptyTip/BnEmptyTip.vue +107 -0
  42. package/packages/BnExportOrder/BnExportOrder.vue +241 -0
  43. package/packages/BnExportOrder/validatorCode.vue +94 -0
  44. package/packages/BnFileView/BnFileView.vue +271 -0
  45. package/packages/BnFileView/FileDetail.vue +125 -0
  46. package/packages/BnFileView/videoPreview.vue +70 -0
  47. package/packages/BnFilterOption/BnFilterOption.vue +160 -0
  48. package/packages/BnFunExpr/BnFunExpr.vue +608 -0
  49. package/packages/BnImportOrder/BnImportOrder.vue +323 -0
  50. package/packages/BnImportTemplate/BnImportTemplate.vue +866 -0
  51. package/packages/BnImportTemplate/assets/merge_tip_img.png +0 -0
  52. package/packages/BnImportTemplate/assets/sheet_tip.png +0 -0
  53. package/packages/BnImportTemplate/assets/xls.png +0 -0
  54. package/packages/BnImportTemplate/components/ImportTemplateTrigger.vue +198 -0
  55. package/packages/BnImportTemplate/components/TemplateEditDialog.vue +340 -0
  56. package/packages/BnImportTemplate/components/TemplateFieldsConfig.vue +401 -0
  57. package/packages/BnImportTemplate/components/TemplateListDialog.vue +297 -0
  58. package/packages/BnInpNum/BnInpNum.vue +165 -0
  59. package/packages/BnMenus/BnMenus.vue +502 -0
  60. package/packages/BnMenus/MenuItem.vue +321 -0
  61. package/packages/BnOrderCard/BnOrderCard.vue +389 -0
  62. package/packages/BnOrderCard/orderRemark.vue +178 -0
  63. package/packages/BnOrderCard/util.js +94 -0
  64. package/packages/BnOrderDetail/BnOrderDetail.vue +338 -0
  65. package/packages/BnOrderDetail/filterLogByUser.vue +108 -0
  66. package/packages/BnOrderDetail/orderLogs.vue +53 -0
  67. package/packages/BnOrderDetail/showSubForm/index.vue +41 -0
  68. package/packages/BnOrderDetail/showSubForm/showChildTable.vue +61 -0
  69. package/packages/BnOrderDetail/showSubForm/showTimeLine.vue +131 -0
  70. package/packages/BnOrderDetail/showSubForm/tableCellCopy.vue +84 -0
  71. package/packages/BnOrderShare/index.vue +378 -0
  72. package/packages/BnOrderShare/shareUrlInp.vue +54 -0
  73. package/packages/BnRadio/BnRadio.vue +181 -0
  74. package/packages/BnRelation/BnRelation.vue +120 -0
  75. package/packages/BnSelect/BnSelect.vue +485 -0
  76. package/packages/BnSmartForm/BnBatchForm.vue +334 -0
  77. package/packages/BnSmartForm/BnBatchFormDialog.vue +423 -0
  78. package/packages/BnSmartForm/BnSmartElf/elfLog/index.vue +57 -0
  79. package/packages/BnSmartForm/BnSmartElf/index.vue +95 -0
  80. package/packages/BnSmartForm/BnSmartFormPsychic.js +629 -0
  81. package/packages/BnSmartForm/BnSmartFormUtil.js +524 -0
  82. package/packages/BnSmartForm/addressForm/index.vue +73 -0
  83. package/packages/BnSmartForm/checkboxForm/index.vue +99 -0
  84. package/packages/BnSmartForm/childrenForm/childFormFile.vue +237 -0
  85. package/packages/BnSmartForm/childrenForm/childrenFormBody.vue +260 -0
  86. package/packages/BnSmartForm/childrenForm/index.vue +110 -0
  87. package/packages/BnSmartForm/childrenForm/searchInventory.vue +115 -0
  88. package/packages/BnSmartForm/chooseAssocTable/chooseAssocTable.vue +451 -0
  89. package/packages/BnSmartForm/chooseAssocTable/chooseChildGood.vue +229 -0
  90. package/packages/BnSmartForm/chooseAssocTable/tableCellCopy.vue +84 -0
  91. package/packages/BnSmartForm/chooseChildOrder/chooseChildOrder.vue +158 -0
  92. package/packages/BnSmartForm/chooseIPaasData/chooseIPaasData.vue +307 -0
  93. package/packages/BnSmartForm/chooseIPaasData/tableCellCopy.vue +84 -0
  94. package/packages/BnSmartForm/choosePackage/choosePackage.vue +361 -0
  95. package/packages/BnSmartForm/dateDualForm/index.vue +37 -0
  96. package/packages/BnSmartForm/dateForm/index.vue +38 -0
  97. package/packages/BnSmartForm/fileForm/fileFormData.js +50 -0
  98. package/packages/BnSmartForm/fileForm/index.vue +240 -0
  99. package/packages/BnSmartForm/formItemFooter/formItemFooter.vue +38 -0
  100. package/packages/BnSmartForm/formItemTop/formItemTop.vue +42 -0
  101. package/packages/BnSmartForm/index.vue +1201 -0
  102. package/packages/BnSmartForm/numberForm/index.vue +63 -0
  103. package/packages/BnSmartForm/radioForm/index.vue +72 -0
  104. package/packages/BnSmartForm/receiveForm/index.vue +112 -0
  105. package/packages/BnSmartForm/relationForm/index.vue +82 -0
  106. package/packages/BnSmartForm/scoreForm/index.vue +39 -0
  107. package/packages/BnSmartForm/selectForm/index.vue +55 -0
  108. package/packages/BnSmartForm/showValForm/index.vue +42 -0
  109. package/packages/BnSmartForm/showValForm/showValFormTable.vue +104 -0
  110. package/packages/BnSmartForm/smartFormsCommon.scss +43 -0
  111. package/packages/BnSmartForm/stringForm/index.vue +170 -0
  112. package/packages/BnVirtPopover/index.vue +319 -0
  113. package/packages/BnWebLog/BnWebLog.vue +140 -0
  114. package/packages/BnWorkSettingDrop/advancedOptions.js +112 -0
  115. package/packages/BnWorkSettingDrop/benBenAIUtil.js +89 -0
  116. package/packages/BnWorkSettingDrop/index.vue +292 -0
  117. package/packages/font/iconfont.css +243 -0
  118. package/packages/font/iconfont.ttf +0 -0
  119. package/packages/font/iconfont.woff +0 -0
  120. package/packages/font/iconfont.woff2 +0 -0
  121. package/utils/addressParse-old.js +645 -0
  122. package/utils/addressParse.js +735 -0
  123. package/utils/config.js +68 -0
  124. package/utils/index.js +1171 -0
  125. package/dist/assocTableSearch-C14i_zJO.js +0 -349
  126. package/dist/assocTableSearch.css +0 -1
  127. package/dist/bn-bus-ui.es.js +0 -65
  128. package/dist/bn-bus-ui.umd.js +0 -49
  129. package/dist/chooseIPaasData-Cl_5qkFA.js +0 -391
  130. package/dist/chooseIPaasData.css +0 -1
  131. package/dist/defaultSet-I4xpf8a4.js +0 -297
  132. package/dist/defaultSet.css +0 -1
  133. package/dist/fileFormData-D_Q1vylE.js +0 -53
  134. package/dist/formItemFooter-CTA7rDtV.js +0 -108
  135. package/dist/formItemFooter.css +0 -1
  136. package/dist/funcExprDialog-Cm5BiRM3.js +0 -139
  137. package/dist/funcExprDialog.css +0 -1
  138. package/dist/index-B6b4uj8v.js +0 -51
  139. package/dist/index-BWdkDTbz.js +0 -109
  140. package/dist/index-BdZ1zOap.js +0 -89
  141. package/dist/index-BdzNjjMC.js +0 -64
  142. package/dist/index-BfpZqab2.js +0 -66
  143. package/dist/index-BmkiB4hr.js +0 -66
  144. package/dist/index-Br1sqCoo.js +0 -58
  145. package/dist/index-C9qrl-yc.js +0 -183
  146. package/dist/index-CXFJXCn5.js +0 -746
  147. package/dist/index-DF114jZq.js +0 -135
  148. package/dist/index-DFPfZ_Il.js +0 -178
  149. package/dist/index-DSEtu7TN.js +0 -44
  150. package/dist/index-Did0UUWV.js +0 -221
  151. package/dist/index-DrPj-tmI.js +0 -45
  152. package/dist/index-DzDf9s2W.js +0 -89
  153. package/dist/index-LnjudNEI.js +0 -118
  154. package/dist/index-ObCfCmDT.js +0 -45
  155. package/dist/index.css +0 -1
  156. package/dist/index2.css +0 -1
  157. package/dist/index3.css +0 -1
  158. package/dist/index4.css +0 -1
  159. package/dist/index5.css +0 -1
  160. package/dist/index6.css +0 -1
  161. package/dist/index7.css +0 -1
  162. package/dist/install-C-scqkds.js +0 -23103
  163. package/dist/install.css +0 -1
  164. package/dist/setOption-CSnWzOny.js +0 -329
  165. package/dist/setOption.css +0 -1
  166. package/dist/setRelationOption-CJcHdfaa.js +0 -5217
  167. package/dist/setRelationOption.css +0 -1
@@ -0,0 +1,198 @@
1
+ <template>
2
+ <div class="BnImportTemplate-trigger">
3
+ <el-popover
4
+ v-model:visible="visible"
5
+ placement="bottom-start"
6
+ :width="178"
7
+ trigger="click"
8
+ @show="$emit('showTemplatePopover')"
9
+ >
10
+ <template #reference>
11
+ <el-button
12
+ link
13
+ class="BnImportTemplate-setting-btn"
14
+ title="导入模板设置"
15
+ >
16
+ <slot name="icon">
17
+ <span class="bnUIcon bnUIcon-arrowDown w-font12"></span>
18
+ </slot>
19
+ </el-button>
20
+ </template>
21
+ <div class="BnImportTemplate-settings">
22
+ <div class="BnImportTemplate-settings-title">导入模板</div>
23
+ <div class="BnImportTemplate-settings-tempbox">
24
+ <div v-if="importTemplateList.length" class="BnImportTemplate-settings-temps">
25
+ <div
26
+ v-for="item in importTemplateList"
27
+ :key="item.id"
28
+ class="BnImportTemplate-settings-temps-item"
29
+ :title="item.templateName"
30
+ @click="selectTemplate(item)"
31
+ >
32
+ {{ item.templateName }}
33
+ </div>
34
+ </div>
35
+ <div v-else class="BnImportTemplate-settings-nodata">暂无模板</div>
36
+ </div>
37
+ <div
38
+ class="BnImportTemplate-settings-manage"
39
+ @click="$emit('openTemplateList')"
40
+ >
41
+ <span>自定义模板</span>
42
+ <span class="BnImportTemplate-settings-link">设置</span>
43
+ </div>
44
+ </div>
45
+ </el-popover>
46
+ </div>
47
+ </template>
48
+
49
+ <script>
50
+
51
+ // 导入模板设置入口组件:点击 icon 打开 Popover,展示模板名称、触发模板导入并进入自定义模板管理。
52
+ // 后续业务动作由父组件控制,这里只负责入口 UI 和事件分发。
53
+ export default {
54
+ name: "ImportTemplateTrigger",
55
+ props: {
56
+ // 父组件传入的 Popover 显隐状态,对应 v-model。
57
+ modelValue: {
58
+ type: Boolean,
59
+ default: false,
60
+ },
61
+ // 父组件拉取到的自定义导入模板列表,点击模板名称后交给父组件打开批量导入弹框。
62
+ importTemplateList: {
63
+ type: Array,
64
+ default() {
65
+ return [];
66
+ },
67
+ },
68
+ },
69
+ emits: [
70
+ "update:modelValue",
71
+ "showTemplatePopover",
72
+ "openTemplateList",
73
+ "selectTemplate",
74
+ ],
75
+ computed: {
76
+ /**
77
+ * 入口 Popover 显隐状态的 v-model 代理,变化时同步给父组件。
78
+ *
79
+ * @return 当前入口 Popover 是否显示。
80
+ */
81
+ visible: {
82
+ get() {
83
+ return this.modelValue;
84
+ },
85
+ set(val) {
86
+ this.$emit("update:modelValue", val);
87
+ },
88
+ },
89
+ },
90
+ methods: {
91
+ /**
92
+ * 选择导入模板列表中的某一项,并通知父组件执行后续导入动作。
93
+ *
94
+ * @param template 当前点击的导入模板项。
95
+ * @return 无返回值。
96
+ */
97
+ selectTemplate(template) {
98
+ this.$emit("selectTemplate", template);
99
+ },
100
+ },
101
+ };
102
+ </script>
103
+
104
+ <style scoped lang="scss">
105
+ .BnImportTemplate {
106
+ &-trigger {
107
+ display: inline-flex;
108
+ align-items: center;
109
+ height: 32px;
110
+ }
111
+
112
+ &-setting-btn {
113
+ height: 32px;
114
+ min-width: 32px;
115
+ padding: 0 6px;
116
+ color: #409eff;
117
+ border-radius: 3px;
118
+
119
+ &:hover {
120
+ background: #eef6ff;
121
+ }
122
+ }
123
+
124
+ &-settings {
125
+ width: 100%;
126
+ background: #fff;
127
+ border: 1px solid #e5eaf3;
128
+ box-shadow: 0 8px 24px rgba(31, 45, 61, 0.12);
129
+ }
130
+
131
+ &-settings-title {
132
+ height: 34px;
133
+ padding: 0 12px;
134
+ border-bottom: 1px solid #edf1f6;
135
+ color: #1f2d3d;
136
+ font-size: 13px;
137
+ font-weight: 600;
138
+ line-height: 34px;
139
+ }
140
+
141
+ &-settings-tempbox {
142
+ max-height: 188px;
143
+ overflow: auto;
144
+ }
145
+
146
+ &-settings-temps {
147
+ max-height: 360px;
148
+ overflow: auto;
149
+ }
150
+
151
+ &-settings-temps-item {
152
+ height: 36px;
153
+ line-height: 36px;
154
+ max-width: 178px;
155
+ padding: 0 12px;
156
+ white-space: nowrap;
157
+ overflow: hidden;
158
+ text-overflow: ellipsis;
159
+ color: #1f2d3d;
160
+ font-size: 13px;
161
+ cursor: pointer;
162
+
163
+ &:hover {
164
+ background: #f7fbff;
165
+ }
166
+ }
167
+
168
+ &-settings-nodata {
169
+ height: 100px;
170
+ display: flex;
171
+ align-items: center;
172
+ justify-content: center;
173
+ color: rgba(0, 0, 0, 0.45);
174
+ font-size: 12px;
175
+ }
176
+
177
+ &-settings-manage {
178
+ height: 36px;
179
+ width: 100%;
180
+ padding: 0 12px;
181
+ border-top: 1px solid #edf1f6;
182
+ display: flex;
183
+ justify-content: space-between;
184
+ align-items: center;
185
+ color: #1f2d3d;
186
+ font-size: 13px;
187
+ cursor: pointer;
188
+
189
+ &:hover {
190
+ background: #f7fbff;
191
+ }
192
+ }
193
+
194
+ &-settings-link {
195
+ color: #409eff;
196
+ }
197
+ }
198
+ </style>
@@ -0,0 +1,340 @@
1
+ <template>
2
+ <el-dialog
3
+ v-model="visible"
4
+ width="840px"
5
+ top="50px"
6
+ class="BnImportTemplate-edit-dialog"
7
+ :title="modalDetail.id ? '编辑导入模板' : '新增导入模板'"
8
+ destroy-on-close
9
+ :close-on-click-modal="false"
10
+ @opened="$emit('opened')"
11
+ @closed="$emit('closed')"
12
+ >
13
+ <el-scrollbar max-height="calc(100vh - 220px)" class="BnImportTemplate-edit-scrollbar">
14
+ <div class="BnImportTemplate-edit">
15
+ <div class="BnImportTemplate-edit-item">
16
+ <div class="BnImportTemplate-edit-title"><span class="w-color-red">*</span>模板名称</div>
17
+ <div class="BnImportTemplate-edit-content">
18
+ <el-input
19
+ v-model="detail.templateName"
20
+ maxlength="15"
21
+ show-word-limit
22
+ placeholder="请输入"
23
+ />
24
+ </div>
25
+ </div>
26
+ <div v-if="false" class="BnImportTemplate-edit-item">
27
+ <div class="BnImportTemplate-edit-title">
28
+ 设置sheet名称
29
+ <el-popover placement="bottom-start" trigger="hover" :width="360" popper-class="BnImportTemplate-sheet-popper">
30
+ <div class="BnImportTemplate-tips-box">
31
+ <p>设置了sheet名称后,Excel文件的Sheet名称需与设置的一致才可导入</p>
32
+ <img :src="sheetTipImg" class="BnImportTemplate-sheet-img" alt="Sheet 名称说明">
33
+ </div>
34
+ <template #reference>
35
+ <span class="bnUIcon bnUIcon-question BnImportTemplate-help"></span>
36
+ </template>
37
+ </el-popover>
38
+ </div>
39
+ <div class="BnImportTemplate-edit-content">
40
+ <el-input
41
+ v-model="detail.sheetName"
42
+ maxlength="31"
43
+ show-word-limit
44
+ placeholder="请输入"
45
+ @change="$emit('validateSheetName')"
46
+ />
47
+ </div>
48
+ </div>
49
+ <div class="BnImportTemplate-edit-item">
50
+ <div class="BnImportTemplate-edit-title">选择导入方式</div>
51
+ <div class="BnImportTemplate-edit-content">
52
+ <el-radio-group v-model="detail.type">
53
+ <el-radio :value="1">仅新增数据</el-radio>
54
+ <el-radio v-if="!isWorkflow" :value="2">仅更新数据</el-radio>
55
+ <!-- <el-radio v-if="!isWorkflow" :value="3">更新和新增数据</el-radio> -->
56
+ </el-radio-group>
57
+ </div>
58
+ </div>
59
+ <div class="BnImportTemplate-edit-item">
60
+ <BnCheck
61
+ v-model="detail.mergeCells"
62
+ label="导入未合并的多行数据( 组件:子表单、子订单)"
63
+ />
64
+ </div>
65
+ <div class="BnImportTemplate-edit-item is-fields">
66
+ <div class="BnImportTemplate-edit-title">工作表字段</div>
67
+ <div class="BnImportTemplate-edit-content">
68
+ <TemplateFieldsConfig
69
+ :columns="editColumnList"
70
+ :import-type="detail.type"
71
+ :merge-cells="detail.mergeCells"
72
+ :filter-var="filterVar"
73
+ :all-show="allShow"
74
+ :all-check-must="allCheckMust"
75
+ :all-key="allKey"
76
+ @update:filterVar="$emit('update:filterVar', $event)"
77
+ @update:allShow="$emit('update:allShow', $event)"
78
+ @update:allCheckMust="$emit('update:allCheckMust', $event)"
79
+ @update:allKey="$emit('update:allKey', $event)"
80
+ @checkAllShow="$emit('checkAllShow')"
81
+ @checkAllCheckMust="$emit('checkAllCheckMust')"
82
+ @checkAllKey="$emit('checkAllKey')"
83
+ @itemCheckChange="(item, type) => $emit('itemCheckChange', item, type)"
84
+ @toggleChild="$emit('toggleChild', $event)"
85
+ />
86
+ </div>
87
+ </div>
88
+ </div>
89
+ </el-scrollbar>
90
+ <template #footer>
91
+ <el-button @click="visible = false">取消</el-button>
92
+ <el-button type="primary" :loading="loading" @click="$emit('confirm')">确认</el-button>
93
+ </template>
94
+ </el-dialog>
95
+ </template>
96
+
97
+ <script>
98
+ import TemplateFieldsConfig from "./TemplateFieldsConfig.vue";
99
+
100
+ // 模板编辑弹窗承载表单布局,但不直接改接口数据。
101
+ // modalDetail/editColumnList 由父组件传入并维护,字段联动通过事件回到父组件统一处理。
102
+ export default {
103
+ name: "TemplateEditDialog",
104
+ components: {
105
+ TemplateFieldsConfig,
106
+ },
107
+ props: {
108
+ // 父组件控制的新增/编辑模板弹窗显隐状态,对应 v-model。
109
+ modelValue: {
110
+ type: Boolean,
111
+ default: false,
112
+ },
113
+ // 保存模板接口的 loading 状态,用于确认按钮加载态。
114
+ loading: {
115
+ type: Boolean,
116
+ default: false,
117
+ },
118
+ // 当前编辑的模板详情;新增时是空模板,编辑时是后端详情。
119
+ modalDetail: {
120
+ type: Object,
121
+ default() {
122
+ return {};
123
+ },
124
+ },
125
+ // 当前模板的字段配置列表,字段显示/必填/主键等勾选状态都在该数组中维护。
126
+ editColumnList: {
127
+ type: Array,
128
+ default() {
129
+ return [];
130
+ },
131
+ },
132
+ // 字段名称过滤关键字,由父组件持有,传给字段配置区做本地过滤。
133
+ filterVar: {
134
+ type: String,
135
+ default: "",
136
+ },
137
+ // “模板显示”表头全选状态,由父组件根据字段列表同步计算。
138
+ allShow: {
139
+ type: Boolean,
140
+ default: false,
141
+ },
142
+ // “必填”表头全选状态,由父组件根据字段列表同步计算。
143
+ allCheckMust: {
144
+ type: Boolean,
145
+ default: false,
146
+ },
147
+ // “主键”表头全选状态,由父组件根据字段列表同步计算。
148
+ allKey: {
149
+ type: Boolean,
150
+ default: false,
151
+ },
152
+ // 是否工作流模板;工作流场景不展示更新类导入方式。
153
+ isWorkflow: {
154
+ type: Boolean,
155
+ default: false,
156
+ },
157
+ // Sheet 名称说明图资源,由父组件统一传入。
158
+ sheetTipImg: {
159
+ type: String,
160
+ default: "",
161
+ },
162
+ },
163
+ emits: [
164
+ "update:modelValue",
165
+ "update:filterVar",
166
+ "update:allShow",
167
+ "update:allCheckMust",
168
+ "update:allKey",
169
+ "opened",
170
+ "closed",
171
+ "validateSheetName",
172
+ "checkAllShow",
173
+ "checkAllCheckMust",
174
+ "checkAllKey",
175
+ "itemCheckChange",
176
+ "toggleChild",
177
+ "confirm",
178
+ ],
179
+ computed: {
180
+ /**
181
+ * 编辑弹窗显隐状态的 v-model 代理,变化时同步给父组件。
182
+ *
183
+ * @return 当前编辑弹窗是否显示。
184
+ */
185
+ visible: {
186
+ get() {
187
+ return this.modelValue;
188
+ },
189
+ set(val) {
190
+ this.$emit("update:modelValue", val);
191
+ },
192
+ },
193
+ /**
194
+ * 模板详情代理,模板内表单直接读写父组件传入的 modalDetail。
195
+ *
196
+ * @return 当前编辑中的模板详情对象。
197
+ */
198
+ detail() {
199
+ return this.modalDetail;
200
+ },
201
+ },
202
+ };
203
+ </script>
204
+
205
+ <style scoped lang="scss">
206
+ :deep(.BnImportTemplate-edit-dialog) {
207
+ border-radius: 2px;
208
+
209
+ .el-dialog__header {
210
+ display: flex;
211
+ align-items: center;
212
+ min-height: 48px;
213
+ padding: 0 18px;
214
+ margin-right: 0;
215
+ border-bottom: 1px solid #e5eaf3;
216
+ }
217
+
218
+ .el-dialog__title {
219
+ color: #1f2d3d;
220
+ font-size: 15px;
221
+ font-weight: 600;
222
+ line-height: 48px;
223
+ }
224
+
225
+ .el-dialog__headerbtn {
226
+ top: 0;
227
+ width: 48px;
228
+ height: 48px;
229
+ }
230
+
231
+ .el-dialog__body {
232
+ padding: 18px 20px 8px;
233
+ background: #fff;
234
+ }
235
+
236
+ .el-dialog__footer {
237
+ padding: 12px 20px 16px;
238
+ border-top: 1px solid #edf1f6;
239
+ }
240
+ }
241
+
242
+ .BnImportTemplate {
243
+ &-edit-scrollbar {
244
+ max-height: calc(100vh - 220px);
245
+
246
+ :deep(.el-scrollbar__view) {
247
+ padding-right: 14px;
248
+ }
249
+ }
250
+
251
+ &-edit-item {
252
+ display: flex;
253
+ justify-content: flex-start;
254
+ margin-bottom: 16px;
255
+ color: #1f2d3d;
256
+
257
+ &.is-fields {
258
+ align-items: flex-start;
259
+ }
260
+ }
261
+
262
+ &-edit-title {
263
+ display: flex;
264
+ align-items: center;
265
+ width: 130px;
266
+ height: 32px;
267
+ flex: none;
268
+ color: #3f4b5f;
269
+ font-size: 13px;
270
+ font-weight: 500;
271
+
272
+ }
273
+
274
+ &-edit-content {
275
+ flex: 1;
276
+ min-width: 0;
277
+
278
+ > .el-input {
279
+ max-width: 360px;
280
+ }
281
+ }
282
+
283
+ &-help {
284
+ display: inline-flex;
285
+ align-items: center;
286
+ justify-content: center;
287
+ width: 16px;
288
+ height: 16px;
289
+ margin-left: 6px;
290
+ color: #8a97a8;
291
+ font-size: 16px;
292
+ cursor: help;
293
+
294
+ &:hover {
295
+ color: #409eff;
296
+ }
297
+ }
298
+
299
+ &-tips-box {
300
+ max-width: 100%;
301
+ color: rgba(0, 0, 0, 0.65);
302
+ font-size: 12px;
303
+ background: #fff;
304
+ box-sizing: border-box;
305
+ overflow: hidden;
306
+
307
+ p {
308
+ margin: 0;
309
+ line-height: 1.5;
310
+ }
311
+ }
312
+
313
+ &-sheet-img {
314
+ display: block;
315
+ width: 100%;
316
+ max-width: 100%;
317
+ height: auto;
318
+ margin-top: 10px;
319
+ }
320
+
321
+ :deep(.el-input__wrapper) {
322
+ border-radius: 3px;
323
+ box-shadow: 0 0 0 1px #dfe6ee inset;
324
+ }
325
+
326
+ :deep(.el-input__wrapper.is-focus) {
327
+ box-shadow: 0 0 0 1px #409eff inset;
328
+ }
329
+
330
+ :deep(.el-radio__label) {
331
+ color: #3f4b5f;
332
+ font-size: 13px;
333
+ }
334
+ }
335
+
336
+ :global(.BnImportTemplate-sheet-popper) {
337
+ box-sizing: border-box;
338
+ overflow: hidden;
339
+ }
340
+ </style>