bri-components 1.2.50 → 1.2.52

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 (80) hide show
  1. package/package.json +1 -1
  2. package/src/components/controls/BriControlInput.vue +9 -6
  3. package/src/components/controls/base/BriUpload/BriUpload.vue +170 -0
  4. package/src/components/controls/base/BriUpload/BriUploadImage.vue +90 -0
  5. package/src/components/controls/base/BriUpload/uploadList.vue +166 -0
  6. package/src/components/controls/base/DshCascader/DshCascader.vue +51 -0
  7. package/src/components/controls/base/DshCascader/InfoCascader.vue +63 -1
  8. package/src/components/controls/base/DshCoordinates.vue +64 -4
  9. package/src/components/controls/base/DshDate/DshDate.vue +1 -1
  10. package/src/components/controls/base/DshDate/DshDaterange.vue +55 -99
  11. package/src/components/controls/base/DshDivider.vue +163 -36
  12. package/src/components/controls/base/DshEditor.vue +1 -1
  13. package/src/components/controls/base/DshInput/BriInputs.vue +59 -1
  14. package/src/components/controls/base/DshInput/DshInput.vue +17 -3
  15. package/src/components/controls/base/DshNumber/DshNumber.vue +1 -42
  16. package/src/components/controls/base/DshNumber/DshNumberange.vue +9 -9
  17. package/src/components/controls/base/DshSelect/selectMixin.js +1 -3
  18. package/src/components/controls/base/DshSwitch/DshSwitch.vue +0 -5
  19. package/src/components/controls/base/DshSwitch/switchMixin.js +4 -4
  20. package/src/components/controls/controlMap.js +13 -4
  21. package/src/components/controls/controlMixin.js +6 -2
  22. package/src/components/controls/extra/themeColor.vue +115 -0
  23. package/src/components/controls/extra/themeIcon.vue +124 -0
  24. package/src/components/controls/senior/BriLabels.vue +63 -4
  25. package/src/components/controls/senior/DshPackage.vue +30 -32
  26. package/src/components/controls/senior/cascaderTable.vue +25 -4
  27. package/src/components/controls/senior/flatTable.vue +34 -12
  28. package/src/components/controls/senior/selectDepartments.vue +78 -4
  29. package/src/components/controls/senior/selectUsers/DepartmentMenu.vue +120 -29
  30. package/src/components/controls/senior/selectUsers/selectUsers.vue +179 -5
  31. package/src/components/controls/special/DshBack.vue +1 -1
  32. package/src/components/controls/special/DshUndeveloped.vue +1 -1
  33. package/src/components/form/DshDefaultSearch.vue +43 -81
  34. package/src/components/form/DshForm.vue +1 -1
  35. package/src/components/unit/DshFormUnit.vue +11 -10
  36. package/src/index.js +6 -4
  37. package/src/styles/components/index.less +0 -14
  38. package/src/styles/index.less +5 -3
  39. package/src/styles/reset-iview-controls.less +123 -0
  40. package/src/styles/{reset-iview.less → reset-iview-variables.less} +1 -47
  41. package/src/abolish/BriTransfer.less +0 -65
  42. package/src/abolish/BriTransfer.vue +0 -71
  43. package/src/abolish/BriTree.less +0 -57
  44. package/src/abolish/DshCascaders.less +0 -11
  45. package/src/abolish/DshCascaders.vue +0 -151
  46. package/src/abolish/DshCrumbs.less +0 -0
  47. package/src/abolish/DshCrumbs.vue +0 -62
  48. package/src/abolish/DshCrumbsItem.vue +0 -109
  49. package/src/abolish/DshEditPanel.less +0 -70
  50. package/src/abolish/DshEditPanel.vue +0 -152
  51. package/src/abolish/DshFileShow.less +0 -61
  52. package/src/abolish/DshFileShow.vue +0 -0
  53. package/src/abolish/DshFlatTable.less +0 -93
  54. package/src/abolish/DshFlatTable.vue +0 -605
  55. package/src/abolish/DshMenu.less +0 -37
  56. package/src/abolish/DshMenu.vue +0 -133
  57. package/src/abolish/DshTexts.less +0 -13
  58. package/src/abolish/DshTexts.vue +0 -89
  59. package/src/styles/components/controls/.DS_Store +0 -0
  60. package/src/styles/components/controls/base/BriInputs.less +0 -55
  61. package/src/styles/components/controls/base/BriUpload/BriUpload.less +0 -167
  62. package/src/styles/components/controls/base/BriUpload/BriUploadImage.less +0 -87
  63. package/src/styles/components/controls/base/BriUpload/index.less +0 -3
  64. package/src/styles/components/controls/base/BriUpload/uploadList.less +0 -164
  65. package/src/styles/components/controls/base/DshCascader/DshCascader.less +0 -67
  66. package/src/styles/components/controls/base/DshCascader/InfoCascader.less +0 -59
  67. package/src/styles/components/controls/base/DshCascader/index.less +0 -2
  68. package/src/styles/components/controls/base/DshCoordinates.less +0 -67
  69. package/src/styles/components/controls/base/DshDivider.less +0 -115
  70. package/src/styles/components/controls/base/DshInput.less +0 -29
  71. package/src/styles/components/controls/senior/.DS_Store +0 -0
  72. package/src/styles/components/controls/senior/BriLabels.less +0 -66
  73. package/src/styles/components/controls/senior/DshPackage.less +0 -25
  74. package/src/styles/components/controls/senior/cascaderTable.less +0 -19
  75. package/src/styles/components/controls/senior/flatTable.less +0 -20
  76. package/src/styles/components/controls/senior/selectDepartments.less +0 -73
  77. package/src/styles/components/controls/senior/selectUsers/DepartmentMenu.less +0 -37
  78. package/src/styles/components/controls/senior/selectUsers/index.less +0 -2
  79. package/src/styles/components/controls/senior/selectUsers/selectUsers.less +0 -180
  80. /package/src/{abolish/DshCrumbItem.less → styles/reset-iview-other.less} +0 -0
