askbot-dragon 1.7.38-beta → 1.7.41-beta

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 (95) hide show
  1. package/README.md +27 -27
  2. package/babel.config.js +6 -6
  3. package/dragon.iml +7 -7
  4. package/package.json +55 -56
  5. package/public/index.html +75 -73
  6. package/src/App.vue +31 -31
  7. package/src/api/index.js +1 -1
  8. package/src/api/mock.http +2 -2
  9. package/src/api/requestUrl.js +185 -185
  10. package/src/assets/js/AliyunlssUtil.js +117 -141
  11. package/src/assets/js/Base64Util.js +22 -22
  12. package/src/assets/js/common.js +252 -252
  13. package/src/assets/js/hammer.js +89 -100
  14. package/src/assets/js/script.js +36 -36
  15. package/src/assets/less/common.css +6773 -6773
  16. package/src/assets/less/converSationContainer/common.less +192 -199
  17. package/src/assets/less/converSationContainer/converSatonContainer.less +493 -493
  18. package/src/assets/less/iconfont.css +37 -37
  19. package/src/assets/less/ticketMessage.less +294 -294
  20. package/src/components/ActionAlertIframe.vue +154 -177
  21. package/src/components/AiGuide.vue +471 -438
  22. package/src/components/AnswerDocknowledge.vue +1087 -1081
  23. package/src/components/AnswerVoice.vue +285 -285
  24. package/src/components/AskIFrame.vue +15 -15
  25. package/src/components/ConversationContainer.vue +10875 -10764
  26. package/src/components/FileType.vue +86 -86
  27. package/src/components/Message.vue +27 -27
  28. package/src/components/MyEditor.vue +341 -342
  29. package/src/components/QwFeedback.vue +301 -301
  30. package/src/components/actionSatisfaction.vue +107 -107
  31. package/src/components/actionSendToBot.vue +62 -62
  32. package/src/components/answerDissatisfaction.vue +62 -62
  33. package/src/components/answerRadio.vue +211 -204
  34. package/src/components/ask-components/DissatisfactionOptions.vue +57 -57
  35. package/src/components/ask-components/Msgloading.vue +37 -37
  36. package/src/components/ask-components/SatisfactionV2.vue +15 -15
  37. package/src/components/askVideo.vue +139 -162
  38. package/src/components/assetDetails.vue +378 -378
  39. package/src/components/assetMessage.vue +228 -228
  40. package/src/components/associationIntention.vue +374 -378
  41. package/src/components/attachmentPreview.vue +90 -90
  42. package/src/components/botActionSatisfactor.vue +68 -68
  43. package/src/components/chatContent.vue +513 -513
  44. package/src/components/feedBack.vue +136 -136
  45. package/src/components/fielListView.vue +351 -351
  46. package/src/components/file/AliyunOssComponents.vue +108 -108
  47. package/src/components/formTemplate.vue +3497 -3501
  48. package/src/components/imgView.vue +31 -31
  49. package/src/components/intelligentSummary.vue +227 -231
  50. package/src/components/kkview.vue +1138 -1138
  51. package/src/components/loadingProcess.vue +164 -164
  52. package/src/components/markDownText.vue +197 -197
  53. package/src/components/message/ActionAlertIframe.vue +112 -112
  54. package/src/components/message/ShopMessage.vue +164 -164
  55. package/src/components/message/TextMessage.vue +924 -928
  56. package/src/components/message/TicketMessage.vue +201 -201
  57. package/src/components/message/swiper/index.js +4 -4
  58. package/src/components/message/swiper/ticketSwiper.vue +503 -503
  59. package/src/components/message/swiper/ticketSwiperItem.vue +61 -61
  60. package/src/components/msgLoading.vue +231 -231
  61. package/src/components/myPopup.vue +70 -70
  62. package/src/components/pdfPosition.vue +1334 -1514
  63. package/src/components/popup.vue +227 -227
  64. package/src/components/previewDoc.vue +247 -251
  65. package/src/components/previewPdf.vue +779 -866
  66. package/src/components/receiverMessagePlatform.vue +65 -65
  67. package/src/components/recommend.vue +80 -80
  68. package/src/components/selector/hOption.vue +20 -20
  69. package/src/components/selector/hSelector.vue +199 -199
  70. package/src/components/selector/hWrapper.vue +216 -216
  71. package/src/components/senderMessagePlatform.vue +50 -50
  72. package/src/components/source/BotMessage.vue +24 -24
  73. package/src/components/source/CustomMessage.vue +24 -24
  74. package/src/components/test.vue +260 -260
  75. package/src/components/tree.vue +307 -307
  76. package/src/components/utils/AliyunIssUtil.js +103 -103
  77. package/src/components/utils/ckeditor.js +185 -185
  78. package/src/components/utils/format_date.js +25 -25
  79. package/src/components/utils/index.js +6 -6
  80. package/src/components/utils/math_utils.js +29 -29
  81. package/src/components/voiceComponent.vue +119 -119
  82. package/src/components/welcomeKnowledgeFile.vue +340 -344
  83. package/src/components/welcomeLlmCard.vue +140 -144
  84. package/src/components/welcomeSuggest.vue +97 -97
  85. package/src/main.js +57 -75
  86. package/vue.config.js +54 -54
  87. package/src/components/newPdfPosition.vue +0 -878
  88. package/src/components/pagination.vue +0 -129
  89. package/src/components/preview/docView.vue +0 -107
  90. package/src/components/preview/excelView.vue +0 -160
  91. package/src/components/preview/newPositionPreview.vue +0 -322
  92. package/src/components/preview/pdfView.vue +0 -746
  93. package/src/locales/cn.json +0 -72
  94. package/src/locales/en.json +0 -73
  95. package/src/locales/jp.json +0 -73
