askbot-dragon 1.7.26-beta → 1.7.29-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.
@@ -1,7 +1,6 @@
1
1
  <!-- 消息记录容器 -->
2
2
  <template>
3
3
  <div id="conversation">
4
- <qw-feedback :msg="qwFeedbackObj"></qw-feedback>
5
4
  <div v-for="(item, index) in processAction" :key="index">
6
5
  <association-intention :msg="item" :msgType="item.type" :isOpen="isOpen"></association-intention>
7
6
  </div>
@@ -38,7 +37,7 @@
38
37
  </div> -->
39
38
 
40
39
  <!-- <text-message :text="text" @submitClick="submitClick"></text-message> -->
41
- <answer-docknowledge :isAskLightning="2" :msg="answerDocknowledge" :isLiBang="false"></answer-docknowledge>
40
+ <answer-docknowledge :isAskLightning="2" :isHasChat="true" :msg="answerDocknowledge" :isLiBang="false"></answer-docknowledge>
42
41
  <welcomeSuggest :msg="welcomeSuggest"></welcomeSuggest>
43
42
  <!-- <voice-component @closeVoice="closeVoice">
44
43
  <div slot="voiceTip">
@@ -122,7 +121,6 @@ import AnswerDocknowledge from "./AnswerDocknowledge.vue";
122
121
  import WelcomeKnowledgeFile from "./welcomeKnowledgeFile";
123
122
  import WelcomeLlmCard from "./welcomeLlmCard";
124
123
  import welcomeSuggest from "./welcomeSuggest"
