@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,63 @@
1
+ <template>
2
+ <div class="w-default-wrap">
3
+ <formItemTop :column="column"/>
4
+ <div class="w-default-wrap">
5
+ <BnInpNum v-model="column.value" :disabled="disabled" :precision="column.extraInfo?.valueType"
6
+ @input="onInput" @focus="onFocus" @blur="onBlur"></BnInpNum>
7
+ </div>
8
+ <formItemFooter :column="column"/>
9
+ </div>
10
+ </template>
11
+
12
+ <script>
13
+ import formItemTop from "../formItemTop/formItemTop.vue";
14
+ import formItemFooter from "../formItemFooter/formItemFooter.vue";
15
+ import {debounce} from "lodash";
16
+
17
+ export default {
18
+ name: "numberForm",
19
+ components:{formItemTop,formItemFooter},
20
+ props: {
21
+ column: {
22
+ type: Object,
23
+ default: function () {
24
+ return {}
25
+ }
26
+ },
27
+ disabled:Boolean
28
+ },
29
+ methods:{
30
+ /**
31
+ * 输入框输入事件
32
+ * */
33
+ onInput(e) {
34
+ this.column.error = '';
35
+ this.column.warning = '';
36
+ if(e == this.column.value){
37
+ this.$emit('onInput', this.column)
38
+ this.onChange()
39
+ }
40
+
41
+ },
42
+ /**
43
+ * 输入框Change事件
44
+ * */
45
+ onChange: debounce(function (e, type) {
46
+ // 当值不为空
47
+ this.$emit('onChange', this.column)
48
+ }, 500),
49
+ /**
50
+ * 输入框onFocus事件
51
+ * */
52
+ onFocus(e) {
53
+ this.$emit('focus', this.column)
54
+ },
55
+ /**
56
+ * 输入框失去焦点事件
57
+ * */
58
+ onBlur(e) {
59
+ this.$emit('blur', this.column)
60
+ },
61
+ },
62
+ }
63
+ </script>
@@ -0,0 +1,72 @@
1
+ <!--单选按钮-->
2
+ <template>
3
+ <div class="w-default-wrap radioForm">
4
+ <formItemTop :column="column"/>
5
+ <div class="w-default-wrap clearFix">
6
+ <div class="radioForm-item" v-for="(item,index) in column.moduleDefinition" :key="index">
7
+ <BnRadio v-model="column.value" :optionProps="{value:'code',label:'title'}" :disabled="disabled"
8
+ :trueData="item" @change="changeVal"></BnRadio>
9
+ </div>
10
+ <div class="w-default-wrap radioForm-empty" v-if="column.moduleDefinition.length == 0">
11
+ 无数据
12
+ </div>
13
+ </div>
14
+ <formItemFooter :column="column"/>
15
+ </div>
16
+ </template>
17
+
18
+ <script>
19
+ import formItemTop from "../formItemTop/formItemTop.vue";
20
+ import formItemFooter from "../formItemFooter/formItemFooter.vue";
21
+
22
+ export default {
23
+ name: "radioForm",
24
+ components: {formItemFooter, formItemTop},
25
+ props: {
26
+ column: {
27
+ type: Object,
28
+ default: function () {
29
+ return {}
30
+ }
31
+ },
32
+ disabled:Boolean
33
+ },
34
+ methods: {
35
+ changeVal() {
36
+ this.column.error = '';
37
+ this.column.warning = '';
38
+ this.$emit('onChange', this.column);
39
+ },
40
+ }
41
+ }
42
+ </script>
43
+ <style scoped lang="scss">
44
+ .radioForm {
45
+ &-empty {
46
+ width: 330px;
47
+ line-height: 32px;
48
+ text-align: center;
49
+ font-size: 12px;
50
+ color: #999;
51
+ }
52
+ &-item {
53
+ display: inline-block;
54
+ line-height: 32px;
55
+ height: 32px;
56
+ min-width: 200px;
57
+ margin-right: 16px;
58
+ .radio-box-label{
59
+ width: 100%;
60
+ box-sizing: border-box;
61
+ height: 32px;
62
+ }
63
+ }
64
+ .radioForm-4 {
65
+ width: calc(25% - 16px);
66
+ min-width: auto;
67
+ }
68
+ &-evaluate{
69
+ min-width: 150px;
70
+ }
71
+ }
72
+ </style>
@@ -0,0 +1,112 @@
1
+ <!--收寄信息组件-->
2
+ <template>
3
+ <div class="w-default-wrap">
4
+ <formItemTop v-if="column.name" :column="column"/>
5
+ <BnAddressParse @parse="autoParse" :post-func="postFunc"></BnAddressParse>
6
+ <div class="w-flex-between w-margin-bottom10 w-flex-column-gap8">
7
+ <el-input v-model="column.value[valueKey.name]" :disabled="disabled"
8
+ placeholder="输入姓名"
9
+ @input="onInput" @focus="onFocus" @blur="onBlur" clearable show-word-limit>
10
+ </el-input>
11
+ <el-input v-model="column.value[valueKey.phone]" :disabled="disabled"
12
+ placeholder="输入手机号"
13
+ @input="onInput" @focus="onFocus" @blur="onBlur" clearable show-word-limit>
14
+ </el-input>
15
+ </div>
16
+ <div class="w-default-wrap w-margin-bottom10">
17
+ <BnAddress v-model="column.value[valueKey.address]" :postFunc="postFunc" @change="onChange"
18
+ value-key="code" :level-num="column.levelNum || 4"
19
+ :pathUrl="column.pathUrl || '/address/getAreaDataList'" :disabled="disabled"></BnAddress>
20
+ </div>
21
+ <div class="w-default-wrap">
22
+ <el-input v-model="column.value[valueKey.detail]" type="textarea" :rows="3"
23
+ :disabled="disabled"
24
+ resize="none" placeholder="输入详细地址"
25
+ @input="onInput" @focus="onFocus" @blur="onBlur" clearable show-word-limit>
26
+ </el-input>
27
+ </div>
28
+ <formItemFooter :column="column"/>
29
+ </div>
30
+ </template>
31
+ <script>
32
+ import {debounce} from "lodash";
33
+ import formItemTop from "../formItemTop/formItemTop.vue";
34
+ import formItemFooter from "../formItemFooter/formItemFooter.vue";
35
+ import BnAddressParse from "../../BnAddressParse/index.vue";
36
+
37
+ export default {
38
+ name: "addressForm",
39
+ components: {BnAddressParse, formItemTop, formItemFooter},
40
+ props: {
41
+ column: Object,
42
+ disabled: Boolean,
43
+ postFunc: Function,
44
+ // 数据结构
45
+ valueProps: Object,
46
+ },
47
+ computed: {
48
+ // 收寄信息value对象中对应的字段
49
+ valueKey() {
50
+ if(this.valueProps){
51
+ return this.valueProps;
52
+ }else if (this.column.moduleDefinition){
53
+ return {
54
+ name: this.column.moduleDefinition[0].columnCode,
55
+ phone: this.column.moduleDefinition[1].columnCode,
56
+ address: this.column.moduleDefinition[2].columnCode,
57
+ detail: this.column.moduleDefinition[3].columnCode,
58
+ }
59
+ }else{
60
+ return {
61
+ name: 'name',
62
+ phone: 'phone',
63
+ address: 'address',
64
+ detail: 'detail',
65
+ }
66
+ }
67
+ }
68
+ },
69
+ methods: {
70
+ /**
71
+ * 输入框输入事件
72
+ * */
73
+ onInput(e) {
74
+ this.column.error = '';
75
+ this.column.warning = '';
76
+ this.$emit('onInput', this.column)
77
+ this.onChange(e)
78
+ },
79
+ /**
80
+ * 输入框Change事件
81
+ * @param {String} type 是否是其他事件类型
82
+ * */
83
+ onChange: debounce(function (e, type) {
84
+ this.column.error = '';
85
+ this.column.warning = '';
86
+ this.$emit('onChange', this.column)
87
+ }, 600),
88
+ /**
89
+ * 输入框onFocus事件
90
+ * */
91
+ onFocus(e) {
92
+ this.$emit('focus', this.column)
93
+ },
94
+ /**
95
+ * 输入框失去焦点事件
96
+ * */
97
+ onBlur() {
98
+ this.$emit('blur', this.column)
99
+ },
100
+ /**
101
+ *自动识别
102
+ * */
103
+ autoParse(data) {
104
+ this.column.value[this.valueKey.name] = data.name || '';
105
+ this.column.value[this.valueKey.phone] = data.phone || '';
106
+ this.column.value[this.valueKey.address] = data.address;
107
+ this.column.value[this.valueKey.detail] = data.detail || '';
108
+ this.onChange();
109
+ },
110
+ }
111
+ }
112
+ </script>
@@ -0,0 +1,82 @@
1
+ <template>
2
+ <div class="w-default-wrap">
3
+ <formItemTop :column="column"/>
4
+ <div class="w-default-wrap">
5
+ <BnCascader @change="changeValue"
6
+ v-model="column.value"
7
+ :postFunc="postFunc"
8
+ :path-url="column.pathUrl"
9
+ :post-data="column.postData"
10
+ remote-mode="tree"
11
+ :optionProps="{value:'code',label:'title'}" :label-in-value="false"
12
+ :options="filteredOptions" hide-check-to-last
13
+ :multiple="column.behaviorType == 20" :disabled="disabled"
14
+ clearable
15
+ />
16
+ </div>
17
+ <formItemFooter :column="column"/>
18
+ </div>
19
+ </template>
20
+
21
+ <script>
22
+ //引入状态分配器
23
+ import formItemTop from "../formItemTop/formItemTop.vue";
24
+ import formItemFooter from "../formItemFooter/formItemFooter.vue";
25
+
26
+ export default {
27
+ name: "relationForm",
28
+ components: {formItemFooter, formItemTop},
29
+ props: {
30
+ column: {
31
+ type: Object,
32
+ default: function () {
33
+ return {}
34
+ }
35
+ },
36
+ disabled: Boolean,
37
+ // 接口请求外部转发
38
+ postFunc: Function,
39
+ },
40
+ computed: {
41
+ /**
42
+ * 过滤后的选项列表,只保留columnStatus等于1的项
43
+ */
44
+ filteredOptions() {
45
+ if (!this.column.moduleDefinition || !this.column.moduleDefinition.optionList) {
46
+ return [];
47
+ }
48
+
49
+ // 递归过滤树形结构
50
+ const filterTree = (nodes) => {
51
+ if (!Array.isArray(nodes)) return [];
52
+
53
+ return nodes.filter(node => {
54
+ // 检查当前节点的columnStatus
55
+ if (node.columnStatus != 1) {
56
+ return false;
57
+ }
58
+
59
+ // 如果有子节点,递归过滤子节点
60
+ if (node.children && Array.isArray(node.children)) {
61
+ node.children = filterTree(node.children);
62
+ }
63
+
64
+ return true;
65
+ });
66
+ };
67
+
68
+ return filterTree(this.column.moduleDefinition.optionList);
69
+ }
70
+ },
71
+ methods: {
72
+ /**
73
+ * 组件值发生变化
74
+ * */
75
+ changeValue() {
76
+ this.column.error = '';
77
+ this.column.warning = '';
78
+ this.$emit('onChange', this.column);
79
+ },
80
+ },
81
+ }
82
+ </script>
@@ -0,0 +1,39 @@
1
+ <template>
2
+ <div class="w-default-wrap">
3
+ <formItemTop :column="column"/>
4
+ <div class="w-default-wrap">
5
+ <el-rate v-model="column.value" :disabled="disabled" @change="onChange"
6
+ :max="column.extraInfo.valueMaxSize?parseInt(column.extraInfo.valueMaxSize):5"/>
7
+ </div>
8
+ <formItemFooter :column="column"/>
9
+ </div>
10
+ </template>
11
+
12
+ <script>
13
+ import formItemTop from "../formItemTop/formItemTop.vue";
14
+ import formItemFooter from "../formItemFooter/formItemFooter.vue";
15
+ import {debounce} from "lodash";
16
+
17
+ export default {
18
+ name: "numberForm",
19
+ components:{formItemTop,formItemFooter},
20
+ props: {
21
+ column: {
22
+ type: Object,
23
+ default: function () {
24
+ return {}
25
+ }
26
+ },
27
+ disabled:Boolean
28
+ },
29
+ methods:{
30
+ /**
31
+ * 输入框Change事件
32
+ * */
33
+ onChange: debounce(function (e, type) {
34
+ this.$emit('onChange', this.column)
35
+ }, 500),
36
+
37
+ },
38
+ }
39
+ </script>
@@ -0,0 +1,55 @@
1
+ <template>
2
+ <div class="w-default-wrap">
3
+ <formItemTop :column="column"/>
4
+ <div class="w-default-wrap">
5
+ <BnSelect v-model="column.value" :options="column.moduleDefinition" :multiple="column.behaviorType == 5"
6
+ :disabled="disabled || (!taskId && extraInfo.isAutoAssign == 1 && column.columnCode == 'executor')"
7
+ :optionProps="{value:'code',label:'title'}" :pageProps="{pageNum: 'pageNo',pageSize: 'pageSize',}"
8
+ :pathUrl="column.pathUrl" :postData="column.postData" :postFunc="postFunc"
9
+ :placeholder="!taskId && extraInfo.isAutoAssign && column.columnCode == 'executor'?'已开启自动分配':'请选择'"
10
+ clearable :collapseTags="false" filterable @change="changeValue">
11
+ </BnSelect>
12
+ </div>
13
+ <formItemFooter :column="column"/>
14
+ </div>
15
+ </template>
16
+
17
+ <script>
18
+ //引入状态分配器
19
+ import formItemTop from "../formItemTop/formItemTop.vue";
20
+ import formItemFooter from "../formItemFooter/formItemFooter.vue";
21
+
22
+ export default {
23
+ name: "editSelectCol",
24
+ components: {formItemFooter, formItemTop},
25
+ props: {
26
+ column: {
27
+ type: Object,
28
+ default: function () {
29
+ return {}
30
+ }
31
+ },
32
+ disabled: Boolean,
33
+ // 接口请求外部转发
34
+ postFunc: Function,
35
+ // 表级别扩展信息
36
+ extraInfo: {
37
+ type: Object,
38
+ default: function () {
39
+ return {}
40
+ }
41
+ },
42
+ taskId: {}
43
+ },
44
+ methods: {
45
+ /**
46
+ * 组件值发生变化
47
+ * */
48
+ changeValue() {
49
+ this.column.error = '';
50
+ this.column.warning = '';
51
+ this.$emit('onChange', this.column);
52
+ },
53
+ },
54
+ }
55
+ </script>
@@ -0,0 +1,42 @@
1
+ <!--展示value组件-->
2
+ <template>
3
+ <div class="w-default-wrap">
4
+ <formItemTop :column="column"/>
5
+ <div class="w-default-wrap showValForm-content" v-if="column.behaviorType !=13">
6
+ {{getTitle()}}
7
+ </div>
8
+ <div class="w-default-wrap" v-if="column.behaviorType == 13">
9
+ <showValFormTable :column="column"></showValFormTable>
10
+ </div>
11
+ <formItemFooter :column="column"/>
12
+ </div>
13
+ </template>
14
+ <script>
15
+ import formItemTop from "../formItemTop/formItemTop.vue";
16
+ import formItemFooter from "../formItemFooter/formItemFooter.vue";
17
+ import {getColumnValText} from "../BnSmartFormUtil";
18
+ import showValFormTable from "./showValFormTable.vue";
19
+ export default {
20
+ name: "showValForm",
21
+ components:{formItemTop,formItemFooter,showValFormTable},
22
+ props:{
23
+ column:{type:Object}
24
+ },
25
+ methods:{
26
+ getTitle() {
27
+ let text = getColumnValText(this.column);
28
+ return text;
29
+ }
30
+ }
31
+ }
32
+ </script>
33
+ <style scoped lang="scss">
34
+ .showValForm-content{
35
+ background: #f9f9f9;
36
+ border-radius: 2px;
37
+ overflow: hidden;
38
+ padding: 0 8px;
39
+ line-height: 32px;
40
+ min-height: 32px;
41
+ }
42
+ </style>
@@ -0,0 +1,104 @@
1
+ <!--
2
+ 功能名称:子表单组件数据展示
3
+ 使用位置:查看子表单完整数据
4
+ 参数列表:
5
+ 必传:component:[]
6
+ 必传:sourceValue:[]
7
+ -->
8
+ <template>
9
+ <div>
10
+ <el-dialog
11
+ :title="column.name"
12
+ custom-class="w-dialog-border"
13
+ :append-to-body="true"
14
+ :modal-append-to-body="true"
15
+ :visible.sync="visiable"
16
+ width="820px">
17
+ <div class="showValFormTable-modal">
18
+ <showValFormTable :column="correlationQuery"></showValFormTable>
19
+ </div>
20
+ <div slot="footer" class="w-dialog-border-footer">
21
+ <Button @click="visiable = false">关 闭</Button>
22
+ </div>
23
+ </el-dialog>
24
+
25
+ <vxe-table
26
+ border
27
+ size="small"
28
+ :scroll-x="{ enabled: true, gt: 6 }"
29
+ :scroll-y="{ enabled: true, gt: 6 }"
30
+ :data="column.value"
31
+ :max-height="360"
32
+ :row-config="{ isHover: true }">
33
+ <vxe-column
34
+ v-for="column in column.moduleDefinition"
35
+ :key="column.id"
36
+ :title="column.name"
37
+ :min-width="240">
38
+ <template #default="{ row }">
39
+ <div v-if="row[column.id] && row[column.id].value">
40
+ <template v-if="column.behaviorType !=13">{{ getTitle(column, row[column.id].value) }}</template>
41
+ <template v-if="column.behaviorType == 13 && row[column.id].value">
42
+ <span class="wicon icon-table w-cursor-pointer"
43
+ @click="showTable( column, column.moduleDefinition, row[column.id].value)"></span>
44
+ {{row[column.id].value.length }}
45
+ </template>
46
+ </div>
47
+ </template>
48
+ </vxe-column>
49
+ <template #empty>
50
+ <span>暂无数据</span>
51
+ </template>
52
+ </vxe-table>
53
+ </div>
54
+ </template>
55
+
56
+ <script>
57
+ import { getColumnValText } from "./../BnSmartFormUtil";
58
+ export default {
59
+ name: "showValFormTable",
60
+ props: {
61
+ column: { type: Object },
62
+ },
63
+ data() {
64
+ return {
65
+ visiable: false,
66
+ selectFlag: false,
67
+ title: "",
68
+ correlationQuery: {
69
+ moduleDefinition: [],
70
+ value: {},
71
+ }, //关联表单弹框数据
72
+ };
73
+ },
74
+ watch: {},
75
+ methods: {
76
+ /**
77
+ * 关联弹框展示
78
+ * row 类似column数据
79
+ * columnList: 弹框组件列表
80
+ * values: 弹框表单中数据
81
+ * */
82
+ showTable(row, columnList, values) {
83
+ this.correlationQuery = row;
84
+ this.correlationQuery.moduleDefinition = columnList;
85
+ this.correlationQuery.value = values;
86
+ this.visiable = true;
87
+ },
88
+ /**
89
+ * getTitle 获取组件值
90
+ * column 组件数据
91
+ * val 值
92
+ * */
93
+ getTitle(column, val) {
94
+ let text = getColumnValText(column, true, val);
95
+ return text;
96
+ },
97
+ },
98
+ };
99
+ </script>
100
+ <style scoped lang="scss">
101
+ .showValFormTable-modal {
102
+ padding: 24px;
103
+ }
104
+ </style>
@@ -0,0 +1,43 @@
1
+ .BnSmartForm {
2
+ &-title {
3
+ height: 32px;
4
+ line-height: 32px;
5
+ font-size: 14px;
6
+ color: #666;
7
+
8
+ &-tip {
9
+ font-size: 12px;
10
+ color: #777;
11
+ }
12
+ }
13
+
14
+ &-explain {
15
+ margin-top: 5px;
16
+ color: #888;
17
+ font-size: 12px;
18
+ }
19
+
20
+ &-img {
21
+ margin-top: 8px;
22
+
23
+ &-item {
24
+ display: inline-block;
25
+ width: 46px;
26
+ height: 46px;
27
+ margin-right: 8px;
28
+ border-radius: 4px;
29
+ border: 1px solid #E6E6E6;
30
+
31
+ img {
32
+ width: 100%;
33
+ height: 100%;
34
+ border-radius: 4px;
35
+ }
36
+ }
37
+ }
38
+
39
+ &-tips {
40
+ line-height: 32px;
41
+ font-size: 12px;
42
+ }
43
+ }