@@ -1,129 +0,0 @@
1
- <template>
2
- <div id="pagination">
3
- <el-pagination
4
- @size-change="handleSizeChange"
5
- @current-change="currentChange"
6
- :current-page.sync="currentPages"
7
- :page-size="pageSize"
8
- layout="slot, prev, pager, next"
9
- :total="total">
10
- <span class="total-class">共 {{total}} 条数据</span>
11
- </el-pagination>
12
- </div>
13
- </template>
14
-
15
- <script>
16
- export default {
17
- name: "paginationPage",
18
- data(){
19
- return{
20
- currentPages:1
21
- }
22
- },
23
- props:['pageSize','currentPage','total',"isReportForm"],
24
- watch:{
25
- currentPage: {
26
- handler(val){
27
- this.currentPages = val
28
- },
29
- },
30
-
31
- },
32
- mounted() {
33
- this.currentPages = this.currentPage
34
- },
35
- methods:{
36
- handleSizeChange(value){
37
- this.$emit('handleSizeChange',value)
38
- },
39
- currentChange(value){
40
- this.$emit('currentChange',value)
41
- },
42
- }
43
- }
44
- </script>
45
-
46
- <style scoped lang="less">
47
- #pagination{
48
- .total-class{
49
- margin-right: 13px;
50
- font-weight: 400;
51
- }
52
- position: absolute;
53
- bottom: 0px;
54
- right: 0;
55
- width: 100%;
56
- display: flex;
57
- align-items: center;
58
- justify-content: center;
59
- height: 50px;
60
- background-color: white;
61
- box-shadow: 0px 0px 18px 0px rgba(29, 55, 129, 0.07);
62
- border-radius: 5px;
63
- /deep/.el-pager{
64
- background: #EDF0F6;
65
- border-radius: 15px;
66
- }
67
- /deep/.el-pagination.is-background .btn-next{
68
- width: 30px;
69
- height: 30px;
70
- background: #EDF0F6;
71
- border-radius: 50%;
72
- }
73
- /deep/.el-pagination .btn-next{
74
- width: 30px;
75
- height: 30px;
76
- background: #EDF0F6;
77
- border-radius: 50%;
78
- padding-left: 0;
79
- margin-left:5px ;
80
- }
81
- /deep/.el-pagination .btn-prev{
82
- width: 30px;
83
- height: 30px;
84
- background: #EDF0F6;
85
- border-radius: 50%;
86
- padding-right: 0;
87
- margin-right:5px ;
88
- }
89
- /deep/.el-pagination button{
90
- padding: 0;
91
- min-width: 30px;
92
- }
93
- /deep/.el-pager li{
94
- background: #EDF0F6;
95
- height: 30px;
96
- min-width: 30px;
97
- line-height: 30px;
98
- font-size: 12px;
99
- color: #717b90;
100
- }
101
- /deep/.el-pager li:first-child{
102
- border-bottom-left-radius: 15px!important;
103
- border-top-left-radius: 15px!important;
104
- }
105
- /deep/.el-pager li:last-child{
106
- border-top-right-radius: 15px!important;
107
- border-bottom-right-radius: 15px!important;
108
- }
109
- /deep/.el-pager li.active{
110
- width: 30px;
111
- height: 30px;
112
- min-width: 30px;
113
- background: #366AFF;
114
- border: 3px solid #A1B9FF;
115
- border-radius: 50%;
116
- line-height: 24px;
117
- color: white;
118
- }
119
- /deep/.el-pagination.is-background .el-pager li:not(.disabled).active{
120
- background: #366AFF;
121
-
122
- }
123
- /deep/.el-pagination button:disabled{
124
- i{
125
- cursor: no-drop;
126
- }
127
- }
128
- }
129
- </style>
@@ -1,107 +0,0 @@
1
- <template>
2
- <div class="docView">
3
- <div class="docHtml"
4
- ref="docHtml"
5
- v-html="html"
6
- @click="selectDiv"
7
- >
8
- </div>
9
- </div>
10
- </template>
11
-
12
- <script>
13
- export default {
14
- name: "docView",
15
- data(){
16
- return{
17
- colors: ['#E3EBFF', '#FFF5DC', '#FFE8D8','#D6F3EA','#FFF1C3'],
18
- html:"",
19
- }
20
- },
21
- props:{
22
- html_result:{
23
- type:String,
24
- default:""
25
- },
26
- split_paragraphs:{
27
- type:Array,
28
- default(){
29
- return []
30
- }
31
- },
32
- fileSuffix:{
33
- type:String,
34
- default:""
35
- }
36
- },
37
- methods:{
38
- selectDiv(e){
39
- this.$emit('selectDiv',e)
40
- },
41
- getHtml(){
42
- // let url = 'https://guoranwisdom.oss-cn-zhangjiakou.aliyuncs.com/123/2024/12/09/14/18/17/123/%E5%85%AC%E5%8F%B8%E5%91%98%E5%B7%A5%E6%89%8B%E5%86%8C_1733725097.html'
43
- let url = this.html_result
44
- this.$http.get(url).then(res => {
45
- this.html = res.data;
46
- this.$nextTick(() => {
47
- this.setColor()
48
- })
49
- })
50
- },
51
- setColor(){
52
- this.split_paragraphs.forEach((item,index) => {
53
- const colorIndex = index % this.colors.length;
54
- if (item.original_paragraph){
55
- item.original_paragraph.forEach(items => {
56
- let dom = document.getElementById(items.paragraph_id);
57
- if (this.fileSuffix === 'txt'){
58
- const paragraphs = this.$el.querySelectorAll(`[data-paragraph-id="${items.paragraph_id}"]`);
59
- paragraphs.forEach(paragraph => {
60
- paragraph.style.background = this.colors[colorIndex]
61
- })
62
- } else if (dom){
63
- dom.style.background = this.colors[colorIndex];
64
- }
65
- })
66
- let newOriginal = item.original_paragraph.filter(items => !items.type)
67
- let dom = document.getElementById(newOriginal[newOriginal.length - 1].paragraph_id);
68
- if (dom){
69
- dom.style.marginBottom = '8px';
70
- }
71
- }
72
- })
73
- },
74
- },
75
- watch:{
76
- html_result:{
77
- handler(){
78
- if (this.html_result){
79
- if (this.fileSuffix === 'txt'){
80
- this.html = this.html_result
81
- this.$nextTick(() => {
82
- this.setColor()
83
- })
84
- } else {
85
- this.getHtml();
86
- }
87
- }
88
- },
89
- immediate:true
90
- }
91
- }
92
- };
93
- </script>
94
-
95
- <style scoped lang="less">
96
- .docView{
97
- width: 100%;
98
- flex: none;
99
- box-sizing: border-box;
100
- div{
101
- position: relative;
102
- }
103
- /deep/img{
104
- max-width: 100%;
105
- }
106
- }
107
- </style>
@@ -1,160 +0,0 @@
1
- <template>
2
- <div class="excelView">
3
- <table border="1" v-if="false">
4
- <thead>
5
- <tr>
6
- <th v-for="(person2,index2) in headerArray" :key="index2">{{person2}}</th>
7
- </tr>
8
- </thead>
9
- <tbody>
10
- <tr v-for="(person, index) in rowDataList" :key="index" :id="person.id">
11
- <td v-for="(person2,index2) in headerArray" :key="index2">
12
- {{person[person2]}}
13
- </td>
14
- </tr>
15
- </tbody>
16
- </table>
17
- <el-table
18
- :data="pagedData"
19
- border
20
- ref="table"
21
- :row-key="getRowKey"
22
- :row-class-name="tableRowClassName"
23
- height="100%"
24
- style="width: 100%">
25
- <template v-for="(item,index) in headerArray">
26
- <el-table-column
27
- :label="item"
28
- :key="index"
29
- min-width="100">
30
- <template slot-scope="scope">
31
- {{scope.row[item]}}
32
- </template>
33
- </el-table-column>
34
- </template>
35
- </el-table>
36
- <pagination-page :pageSize="pageSize" :currentPage="currentPage" :total="rowDataList.length" @currentChange="handleCurrentChange"></pagination-page>
37
- </div>
38
- </template>
39
-
40
- <script>
41
-
42
- import PaginationPage from "../pagination";
43
- export default {
44
- name: "excelView",
45
- components: { PaginationPage },
46
- data(){
47
- return{
48
- rowData:[
49
- {
50
- "row_id": "659164be-19bd-4fd7-a47d-b04c3dbbfa6f",
51
- "row_data_md": "| 王明宇 | 27 | 189 |",
52
- "row_number": 2,
53
- "table_html": "<table border='1' style='border-collapse:collapse;'><thead><tr><th>姓名1</th><th>年龄</th><th>身高</th></tr></thead><tbody><tr><td>王明宇</td><td>27</td><td>189</td></tr></tbody></table>"
54
- },
55
- {
56
- "row_id": "fac98d6a-2580-4f62-8f50-61521debeeef",
57
- "row_data_md": "| 老王 | 38 | 178 |",
58
- "row_number": 3,
59
- "table_html": "<table border='1' style='border-collapse:collapse;'><thead><tr><th>姓名1</th><th>年龄</th><th>身高</th></tr></thead><tbody><tr><td>老王</td><td>38</td><td>178</td></tr></tbody></table>"
60
- },
61
- ],
62
- rowDataList:[],
63
- headerArray:[],
64
- currentPage:1,
65
- pageSize:20
66
- }
67
- },
68
- props:{
69
- headerData:{
70
- type:String,
71
- default:""
72
- },
73
- excelRowList:{
74
- type:Array,
75
- default(){
76
- return []
77
- }
78
- },
79
- tableChunkData:{
80
- type:Array,
81
- default(){
82
- return [{
83
- "sheet_name": null,
84
- "table_md": null,
85
- "tableChunkText": "| 序号 | 电子色片 | 旧色号 | 颜色名称 | R68-Y32 17w77b06c L32-1 | 新 | 色卡页码 | -ICN色号 | R | G | B | C | M | Y | | 154 | 22 | B99-G01 81w11b08c L88-4 | OW060-4 | | 雪蓝 | 蓝色系 | 210 | 218 | 223 | 5.5761039841401502E-2 | 2.08606534553369E-2 | 0 | 0.12603452469972801 |",
86
- "tableChunkId": "5e80ff30-ea7e-4c47-878b-59d9b1c833ce",
87
- "tableId": null
88
- }]
89
- }
90
- }
91
- },
92
- computed:{
93
- pagedData() {
94
- const start = (this.currentPage - 1) * this.pageSize;
95
- const end = start + this.pageSize;
96
- return this.rowDataList.slice(start, end);
97
- }
98
- },
99
- methods:{
100
- tableRowData(){
101
- const headerString = this.headerData.trim().replace(/^\||\|$/g, '');
102
-
103
- // 使用竖线作为分隔符来分割字符串
104
- const headerArray = headerString.split('|').map(item => item.trim());
105
- this.headerArray = headerArray
106
- for (let i =0;i<this.excelRowList.length;i++){
107
- // 去除字符串两端的竖线(如果它们存在的话)
108
- const trimmedString = this.excelRowList[i].row_data_md.trim().replace(/^\||\|$/g, '');
109
-
110
- // 使用竖线作为分隔符来分割字符串
111
- const resultArray = trimmedString.split('|').map(item => item.trim());
112
- let obj = {}
113
- for (let j=0;j<headerArray.length;j++){
114
- this.$set(obj,headerArray[j],resultArray[j])
115
- this.$set(obj,'id',this.excelRowList[i].row_id)
116
- }
117
- this.rowDataList.push(obj);
118
- }
119
- setTimeout(() => {
120
- let dom = document.getElementById('659164be-19bd-4fd7-a47d-b04c3dbbfa6f');
121
- if (dom){
122
- dom.style.backgroundColor = 'red'
123
- }
124
- },1000)
125
- },
126
- getRowKey(row){
127
- return row.id
128
- },
129
- tableRowClassName({ row }){
130
- let id = this.tableChunkData.filter(item => item.tableChunkId == row.id);
131
- if (id && id.length > 0){
132
- return 'setBgClass'
133
- }
134
- },
135
- scrollToRow(rowId) {
136
- this.$nextTick(() => {
137
- const row = this.rowDataList.find(row => row.id === rowId);
138
- if (row) {
139
- this.$refs.table.setCurrentRow(row);
140
- }
141
- });
142
- },
143
- handleCurrentChange(val){
144
- this.currentPage = val;
145
- }
146
- },
147
- mounted() {
148
- this.tableRowData();
149
- }
150
- };
151
- </script>
152
-
153
- <style scoped lang="less">
154
- .excelView{
155
- height: 100%;
156
- /deep/.setBgClass{
157
- background-color: #366aff!important;
158
- }
159
- }
160
- </style>
@@ -1,322 +0,0 @@
1
- <template>
2
- <div class="positionView">
3
- <div class="positionContainer" :class="splitParagraph.length > 1 && fileType !== 'XLS' && fileType !== 'XLSX' ? 'has-footer' : 'no-footer'">
4
- <doc-view
5
- v-if="fileType === 'TXT' || fileType === 'DOCX' || fileType === 'DOC'"
6
- :html_result="html_result"
7
- :split_paragraphs="splitParagraph"
8
- ref="docView"
9
- ></doc-view>
10
- <excel-view v-else-if="fileType === 'XLS' || fileType === 'XLSX'"
11
- ref="excelView"
12
- :headerData="excelHeaderData"
13
- :excelRowList="excelRowList"
14
- :tableChunkData="tableChunkData"
15
- ></excel-view>
16
- <pdf-view v-else-if="fileType === 'PDF'" ref="pdfView" :split_paragraphs="splitParagraph" :ossPath="url"></pdf-view>
17
- </div>
18
- <template v-if="splitParagraph.length > 1 && fileType !== 'XLS' && fileType !== 'XLSX'">
19
- <div class="btn_footer" v-if="!isPC">
20
- <div class="prev" @click="prev">上一段</div>
21
- <div class="next" @click="next">下一段</div>
22
- </div>
23
- <div id="pagination" v-if="isPC">
24
- <el-pagination :current-page="currentPage + 1" @current-change="currentChange" @prev-click="prev"
25
- @next-click="next" layout="slot, prev, pager, next" :page-size="1" :total="splitParagraph.length">
26
- <span class="total-class">答案由{{ splitParagraph.length }}段内容生成</span>
27
- </el-pagination>
28
- </div>
29
- </template>
30
- </div>
31
- </template>
32
-
33
- <script>
34
- import DocView from "./docView";
35
- import ExcelView from "./excelView";
36
- import PdfView from "./pdfView";
37
- export default {
38
- name: "newPositionPreview",
39
- components: { PdfView, ExcelView, DocView },
40
- data(){
41
- return{
42
- tagId:[],
43
- newVersion:false,
44
- html_result:"",
45
- parseInfo:{},
46
- fileType:"",
47
- splitParagraph:[],
48
- isPC:true,
49
- currentPage:0,
50
- excelHeaderData:"",
51
- excelRowList:[],
52
- tableChunkData:[]
53
-
54
- }
55
- },
56
- props:{
57
- knowledgeId:{
58
- type:String,
59
- default:""
60
- },
61
- tagIds:{
62
- type:Array,
63
- default(){
64
- return []
65
- }
66
- },
67
- url:{
68
- type:String,
69
- default:""
70
- }
71
- },
72
- methods:{
73
- getLocationInfo(){
74
- this.$http.get('/knowledge-api/knowledge/knowledge-part-location-info/list?ids=' + this.tagIds.join(',')).then(res => {
75
- if (res.data.code == 0){
76
- if (res.data.data && res.data.data.length){
77
- for (let i=0;i<res.data.data.length;i++){
78
- if (res.data.data[i].paragraphChunkInfo && res.data.data[i].paragraphChunkInfo.splitParagraph){
79
- this.splitParagraph.push(res.data.data[i].paragraphChunkInfo.splitParagraph)
80
- }
81
- if (res.data.data[i].paragraphChunkInfo && res.data.data[i].paragraphChunkInfo.tableChunkData){
82
- this.tableChunkData = this.tableChunkData.push(res.data.data[i].paragraphChunkInfo.tableChunkData)
83
- }
84
- }
85
- }
86
- }
87
- this.getParseInfo();
88
- })
89
- },
90
- getParseInfo(){
91
- let url = '/knowledge-api/correction/knowledge-parse-info/' + this.knowledgeId;
92
- this.$http.get(url).then(res => {
93
- console.log('getParseInfo',res)
94
- if (res.data.code == 0 && res.data.data){
95
- this.parseInfo = res.data.data;
96
- if (res.data.data.extractChunkInfo && res.data.data.extractChunkInfo.docChunkData){
97
- this.html_result = res.data.data.extractChunkInfo.docChunkData.html_result;
98
- }
99
- if (res.data.data.extractChunkInfo && res.data.data.extractChunkInfo.tableChunkData && res.data.data.extractChunkInfo.tableChunkData.length > 0){
100
- this.excelHeaderData = res.data.data.extractChunkInfo.tableChunkData[0].table_md.table_header;
101
- this.excelRowList = res.data.data.extractChunkInfo.tableChunkData[0].table_md.table_data;
102
- }
103
- this.fileType = res.data.data.fileType
104
- }
105
- if (this.fileType === 'XLS' || this.fileType === 'XLSX'){
106
- let dom = document.getElementById('drawer_content_pre');
107
- dom.style.height = 'calc(100% - 90px)'
108
- }
109
- })
110
- },
111
- currentChange (value) {
112
- this.currentPage = value - 1;
113
- this.scrollToParagraph()
114
- },
115
- prev(){
116
- this.currentPage--;
117
- this.scrollToParagraph()
118
- },
119
- next(){
120
- this.currentPage++;
121
- this.scrollToParagraph()
122
- },
123
- scrollToParagraph(){
124
- if (this.fileType == 'PDF') {
125
- this.$refs.pdfView.jumpToHighlight(this.currentPage)
126
- } else if (this.fileType == 'DOC' || this.fileType == 'DOCX' || this.fileType == 'TXT'){
127
- if (this.splitParagraph[this.currentPage] && this.splitParagraph[this.currentPage].original_paragraph){
128
- const id = this.splitParagraph[this.currentPage].original_paragraph[0].paragraph_id;
129
- const dom = document.getElementById(id);
130
- if (dom){
131
- dom.scrollIntoView({ behavior: 'smooth' });
132
- }
133
- for (let i=0;i<this.splitParagraph[this.currentPage].original_paragraph.length;i++){
134
- const id = this.splitParagraph[this.currentPage].original_paragraph[i].paragraph_id;
135
- const dom = document.getElementById(id);
136
- if (dom){
137
- dom.scrollIntoView({ behavior: 'smooth' });
138
- dom.classList.add('animation')
139
- setTimeout(() => {
140
- dom.classList.remove('animation')
141
- }, 4000)
142
- }
143
- }
144
- }
145
- }
146
- }
147
- },
148
- mounted() {
149
- this.getLocationInfo();
150
- if (/(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent)) {
151
- this.isPC = false
152
- } else {
153
- this.isPC = true
154
- }
155
- }
156
- };
157
- </script>
158
-
159
- <style scoped lang="less">
160
- .positionView{
161
- height: 100%;
162
- .has-footer{
163
- height: calc(100% - 60px);
164
- }
165
- .no-footer{
166
- height: 100%;
167
- }
168
- .btn_footer {
169
- width: 100%;
170
- height: 60px;
171
- display: flex;
172
- align-items: center;
173
- justify-content: space-around;
174
- position: absolute;
175
- bottom: 0px;
176
- left: 0;
177
- z-index: 999;
178
- background: #ffffff;
179
-
180
- .prev,
181
- .next {
182
- width: 35%;
183
- height: 40px;
184
- display: flex;
185
- align-items: center;
186
- justify-content: center;
187
- border-radius: 50px;
188
- cursor: pointer;
189
- }
190
-
191
- .prev {
192
- background: #F2F5FA;
193
- color: #000;
194
- }
195
-
196
- .next {
197
- background: #366aff;
198
- color: #ffffff;
199
- }
200
- }
201
- #pagination {
202
- .total-class {
203
- margin-right: 13px;
204
- font-weight: 400;
205
- }
206
-
207
- position: absolute;
208
- bottom: 0px;
209
- right: 0;
210
- width: 100%;
211
- display: flex;
212
- align-items: center;
213
- justify-content: center;
214
- height: 50px;
215
- background-color: white;
216
- box-shadow: 0px 0px 18px 0px rgba(29, 55, 129, 0.07);
217
- border-radius: 5px;
218
- z-index: 1000;
219
-
220
-
221
-
222
- /deep/.el-pagination {
223
- margin-right: 110px;
224
- }
225
-
226
- /deep/.el-pager {
227
- background: #EDF0F6;
228
- border-radius: 15px;
229
- }
230
-
231
- /deep/.el-pagination.is-background .btn-next {
232
- width: 30px;
233
- height: 30px;
234
- background: #EDF0F6;
235
- border-radius: 50%;
236
- }
237
-
238
- /deep/.el-pagination .btn-next {
239
- width: 30px;
240
- height: 30px;
241
- background: #EDF0F6;
242
- border-radius: 50%;
243
- padding-left: 0;
244
- margin-left: 5px;
245
- }
246
-
247
- /deep/.el-pagination .btn-prev {
248
- width: 30px;
249
- height: 30px;
250
- background: #EDF0F6;
251
- border-radius: 50%;
252
- padding-right: 0;
253
- margin-right: 5px;
254
- }
255
-
256
- /deep/.el-pagination button {
257
- padding: 0;
258
- min-width: 30px;
259
- }
260
-
261
- /deep/.el-pager li {
262
- background: #EDF0F6;
263
- height: 30px;
264
- min-width: 30px;
265
- line-height: 30px;
266
- font-size: 12px;
267
- color: #717b90;
268
- }
269
-
270
- /deep/.el-pager li:first-child {
271
- border-bottom-left-radius: 15px !important;
272
- border-top-left-radius: 15px !important;
273
- }
274
-
275
- /deep/.el-pager li:last-child {
276
- border-top-right-radius: 15px !important;
277
- border-bottom-right-radius: 15px !important;
278
- }
279
-
280
- /deep/.el-pager li.active {
281
- width: 30px;
282
- height: 30px;
283
- min-width: 30px;
284
- background: #366AFF;
285
- border: 3px solid #A1B9FF;
286
- border-radius: 50%;
287
- line-height: 24px;
288
- color: white;
289
- }
290
-
291
- /deep/.el-pagination.is-background .el-pager li:not(.disabled).active {
292
- background: #366AFF;
293
- }
294
- }
295
- }
296
- .animation {
297
- animation-name: highlight;
298
- animation-duration: 4s;
299
- }
300
-
301
- @keyframes highlight {
302
- 0% {
303
- background: rgba(255, 136, 0, 0.3);
304
- }
305
-
306
- 25% {
307
- background: rgba(255, 136, 0, 0.6);
308
- }
309
-
310
- 50% {
311
- background: rgba(255, 136, 0, 0.3);
312
- }
313
-
314
- 75% {
315
- background: rgba(255, 136, 0, 0.6);
316
- }
317
-
318
- 100% {
319
- background: rgba(255, 136, 0, 0.3);
320
- }
321
- }
322
- </style>