@@ -1,57 +0,0 @@
1
-
2
- .BriTree {
3
- border: 1px solid @btnCancelBg;
4
- border-radius: @borderRadius;
5
- width: 336px;
6
- overflow: auto;
7
- padding: 8px;
8
- user-select: none;
9
- max-width: 100%;
10
-
11
- }
12
- .ivu-tree {
13
- .ivu-icon-ios-arrow-forward {
14
- display: inline-block;
15
- width: 16px;
16
- height: 16px;
17
- border-radius: @borderRadius;
18
- &:before {
19
- content: "\F341";
20
- width: 100%;
21
- height: 100%;
22
- .dsh-flex-row-center-center();
23
- }
24
- &:hover {
25
- background-color: @btnCancelBgDisabled;
26
- }
27
- }
28
- &-arrow {
29
- width: auto;
30
- color: @placeholderColor;
31
- margin-top: 4px;
32
- &-open {
33
- color: @themeColor;
34
- }
35
- }
36
- &-title {
37
- color: @textColor;
38
- padding: 3px 8px 4px;
39
- border-radius: @borderRadius;
40
- display: inline-flex;
41
- width: calc(100% - 20px);
42
- &:hover {
43
- background-color: @bgColor;
44
- }
45
- &-selected {
46
- color: @themeColor;
47
- background-color: @theme-focus;
48
- }
49
- }
50
- .ivu-checkbox-wrapper+.ivu-tree-title {
51
- margin-left: -30px;
52
- padding-left: 30px;
53
- }
54
- .ivu-load-loop {
55
- color: @themeColor;
56
- }
57
- }
@@ -1,11 +0,0 @@
1
- .DshCascaders {
2
- width: 100%;
3
- &-control {
4
- display: inline-block;
5
- width: calc(100% - 65px);
6
- }
7
- &-create {
8
- display: inline-block;
9
- width: 60px;
10
- }
11
- }
@@ -1,151 +0,0 @@
1
- <template>
2
- <div class="DshCascaders">
3
- <Cascader
4
- class="DshCascaders-control"
5
- v-model="cascaderVal"
6
- :placeholder="selfPropsObj._placeholder"
7
- :data="renderCascaderData"
8
- :load-data="loadData"
9
- :disabled="!finalCanEdit"
10
- :change-on-select="selfPropsObj._changeOnSelect"
11
- :filterable="true"
12
- :clearable="true"
13
- :transfer="true"
14
- ></Cascader>
15
- <dsh-buttons
16
- class="DshCascaders-create"
17
- :list="$getOperationList(['createTag'])"
18
- @click="$dispatchEvent($event)"
19
- ></dsh-buttons>
20
-
21
- <!-- 标签列表 -->
22
- <dsh-tags
23
- class="dsh-margin-top5"
24
- :list="tags"
25
- :propsObj="{
26
- closable: true
27
- }"
28
- @delete="$dispatchEvent(operationMap.deleteTag, arguments)"
29
- ></dsh-tags>
30
- </div>
31
- </template>
32
-
33
- <script>
34
- import { regionData } from "bri-datas";
35
- import controlMixin from "../controlMixin.js";
36
-
37
- const loop = function (data = [], level, parentCode, filterVals = []) {
38
- if (data && filterVals.length) {
39
- data = data.filter(item => filterVals.includes(item._key));
40
- }
41
- return data
42
- ? data.reduce((arr, item) => {
43
- const newItem = {
44
- ...item,
45
- value: item._key,
46
- label: item.name,
47
- codeArr: [ ...(parentCode || []), item._key ]
48
- };
49
- if (!level || level > item.level) {
50
- newItem.children = loop(item.children, level, newItem.codeArr);
51
- newItem.children.length && (newItem.loading = false); // 此代码为了所请求的级出现继续加载的箭头图标
52
- } else {
53
- newItem.children = [];
54
- }
55
- arr.push(newItem);
56
-
57
- return arr;
58
- }, [])
59
- : [];
60
- };
61
-
62
- export default {
63
- name: "DshCascaders",
64
- mixins: [
65
- controlMixin
66
- ],
67
- props: {},
68
- data () {
69
- return {
70
- cascaderVal: [],
71
-
72
- operationMap: {
73
- createTag: {
74
- name: "添加",
75
- type: "createTag",
76
- size: "default",
77
- event: "createTag"
78
- },
79
- deleteTag: {
80
- name: "删除",
81
- type: "deleteTag",
82
- event: "deleteTag"
83
- }
84
- }
85
- };
86
- },
87
- computed: {
88
- selfPropsObj () {
89
- return {
90
- ...this.propsObj,
91
- ...this.commonDealPropsObj
92
- };
93
- },
94
-
95
- cascaderData: {
96
- get () {
97
- return loop(
98
- this.propsObj._subType === "region" ? regionData : this.propsObj._data,
99
- this.propsObj._cascaderLevel,
100
- undefined,
101
- this.propsObj._cascaderFilterVals
102
- );
103
- },
104
- set () {}
105
- },
106
- renderCascaderData () {
107
- return this.cascaderData.map(item => {
108
- return {
109
- ...item,
110
- children: []
111
- };
112
- });
113
- },
114
- tags () {
115
- return this.value[this.propsObj._key].map(item => this.$getTreeLinealDatas(item, this.cascaderData, "name").join("/"));
116
- }
117
- },
118
- created () {},
119
- methods: {
120
- // 动态加载数据
121
- loadData (treeItem, cb) {
122
- let list = this.$getTreeLinealDatas(treeItem.codeArr, this.cascaderData);
123
- treeItem.children = list[list.length - 1].children.map(item => ({ ...item, children: [] }));
124
-
125
- cb();
126
- },
127
-
128
- // 添加
129
- createTag (operationItem) {
130
- if (this.cascaderVal.length) {
131
- if (this.value[this.propsObj._key].some(item => JSON.stringify(item) == JSON.stringify(this.cascaderVal))) {
132
- this.$Message.error({
133
- content: `"${this.$getTreeLinealDatas(this.cascaderVal, this.cascaderData, "name").join("/")}"已选择,请勿重复选择!`,
134
- duration: 5
135
- });
136
- } else {
137
- this.value[this.propsObj._key].push([...this.cascaderVal]);
138
- this.change();
139
- }
140
-
141
- }
142
- this.cascaderVal = [];
143
- },
144
- // 删除
145
- deleteTag (operationItem, params) {
146
- this.value[this.propsObj._key].splice(params[1], 1);
147
- this.change();
148
- }
149
- }
150
- };
151
- </script>
File without changes
@@ -1,62 +0,0 @@
1
- <template>
2
- <div :class="classes">
3
- <slot></slot>
4
- </div>
5
- </template>
6
-
7
- <script>
8
- // const prefixCls = "ivu-breadcrumb";
9
- const prefixCls = "dsh-crumb";
10
-
11
- export default {
12
- name: "DshCrumb",
13
- props: {
14
- separator: {
15
- type: String,
16
- default: "/"
17
- }
18
- },
19
- computed: {
20
- classes () {
21
- return `${prefixCls}`;
22
- },
23
- linkUrl () {
24
- const type = typeof this.to;
25
- if (type !== "string") {
26
- return null;
27
- }
28
- if (this.to.includes("//")) {
29
- /* Absolute URL, we do not need to route this */
30
- return this.to;
31
- }
32
- const router = this.$router;
33
- if (router) {
34
- const current = this.$route;
35
- const route = router.resolve(this.to, current, this.append);
36
- return route ? route.href : this.to;
37
- }
38
- return this.to;
39
- }
40
- },
41
- mounted () {
42
- this.updateChildren();
43
- },
44
- updated () {
45
- this.$nextTick(() => {
46
- this.updateChildren();
47
- });
48
- },
49
- methods: {
50
- updateChildren () {
51
- this.$children.forEach((child) => {
52
- child.separator = this.separator;
53
- });
54
- }
55
- },
56
- watch: {
57
- separator () {
58
- this.updateChildren();
59
- }
60
- }
61
- };
62
- </script>
@@ -1,109 +0,0 @@
1
- <template>
2
- <span class="DshCrumbItem">
3
- <a
4
- v-if="to"
5
- :href="linkUrl"
6
- :target="target"
7
- :class="linkClasses"
8
- @click.exact="handleCheckClick($event, false)"
9
- @click.ctrl="handleCheckClick($event, true)"
10
- @click.meta="handleCheckClick($event, true)"
11
- >
12
- <slot></slot>
13
- </a>
14
- <span
15
- v-else
16
- :class="linkClasses"
17
- >
18
- <slot></slot>
19
- </span>
20
-
21
- <span
22
- v-if="!showSeparator"
23
- :class="separatorClasses"
24
- v-html="separator"
25
- ></span>
26
- <span
27
- v-else
28
- :class="separatorClasses"
29
- >
30
- <slot name="separator"></slot>
31
- </span>
32
- </span>
33
- </template>
34
-
35
- <script>
36
- const prefixCls = "dsh-crumb-item";
37
-
38
- export default {
39
- name: "DshCrumbItem",
40
- props: {
41
- to: {
42
- type: [Object, String]
43
- },
44
- replace: {
45
- type: Boolean,
46
- default: false
47
- },
48
- target: {
49
- type: String,
50
- default: "_self",
51
- validator (value) {
52
- return ["_blank", "_self", "_parent", "_top"].includes(value);
53
- }
54
- },
55
- append: {
56
- type: Boolean,
57
- required: false,
58
- default: false
59
- }
60
- },
61
- data () {
62
- return {
63
- separator: "",
64
- showSeparator: false
65
- };
66
- },
67
- computed: {
68
- linkClasses () {
69
- return `${prefixCls}-link`;
70
- },
71
- separatorClasses () {
72
- return `${prefixCls}-separator`;
73
- }
74
- },
75
- mounted () {
76
- this.showSeparator = this.$slots.separator !== undefined;
77
- },
78
- methods: {
79
- handleClick (newWindow = false) {
80
- const router = this.$router;
81
- if (newWindow) {
82
- let to = this.to;
83
- if (router) {
84
- const current = this.$route;
85
- const route = router.resolve(this.to, current, this.append);
86
- to = route ? route.href : this.to;
87
- }
88
- window.open(to);
89
- } else {
90
- if (router) {
91
- this.replace ? this.$router.replace(this.to, () => {}) : this.$router.push(this.to, () => {});
92
- } else {
93
- window.location.href = this.to;
94
- }
95
- }
96
- },
97
- handleCheckClick (event, newWindow = false) {
98
- if (this.to) {
99
- if (this.target === "_blank") {
100
- return false;
101
- } else {
102
- event.preventDefault();
103
- this.handleClick(newWindow);
104
- }
105
- }
106
- }
107
- }
108
- };
109
- </script>
@@ -1,70 +0,0 @@
1
- .DshEditPanel {
2
- width: 220px;
3
- height: 240px;
4
- text-align: left;
5
-
6
- &-name {}
7
- &-colors {
8
- padding: 40px 0 0 0;
9
- overflow: hidden;
10
- &-item {
11
- width: 46px;
12
- height: 46px;
13
- float: left;
14
- margin-right: 20px;
15
- margin-bottom: 10px;
16
- border-radius: 50%;
17
- border: 2px solid #DBDBDB;
18
- padding: 1px;
19
- cursor: pointer;
20
- position: relative;
21
- &-content {
22
- width: 40px;
23
- height: 40px;
24
- border-radius: 50%;
25
- }
26
- &-icon {
27
- position: absolute;
28
- top: -6px;
29
- right: -4px;
30
- color: @themeColor;
31
- }
32
- }
33
- }
34
-
35
- &-icons {
36
- padding: 40px 0px 0px 0;
37
- &-item {
38
- float: left;
39
- width: 55px;
40
- height: 55px;
41
- margin-right: 20px;
42
- margin-bottom: 10px;
43
- background: #FBF8F2;
44
- border-radius: 8px;
45
- padding: 10px;
46
- cursor: pointer;
47
- &-content {
48
- width: 100%;
49
- height: 100%;
50
- background-repeat: no-repeat;
51
- background-size: contain;
52
- text-align: center;
53
- line-height: 35px;
54
- i {
55
- color: #ffffff;
56
- font-size: 18px;
57
- }
58
- }
59
- &:hover {
60
- color: @themeColor;
61
- }
62
- }
63
- }
64
-
65
- &-form {
66
- .ivu-form-item {
67
- margin-bottom: 15px;
68
- }
69
- }
70
- }
@@ -1,152 +0,0 @@
1
- <template>
2
- <div class="DshEditPanel">
3
- <Form
4
- class="DshEditPanel-form"
5
- :model="value"
6
- :label-width="80"
7
- label-position="left"
8
- >
9
- <FormItem label="应用名称">
10
- <Input
11
- v-model="value.name"
12
- placeholder="请输入应用名称"
13
- autofocus
14
- @on-blur="onBlur(value)"
15
- />
16
- </FormItem>
17
-
18
- <FormItem label="主题颜色">
19
- <div class="DshEditPanel-colors">
20
- <div
21
- v-for="(colorItem, colorKey) in $appData.themeColors"
22
- :key="colorKey"
23
- class="DshEditPanel-colors-item"
24
- @click="$dispatchEvent(operationMap.updateColor, colorItem.color, colorKey, value)"
25
- >
26
- <div
27
- class="DshEditPanel-colors-item-content"
28
- :style="{
29
- backgroundColor: colorItem.color
30
- }"
31
- ></div>
32
- <Icon
33
- v-if="colorItem.color === value.color"
34
- class="DshEditPanel-colors-item-icon"
35
- type="ios-checkmark-circle"
36
- size="16"
37
- />
38
- </div>
39
- </div>
40
- </FormItem>
41
-
42
- <FormItem label="主题图标">
43
- <div class="DshEditPanel-icons">
44
- <div
45
- v-for="(iconItem, iconIndex) in $appData.icons"
46
- :key="iconIndex"
47
- class="DshEditPanel-icons-item"
48
- :style="{
49
- backgroundColor: $appData.themeColors[value.color].bgColor,
50
- border: value.icon === iconItem ? `1px solid ${value.color}` : 'none'
51
- }"
52
- @click="$dispatchEvent(operationMap.updateIcon, iconItem, iconIndex, value)"
53
- >
54
- <div
55
- class="DshEditPanel-icons-item-content"
56
- :style="{
57
- backgroundImage: `url(${$appData.themeColors[value.color].bgUrl})`
58
- }"
59
- >
60
- <Icon :custom="'bico-font ' + iconItem"></Icon>
61
- </div>
62
- </div>
63
- </div>
64
- </FormItem>
65
- </Form>
66
-
67
- <!-- 操作按钮 -->
68
- <dsh-buttons
69
- class="bri-modal-footer"
70
- :list="$getOperationList(['canCancel', 'canConfirm'])"
71
- @click="$dispatchEvent($event)"
72
- ></dsh-buttons>
73
- </div>
74
- </template>
75
-
76
- <script>
77
- export default {
78
- name: "DshEditPanel",
79
- components: {},
80
- props: {
81
- value: {
82
- type: Object,
83
- default () {
84
- return {};
85
- }
86
- }
87
- },
88
- data () {
89
- return {
90
- operationMap: {
91
- updateColor: {
92
- name: "修改主题色",
93
- type: "updateColor",
94
- event: "clickUpdateColor"
95
- },
96
- updateIcon: {
97
- name: "修改图标",
98
- type: "updateIcon",
99
- event: "clickUpdateIcon"
100
- },
101
- canCancel: {
102
- name: "取消",
103
- type: "canCancel",
104
- event: "clickCancel"
105
- },
106
- canConfirm: {
107
- name: "确定",
108
- type: "canConfirm",
109
- btnType: "primary",
110
- event: "clickConfirm"
111
- }
112
- }
113
- };
114
- },
115
- computed: {},
116
- created () {
117
- this.init();
118
- },
119
- methods: {
120
- // 初始化
121
- init () {
122
- Object.assign(this.value, {
123
- oldName: this.value.name,
124
- color: this.value.color || Object.values(this.$appData.themeColors)[0].color,
125
- icon: this.value.icon || this.$appData.icons[0]
126
- });
127
- },
128
-
129
- onBlur (value) {
130
- if (!value.name) {
131
- value.name = value.oldName || "未命名";
132
- }
133
- },
134
- // 点击修改应用主题色
135
- clickUpdateColor (item, colorItem, colorKey, appObj) {
136
- appObj.color = colorItem;
137
- },
138
- // 点击修改应用图标
139
- clickUpdateIcon (item, iconItem, iconIndex, appObj) {
140
- appObj.icon = iconItem;
141
- },
142
- // 点击取消
143
- clickConfirm () {
144
- this.$emit("on-ok", this.value);
145
- },
146
- // 点击取消
147
- clickCancel () {
148
- this.$emit("on-cancel");
149
- }
150
- }
151
- };
152
- </script>
@@ -1,61 +0,0 @@
1
- .DshFileShow {
2
- display: block;
3
- overflow: hidden;
4
- word-break: keep-all;
5
- white-space: nowrap;
6
- text-overflow: ellipsis;
7
- display: flex;
8
-
9
- &-img {
10
- margin-right: 3px;
11
- &:hover{
12
- cursor: pointer;
13
- }
14
- }
15
-
16
- // 遮罩层
17
- &-wrap {
18
- width: 100%;
19
- height: 100%;
20
- position: fixed;
21
- top: 0px;
22
- left: 0px;
23
- bottom: 0px;
24
- right: 0px;
25
- z-index: 9999;
26
- text-align: center;
27
- overflow: auto;
28
- display: none;
29
- background: rgba(0,0,0,0);
30
-
31
- &-show {
32
- display: block;
33
- background: rgba(0,0,0,.6);
34
- animation: animate-show .3s linear;
35
- }
36
-
37
- &-preview {
38
- position: absolute;
39
- width: 90%;
40
- height: 90%;
41
- top: 5%;
42
- left: 5%;
43
- left: 5%;
44
- right: 5%;
45
- background-size: contain;
46
- background-repeat: no-repeat;
47
- background-position: center;
48
- }
49
- }
50
-
51
- @keyframes animate-show {
52
- from {
53
- display: none;
54
- background: rgba(0,0,0,0);
55
- }
56
- to {
57
- display: block;
58
- background: rgba(0,0,0,.6);
59
- }
60
- }
61
- }
File without changes