askbot-dragon 1.7.61-beta → 1.7.63-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 (36) hide show
  1. package/package.json +5 -4
  2. package/public/index.html +8 -10
  3. package/src/assets/js/AliyunlssUtil.js +49 -25
  4. package/src/assets/js/hammer.js +13 -2
  5. package/src/assets/less/converSationContainer/common.less +7 -0
  6. package/src/components/ActionAlertIframe.vue +24 -1
  7. package/src/components/AiGuide.vue +114 -151
  8. package/src/components/AnswerDocknowledge.vue +23 -14
  9. package/src/components/ConversationContainer.vue +104 -213
  10. package/src/components/MyEditor.vue +2 -1
  11. package/src/components/actionSatisfaction.vue +1 -1
  12. package/src/components/answerRadio.vue +50 -4
  13. package/src/components/askVideo.vue +23 -0
  14. package/src/components/associationIntention.vue +11 -7
  15. package/src/components/formTemplate.vue +54 -50
  16. package/src/components/intelligentSummary.vue +5 -1
  17. package/src/components/markDownText.vue +21 -21
  18. package/src/components/message/TextMessage.vue +5 -1
  19. package/src/components/message/swiper/ticketSwiper.vue +1 -1
  20. package/src/components/newPdfPosition.vue +878 -0
  21. package/src/components/pagination.vue +129 -0
  22. package/src/components/pdfPosition.vue +213 -33
  23. package/src/components/preview/docView.vue +114 -0
  24. package/src/components/preview/excelView.vue +191 -0
  25. package/src/components/preview/newPositionPreview.vue +370 -0
  26. package/src/components/preview/pdfView.vue +824 -0
  27. package/src/components/previewDoc.vue +4 -0
  28. package/src/components/previewPdf.vue +626 -314
  29. package/src/components/senderMessagePlatform.vue +1 -1
  30. package/src/components/utils/ckeditor.js +1 -1
  31. package/src/components/welcomeKnowledgeFile.vue +5 -1
  32. package/src/components/welcomeLlmCard.vue +5 -1
  33. package/src/locales/cn.json +60 -60
  34. package/src/locales/en.json +60 -60
  35. package/src/locales/jp.json +73 -0
  36. package/src/main.js +1 -1
@@ -13,8 +13,8 @@
13
13
  class="field-item-name">
14
14
  <span
15
15
  v-if="item.fieldId !== 'workorder_description' && item.fieldId !== 'workorder_clientId'">{{ item.formField.name }}</span>
16
- <span v-if="item.fieldId === 'workorder_description'">{{ isBaiLi ? '反馈描述' : '问题描述' }}</span>
17
- <span v-if="item.fieldId === 'workorder_clientId'">报单人</span>
16
+ <span v-if="item.fieldId === 'workorder_description'">{{ isBaiLi ? $t('formTemplate.feedbackDes') : $t('formTemplate.orderDes') }}</span>
17
+ <span v-if="item.fieldId === 'workorder_clientId'">{{$t('formTemplate.report')}}</span>
18
18
  <span style="color: red;padding-left: 5px;padding-right: 5px"
19
19
  v-if="item.fieldId !== '0feca81fce97465da537248c066e4db8' && item.fieldId !== '1d8bd21485834773a6d18eae60013000' && (item.required || isRequiredFn(item.formField))">*</span>
20
20
  <el-tooltip class="item" effect="dark" placement="right-start">
@@ -59,7 +59,7 @@
59
59
  </div>
60
60
  </template>
61
61
  <el-input type="textarea" :rows="2" v-model="item.value"
62
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请输入'"
62
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.inputPlaceholder')"
63
63
  :maxlength="item.formField.extInfo && item.formField.extInfo.maxNum ? item.formField.extInfo.maxNum * 1 : 1000"
64
64
  v-if="item.formField.type === 'TEXTAREA' && item.fieldId !== 'workorder_description'"></el-input>
65
65
  <div v-else-if="item.fieldId === 'workorder_description'">
@@ -79,20 +79,20 @@
79
79
  <file-list-view :attachmentList="attachmentList" @attachDeleteAttch="attachDeleteAttch"></file-list-view>
80
80
  </div>
81
81
  <el-date-picker v-model=item.value type="date"
82
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择日期'"
82
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectDate')"
83
83
  style="width: 100%" v-else-if="item.formField.type === 'DATE_PICKER'">
