xs-common-plugins 1.2.0 → 1.2.3
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/README.md +298 -290
- package/common.js +110 -110
- package/index.js +1 -1
- package/package.json +16 -16
- package/src/common/common.js +548 -548
- package/src/components/CheckBox_Cmp/index.vue +62 -62
- package/src/components/FormItem/index.vue +92 -92
- package/src/components/ReportCmp/index.vue +76 -76
- package/src/components/Search/index.scss +219 -219
- package/src/components/Search/index.vue +410 -406
- package/src/components/Search/product_option/index.scss +1 -1
- package/src/components/Search/product_option/index.vue +1 -8
- package/src/components/Search/product_option/methods.js +16 -4
- package/src/components/Search_filter/index.scss +104 -104
- package/src/components/TableItem/TableItem.vue +55 -55
- package/src/components/TextOVer/index.vue +55 -55
- package/src/components/UploadImg/index.vue +177 -177
- package/src/components/im/index.vue +155 -155
- package/src/components/im/pages/chatList/index.vue +45 -45
- package/src/components/im/pages/chatRoom/index.vue +159 -159
- package/src/components/xsSelect/index.vue +125 -125
- package/src/mixin/keepAlive.js +52 -0
- package/src/plugins/im/components/chat/index.scss +163 -163
- package/src/plugins/im/components/chat/index.vue +144 -144
- package/src/plugins/im/components/chat/methods.js +149 -149
- package/src/plugins/im/components/msg-image/index.vue +40 -40
- package/src/plugins/im/components/send-msg/index.scss +164 -164
- package/src/plugins/im/components/send-msg/index.vue +107 -107
- package/src/plugins/im/components/send-msg/methods.js +125 -125
- package/src/plugins/im/components/template-message/index.vue +76 -76
- package/src/plugins/im/components/without.vue +19 -19
- package/src/plugins/im/index.js +31 -31
- package/src/plugins/im/utils/services.js +625 -625
- package/src/plugins/index.js +60 -60
- package/src/plugins/row-col-cmp/index.js +20 -20
- package/src/router/permission.js +126 -126
- package/src/store/modules/dic.js +74 -74
- package/src/store/modules/oss.js +40 -40
- package/src/styles/index.scss +91 -91
- package/src/styles/table.scss +90 -90
- package/src/utils/api.js +54 -54
- package/src/utils/auth.js +38 -38
- package/src/utils/concat_batch_btns.js +88 -88
- package/src/utils/enum.js +150 -150
- package/src/utils/filter.js +5 -5
- package/src/utils/filterRules.js +55 -55
- package/src/utils/getMenu.js +82 -82
- package/src/utils/global_directive.js +10 -0
- package/src/utils/ossService.js +55 -55
- package/src/utils/prototype.js +46 -46
- package/src/utils/search.js +33 -33
- package/src/utils/signalR.js +24 -24
- package/src/views/callback/index.vue +35 -35
- package/src/views/home/index.vue +25 -25
- package/src/views/layout/components/AppMain.vue +21 -5
- package/src/views/layout/components/Navbar.vue +20 -13
- package/src/views/layout/components/TagsView/index.vue +130 -91
- package/src/views/slienceAuth/index.vue +42 -42
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<span class="title">商品品类</span>
|
|
9
9
|
</div>
|
|
10
10
|
<div class="body">
|
|
11
|
-
<el-radio-group class="product-type" v-model="selectedType" size="mini">
|
|
11
|
+
<el-radio-group class="product-type" v-model="selectedType" size="mini" @change="changeProductType">
|
|
12
12
|
<el-radio
|
|
13
13
|
v-for="typeItem in $enumList.EnumProductType"
|
|
14
14
|
:key="typeItem.Id"
|
|
@@ -391,13 +391,6 @@ export default {
|
|
|
391
391
|
mixins: [MIX_VMODEL],
|
|
392
392
|
components: {},
|
|
393
393
|
watch: {
|
|
394
|
-
selectedType: {
|
|
395
|
-
handler(nVal) {
|
|
396
|
-
this.loadSource();
|
|
397
|
-
},
|
|
398
|
-
immediate: true
|
|
399
|
-
},
|
|
400
|
-
|
|
401
394
|
selectedAreaCode: {
|
|
402
395
|
handler(nVal) {
|
|
403
396
|
console.log(nVal, "=====>");
|
|
@@ -7,7 +7,10 @@ export default {
|
|
|
7
7
|
},
|
|
8
8
|
mountedInit() {
|
|
9
9
|
},
|
|
10
|
-
|
|
10
|
+
// 切换商品品类
|
|
11
|
+
changeProductType (value) {
|
|
12
|
+
this.loadSource();
|
|
13
|
+
},
|
|
11
14
|
checkboxHandle(event, fieldName) {
|
|
12
15
|
this.keys = []
|
|
13
16
|
this.checkboxForm = {
|
|
@@ -36,12 +39,21 @@ export default {
|
|
|
36
39
|
typeId: parseInt(this.selectedType)
|
|
37
40
|
}).then(res => {
|
|
38
41
|
if (res.data) {
|
|
39
|
-
this.areaCodeDicList = res.data.areaCodeDic
|
|
40
|
-
this.arsIdDicList = res.data.arsIdDic
|
|
41
|
-
this.denomIncList = res.data.denomInc
|
|
42
|
+
this.areaCodeDicList = res.data.areaCodeDic // 地区/种类列表
|
|
43
|
+
this.arsIdDicList = res.data.arsIdDic // 运营商类目列表
|
|
44
|
+
this.denomIncList = res.data.denomInc // 面值列表
|
|
42
45
|
} else {
|
|
43
46
|
this.areaCodeDicList = this.arsIdDicList = this.denomIncList = []
|
|
44
47
|
}
|
|
48
|
+
let list = []
|
|
49
|
+
this.areaCodeDicList.forEach(item => { list.push([item.value]) });
|
|
50
|
+
this.selectedAreaCode = list // selectedAreaCode 地区/种类
|
|
51
|
+
this.selectedArsId = this.formatData(this.arsIdDicList) // selectedArsId 运营商类目
|
|
52
|
+
this.selectedDenomInc = Object.values(this.denomIncList) // selectedDenomInc 面值
|
|
53
|
+
this.checkboxHandle()
|
|
45
54
|
})
|
|
55
|
+
},
|
|
56
|
+
formatData (list) {
|
|
57
|
+
return list.map(item => item.value)
|
|
46
58
|
}
|
|
47
59
|
}
|
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
.contentBox{
|
|
2
|
-
display: flex;
|
|
3
|
-
padding: 0 5px;
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
.searchBox{
|
|
7
|
-
display: flex;
|
|
8
|
-
}
|
|
9
|
-
.buttonBox{
|
|
10
|
-
display: flex;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.el-select__tags{
|
|
14
|
-
flex-wrap: nowrap;
|
|
15
|
-
}
|
|
16
|
-
.el-form-item__content{
|
|
17
|
-
display: flex;
|
|
18
|
-
// word-spacing:-1em;
|
|
19
|
-
// min-width: 150px;
|
|
20
|
-
}
|
|
21
|
-
.shortcut{
|
|
22
|
-
padding: 0 10px;
|
|
23
|
-
display: flex;
|
|
24
|
-
.tabs{
|
|
25
|
-
margin: 10px 10px 10px 0;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.select-popper {
|
|
30
|
-
// background-color: rgba(0, 0, 0, 0.8);;
|
|
31
|
-
// border-radius: 0.08rem;
|
|
32
|
-
// border: solid 0.02rem #1c395d;
|
|
33
|
-
// font-family: PingFangSC-Regular;
|
|
34
|
-
.el-select-dropdown__item.selected {
|
|
35
|
-
// font-family: PingFangSC-Regular;
|
|
36
|
-
// font-size: 0.28rem;
|
|
37
|
-
// color: rgba(74, 141, 253, 1);
|
|
38
|
-
}
|
|
39
|
-
.el-select-dropdown__item.selected::after{
|
|
40
|
-
content: "";
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
ul{
|
|
44
|
-
// display: flex;
|
|
45
|
-
// flex-wrap: wrap;
|
|
46
|
-
}
|
|
47
|
-
.el-select-dropdown__list{
|
|
48
|
-
padding: 0;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
li {
|
|
52
|
-
// color: #000;
|
|
53
|
-
// background: transparent;
|
|
54
|
-
// font-size: 0.28rem;
|
|
55
|
-
// width: 500px;
|
|
56
|
-
}
|
|
57
|
-
.el-select-dropdown__item{
|
|
58
|
-
margin-right: 10px;
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
.el-select-dropdown__item:hover,
|
|
62
|
-
.el-select-dropdown__item.hover {
|
|
63
|
-
// background-color: rgba(110, 147, 206, 0.2);
|
|
64
|
-
// margin-right: 1px;
|
|
65
|
-
}
|
|
66
|
-
.popper__arrow::after {
|
|
67
|
-
// border-bottom-color: rgba(0, 0, 0, 0.8);;
|
|
68
|
-
}
|
|
69
|
-
.popper__arrow {
|
|
70
|
-
// border-bottom-color: rgba(0, 0, 0, 0.8);;
|
|
71
|
-
}
|
|
72
|
-
.el-select-dropdown__empty {
|
|
73
|
-
// padding: 0.2rem;
|
|
74
|
-
// font-size: 0.28rem;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
.option{
|
|
78
|
-
display: flex;
|
|
79
|
-
flex-wrap: wrap;
|
|
80
|
-
max-width: 500px;
|
|
81
|
-
margin-top: 10px;
|
|
82
|
-
span{
|
|
83
|
-
margin-right: 10px;
|
|
84
|
-
}
|
|
85
|
-
.el-select-dropdown__item.selected::after{
|
|
86
|
-
content: "";
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
.el-tabs {
|
|
91
|
-
max-width: 300px;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.el-dropdown-menu{
|
|
95
|
-
padding: 0;
|
|
96
|
-
}
|
|
97
|
-
.dateRange >>> .el-date-editor--daterange {
|
|
98
|
-
max-width: 250px;
|
|
99
|
-
}
|
|
100
|
-
.el-radio {
|
|
101
|
-
visibility: hidden;
|
|
102
|
-
}
|
|
103
|
-
.el-select{
|
|
104
|
-
width: 100%;
|
|
1
|
+
.contentBox{
|
|
2
|
+
display: flex;
|
|
3
|
+
padding: 0 5px;
|
|
4
|
+
|
|
5
|
+
}
|
|
6
|
+
.searchBox{
|
|
7
|
+
display: flex;
|
|
8
|
+
}
|
|
9
|
+
.buttonBox{
|
|
10
|
+
display: flex;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.el-select__tags{
|
|
14
|
+
flex-wrap: nowrap;
|
|
15
|
+
}
|
|
16
|
+
.el-form-item__content{
|
|
17
|
+
display: flex;
|
|
18
|
+
// word-spacing:-1em;
|
|
19
|
+
// min-width: 150px;
|
|
20
|
+
}
|
|
21
|
+
.shortcut{
|
|
22
|
+
padding: 0 10px;
|
|
23
|
+
display: flex;
|
|
24
|
+
.tabs{
|
|
25
|
+
margin: 10px 10px 10px 0;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.select-popper {
|
|
30
|
+
// background-color: rgba(0, 0, 0, 0.8);;
|
|
31
|
+
// border-radius: 0.08rem;
|
|
32
|
+
// border: solid 0.02rem #1c395d;
|
|
33
|
+
// font-family: PingFangSC-Regular;
|
|
34
|
+
.el-select-dropdown__item.selected {
|
|
35
|
+
// font-family: PingFangSC-Regular;
|
|
36
|
+
// font-size: 0.28rem;
|
|
37
|
+
// color: rgba(74, 141, 253, 1);
|
|
38
|
+
}
|
|
39
|
+
.el-select-dropdown__item.selected::after{
|
|
40
|
+
content: "";
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
ul{
|
|
44
|
+
// display: flex;
|
|
45
|
+
// flex-wrap: wrap;
|
|
46
|
+
}
|
|
47
|
+
.el-select-dropdown__list{
|
|
48
|
+
padding: 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
li {
|
|
52
|
+
// color: #000;
|
|
53
|
+
// background: transparent;
|
|
54
|
+
// font-size: 0.28rem;
|
|
55
|
+
// width: 500px;
|
|
56
|
+
}
|
|
57
|
+
.el-select-dropdown__item{
|
|
58
|
+
margin-right: 10px;
|
|
59
|
+
|
|
60
|
+
}
|
|
61
|
+
.el-select-dropdown__item:hover,
|
|
62
|
+
.el-select-dropdown__item.hover {
|
|
63
|
+
// background-color: rgba(110, 147, 206, 0.2);
|
|
64
|
+
// margin-right: 1px;
|
|
65
|
+
}
|
|
66
|
+
.popper__arrow::after {
|
|
67
|
+
// border-bottom-color: rgba(0, 0, 0, 0.8);;
|
|
68
|
+
}
|
|
69
|
+
.popper__arrow {
|
|
70
|
+
// border-bottom-color: rgba(0, 0, 0, 0.8);;
|
|
71
|
+
}
|
|
72
|
+
.el-select-dropdown__empty {
|
|
73
|
+
// padding: 0.2rem;
|
|
74
|
+
// font-size: 0.28rem;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
.option{
|
|
78
|
+
display: flex;
|
|
79
|
+
flex-wrap: wrap;
|
|
80
|
+
max-width: 500px;
|
|
81
|
+
margin-top: 10px;
|
|
82
|
+
span{
|
|
83
|
+
margin-right: 10px;
|
|
84
|
+
}
|
|
85
|
+
.el-select-dropdown__item.selected::after{
|
|
86
|
+
content: "";
|
|
87
|
+
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
.el-tabs {
|
|
91
|
+
max-width: 300px;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.el-dropdown-menu{
|
|
95
|
+
padding: 0;
|
|
96
|
+
}
|
|
97
|
+
.dateRange >>> .el-date-editor--daterange {
|
|
98
|
+
max-width: 250px;
|
|
99
|
+
}
|
|
100
|
+
.el-radio {
|
|
101
|
+
visibility: hidden;
|
|
102
|
+
}
|
|
103
|
+
.el-select{
|
|
104
|
+
width: 100%;
|
|
105
105
|
}
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<el-table-column
|
|
3
|
-
:label="label"
|
|
4
|
-
:width="width"
|
|
5
|
-
:header-align="headerAlign"
|
|
6
|
-
:align="align"
|
|
7
|
-
>
|
|
8
|
-
<template slot-scope="scope">
|
|
9
|
-
<template v-if="isSlot">
|
|
10
|
-
<slot :name="slotName" :row="scope.row" :index="scope.$index"></slot>
|
|
11
|
-
</template>
|
|
12
|
-
<template v-else>
|
|
13
|
-
<span>{{ scope.row[prop] }}</span>
|
|
14
|
-
</template>
|
|
15
|
-
</template>
|
|
16
|
-
</el-table-column>
|
|
17
|
-
</template>
|
|
18
|
-
|
|
19
|
-
<script>
|
|
20
|
-
export default {
|
|
21
|
-
name: 'tableItem',
|
|
22
|
-
props: {
|
|
23
|
-
label: {
|
|
24
|
-
type: String,
|
|
25
|
-
},
|
|
26
|
-
width: {
|
|
27
|
-
type: [String, Number],
|
|
28
|
-
},
|
|
29
|
-
value: {
|
|
30
|
-
type: [String, Number]
|
|
31
|
-
},
|
|
32
|
-
headerAlign: {
|
|
33
|
-
type: String,
|
|
34
|
-
default:'center'
|
|
35
|
-
},
|
|
36
|
-
align: {
|
|
37
|
-
type: String,
|
|
38
|
-
default:'left'
|
|
39
|
-
},
|
|
40
|
-
prop: {
|
|
41
|
-
type: String,
|
|
42
|
-
},
|
|
43
|
-
isSlot: {
|
|
44
|
-
type: [String, Boolean],
|
|
45
|
-
default: true
|
|
46
|
-
},
|
|
47
|
-
slotName: {
|
|
48
|
-
type: String
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
</script>
|
|
53
|
-
|
|
54
|
-
<style lang="scss" scoped>
|
|
55
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<el-table-column
|
|
3
|
+
:label="label"
|
|
4
|
+
:width="width"
|
|
5
|
+
:header-align="headerAlign"
|
|
6
|
+
:align="align"
|
|
7
|
+
>
|
|
8
|
+
<template slot-scope="scope">
|
|
9
|
+
<template v-if="isSlot">
|
|
10
|
+
<slot :name="slotName" :row="scope.row" :index="scope.$index"></slot>
|
|
11
|
+
</template>
|
|
12
|
+
<template v-else>
|
|
13
|
+
<span>{{ scope.row[prop] }}</span>
|
|
14
|
+
</template>
|
|
15
|
+
</template>
|
|
16
|
+
</el-table-column>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
export default {
|
|
21
|
+
name: 'tableItem',
|
|
22
|
+
props: {
|
|
23
|
+
label: {
|
|
24
|
+
type: String,
|
|
25
|
+
},
|
|
26
|
+
width: {
|
|
27
|
+
type: [String, Number],
|
|
28
|
+
},
|
|
29
|
+
value: {
|
|
30
|
+
type: [String, Number]
|
|
31
|
+
},
|
|
32
|
+
headerAlign: {
|
|
33
|
+
type: String,
|
|
34
|
+
default:'center'
|
|
35
|
+
},
|
|
36
|
+
align: {
|
|
37
|
+
type: String,
|
|
38
|
+
default:'left'
|
|
39
|
+
},
|
|
40
|
+
prop: {
|
|
41
|
+
type: String,
|
|
42
|
+
},
|
|
43
|
+
isSlot: {
|
|
44
|
+
type: [String, Boolean],
|
|
45
|
+
default: true
|
|
46
|
+
},
|
|
47
|
+
slotName: {
|
|
48
|
+
type: String
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
</script>
|
|
53
|
+
|
|
54
|
+
<style lang="scss" scoped>
|
|
55
|
+
|
|
56
56
|
</style>
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="textOVer">
|
|
3
|
-
<span class="textOVerThree">
|
|
4
|
-
{{ text }}
|
|
5
|
-
</span>
|
|
6
|
-
<el-button
|
|
7
|
-
v-if="text"
|
|
8
|
-
type="text"
|
|
9
|
-
size="mini"
|
|
10
|
-
v-clipboard:copy="text"
|
|
11
|
-
v-clipboard:success="onCopy"
|
|
12
|
-
v-clipboard:error="onError"
|
|
13
|
-
>复制</el-button
|
|
14
|
-
>
|
|
15
|
-
</div>
|
|
16
|
-
|
|
17
|
-
<!--
|
|
18
|
-
导入 :import
|
|
19
|
-
调用: <TextOVer :text="text"></TextOVer>
|
|
20
|
-
-->
|
|
21
|
-
</template>
|
|
22
|
-
<script>
|
|
23
|
-
export default {
|
|
24
|
-
props: {
|
|
25
|
-
text: [String],
|
|
26
|
-
},
|
|
27
|
-
methods: {
|
|
28
|
-
onCopy: function (e) {
|
|
29
|
-
this.$message({
|
|
30
|
-
type: "success",
|
|
31
|
-
message: "复制成功",
|
|
32
|
-
});
|
|
33
|
-
},
|
|
34
|
-
onError: function (e) {
|
|
35
|
-
this.$message({
|
|
36
|
-
type: "error",
|
|
37
|
-
message: "复制失败",
|
|
38
|
-
});
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
</script>
|
|
43
|
-
<style lang="scss">
|
|
44
|
-
.textOVer {
|
|
45
|
-
text-align: center;
|
|
46
|
-
.textOVerThree {
|
|
47
|
-
display: -webkit-box;
|
|
48
|
-
overflow: hidden;
|
|
49
|
-
white-space: normal !important;
|
|
50
|
-
text-overflow: ellipsis;
|
|
51
|
-
word-wrap: break-word;
|
|
52
|
-
-webkit-line-clamp: 2;
|
|
53
|
-
-webkit-box-orient: vertical;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
1
|
+
<template>
|
|
2
|
+
<div class="textOVer">
|
|
3
|
+
<span class="textOVerThree">
|
|
4
|
+
{{ text }}
|
|
5
|
+
</span>
|
|
6
|
+
<el-button
|
|
7
|
+
v-if="text"
|
|
8
|
+
type="text"
|
|
9
|
+
size="mini"
|
|
10
|
+
v-clipboard:copy="text"
|
|
11
|
+
v-clipboard:success="onCopy"
|
|
12
|
+
v-clipboard:error="onError"
|
|
13
|
+
>复制</el-button
|
|
14
|
+
>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<!--
|
|
18
|
+
导入 :import
|
|
19
|
+
调用: <TextOVer :text="text"></TextOVer>
|
|
20
|
+
-->
|
|
21
|
+
</template>
|
|
22
|
+
<script>
|
|
23
|
+
export default {
|
|
24
|
+
props: {
|
|
25
|
+
text: [String],
|
|
26
|
+
},
|
|
27
|
+
methods: {
|
|
28
|
+
onCopy: function (e) {
|
|
29
|
+
this.$message({
|
|
30
|
+
type: "success",
|
|
31
|
+
message: "复制成功",
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
onError: function (e) {
|
|
35
|
+
this.$message({
|
|
36
|
+
type: "error",
|
|
37
|
+
message: "复制失败",
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
</script>
|
|
43
|
+
<style lang="scss">
|
|
44
|
+
.textOVer {
|
|
45
|
+
text-align: center;
|
|
46
|
+
.textOVerThree {
|
|
47
|
+
display: -webkit-box;
|
|
48
|
+
overflow: hidden;
|
|
49
|
+
white-space: normal !important;
|
|
50
|
+
text-overflow: ellipsis;
|
|
51
|
+
word-wrap: break-word;
|
|
52
|
+
-webkit-line-clamp: 2;
|
|
53
|
+
-webkit-box-orient: vertical;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
56
|
</style>
|