125
- import QwFeedback from './QwFeedback';
126
124
  export default {
127
125
  name: 'ConversationContainer',
128
126
  components: {
@@ -152,8 +150,7 @@ export default {
152
150
  // ChatContent,
153
151
  AnswerDocknowledge,
154
152
  MyEditor,
155
- welcomeSuggest,
156
- QwFeedback
153
+ welcomeSuggest
157
154
  },
158
155
  props: {
159
156
  messages: Array
@@ -243,7 +240,7 @@ export default {
243
240
  "content": {
244
241
  "images": [{ url: 'https://static.guoranbot.com/images/knowledge/e0f6898c6b0d47fa98e8f71ceab1bde8/安全标志--禁止标志.png' }],
245
242
  "actionType": "answer_doc_knowledge",
246
- "text": "中国的省份名称有湖北省、广西壮族自治区等。",
243
+ "text": "**票据管理规定**\n\n### 车票报销\n- **注意事项**:\n - 车票需注意日期与行程相符。\n - 如所附车票没有标注起止地点的,需自行注明。\n - 非同一次乘车出现票号相连的,不予报销。\n\n### 不予报销的票据\n- **国内白条及非财政部门监制的收据**:一律不予报销。\n- **预存性质的票据**:如预存话费、预存公交车费、购物卡、油卡等,原则上不予报销。\n - 确有客观需求并经部门负责人、财务负责人事先同意的,预存时需获取预付款增值税普通发票。\n - 后续每次实际消费时需取得注明预付卡卡号的消费小票,并在消费完预付卡内余额后及时进行一次性报销。\n - 无法取得消费小票的,请及时与财务同事沟通与确认解决方案。\n\n### 发票要求\n- **字迹不清或压线错格**:应重新开票。\n- **无法取得发票的费用**:公司不予报销,不允许用其他发票替代报销。\n\n### 报销单整理\n- 报销单影像审批完成进入核票流程后,报销人应将该张报销单的票据按照时间顺序分类整理,平铺、整齐的粘贴在A4纸上,票据与票据之间不能重叠遮挡,与报销单一同交到财务部。\n- 驻外人员邮寄回公司本部门的内勤人员,由部门内勤人员代为转交至财务部。\n- 财务收到单据后在汇联易系统中进行核票,纸质票据影像必须与实物一致,符合标准的单据完成审批流程后,进入待付款流程。\n\n### 出差报销\n- 员工出差必须先填写出差申请单,经审批后才能出行。\n- 若有紧急出差的情况,应填写出差申请单后,联系上级领导人进行加急审批。\n- 未填出差申请单,自行购票出行,公司有权不予报销。",
247
244
  "list": [
248
245
  {
249
246
  "owner": null,
@@ -322,8 +319,9 @@ export default {
322
319
  "previewImage": "https://askbot-pdf-all.oss-cn-zhangjiakou.aliyuncs.com/31623ccfe9dd4957bbd59c5823878bbe/2023/12/27/03/39/08/658b9c477cf604285f7cb81d/pdf-image-1913302477976388839.png"
323
320
  }
324
321
  ],
325
- "renderType": 0,
326
- "type": 1
322
+ "renderType": 2,
323
+ "type": 1,
324
+ "isHistory": true
327
325
  },
328
326
  "type": "answer_doc_knowledge"
329
327
  },
@@ -10663,15 +10661,6 @@ export default {
10663
10661
  }
10664
10662
  },
10665
10663
  answerRadios: { "content": { "options": [{ "scope": "KNOWLEDGE", "name": "本文提供了什么内容?", "value": "64915d6e098ec248701da267" }, { "scope": "KNOWLEDGE", "name": "什么是街舞穿搭指南?", "value": "64915d6e098ec248701da267" }, { "scope": "KNOWLEDGE", "name": "为什么街舞爱好者需要关注本文?", "value": "64915d6e098ec248701da267" }], "description": "了解更多", "isKnowledgeSummary": true }, "id": "knowledgeRecdNodeId", "type": "answer_radio", "sessionId": 1687251699065, "keyId": "139480f2-5af1-44fd-a7bd-a73dd7b566b7_________", "isKnowledgeSummary": true },
10666
- qwFeedbackObj: {
10667
- "content": {
10668
- "guideText": "以下问题我已经学会了,感谢您提供的金点子,帮助我更好的成长:",
10669
- "questionList": [
10670
- "打印机卡纸怎么办", "打印机打印模糊", "SAP系统输入编码系统显示报错", "合同已经上传影像归档了,但是在CE中还是关联不到合同", "如何查询社保缴费基数", "如何查询公积金缴费基数"
10671
- ]
10672
- },
10673
- "type": "unidentified_feedback"
10674
- },
10675
10664
  answerRadiosPri: {
10676
10665
  "refAttrId": null,
10677
10666
  "createTime": null,
@@ -17,7 +17,7 @@
17
17
  p-id="74841"
18
18
  />
19
19
  </svg>
20
- 上传图片或附件
20
+ {{$t('dragonCommon.uploadImgFile')}}
21
21
  </button>
22
22
  </div>
23
23
  <div
@@ -42,14 +42,6 @@ export default {
42
42
  props: ["value", "placeholder", "havToolbar"],
43
43
  data () {
44
44
  return {
45
- ossConfig: {
46
- region: "oss-cn-zhangjiakou",
47
- //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
48
- accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
49
- accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
50
- // stsToken: '<Your securityToken(STS)>',
51
- bucket: "guoranopen-zjk",
52
- },
53
45
  ischecked: false,
54
46
  text: ''
55
47
  }
@@ -159,13 +151,12 @@ export default {
159
151
  url: '',
160
152
  }
161
153
  let res = multipartUpload(
162
- this.ossConfig,
163
154
  file,
164
155
  null,
165
156
  imgInfo
166
157
  );
167
158
  res.then(resp => {
168
- imgInfo.url = ossFileUrl(this.ossConfig, resp.name)
159
+ imgInfo.url = ossFileUrl(resp.name)
169
160
  resolve({
170
161
  name: resp.name,
171
162
  default: imgInfo.url
@@ -17,7 +17,7 @@
17
17
  )
18
18
  "
19
19
  >
20
- 满意
20
+ {{$t('dragonCommon.satisfaction')}}
21
21
  </div>
22
22
  <div
23
23
  class="statisfaction-item"
@@ -32,7 +32,7 @@
32
32
  )
33
33
  "
34
34
  >
35
- 不满意
35
+ {{$t('dragonCommon.unsatisfied')}}
36
36
  </div>
37
37
  </div>
38
38
 
@@ -4,7 +4,7 @@
4
4
  v-if="msg.content.description && !msg.content.isKnowledgeSummary"></p>
5
5
  <div class="bottom-link" v-if="msg.content.description && !msg.content.isKnowledgeSummary"></div>
6
6
  <div :class="['options-list', msg.content.isKnowledgeSummary ? 'isKnowledgeSummary' : '']">
7
- <div v-if="msg.content.isKnowledgeSummary" class="tips">AI为您推荐了以下内容</div>
7
+ <div v-if="msg.content.isKnowledgeSummary" class="tips">{{$t('dragonCommon.AIrecommends')}}</div>
8
8
  <div v-for="(option, index) in showOptions" class="options-item"
9
9
  :class="index !== msg.content.options.length - 1 ? 'recommend-item' : 'last-item'" :key="msg.nodeId + '_' + index"
10
10
  @click="radioClick(msg, option, index)">
@@ -13,7 +13,7 @@
13
13
  </div>
14
14
  </div>
15
15
  <div v-if="showPage" class="switch-page">
16
- <span @click="changeActivePage" class="switch-page-btn">换一批</span>
16
+ <span @click="changeActivePage" class="switch-page-btn">{{$t('dragonCommon.refresh')}}</span>
17
17
  <!-- <span @click="showMore" class="switch-page-btn">查看更多</span> -->
18
18
  </div>
19
19
  </div>
@@ -26,7 +26,7 @@
26
26
  </div>
27
27
  </template>
28
28
  <script>
29
- import {ossConfig,uploadImageByBase64} from "../assets/js/AliyunlssUtil";
29
+ import {uploadImageByBase64} from "../assets/js/AliyunlssUtil";
30
30
 
31
31
  export default {
32
32
  name: "ask_video",
@@ -86,7 +86,7 @@
86
86
  console.debug('img.src',output)
87
87
  let base64 = canvas.toDataURL("image/png")
88
88
  let blob = that.dataURLtoFile(base64,'name')
89
- let promise = uploadImageByBase64(ossConfig,blob);
89
+ let promise = uploadImageByBase64(blob);
90
90
  promise.then((res)=>{
91
91
  console.debug("upload base64 reslut",res);
92
92
  if (res&&res.url){
@@ -2,7 +2,7 @@
2
2
  <div class="asset">
3
3
  <div class="asset-details">
4
4
  <section class="details-title">
5
- <p>您正在咨询</p>
5
+ <p>{{$t('dragonCommon.youareconsulting')}}</p>
6
6
  <span @click="rotateClick" class="rotate">
7
7
  <i class="arsenal_icon arsenalangle-up-solid"></i>
8
8
  </span>
@@ -15,9 +15,7 @@
15
15
  <section class="text-label">
16
16
  <p class="text-type">
17
17
  <i class="iconfont guoran-biaoqian"></i>
18
- <span>{{
19
- dataDetails.typeName ? dataDetails.typeName : "--"
20
- }}</span>
18
+ <span>{{ dataDetails.typeName ? dataDetails.typeName : "--" }}</span>
21
19
  </p>
22
20
  <p class="text-SN">
23
21
  <i class="iconfont guoran-xinghao"></i>
@@ -29,20 +27,20 @@
29
27
  <div class="details-content-hide">
30
28
  <p>
31
29
  <i class="iconfont guoran-miaoshu"></i>
32
- <span>描述</span>
30
+ <span>{{ $t('dragonCommon.description') }}</span>
33
31
  <b>{{ dataDetails.description }}</b>
34
32
  </p>
35
33
  <p>
36
34
  <i class="arsenal_icon arsenalweizhi"></i>
37
- <span>位置</span>
38
- <b> {{ dataDetails.officeAreaName }} </b>
35
+ <span>{{ $t('dragonCommon.location') }}</span>
36
+ <b>{{ dataDetails.officeAreaName }}</b>
39
37
  </p>
40
38
  <p>
41
39
  <i class="iconfont guoran-geren"></i>
42
- <span>使用者</span>
40
+ <span>{{ $t('dragonCommon.user') }}</span>
43
41
  <b>
44
42
  {{
45
- dataDetails.userName && dataDetails.userName.length != 0
43
+ dataDetails.userName && dataDetails.userName.length !== 0
46
44
  ? dataDetails.userName[0]
47
45
  : "--"
48
46
  }}
@@ -50,10 +48,10 @@
50
48
  </p>
51
49
  <p>
52
50
  <i class="iconfont guoran-bumen"></i>
53
- <span>部门</span>
51
+ <span>{{ $t('dragonCommon.department') }}</span>
54
52
  <b>
55
53
  {{
56
- dataDetails.deptNames && dataDetails.deptNames.length != 0
54
+ dataDetails.deptNames && dataDetails.deptNames.length !== 0
57
55
  ? dataDetails.deptNames[0]
58
56
  : "--"
59
57
  }}
@@ -61,10 +59,10 @@
61
59
  </p>
62
60
  <p>
63
61
  <i class="iconfont guoran-guanlizhe"></i>
64
- <span>管理者</span>
62
+ <span>{{ $t('dragonCommon.manager') }}</span>
65
63
  <b>
66
64
  {{
67
- dataDetails.managerNames && dataDetails.managerNames.length != 0
65
+ dataDetails.managerNames && dataDetails.managerNames.length !== 0
68
66
  ? dataDetails.managerNames[0]
69
67
  : "--"
70
68
  }}
@@ -53,7 +53,7 @@
53
53
  <previewDoc ref="previewDoc" :url="previewHref" @close="close" v-if="previewShowPopup"></previewDoc>
54
54
  </van-popup>
55
55
  <el-drawer
56
- title="我是标题"
56
+ title=""
57
57
  :append-to-body="true"
58
58
  :visible.sync="drawer"
59
59
  :with-header="false"
@@ -803,14 +803,6 @@ export default {
803
803
  videoUploadPercent: false,
804
804
  fileType: ['PICTURE', 'VIDEO', 'AUDIO'],
805
805
  loading: '',
806
- ossConfig: {
807
- region: "oss-cn-zhangjiakou",
808
- //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
809
- accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
810
- accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
811
- // stsToken: '<Your securityToken(STS)>',
812
- bucket: "guoranopen-zjk",
813
- },
814
806
  hideUploadEdit: false,
815
807
  limitNum: 1,
816
808
  refShowPicker: false,
@@ -1505,7 +1497,6 @@ export default {
1505
1497
  url: ''
1506
1498
  }
1507
1499
  let res = multipartUpload(
1508
- this.ossConfig,
1509
1500
  file,
1510
1501
  null,
1511
1502
  imageInfo
@@ -1515,10 +1506,10 @@ export default {
1515
1506
  // let filePath = res.name;
1516
1507
  imageData.urls.push({
1517
1508
  name: file.name,
1518
- url: ossFileUrl(this.ossConfig, res.name),
1509
+ url: ossFileUrl(res.name),
1519
1510
  status: 'success'
1520
1511
  })
1521
- imageInfo.url = ossFileUrl(this.ossConfig, res.name)
1512
+ imageInfo.url = ossFileUrl(res.name)
1522
1513
  imageInfo.status = 'success'
1523
1514
  imageInfo.name = file.name
1524
1515
  for (let j = 0; j < this.extInfoFieldValue[this.filedId].length; j++) {
@@ -2418,7 +2409,6 @@ export default {
2418
2409
  },
2419
2410
  };*/
2420
2411
  let res = multipartUpload(
2421
- this.ossConfig,
2422
2412
  file,
2423
2413
  null,
2424
2414
  imgInfo
@@ -2431,7 +2421,7 @@ export default {
2431
2421
  ossFileUrl(this.ossConfig, res.name)
2432
2422
  );
2433
2423
  console.log('imageData',imageData)*/
2434
- imgInfo.url = ossFileUrl(this.ossConfig, res.name)
2424
+ imgInfo.url = ossFileUrl(res.name)
2435
2425
  imgInfo.status = 'success'
2436
2426
  if (data.file) {
2437
2427
  imgInfo.name = data.file.name
@@ -2491,7 +2481,7 @@ export default {
2491
2481
  console.debug("upload video progress", progress, point);
2492
2482
  if (progress === 1) {
2493
2483
  // this.loadingIns.close();
2494
- videoData.content.url = ossFileUrl(this.ossConfig, point.name);
2484
+ videoData.content.url = ossFileUrl(point.name);
2495
2485
  // this.chooseVideo({data:url},file);
2496
2486
 
2497
2487
  } else {
@@ -0,0 +1,32 @@
1
+ <template>
2
+ <div>
3
+ <el-image-viewer :zIndex="999999" :on-close="closeViewer" :url-list="urlList" />
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import ElementUI from 'element-ui';
9
+ // import ElImageViewer from ElementUI.Image.components.ImageViewer;
10
+
11
+ export default {
12
+ name: "imgView",
13
+ components: {
14
+ ElImageViewer: ElementUI.Image.components.ImageViewer
15
+ },
16
+ data () {
17
+ return {};
18
+ },
19
+ props: ["urlList"],
20
+ methods: {
21
+ closeViewer () {
22
+ // 关闭组件后从父级dom销毁这个挂载
23
+ if (this.$el.parentNode) {
24
+ this.$el.parentNode.removeChild(this.$el);
25
+ }
26
+ this.$emit("closeViewer");
27
+ },
28
+ },
29
+ };
30
+ </script>
31
+
32
+ <style scoped></style>
@@ -3,21 +3,23 @@
3
3
  <div class="summaryHeader">
4
4
  <div class="left">
5
5
  <i class="iconfont guoran-tongyichicun-write-29-jiqiren"></i>
6
- <span>智能摘要</span>
6
+ <span>{{ $t('dragonCommon.smartSummary') }}</span>
7
7
  </div>
8
8
  <div class="right">
9
9
  <div class="regenerationBtn" @click="regeneration">
10
- <template v-if="!isLoading">重新生成</template>
10
+ <template v-if="!isLoading">
11
+ {{ $t('dragonCommon.regenerate') }}
12
+ </template>
11
13
  <template v-else>
12
14
  <img
13
- height="20px"
14
- width="20px"
15
- src="../assets/image/loading.gif"
16
- alt
17
- srcset
18
- style="margin-right: 6px"
15
+ height="20px"
16
+ width="20px"
17
+ src="../assets/image/loading.gif"
18
+ alt
19
+ srcset
20
+ style="margin-right: 6px"
19
21
  />
20
- <span>生成中</span>
22
+ <span>{{ $t('dragonCommon.generating') }}</span>
21
23
  </template>
22
24
  </div>
23
25
  <i class="iconfont guoran-tongyichicun-shouqi" @click="closeSummary"></i>
@@ -28,9 +30,9 @@
28
30
  </div>
29
31
  <div class="intelligentBottom" v-if="recommendQuestions.length > 0">
30
32
  <div class="intelligentQues"
31
- v-for="(item,index) in recommendQuestions"
32
- :key="index"
33
- @click="recommendQues(item)"
33
+ v-for="(item, index) in recommendQuestions"
34
+ :key="index"
35
+ @click="recommendQues(item)"
34
36
  >
35
37
  {{ item }}
36
38
  </div>
@@ -0,0 +1,164 @@
1
+ <template>
2
+ <div @click="lookImage">
3
+ <vue-markdown class="mark_down" :source="typedContent" :ref="'markdown' + msgId">
4
+ </vue-markdown>
5
+ <div v-if="showPreview">
6
+ <img-view :url-list="imgList" @closeViewer="closeViewer"></img-view>
7
+ </div>
8
+ </div>
9
+ </template>
10
+
11
+ <script>
12
+ import VueMarkdown from "vue-markdown";
13
+ import ImgView from "./imgView.vue";
14
+
15
+ export default {
16
+ name: "markDownText",
17
+ data() {
18
+ return {
19
+ typedContent: "",
20
+ typingSpeed: 15,
21
+ showPreview: false,
22
+ imgList: [],
23
+ };
24
+ },
25
+ props: {
26
+ chainValues: {
27
+ type: String,
28
+ default: "",
29
+ },
30
+ msgId: {
31
+ type: String,
32
+ default: "",
33
+ },
34
+ isHistory: {
35
+ type: Boolean,
36
+ default: false,
37
+ },
38
+ },
39
+ components: {
40
+ ImgView,
41
+ VueMarkdown,
42
+ },
43
+ mounted() {
44
+ this.$nextTick(() => {
45
+ // let ref = 'markdown' + this.msgId
46
+ // const el = this.$refs[ref].$el;
47
+ // if (this.isHistory){
48
+ // el.innerHTML = this.chainValues;
49
+ // } else {
50
+ // new Typed(el, {
51
+ // strings: [this.chainValues],
52
+ // typeSpeed: 30,
53
+ // showCursor: false
54
+ // })
55
+ // }
56
+ this.typedContent = this.chainValues;
57
+ // if (this.isHistory) {
58
+ // this.typedContent = this.chainValues;
59
+ // } else {
60
+ // this.startTypingEffect();
61
+ // }
62
+ });
63
+ },
64
+ methods: {
65
+ startTypingEffect() {
66
+ let i = 0;
67
+ const interval = setInterval(() => {
68
+ if (i < this.chainValues.length) {
69
+ this.typedContent += this.chainValues.charAt(i);
70
+ i++;
71
+ } else {
72
+ clearInterval(interval);
73
+ }
74
+ }, this.typingSpeed);
75
+ },
76
+ lookImage(e) {
77
+ let previewImageUrl = "";
78
+ console.log("e.target", e.target);
79
+ if (e.target.localName == "img") {
80
+ previewImageUrl = e.target.currentSrc;
81
+ this.showPreview = true;
82
+ }
83
+ let richtext = JSON.parse(JSON.stringify(this.typedContent));
84
+ this.imgList = [];
85
+ richtext.replace(
86
+ /<img [^>]*src=['"]([^'"]+)[^>]*>/g,
87
+ (match, capture) => {
88
+ this.imgList.push(capture);
89
+ }
90
+ );
91
+ /*当前点击的图片作为第一个图片*/
92
+ let index = this.imgList.indexOf(previewImageUrl);
93
+ this.imgList.splice(index, 1);
94
+ this.imgList.unshift(previewImageUrl);
95
+ },
96
+ closeViewer() {
97
+ this.showPreview = false;
98
+ },
99
+ },
100
+ };
101
+ </script>
102
+
103
+ <style scoped lang="less">
104
+ .mark_down {
105
+ line-height: 24px;
106
+
107
+ /deep/p {
108
+ margin-bottom: 14px;
109
+ font-size: 16px;
110
+ }
111
+
112
+ /deep/p:only-child {
113
+ margin: 0 !important;
114
+ }
115
+
116
+ /deep/p:last-child {
117
+ margin-bottom: 0 !important;
118
+ }
119
+
120
+ /deep/ul {
121
+ margin-bottom: 16px ;
122
+ li {
123
+ margin: 7px 0 !important;
124
+ font-size: 16px;
125
+
126
+ }
127
+ }
128
+
129
+ /deep/ ol {
130
+ li {
131
+ margin: 7px 0 !important;
132
+ font-size: 16px;
133
+ }
134
+ }
135
+
136
+ /deep/img {
137
+ max-width: 400px;
138
+ }
139
+
140
+ /deep/h3,
141
+ /deep/h2,
142
+ /deep/h1,
143
+ /deep/h4,
144
+ /deep/h5,
145
+ /deep/h6 {
146
+ color: #000000;
147
+ font-weight: 500;
148
+ line-height: 26px;
149
+ }
150
+
151
+ /deep/h3 {
152
+ font-size: 20px;
153
+ }
154
+ /deep/h2 {
155
+ font-size: 22px;
156
+ }
157
+ /deep/h1 {
158
+ font-size: 24px;
159
+ }
160
+ /deep/h3 {
161
+ font-size: 20px;
162
+ }
163
+ }
164
+ </style>
@@ -1,18 +1,18 @@
1
1
  <template>
2
2
  <div class="container">
3
3
  <div class="top-container">
4
- <div class="close">取消</div>
5
- <div class="sure">确定</div>
4
+ <div class="close" @click="handleClose">{{ $t('dragonCommon.cancel') }}</div>
5
+ <div class="sure" @click="handleConfirm">{{ $t('dragonCommon.confirm') }}</div>
6
6
  </div>
7
- <van-list v-model="loading" :finished="finished" finished-text="没有更多了" :offset="1" @load="onload" class="list-container">
7
+ <van-list
8
+ v-model="loading"
9
+ :finished="finished"
10
+ :finished-text="$t('dragonCommon.noMore')"
11
+ :offset="1"
12
+ @load="onLoad"
13
+ class="list-container"
14
+ >
8
15
  <van-cell v-for="item in list" :key="item.id" :title="item.name" />
9
- <!-- <van-cell title="123" />
10
- <van-cell title="asdasd" />
11
- <van-cell title="adszx" />
12
- <van-cell title="zxc zc" />
13
- <van-cell title="asdasd" />
14
- <van-cell title="wqeqweqwe" />
15
- <van-cell title="icvbncvbn" /> -->
16
16
  </van-list>
17
17
  </div>
18
18
  </template>