84
84
  </el-date-picker>
85
85
  <el-time-picker v-model=item.value format="HH:mm"
86
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择时间'"
86
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectTime')"
87
87
  style="width: 100%"
88
88
  v-else-if="item.formField.type === 'TIME_PICKER' && (!item.formField.extInfo.mold || item.formField.extInfo.mold == 'TIME' || getMoldTime(item.formField) == 'TIME')">
89
89
  </el-time-picker>
90
90
  <el-date-picker v-model=item.value type="date" style="width: 100%"
91
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择日期'"
91
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectDate')"
92
92
  v-else-if="item.formField.type === 'TIME_PICKER' && (item.formField.extInfo.mold === 'DATA' || item.formField.extInfo.mold === 'DATE' || getMoldTime(item.formField) == 'DATE')">
93
93
  </el-date-picker>
94
94
  <el-date-picker v-model=item.value
95
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择日期时间'"
95
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectDateTime')"
96
96
  clearable style="width: 100%" type="datetime"
97
97
  v-else-if="item.formField.type === 'TIME_PICKER' && (item.formField.extInfo.mold === 'DATA_TIME' || item.formField.extInfo.mold === 'DATE_TIME' || getMoldTime(item.formField) == 'DATE_TIME')">
98
98
  </el-date-picker>
@@ -122,7 +122,7 @@
122
122
  </div>
123
123
  <div v-else-if="item.formField.type === 'SELECT' || item.formField.type === 'OPTION'">
124
124
  <el-select v-model=item.value
125
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
125
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder')"
126
126
  style="width: 100%" filterable
127
127
  v-if="item.fieldId === 'workorder_clientId' || item.fieldId === 'workorder_statusId' || item.fieldId === 'workorder_priority'">
128
128
  <el-option v-for="(items, index) in selectOptions(item.formField)" :key="index" :label="items.label"
@@ -130,7 +130,7 @@
130
130
  </el-option>
131
131
  </el-select>
132
132
  <el-select v-model=item.value
133
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
133
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder')"
134
134
  style="width: 100%" filterable v-else @change="changeSelect(item)"
135
135
  :multiple="item.formField.extInfo && item.formField.extInfo.selectType == '多选'">
136
136
  <el-option v-for="(items, index) in optionsLists(item)" :key="index" :label="items.label"
@@ -159,7 +159,7 @@
159
159
  </span>
160
160
  </template>
161
161
  <span
162
- v-else>{{ item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择' }}</span>
162
+ v-else>{{ item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder' )}}</span>
163
163
  </div>
164
164
  <!-- <el-cascader
165
165
  v-model=item.value
@@ -210,7 +210,7 @@
210
210
  </template>
211
211
  <div v-else-if="item.formField.type == 'REF_TEMPLATE' || item.formField.type == 'REF'">
212
212
  <el-select v-model=item.value
213
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
213
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder')"
214
214
  style="width: 100%" filterable
215
215
  :multiple="item.formField.extInfo && item.formField.extInfo.selectType == '多选'"
216
216
  @visible-change="(visible) => { return refTemplateVisibleChange(visible, item) }" collapse-tags
@@ -234,7 +234,7 @@
234
234
  <div v-if="item.formField.type === 'INPUT'" class="form-field-item-value">
235
235
  <van-field v-model=item.value :label=item.formField.name
236
236
  :required="item.required || isRequiredFn(item.formField)" :disabled="disableds"
237
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请输入'"
237
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.inputPlaceholder')"
238
238
  :maxlength="item.formField.extInfo && item.formField.extInfo.maxNum ? item.formField.extInfo.maxNum * 1 : 1000"
239
239
  @blur="typeCheck(item.formField, item)" :type="item.formField.extInfo.inputType === 'NUMBER' ||
240
240
  item.formField.extInfo.inputType === 'RATE' ? 'number' : 'text'">
@@ -270,7 +270,7 @@
270
270
  <div v-else-if="item.formField.type === 'TEXTAREA'" class="form-field-item-value">
271
271
  <van-field v-model=item.value :label=item.formField.name
272
272
  :required="item.required || isRequiredFn(item.formField)" type="textarea" :disabled="disableds"
273
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请输入'"
273
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.inputPlaceholder')"
274
274
  :maxlength="item.formField.extInfo && item.formField.extInfo.maxNum ? item.formField.extInfo.maxNum * 1 : 1000"
275
275
  v-if="item.fieldId !== 'workorder_description'">
276
276
  <template slot="label">
@@ -317,7 +317,7 @@
317
317
  </div>
318
318
  <div v-else-if="item.formField.type === 'DATE_PICKER'" class="form-field-item-value">
319
319
  <van-field readonly clickable name="calendar" :value=dateValue[item.fieldId] :label=item.formField.name
320
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择日期'"
320
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectDate')"
321
321
  :required="item.required || isRequiredFn(item.formField)" @click="dateClick(item.fieldId)"
322
322
  :disabled="disableds" right-icon="van-icon van-icon-arrow van-cell__right-icon">
323
323
  <template slot="label">
@@ -341,7 +341,7 @@
341
341
  class="form-field-item-value">
342
342
  <van-field readonly clickable name="datetimePicker" :required="item.required || isRequiredFn(item.formField)"
343
343
  :value=extInfoFieldValue[item.fieldId] :label=item.formField.name
344
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
344
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder')"
345
345
  @click="timeClick(item.fieldId, item, 'DATE_TIME')" :disabled="disableds"
346
346
  right-icon="van-icon van-icon-arrow van-cell__right-icon">
347
347
  <template slot="label">
@@ -368,7 +368,7 @@
368
368
  class="form-field-item-value">
369
369
  <van-field readonly clickable name="datetimePicker" :required="item.required || isRequiredFn(item.formField)"
370
370
  :value=extInfoFieldValue[item.fieldId] :label=item.formField.name
371
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
371
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder')"
372
372
  @click="timeClick(item.fieldId, item, 'TIME')" :disabled="disableds"
373
373
  right-icon="van-icon van-icon-arrow van-cell__right-icon">
374
374
  <template slot="label">
@@ -394,7 +394,7 @@
394
394
  class="form-field-item-value">
395
395
  <van-field readonly clickable name="datetimePicker" :required="item.required || isRequiredFn(item.formField)"
396
396
  :value=extInfoFieldValue[item.fieldId] :label=item.formField.name
397
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
397
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder')"
398
398
  @click="timeClick(item.fieldId, item, 'DATE')" :disabled="disableds"
399
399
  right-icon="van-icon van-icon-arrow van-cell__right-icon">
400
400
  <template slot="label">
@@ -511,7 +511,7 @@
511
511
  v-if="item.fieldId === 'workorder_clientId' || item.fieldId === 'workorder_statusId' || item.fieldId === 'workorder_priority'">
512
512
  <van-field readonly clickable name="picker" :value=selectValues[item.fieldId]
513
513
  :label="item.fieldId === 'workorder_clientId' ? '报单人' : item.formField.name"
514
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
514
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder')"
515
515
  @click="selectClick(item.fieldId, 'client', item)" :required="item.required || isRequiredFn(item.formField)"
516
516
  :disabled="disableds" @click-right-icon.stop="SelectClear(item.fieldId)"
517
517
  :right-icon="selectValues[item.fieldId] ? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'">
@@ -537,7 +537,7 @@
537
537
  <van-field readonly clickable name="picker"
538
538
  :value="showSelectText(item.formField.extInfo ? (item.formField.extInfo.option || item.formField.extInfo.options) : [], item.value)"
539
539
  :label=item.formField.name
540
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
540
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder')"
541
541
  @click="selectClick(item.fieldId, 'select', item)" :required="item.required || isRequiredFn(item.formField)"
542
542
  :disabled="disableds" @click-right-icon.stop="SelectClear(item.fieldId)"
543
543
  :right-icon="item.value && item.value.length ? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'">
@@ -586,7 +586,7 @@
586
586
  <van-field readonly clickable
587
587
  :value="Array.isArray(extInfoFieldValue[item.fieldId]) ? extInfoFieldValue[item.fieldId].map(v => v.name).join(',') : (extInfoFieldValue[item.fieldId] && extInfoFieldValue[item.fieldId].name ? extInfoFieldValue[item.fieldId].name : '')"
588
588
  :label="item.formField.name" name="picker"
589
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
589
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder')"
590
590
  @click="selectClick(item.fieldId, 'ref', item)" @click-right-icon.stop="SelectClear(item.fieldId)"
591
591
  :required="item.required || isRequiredFn(item.formField)" :disabled="disableds"
592
592
  :right-icon="extInfoFieldValue[item.fieldId] && extInfoFieldValue[item.fieldId].length ? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'" />
@@ -600,7 +600,7 @@
600
600
  label: 'name'
601
601
  }">
602
602
  <template slot="popup-footer" v-if="refNextPage[item.fieldId] && refNextPage[item.fieldId].hasNextPage">
603
- <span @click="lodeMore(item)">加载更多</span>
603
+ <span @click="lodeMore(item)">{{$t('common.loadMore')}}</span>
604
604
  </template>
605
605
  </select-popup>
606
606
  </van-popup>
@@ -610,7 +610,7 @@
610
610
  <van-field readonly clickable name="area"
611
611
  :value="extInfoFieldValue[item.fieldId] && Array.isArray(extInfoFieldValue[item.fieldId]) ? extInfoFieldValue[item.fieldId].map(e => e.label).join('/') : ''"
612
612
  :label=item.formField.name
613
- :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
613
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : $t('common.selectPlaceholder')"
614
614
  @click="openDrawer(item, 'cascader')"
615
615
  :required="item.fieldId !== '0feca81fce97465da537248c066e4db8' && item.fieldId !== '1d8bd21485834773a6d18eae60013000' && (item.required || isRequiredFn(item.formField))"
616
616
  :disabled="disableds" right-icon="van-icon van-icon-arrow van-cell__right-icon">
@@ -722,7 +722,7 @@
722
722
  /* eslint-disable */
723
723
  import { forMatTime } from "./utils/format_date";
724
724
  let that
725
- import { multipartUpload, ossFileUrl } from "./utils/AliyunIssUtil";
725
+ import { multipartUpload, ossFileUrl } from "../assets/js/AliyunlssUtil";
726
726
  import MyEditor from './MyEditor'
727
727
  import myPopup from "./myPopup.vue";
728
728
  import Tree from '../components/tree'
@@ -875,6 +875,10 @@ export default {
875
875
  default () {
876
876
  return ""
877
877
  }
878
+ },
879
+ language:{
880
+ type:String,
881
+ default:"cn"
878
882
  }
879
883
  },
880
884
  computed: {
@@ -1091,7 +1095,7 @@ export default {
1091
1095
  } else {
1092
1096
  this.disableds = false
1093
1097
  }
1094
- this.submitValue = this.submit ? '已提交' : "提交"
1098
+ this.submitValue = this.submit ? this.$t('common.submited') : this.$t('common.submit')
1095
1099
  },
1096
1100
  beforeMount () {
1097
1101
  that.defaultClick()
@@ -1376,11 +1380,11 @@ export default {
1376
1380
  const isLte2M = file.size / 1024 / 1024 <= 8;
1377
1381
  const isSupportedFormat = file.type.indexOf('image') !== -1
1378
1382
  if (!isSupportedFormat) {
1379
- this.$message.error("只能上传图片格式");
1383
+ this.$message.error(this.$t('formTemplate.uploadType'));
1380
1384
  return false
1381
1385
  }
1382
1386
  if (!isLte2M && isSupportedFormat) {
1383
- this.$message.error("上传图片大小不能超过 8MB!");
1387
+ this.$message.error(this.$t('formTemplate.uploadImageSize'));
1384
1388
  return false
1385
1389
  }
1386
1390
  return true
@@ -1389,11 +1393,11 @@ export default {
1389
1393
  const isLte2M = file.size / 1024 / 1024 <= 100;
1390
1394
  const isSupportedFormat = file.type.indexOf('video') !== -1
1391
1395
  if (!isSupportedFormat) {
1392
- this.$message.error("只能上传视频格式");
1396
+ this.$message.error(this.$t('formTemplate.uploadVideoType'));
1393
1397
  return false
1394
1398
  }
1395
1399
  if (!isLte2M && isSupportedFormat) {
1396
- this.$message.error("上传视频大小不能超过100MB!");
1400
+ this.$message.error(this.$t('formTemplate.uploadVideoSize'));
1397
1401
  return false
1398
1402
  }
1399
1403
  return true
@@ -1401,7 +1405,7 @@ export default {
1401
1405
  else if (type === 'ATTACHMENT') {
1402
1406
  const isLte2M = file.size / 1024 / 1024 <= 100;
1403
1407
  if (!isLte2M) {
1404
- this.$message.error("上传附件大小不能超过100MB!");
1408
+ this.$message.error(this.$t('formTemplate.uploadFileSize'));
1405
1409
  return false
1406
1410
  }
1407
1411
  return true
@@ -1418,11 +1422,11 @@ export default {
1418
1422
  const isLte2M = file[i].size / 1024 / 1024 <= 8;
1419
1423
  const isSupportedFormat = file[i].type.indexOf('image') !== -1
1420
1424
  if (!isSupportedFormat) {
1421
- this.$message.error("只能上传图片格式");
1425
+ this.$message.error(this.$t('formTemplate.uploadType'));
1422
1426
  return false
1423
1427
  }
1424
1428
  if (!isLte2M && isSupportedFormat) {
1425
- this.$message.error("上传图片大小不能超过 8MB!");
1429
+ this.$message.error(this.$t('formTemplate.uploadImageSize'));
1426
1430
  return false
1427
1431
  }
1428
1432
  return true
@@ -1431,11 +1435,11 @@ export default {
1431
1435
  const isLte2M = file[i].size / 1024 / 1024 <= 100;
1432
1436
  const isSupportedFormat = file[i].type.indexOf('video') !== -1
1433
1437
  if (!isSupportedFormat) {
1434
- this.$message.error("只能上传视频格式");
1438
+ this.$message.error(this.$t('formTemplate.uploadVideoType'));
1435
1439
  return false
1436
1440
  }
1437
1441
  if (!isLte2M && isSupportedFormat) {
1438
- this.$message.error("上传视频大小不能超过100MB!");
1442
+ this.$message.error(this.$t('formTemplate.uploadVideoSize'));
1439
1443
  return false
1440
1444
  }
1441
1445
  return true
@@ -1443,7 +1447,7 @@ export default {
1443
1447
  else if (type === 'ATTACHMENT') {
1444
1448
  const isLte2M = file[i].size / 1024 / 1024 <= 100;
1445
1449
  if (!isLte2M) {
1446
- this.$message.error("上传附件大小不能超过100MB!");
1450
+ this.$message.error(this.$t('formTemplate.uploadFileSize'));
1447
1451
  return false
1448
1452
  }
1449
1453
  return true
@@ -1455,7 +1459,7 @@ export default {
1455
1459
  if (this.limitNum) {
1456
1460
  num = this.limitNum
1457
1461
  }
1458
- let messageText = '仅支持上传' + num + ''
1462
+ let messageText = this.$t('formTemplate.onlyUpload' )+num+ this.$t('formTemplate.number')
1459
1463
  this.$message.error(messageText);
1460
1464
  return false
1461
1465
  }
@@ -1477,7 +1481,7 @@ export default {
1477
1481
  num = this.limitNum
1478
1482
  }
1479
1483
  if (file.length > num) {
1480
- this.$message.warning('仅支持上传' + num + '张图片')
1484
+ this.$message.warning(this.$t('formTemplate.onlyUpload' )+ num + this.$t('formTemplate.number'))
1481
1485
  return false
1482
1486
  }
1483
1487
  else {
@@ -1679,7 +1683,7 @@ export default {
1679
1683
  this.$set(this.extInfoFieldValue, this.formList.form.formFieldRelation[i].fieldId, [])
1680
1684
  this.loopCascaderSetDefalut(cascadeOptions, this.formList.form.formFieldRelation[i], extInfo.selectType)
1681
1685
  this.loopCascaderSetValue(cascadeOptions, this.formList.form.formFieldRelation[i], extInfo.selectType)
1682
-
1686
+
1683
1687
  }
1684
1688
  if (type === 'DATE_PICKER') {
1685
1689
  if (this.formList.form.formFieldRelation[i].value && this.formList.form.formFieldRelation[i].value !== null && this.formList.form.formFieldRelation[i].value !== '') {
@@ -1968,27 +1972,27 @@ export default {
1968
1972
  if (checkDescription.checkAttachment && this.attachmentList.length == 0) {
1969
1973
  attachmentFlag = false
1970
1974
  }
1971
- let text = this.isBaiLi ? '反馈描述' : '问题描述'
1975
+ let text = this.isBaiLi ? this.$t('formTemplate.feedbackDes') : this.$t('formTemplate.orderDes')
1972
1976
  if (!textFlag) {
1973
- errorText = text + '必须要有文字'
1977
+ errorText = text + this.$t('formTemplate.textFlag')
1974
1978
  }
1975
1979
  if (!imageOrAttachment) {
1976
- errorText = text + '必须要有图片或附件'
1980
+ errorText = text + this.$t('formTemplate.imageOrAttachment')
1977
1981
  }
1978
1982
  if (!imageFlag) {
1979
- errorText = text + '必须要有图片'
1983
+ errorText = text + this.$t('formTemplate.imageFlag')
1980
1984
  }
1981
1985
  if (!attachmentFlag) {
1982
- errorText = text + '必须要有附件'
1986
+ errorText = text + this.$t('formTemplate.attachmentFlag')
1983
1987
  }
1984
1988
  if (!textFlag && (!imageFlag || !attachmentFlag)) {
1985
- errorText = text + '必须要有文字和' + (!imageFlag ? '图片' : '附件')
1989
+ errorText = text + this.$t('formTemplate.textFlag') + this.$t('formTemplate.and') + (!imageFlag ? this.$t('formTemplate.image') : this.$t('formTemplate.file'))
1986
1990
  }
1987
1991
  if (!imageFlag && !attachmentFlag) {
1988
- errorText = text + '必须要有图片和附件'
1992
+ errorText = text + this.$t('formTemplate.imageFlag') + this.$t('formTemplate.and') + this.$t('formTemplate.file')
1989
1993
  }
1990
1994
  if (!imageFlag && !attachmentFlag && !textFlag) {
1991
- errorText = text + '必须要有文字、图片和附件'
1995
+ errorText = text + this.$t('formTemplate.textFlag') + ',' + this.$t('formTemplate.image') + this.$t('formTemplate.and') + this.$t('formTemplate.file')
1992
1996
  }
1993
1997
  if (errorText) {
1994
1998
  this.$message.error(errorText);
@@ -1997,7 +2001,7 @@ export default {
1997
2001
  let d = document.createElement('div')
1998
2002
  d.innerHTML = this.workOrderDestail.value
1999
2003
  if (checkDescription.required && !d.innerText && !this.workOrderDestail.value.includes('img') && this.attachmentList.length == 0) {
2000
- let errorText = this.isBaiLi ? '反馈描述是必填的' : '问题描述是必填的'
2004
+ let errorText = this.isBaiLi ? this.$t('formTemplate.feedbackDesRequired') : this.$t('formTemplate.orderDesRequired')
2001
2005
  this.$message.error(errorText);
2002
2006
  return false
2003
2007
  }
@@ -2007,7 +2011,7 @@ export default {
2007
2011
  //提交按钮事件
2008
2012
  submitClick () {
2009
2013
  if (this.uploadImgQueue || this.attachmentList.some(arrach => { return !arrach.url })) {
2010
- this.$message.warning('文件正在上传,请稍后')
2014
+ this.$message.warning(this.$t('formTemplate.uploading'))
2011
2015
  return
2012
2016
  }
2013
2017
  if (this.workOrderDestail && !this.verificationDescription()) {
@@ -2086,7 +2090,7 @@ export default {
2086
2090
  }
2087
2091
  if (this.formShow.form.formFieldRelation[i].relationDisplay && this.formShow.form.formFieldRelation[i].display && this.formShow.form.formFieldRelation[i].fieldId !== 'workorder_description') {
2088
2092
  if (!this.formShow.form.formFieldRelation[i].value || this.strIsNull(this.formShow.form.formFieldRelation[i].value) || bool[this.formShow.form.formFieldRelation[i].fieldId] || (Array.isArray(this.formShow.form.formFieldRelation[i].value) && !this.formShow.form.formFieldRelation[i].value.length)) {
2089
- this.$message.error('请完善' + this.formShow.form.formFieldRelation[i].formField.name)
2093
+ this.$message.error(this.$t('formTemplate.pleaseImprove' )+ this.formShow.form.formFieldRelation[i].formField.name)
2090
2094
  return
2091
2095
  }
2092
2096
  }
@@ -2117,7 +2121,7 @@ export default {
2117
2121
  console.error('formShow', newForm)
2118
2122
  this.$emit('submitClick', newForm)
2119
2123
  this.disableds = true
2120
- this.submitValue = '已提交'
2124
+ this.submitValue = this.$t('common.submited')
2121
2125
  },
2122
2126
  strIsNull (str) {
2123
2127
  if (str == "") return true;
@@ -3495,4 +3499,4 @@ export default {
3495
3499
  height: 100%;
3496
3500
  overflow: hidden;
3497
3501
  }
3498
- </style>
3502
+ </style>
@@ -28,7 +28,7 @@
28
28
  <div class="summaryContent">
29
29
  <span>{{ typedContent }}</span>
30
30
  </div>
31
- <div class="intelligentBottom" v-if="recommendQuestions.length > 0">
31
+ <div class="intelligentBottom" v-if="recommendQuestions.length > 0 && !formKnowledgeManagement">
32
32
  <div class="intelligentQues"
33
33
  v-for="(item, index) in recommendQuestions"
34
34
  :key="index"
@@ -61,6 +61,10 @@ export default {
61
61
  default() {
62
62
  return []
63
63
  }
64
+ },
65
+ formKnowledgeManagement:{
66
+ type: Boolean,
67
+ default: false
64
68
  }
65
69
  },
66
70
  methods:{
@@ -154,10 +154,10 @@
154
154
  this.scrollMarkdown();
155
155
  }, 150);
156
156
  }
157
+ clearInterval(timer);
157
158
  clearInterval(DONETmier);
158
159
  }
159
160
  }, 100);
160
-
161
161
  eventSource.close();
162
162
  } else if (event.lastEventId === 'matched') {
163
163
  matched = data;
@@ -179,8 +179,6 @@
179
179
  this.$set(this, "typedContent", this.typedContent + generatingString.charAt(0))
180
180
  generatingString = generatingString.slice(1)
181
181
  this.scrollMarkdown();
182
- } else {
183
- clearInterval(timer);
184
182
  }
185
183
  }, 20);
186
184
  console.log(
@@ -336,28 +334,30 @@
336
334
  font-size: 20px;
337
335
  }
338
336
 
337
+
339
338
  /deep/ table {
340
- border-spacing: 0;
341
- // border-radius: 8px;
342
- // overflow: hidden;
343
- border: solid 1px #e0e6f7;
344
- min-width: 800px;
345
- overflow-x: auto;
339
+ border-spacing: 0;
340
+ // border-radius: 8px;
341
+ // overflow: hidden;
342
+ border: solid 1px #e0e6f7;
343
+ min-width: 800px;
344
+ overflow-x: auto;
346
345
  }
346
+
347
347
  /deep/ th {
348
- background: #EEF1FF;
349
- border: solid 1px #e0e6f7;
350
- padding: 10px;
351
- height: 60px;
352
- min-width: 100px;
348
+ background: #EEF1FF;
349
+ border: solid 1px #e0e6f7;
350
+ padding: 8px;
351
+ height: 38px;
352
+ min-width: 100px;
353
353
  }
354
-
354
+
355
355
  /deep/ td {
356
- border: solid 1px #e0e6f7;
357
- padding: 10px;
358
- height: 48px;
359
- min-width: 100px;
356
+ border: solid 1px #e0e6f7;
357
+ padding: 8px;
358
+ height: 28px;
359
+ min-width: 100px;
360
360
  }
361
- }
362
- </style>
361
+ }
362
+ </style>
363
363
 
@@ -301,7 +301,11 @@ export default {
301
301
  },
302
302
  type:String,
303
303
  disable:Boolean,
304
- submit:Boolean
304
+ submit:Boolean,
305
+ language:{
306
+ type:String,
307
+ default:"cn"
308
+ }
305
309
  },
306
310
  mounted() {
307
311
  this.isMobile()
@@ -9,7 +9,7 @@
9
9
  >
10
10
  <slot></slot>
11
11
  </div>
12
- <div v-if="device==='PC'&&content.multiple===true" class="clickBtn">
12
+ <div v-if="device==='PC'&&content.multiple===true && content.cards && content.cards.length > 1" class="clickBtn">
13
13
  <div class="preBtn" @click="preClick" style="display: flex">
14
14
  <i class="el-icon-arrow-left" style="font-size: 18px;font-weight:800;align-self: center;margin: auto"></i>
15
15
  </div>