askbot-dragon 1.6.21-beta → 1.6.21

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 (72) hide show
  1. package/package.json +8 -11
  2. package/public/index.html +9 -8
  3. package/src/assets/image/default_avt_ui.png +0 -0
  4. package/src/assets/image/filtType/audio.png +0 -0
  5. package/src/assets/image/filtType/excel1.png +0 -0
  6. package/src/assets/image/filtType/general.png +0 -0
  7. package/src/assets/image/filtType/image1.png +0 -0
  8. package/src/assets/image/filtType/link.png +0 -0
  9. package/src/assets/image/filtType/md2.png +0 -0
  10. package/src/assets/image/filtType/mode.png +0 -0
  11. package/src/assets/image/filtType/news.png +0 -0
  12. package/src/assets/image/filtType/pdf1.png +0 -0
  13. package/src/assets/image/filtType/ppt1.png +0 -0
  14. package/src/assets/image/filtType/selfadd1.png +0 -0
  15. package/src/assets/image/filtType/txt1.png +0 -0
  16. package/src/assets/image/filtType/video.png +0 -0
  17. package/src/assets/image/filtType/wechat.png +0 -0
  18. package/src/assets/image/filtType/word1.png +0 -0
  19. package/src/assets/image/loading.gif +0 -0
  20. package/src/assets/js/AliyunlssUtil.js +35 -10
  21. package/src/assets/js/common.js +241 -0
  22. package/src/components/ActionAlertIframe.vue +1 -0
  23. package/src/components/AiGuide.vue +7 -4
  24. package/src/components/AnswerDocknowledge.vue +930 -389
  25. package/src/components/ConversationContainer.vue +7111 -1058
  26. package/src/components/MyEditor.vue +342 -0
  27. package/src/components/QwFeedback.vue +303 -0
  28. package/src/components/actionSatisfaction.vue +2 -2
  29. package/src/components/actionSendToBot.vue +2 -2
  30. package/src/components/answerRadio.vue +145 -64
  31. package/src/components/askVideo.vue +3 -6
  32. package/src/components/assetDetails.vue +14 -6
  33. package/src/components/assetMessage.vue +14 -13
  34. package/src/components/associationIntention.vue +31 -6
  35. package/src/components/fielListView.vue +1 -1
  36. package/src/components/file/AliyunOssComponents.vue +1 -1
  37. package/src/components/formTemplate.vue +1590 -1674
  38. package/src/components/imgView.vue +32 -0
  39. package/src/components/intelligentSummary.vue +231 -0
  40. package/src/components/markDownText.vue +198 -0
  41. package/src/components/myPopup.vue +14 -11
  42. package/src/components/pagination.vue +129 -0
  43. package/src/components/pdfPosition.vue +112 -90
  44. package/src/components/popup.vue +8 -7
  45. package/src/components/preview/docView.vue +114 -0
  46. package/src/components/preview/excelView.vue +187 -0
  47. package/src/components/preview/newPositionPreview.vue +370 -0
  48. package/src/components/preview/pdfView.vue +824 -0
  49. package/src/components/previewDoc.vue +6 -0
  50. package/src/components/previewPdf.vue +963 -200
  51. package/src/components/receiverMessagePlatform.vue +25 -21
  52. package/src/components/recommend.vue +2 -2
  53. package/src/components/senderMessagePlatform.vue +21 -13
  54. package/src/components/tree.vue +116 -103
  55. package/src/components/utils/AliyunIssUtil.js +35 -13
  56. package/src/components/utils/ckeditor.js +64 -56
  57. package/src/components/welcomeKnowledgeFile.vue +344 -0
  58. package/src/components/welcomeLlmCard.vue +141 -0
  59. package/src/components/welcomeSuggest.vue +98 -0
  60. package/src/locales/cn.json +62 -0
  61. package/src/locales/en.json +62 -0
  62. package/src/main.js +19 -3
  63. package/vue.config.js +0 -1
  64. package/src/assets/js/obsBrowser.js +0 -63
  65. package/src/components/utils/ckeditorImageUpload/command.js +0 -112
  66. package/src/components/utils/ckeditorImageUpload/editing.js +0 -12
  67. package/src/components/utils/ckeditorImageUpload/plugin-image.js +0 -12
  68. package/src/components/utils/ckeditorImageUpload/toolbar-ui.js +0 -41
  69. package/src/components/utils/ckeditorfileUpload/common.js +0 -175
  70. package/src/components/utils/ckeditorfileUpload/editing.js +0 -12
  71. package/src/components/utils/ckeditorfileUpload/plugin_file.js +0 -12
  72. package/src/components/utils/ckeditorfileUpload/toolbar_ui.js +0 -35
@@ -1,170 +1,143 @@
1
1
  <template>
2
2
  <div class="media-body">
3
- <div class="formClass" :class="isPhone?'remPhoneClassForm':'remCompanyClassForm'" v-if="formShow.form">
4
- <div class="titleName" >
5
- {{!!formShow.form.formShowName?formShow.form.formShowName:formShow.form.name}}
3
+ <div class="formClass" :class="isPhone ? 'remPhoneClassForm' : 'remCompanyClassForm'" v-if="formShow.form">
4
+ <div class="titleName">
5
+ {{ !!formShow.form.formShowName ? formShow.form.formShowName : formShow.form.name }}
6
6
  </div>
7
7
  <div class="title-link"></div>
8
8
  <div class="pcFormClass" v-if="isCompany">
9
- <div v-for="(item) in formFieldRelation"
10
- :key="item.fieldId"
11
- :class="{notClick:disableds === true}"
12
- >
13
- <div class="field-item">
14
- <div v-if="item.fieldId !== 'workorder_name' && item.formField.type !== 'EXPLANATION' && item.formField.type !== 'EXPLAIN' " class="field-item-name">
15
- <span 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>
18
- <span style="color: red;padding-left: 5px;padding-right: 5px" v-if="item.fieldId !== '0feca81fce97465da537248c066e4db8' && item.fieldId !=='1d8bd21485834773a6d18eae60013000' && (item.required || isRequiredFn(item.formField))">*</span>
19
- <el-tooltip class="item" effect="dark" placement="right-start">
20
- <div slot="content" v-if="item.formField.remark">{{item.formField.remark.text}}</div>
21
- <div slot="content" v-else-if="item.formField.extInfo && item.formField.extInfo.remark">{{item.formField.extInfo.remark.text}}</div>
22
- <span v-if="item.formField.remark && item.formField.remark.enable">
23
- <i class="el-icon-warning-outline"></i>
24
- </span>
25
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable">
26
- <i class="el-icon-warning-outline"></i>
27
- </span>
28
- </el-tooltip>
29
- </div>
30
- <!-- item.value -->
31
- <el-input v-model="item.value"
32
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请输入'"
33
- :maxlength="item.formField.extInfo&&item.formField.extInfo.maxNum?item.formField.extInfo.maxNum*1:1000"
34
- v-if="item.formField.type==='INPUT'&&item.fieldId!=='workorder_name'"
35
- :type="item.formField.extInfo.inputType==='NUMBER'||
36
- item.formField.extInfo.inputType==='RATE'? 'number':'text'"
37
- @blur="typeCheck(item.formField,item)"
38
- :min="item.formField.extInfo.inputType==='NUMBER'||
39
- item.formField.extInfo.inputType==='RATE'?Number(item.formField.extInfo.range.start):''"
40
- :max="item.formField.extInfo.inputType==='NUMBER'||
41
- item.formField.extInfo.inputType==='RATE'?Number(item.formField.extInfo.range.end):''"
42
- ></el-input>
43
- <template v-else-if="item.formField.type==='EXPLANATION'">
44
- <div class="explanation">
45
- <p class="explanation-p">
46
- <span class="el-icon-info"></span>
47
- {{item.formField.extInfo.descriptionText}}
48
- </p>
49
- </div>
50
- </template>
51
- <template v-else-if="item.formField.type==='EXPLAIN'">
52
- <div class="explanation">
53
- <p class="explanation-p">
54
- <span class="el-icon-info"></span>
55
- <span v-if="item.formField.extInfo.url" class="explain-url"><a :href="item.formField.extInfo.url" target="_blank">{{item.value}}</a></span>
56
- <span v-else>{{item.value ? item.value : item.formField.extInfo.placeholder }}</span>
57
- </p>
9
+ <div v-for="(item) in formFieldRelation" :key="item.fieldId" :class="{ notClick: disableds === true }">
10
+ <div class="field-item">
11
+ <div
12
+ v-if="item.fieldId !== 'workorder_name' && item.formField.type !== 'EXPLANATION' && item.formField.type !== 'EXPLAIN'"
13
+ class="field-item-name">
14
+ <span
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>
18
+ <span style="color: red;padding-left: 5px;padding-right: 5px"
19
+ v-if="item.fieldId !== '0feca81fce97465da537248c066e4db8' && item.fieldId !== '1d8bd21485834773a6d18eae60013000' && (item.required || isRequiredFn(item.formField))">*</span>
20
+ <el-tooltip class="item" effect="dark" placement="right-start">
21
+ <div slot="content" v-if="item.formField.remark">{{ item.formField.remark.text }}</div>
22
+ <div slot="content" v-else-if="item.formField.extInfo && item.formField.extInfo.remark">
23
+ {{ item.formField.extInfo.remark.text }}</div>
24
+ <span v-if="item.formField.remark && item.formField.remark.enable">
25
+ <i class="el-icon-warning-outline"></i>
26
+ </span>
27
+ <span
28
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable">
29
+ <i class="el-icon-warning-outline"></i>
30
+ </span>
31
+ </el-tooltip>
58
32
  </div>
59
- </template>
60
- <el-input type="textarea" :rows="2" v-model="item.value"
61
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请输入'"
62
- :maxlength="item.formField.extInfo&&item.formField.extInfo.maxNum?item.formField.extInfo.maxNum*1:1000"
63
- v-if="item.formField.type==='TEXTAREA'&& item.fieldId!=='workorder_description'"
64
- ></el-input>
65
- <div v-else-if="item.fieldId === 'workorder_description'">
66
- <ckeditor
33
+ <!-- item.value -->
34
+ <el-input v-model="item.value"
35
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请输入'"
36
+ :maxlength="item.formField.extInfo && item.formField.extInfo.maxNum ? item.formField.extInfo.maxNum * 1 : 1000"
37
+ v-if="item.formField.type === 'INPUT' && item.fieldId !== 'workorder_name'" :type="item.formField.extInfo.inputType === 'NUMBER' ||
38
+ item.formField.extInfo.inputType === 'RATE' ? 'number' : 'text'"
39
+ @blur="typeCheck(item.formField, item)" :min="item.formField.extInfo.inputType === 'NUMBER' ||
40
+ item.formField.extInfo.inputType === 'RATE' ? Number(item.formField.extInfo.range.start) : ''"
41
+ :max="item.formField.extInfo.inputType === 'NUMBER' ||
42
+ item.formField.extInfo.inputType === 'RATE' ? Number(item.formField.extInfo.range.end) : ''"></el-input>
43
+ <template v-else-if="item.formField.type === 'EXPLANATION'">
44
+ <div class="explanation">
45
+ <p class="explanation-p">
46
+ <span class="el-icon-info"></span>
47
+ {{ item.formField.extInfo.descriptionText }}
48
+ </p>
49
+ </div>
50
+ </template>
51
+ <template v-else-if="item.formField.type === 'EXPLAIN'">
52
+ <div class="explanation">
53
+ <p class="explanation-p">
54
+ <span class="el-icon-info"></span>
55
+ <span v-if="item.formField.extInfo.url" class="explain-url"><a :href="item.formField.extInfo.url"
56
+ target="_blank">{{ item.value }}</a></span>
57
+ <span v-else>{{ item.value ? item.value : item.formField.extInfo.placeholder }}</span>
58
+ </p>
59
+ </div>
60
+ </template>
61
+ <el-input type="textarea" :rows="2" v-model="item.value"
62
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请输入'"
63
+ :maxlength="item.formField.extInfo && item.formField.extInfo.maxNum ? item.formField.extInfo.maxNum * 1 : 1000"
64
+ v-if="item.formField.type === 'TEXTAREA' && item.fieldId !== 'workorder_description'"></el-input>
65
+ <div v-else-if="item.fieldId === 'workorder_description'">
66
+ <!-- <ckeditor
67
67
  :editor="ckeditor.editor"
68
68
  v-model="item.value"
69
69
  :config="{...ckeditor.editorConfig,placeholder:item.formField.extInfo && item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请输入'}"
70
70
  @ready="(editor)=>currentEditor=editor"
71
71
  @focus="(zh,editor)=>currentEditor=editor"
72
- ></ckeditor>
73
- <file-list-view :attachmentList="attachmentList" @attachDeleteAttch="attachDeleteAttch"></file-list-view>
74
- </div>
75
- <el-date-picker
76
- v-model=item.value
77
- type="date"
78
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择日期'"
79
- style="width: 100%"
80
- v-else-if="item.formField.type==='DATE_PICKER'"
81
- >
82
- </el-date-picker>
83
- <el-time-picker
84
- v-model=item.value
85
- format="HH:mm"
86
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择时间'"
87
- style="width: 100%"
88
- v-else-if="item.formField.type==='TIME_PICKER' && (!item.formField.extInfo.mold || item.formField.extInfo.mold == 'TIME' || getMoldTime(item.formField) == 'TIME')"
89
- >
90
- </el-time-picker>
91
- <el-date-picker
92
- v-model=item.value
93
- type="date"
94
- style="width: 100%"
95
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择日期'"
96
- v-else-if="item.formField.type==='TIME_PICKER' && (item.formField.extInfo.mold==='DATA' || item.formField.extInfo.mold==='DATE' || getMoldTime(item.formField) == 'DATE')"
97
- >
98
- </el-date-picker>
99
- <el-date-picker
100
- v-model=item.value
101
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择日期时间'"
102
- clearable
103
- style="width: 100%"
104
- type="datetime"
105
- 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')"
106
- >
107
- </el-date-picker>
108
- <div v-else-if="item.formField.type==='RADIO' &&item.formField.extInfo.options">
109
- <el-radio-group v-model=item.value style="text-align:left" @change="changeSelect(item)">
110
- <el-radio v-for="(items,index) in optionsLists(item)" :label=items.value :key="index">{{items.label}}</el-radio>
111
- </el-radio-group>
112
- </div>
113
- <div v-else-if="item.formField.type==='RADIO' &&item.formField.extInfo.option">
114
- <el-radio-group v-model=item.value style="text-align:left" @change="changeSelect(item)">
115
- <el-radio v-for="(items,index) in item.formField.extInfo.option" :label=items.value :key="index">{{items.label}}</el-radio>
116
- </el-radio-group>
117
- </div>
118
- <div v-else-if="item.formField.type==='CHECKBOX' && item.formField.extInfo.option">
119
- <el-checkbox-group v-model=item.value style="text-align:left">
120
- <el-checkbox
121
- v-for="(items,index) in item.formField.extInfo.option"
122
- :label=items.value
123
- :key="index"
124
- >{{items.label}}</el-checkbox>
125
- </el-checkbox-group>
126
- </div>
127
- <div v-else-if="item.formField.type==='CHECKBOX' && item.formField.extInfo.options">
128
- <el-checkbox-group v-model=item.value style="text-align:left">
129
- <el-checkbox
130
- v-for="(items,index) in optionsLists(item)"
131
- :label=items.value
132
- :key="index"
133
- >{{items.label}}</el-checkbox>
134
- </el-checkbox-group>
135
- </div>
136
- <div v-else-if="item.formField.type==='SELECT' || item.formField.type==='OPTION'" >
137
- <el-select
138
- v-model=item.value
139
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
140
- style="width: 100%"
141
- filterable
142
- v-if="item.fieldId==='workorder_clientId' || item.fieldId === 'workorder_statusId' || item.fieldId === 'workorder_priority'"
143
- >
144
- <el-option
145
- v-for="(items,index) in selectOptions(item.formField)"
146
- :key="index"
147
- :label="items.label"
72
+ ></ckeditor> -->
73
+ <MyEditor v-model="item.value"
74
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请输入'"
75
+ @fileUploadCallback="desUploadImageAndFile"
76
+ :havToolbar="mainId !== '8b9bd566e3e64156ab764b19defc9d48' && mainId !== '0b73521f96e4486aaf6be42932bd7b07'">
77
+ </MyEditor>
78
+ <!-- @input="(value) =>{item.value = value}" -->
79
+ <file-list-view :attachmentList="attachmentList" @attachDeleteAttch="attachDeleteAttch"></file-list-view>
80
+ </div>
81
+ <el-date-picker v-model=item.value type="date"
82
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择日期'"
83
+ style="width: 100%" v-else-if="item.formField.type === 'DATE_PICKER'">
84
+ </el-date-picker>
85
+ <el-time-picker v-model=item.value format="HH:mm"
86
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择时间'"
87
+ style="width: 100%"
88
+ v-else-if="item.formField.type === 'TIME_PICKER' && (!item.formField.extInfo.mold || item.formField.extInfo.mold == 'TIME' || getMoldTime(item.formField) == 'TIME')">
89
+ </el-time-picker>
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 : '请选择日期'"
92
+ v-else-if="item.formField.type === 'TIME_PICKER' && (item.formField.extInfo.mold === 'DATA' || item.formField.extInfo.mold === 'DATE' || getMoldTime(item.formField) == 'DATE')">
93
+ </el-date-picker>
94
+ <el-date-picker v-model=item.value
95
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择日期时间'"
96
+ clearable style="width: 100%" type="datetime"
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
+ </el-date-picker>
99
+ <div v-else-if="item.formField.type === 'RADIO' && item.formField.extInfo.options">
100
+ <el-radio-group v-model=item.value style="text-align:left" @change="changeSelect(item)">
101
+ <el-radio v-for="(items, index) in optionsLists(item)" :label=items.value
102
+ :key="index">{{ items.label }}</el-radio>
103
+ </el-radio-group>
104
+ </div>
105
+ <div v-else-if="item.formField.type === 'RADIO' && item.formField.extInfo.option">
106
+ <el-radio-group v-model=item.value style="text-align:left" @change="changeSelect(item)">
107
+ <el-radio v-for="(items, index) in item.formField.extInfo.option" :label=items.value
108
+ :key="index">{{ items.label }}</el-radio>
109
+ </el-radio-group>
110
+ </div>
111
+ <div v-else-if="item.formField.type === 'CHECKBOX' && item.formField.extInfo.option">
112
+ <el-checkbox-group v-model=item.value style="text-align:left">
113
+ <el-checkbox v-for="(items, index) in item.formField.extInfo.option" :label=items.value
114
+ :key="index">{{ items.label }}</el-checkbox>
115
+ </el-checkbox-group>
116
+ </div>
117
+ <div v-else-if="item.formField.type === 'CHECKBOX' && item.formField.extInfo.options">
118
+ <el-checkbox-group v-model=item.value style="text-align:left">
119
+ <el-checkbox v-for="(items, index) in optionsLists(item)" :label=items.value
120
+ :key="index">{{ items.label }}</el-checkbox>
121
+ </el-checkbox-group>
122
+ </div>
123
+ <div v-else-if="item.formField.type === 'SELECT' || item.formField.type === 'OPTION'">
124
+ <el-select v-model=item.value
125
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
126
+ style="width: 100%" filterable
127
+ v-if="item.fieldId === 'workorder_clientId' || item.fieldId === 'workorder_statusId' || item.fieldId === 'workorder_priority'">
128
+ <el-option v-for="(items, index) in selectOptions(item.formField)" :key="index" :label="items.label"
148
129
  :value="items.value">
149
- </el-option>
150
- </el-select>
151
- <el-select
152
- v-model=item.value
153
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
154
- style="width: 100%"
155
- filterable
156
- v-else
157
- @change="changeSelect(item)"
158
- :multiple="item.formField.extInfo && item.formField.extInfo.selectType == '多选'"
159
- >
160
- <el-option
161
- v-for="(items,index) in optionsLists(item)"
162
- :key="index"
163
- :label="items.label"
130
+ </el-option>
131
+ </el-select>
132
+ <el-select v-model=item.value
133
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
134
+ style="width: 100%" filterable v-else @change="changeSelect(item)"
135
+ :multiple="item.formField.extInfo && item.formField.extInfo.selectType == '多选'">
136
+ <el-option v-for="(items, index) in optionsLists(item)" :key="index" :label="items.label"
164
137
  :value="items.value">
165
- </el-option>
166
- </el-select>
167
- <!-- <div class="cascader-input" v-else @click="openDrawer(item,'select')">
138
+ </el-option>
139
+ </el-select>
140
+ <!-- <div class="cascader-input" v-else @click="openDrawer(item,'select')">
168
141
  <template v-if="item.value && (!Array.isArray(item.value) || (Array.isArray(item.value) && item.value.length))">
169
142
  <template v-if="Array.isArray(item.value)">
170
143
  <span v-for="(select,selectIndex) in item.value" :key="selectIndex">
@@ -175,17 +148,20 @@
175
148
  </template>
176
149
  <span v-else>{{item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'}}</span>
177
150
  </div>-->
178
- </div>
179
- <template v-else-if="item.formField.type==='CASCADER'">
180
- <div class="cascader-input" @click="openDrawer(item,'pc_cascader')">
181
- <template v-if="extInfoFieldValue[item.fieldId] && (Array.isArray(extInfoFieldValue[item.fieldId]) && extInfoFieldValue[item.fieldId].length > 0)">
182
- <span v-for="(cas,casIndex) in extInfoFieldValue[item.fieldId]" :key="casIndex">
183
- {{casIndex==0?cas.label:'/'+cas.label}}
184
- </span>
185
- </template>
186
- <span v-else>{{item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'}}</span>
187
151
  </div>
188
- <!-- <el-cascader
152
+ <template v-else-if="item.formField.type === 'CASCADER'">
153
+ <div class="cascader-input" @click="openDrawer(item, 'pc_cascader')">
154
+ <!-- {{ extInfoFieldValue[item.fieldId] }} -->
155
+ <template
156
+ v-if="extInfoFieldValue[item.fieldId] && (Array.isArray(extInfoFieldValue[item.fieldId]) && extInfoFieldValue[item.fieldId].length > 0)">
157
+ <span v-for="(cas, casIndex) in extInfoFieldValue[item.fieldId]" :key="casIndex">
158
+ {{ casIndex == 0 ? cas.label : '/' + cas.label }}
159
+ </span>
160
+ </template>
161
+ <span
162
+ v-else>{{ item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择' }}</span>
163
+ </div>
164
+ <!-- <el-cascader
189
165
  v-model=item.value
190
166
  :options=item.formField.extInfo.cascade
191
167
  style="width: 100%;"
@@ -206,444 +182,379 @@
206
182
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
207
183
  v-else-if="item.formField.extInfo.cascadeDown.length != 0"
208
184
  ></el-cascader>-->
209
- </template>
210
- <template v-else-if="item.formField.type==='FILE' || item.formField.type === 'IMAGE' || item.formField.type === 'ATTACHMENT' || item.formField.type === 'VIDEO'">
211
- <div @click="checkUpload(item.fieldId,item.formField.extInfo)" @mouseover="checkUpload(item.fieldId,item.formField.extInfo)" class="form-field-file" style="display:flex;flex-direction: column">
212
- <el-upload
213
-
214
- ref="upload"
215
- :list-type="item.formField.type === 'IMAGE' || item.formField.type === 'FILE' ? 'picture-card':''"
216
- :accept="acceptFieldType(item.formField.type)"
217
- name="file"
218
- action="/open/media/file/upload"
219
- :multiple="item.formField.extInfo&&item.formField.extInfo.limitNum&&item.formField.extInfo.limitNum>1?true:false"
220
- :file-list="extInfoFieldValue[item.fieldId]"
221
- :limit="item.formField.extInfo.limitNum?Number(item.formField.extInfo.limitNum):(item.formField.extInfo.limit ? Number(item.formField.extInfo.limit) : 1)"
222
- :before-upload="(file=>{return beforeAvatarUpload(file,item.formField.type)})"
223
- :on-exceed="exceedUpload"
224
- :on-remove="handleRemove"
225
- :http-request="aliyunOssRequest"
226
- :on-change="handleEditChange"
227
- :on-success="successUpload"
228
- :show-file-list="item.formField.type === 'IMAGE' || item.formField.type === 'FILE' ? true : false"
229
- >
230
- <div class="upload-demo">
231
- <i class="el-icon-plus"></i>
185
+ </template>
186
+ <template
187
+ v-else-if="item.formField.type === 'FILE' || item.formField.type === 'IMAGE' || item.formField.type === 'ATTACHMENT' || item.formField.type === 'VIDEO'">
188
+ <div @click="checkUpload(item.fieldId, item.formField.extInfo)"
189
+ @mouseover="checkUpload(item.fieldId, item.formField.extInfo)" class="form-field-file"
190
+ style="display:flex;flex-direction: column">
191
+ <el-upload ref="upload"
192
+ :list-type="item.formField.type === 'IMAGE' || item.formField.type === 'FILE' ? 'picture-card' : ''"
193
+ :accept="acceptFieldType(item.formField.type)" name="file" action="/open/media/file/upload"
194
+ :multiple="item.formField.extInfo && item.formField.extInfo.limitNum && item.formField.extInfo.limitNum > 1 ? true : false"
195
+ :file-list="extInfoFieldValue[item.fieldId]"
196
+ :limit="item.formField.extInfo.limitNum ? Number(item.formField.extInfo.limitNum) : (item.formField.extInfo.limit ? Number(item.formField.extInfo.limit) : 1)"
197
+ :before-upload="(file => { return beforeAvatarUpload(file, item.formField.type) })" :on-exceed="exceedUpload"
198
+ :on-remove="handleRemove" :http-request="aliyunOssRequest" :on-change="handleEditChange"
199
+ :on-success="successUpload"
200
+ :show-file-list="item.formField.type === 'IMAGE' || item.formField.type === 'FILE' ? true : false">
201
+ <div class="upload-demo">
202
+ <i class="el-icon-plus"></i>
203
+ </div>
204
+ <!-- <el-button size="small" type="primary" v-else class="uploadBtn">点击上传</el-button>-->
205
+ </el-upload>
206
+ <file-list-view :attachmentList="extInfoFieldValue[item.fieldId]"
207
+ v-if="extInfoFieldValue[item.fieldId] && item.formField.type !== 'IMAGE' && item.formField.type !== 'FILE'"
208
+ @attachDeleteAttch="attachDeleteFile($event, item.fieldId)"></file-list-view>
209
+ </div>
210
+ </template>
211
+ <div v-else-if="item.formField.type == 'REF_TEMPLATE' || item.formField.type == 'REF'">
212
+ <el-select v-model=item.value
213
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
214
+ style="width: 100%" filterable
215
+ :multiple="item.formField.extInfo && item.formField.extInfo.selectType == '多选'"
216
+ @visible-change="(visible) => { return refTemplateVisibleChange(visible, item) }" collapse-tags
217
+ @change="changeRefData($event, item)" @focus="setOptionWidth">
218
+ <template v-for="(items, index) in refTemplateList[item.fieldId]">
219
+ <el-option v-if="refTemplateList[item.fieldId]" :key="index" :label="items.name" :value="items.id"
220
+ :style="{ width: selectOptionWidth }">
221
+ </el-option>
222
+ </template>
223
+ <div @click="lodeMore(item)" v-if="refNextPage[item.fieldId] && refNextPage[item.fieldId].hasNextPage"
224
+ style="width:100%;height:30px;display:flex;align-items: center;justify-content: center;color:#606266">
225
+ 加载更多
232
226
  </div>
233
- <!-- <el-button size="small" type="primary" v-else class="uploadBtn">点击上传</el-button>-->
234
- </el-upload>
235
- <file-list-view :attachmentList="extInfoFieldValue[item.fieldId]" v-if="extInfoFieldValue[item.fieldId] && item.formField.type !== 'IMAGE' && item.formField.type !== 'FILE'" @attachDeleteAttch="attachDeleteFile($event,item.fieldId)"></file-list-view>
227
+ </el-select>
236
228
  </div>
237
- </template>
238
- <div v-else-if="item.formField.type == 'REF_TEMPLATE' || item.formField.type == 'REF'">
239
- <el-select
240
- v-model=item.value
241
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
242
- style="width: 100%"
243
- filterable
244
- :multiple="item.formField.extInfo && item.formField.extInfo.selectType == '多选'"
245
- @visible-change="(visible) =>{ return refTemplateVisibleChange(visible,item) }"
246
- collapse-tags
247
- @change="changeRefData($event,item)"
248
- @focus="setOptionWidth"
249
- >
250
- <template v-for="(items,index) in refTemplateList[item.fieldId]">
251
- <el-option
252
- v-if="refTemplateList[item.fieldId]"
253
- :key="index"
254
- :label="items.name"
255
- :value="items.id"
256
- :style="{width:selectOptionWidth}"
257
- >
258
- </el-option>
259
- </template>
260
- <div
261
- @click="lodeMore(item)"
262
- v-if="refNextPage[item.fieldId] && refNextPage[item.fieldId].hasNextPage"
263
- style="width:100%;height:30px;display:flex;align-items: center;justify-content: center;color:#606266">
264
- 加载更多
265
- </div>
266
- </el-select>
267
229
  </div>
268
230
  </div>
269
231
  </div>
270
- </div>
271
- <div class="mobileFormClass" v-else style="padding: 10px 0;" :class="{notClick:disableds === true}">
272
- <div v-for="(item) in formFieldRelation"
273
- :key="item.fieldId"
274
- class="form-field-item"
275
- >
276
- <div v-if="item.formField.type==='INPUT'" class="form-field-item-value">
277
- <van-field v-model=item.value
278
- :label=item.formField.name
279
- :required="item.required || isRequiredFn(item.formField)"
280
- :disabled="disableds"
281
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请输入'"
282
- :maxlength="item.formField.extInfo&&item.formField.extInfo.maxNum?item.formField.extInfo.maxNum*1:1000"
283
- @blur="typeCheck(item.formField,item)"
284
- :type="item.formField.extInfo.inputType==='NUMBER'||
285
- item.formField.extInfo.inputType==='RATE'? 'number':'text'"
286
- >
287
- <template slot="label">
288
- <span style="padding-right: 5px">{{item.formField.name}}</span>
289
- <span v-if="item.formField.remark && item.formField.remark.enable"
290
- @click.stop="leftIcon(item.formField.remark)">
291
- <i class="el-icon-warning-outline"></i>
292
- </span>
293
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
294
- @click.stop="leftIcon(item.formField.extInfo.remark)">
295
- <i class="el-icon-warning-outline"></i>
296
- </span>
297
- </template>
298
- </van-field>
299
- </div>
300
- <div v-else-if="item.formField.type==='EXPLANATION'||item.formField.type==='EXPLAIN'" class="explan-ation">
301
- <div class="explanation">
302
- <p class="explanation-p" v-if="item.formField.type==='EXPLANATION'">
303
- <span class="el-icon-info"></span>
304
- {{item.formField.extInfo.descriptionText}}
305
- </p>
306
- <p v-else class="explanation-p">
307
- <span class="el-icon-info"></span>
308
- <span v-if="item.formField.extInfo.url" class="explain-url"><a :href="item.formField.extInfo.url" target="_blank">{{item.formField.description?item.formField.description:item.formField.extInfo.placeholder}}</a></span>
309
- <span v-else>{{item.formField.description?item.formField.description:item.formField.extInfo.placeholder}}</span>
310
- </p>
232
+ <div class="mobileFormClass" v-else style="padding: 10px 0;" :class="{ notClick: disableds === true }">
233
+ <div v-for="(item) in formFieldRelation" :key="item.fieldId" class="form-field-item">
234
+ <div v-if="item.formField.type === 'INPUT'" class="form-field-item-value">
235
+ <van-field v-model=item.value :label=item.formField.name
236
+ :required="item.required || isRequiredFn(item.formField)" :disabled="disableds"
237
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请输入'"
238
+ :maxlength="item.formField.extInfo && item.formField.extInfo.maxNum ? item.formField.extInfo.maxNum * 1 : 1000"
239
+ @blur="typeCheck(item.formField, item)" :type="item.formField.extInfo.inputType === 'NUMBER' ||
240
+ item.formField.extInfo.inputType === 'RATE' ? 'number' : 'text'">
241
+ <template slot="label">
242
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
243
+ <span v-if="item.formField.remark && item.formField.remark.enable"
244
+ @click.stop="leftIcon(item.formField.remark)">
245
+ <i class="el-icon-warning-outline"></i>
246
+ </span>
247
+ <span
248
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
249
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
250
+ <i class="el-icon-warning-outline"></i>
251
+ </span>
252
+ </template>
253
+ </van-field>
311
254
  </div>
312
- </div>
313
- <div v-else-if="item.formField.type==='TEXTAREA'" class="form-field-item-value">
314
- <van-field v-model=item.value
315
- :label=item.formField.name
316
- :required="item.required || isRequiredFn(item.formField)"
317
- type="textarea"
318
- :disabled="disableds"
319
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请输入'"
320
- :maxlength="item.formField.extInfo&&item.formField.extInfo.maxNum?item.formField.extInfo.maxNum*1:1000"
321
- v-if="item.fieldId!=='workorder_description'"
322
- >
323
- <template slot="label">
324
- <span style="padding-right: 5px">{{item.formField.name}}</span>
325
- <span v-if="item.formField.remark && item.formField.remark.enable"
326
- @click.stop="leftIcon(item.formField.remark)">
327
- <i class="el-icon-warning-outline"></i>
328
- </span>
329
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
330
- @click.stop="leftIcon(item.formField.extInfo.remark)">
331
- <i class="el-icon-warning-outline"></i>
332
- </span>
333
- </template>
334
- </van-field>
335
- <div v-if="item.fieldId==='workorder_description'" class="workorder_description">
336
- <div class="field-name" :class="item.required || isRequiredFn(item.formField)?'required-name':''">
337
- <span v-if="item.required || isRequiredFn(item.formField)" style="color: red">*</span>
338
- <span style="padding-right: 5px">{{ isBaiLi ? '反馈描述' : item.formField.name }}</span>
339
- <span v-if="item.formField.remark && item.formField.remark.enable"
340
- @click.stop="leftIcon(item.formField.remark)">
341
- <i class="el-icon-warning-outline"></i>
342
- </span>
343
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
344
- @click.stop="leftIcon(item.formField.extInfo.remark)">
345
- <i class="el-icon-warning-outline"></i>
346
- </span>
255
+ <div v-else-if="item.formField.type === 'EXPLANATION' || item.formField.type === 'EXPLAIN'" class="explan-ation">
256
+ <div class="explanation">
257
+ <p class="explanation-p" v-if="item.formField.type === 'EXPLANATION'">
258
+ <span class="el-icon-info"></span>
259
+ {{ item.formField.extInfo.descriptionText }}
260
+ </p>
261
+ <p v-else class="explanation-p">
262
+ <span class="el-icon-info"></span>
263
+ <span v-if="item.formField.extInfo.url" class="explain-url"><a :href="item.formField.extInfo.url"
264
+ target="_blank">{{ item.formField.description ? item.formField.description : item.formField.extInfo.placeholder }}</a></span>
265
+ <span
266
+ v-else>{{ item.formField.description ? item.formField.description : item.formField.extInfo.placeholder }}</span>
267
+ </p>
347
268
  </div>
348
- <ckeditor
269
+ </div>
270
+ <div v-else-if="item.formField.type === 'TEXTAREA'" class="form-field-item-value">
271
+ <van-field v-model=item.value :label=item.formField.name
272
+ :required="item.required || isRequiredFn(item.formField)" type="textarea" :disabled="disableds"
273
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请输入'"
274
+ :maxlength="item.formField.extInfo && item.formField.extInfo.maxNum ? item.formField.extInfo.maxNum * 1 : 1000"
275
+ v-if="item.fieldId !== 'workorder_description'">
276
+ <template slot="label">
277
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
278
+ <span v-if="item.formField.remark && item.formField.remark.enable"
279
+ @click.stop="leftIcon(item.formField.remark)">
280
+ <i class="el-icon-warning-outline"></i>
281
+ </span>
282
+ <span
283
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
284
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
285
+ <i class="el-icon-warning-outline"></i>
286
+ </span>
287
+ </template>
288
+ </van-field>
289
+ <div v-if="item.fieldId === 'workorder_description'" class="workorder_description">
290
+ <div class="field-name" :class="item.required || isRequiredFn(item.formField) ? 'required-name' : ''">
291
+ <span v-if="item.required || isRequiredFn(item.formField)" style="color: red">*</span>
292
+ <span style="padding-right: 5px">{{ isBaiLi ? '反馈描述' : item.formField.name }}</span>
293
+ <span v-if="item.formField.remark && item.formField.remark.enable"
294
+ @click.stop="leftIcon(item.formField.remark)">
295
+ <i class="el-icon-warning-outline"></i>
296
+ </span>
297
+ <span
298
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
299
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
300
+ <i class="el-icon-warning-outline"></i>
301
+ </span>
302
+ </div>
303
+ <!-- <ckeditor
349
304
  :editor="ckeditor.editor"
350
305
  v-model="item.value"
351
306
  @ready="(editor)=>currentEditor=editor"
352
307
  @focus="(zh,editor)=>currentEditor=editor"
353
308
  :config="{...ckeditor.editorConfig,placeholder:item.formField.extInfo && item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请输入'}"
354
- ></ckeditor>
355
- <file-list-view :attachmentList="attachmentList" @attachDeleteAttch="attachDeleteAttch"></file-list-view>
309
+ ></ckeditor> -->
310
+ <MyEditor v-model="item.value"
311
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请输入'"
312
+ @fileUploadCallback="desUploadImageAndFile"
313
+ :havToolbar="mainId !== '8b9bd566e3e64156ab764b19defc9d48' && mainId !== '0b73521f96e4486aaf6be42932bd7b07'">
314
+ </MyEditor>
315
+ <file-list-view :attachmentList="attachmentList" @attachDeleteAttch="attachDeleteAttch"></file-list-view>
316
+ </div>
356
317
  </div>
357
- </div>
358
- <div v-else-if="item.formField.type==='DATE_PICKER'" class="form-field-item-value">
359
- <van-field
360
- readonly
361
- clickable
362
- name="calendar"
363
- :value=dateValue[item.fieldId]
364
- :label=item.formField.name
365
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择日期'"
366
- :required="item.required || isRequiredFn(item.formField)"
367
- @click="dateClick(item.fieldId)"
368
- :disabled="disableds"
369
- right-icon="van-icon van-icon-arrow van-cell__right-icon"
370
- >
371
- <template slot="label">
372
- <span style="padding-right: 5px">{{item.formField.name}}</span>
373
- <span v-if="item.formField.remark && item.formField.remark.enable"
374
- @click.stop="leftIcon(item.formField.remark)">
375
- <i class="el-icon-warning-outline"></i>
376
- </span>
377
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
378
- @click.stop="leftIcon(item.formField.extInfo.remark)">
379
- <i class="el-icon-warning-outline"></i>
380
- </span>
381
- </template>
382
- </van-field>
383
- <van-calendar
384
- v-model="showCalendar"
385
- :min-date="minDate"
386
- :max-date="maxDate"
387
- @confirm="onConfirmCalendar($event,item)"
388
- />
389
- </div>
390
- <div 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')" class="form-field-item-value">
391
- <van-field
392
- readonly
393
- clickable
394
- name="datetimePicker"
395
- :required="item.required || isRequiredFn(item.formField)"
396
- :value=extInfoFieldValue[item.fieldId]
397
- :label=item.formField.name
398
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
399
- @click="timeClick(item.fieldId,item,'DATE_TIME')"
400
- :disabled="disableds"
401
- right-icon="van-icon van-icon-arrow van-cell__right-icon"
402
-
403
- >
404
- <template slot="label">
405
- <span style="padding-right: 5px">{{item.formField.name}}</span>
406
- <span v-if="item.formField.remark && item.formField.remark.enable"
407
- @click.stop="leftIcon(item.formField.remark)">
408
- <i class="el-icon-warning-outline"></i>
409
- </span>
410
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
411
- @click.stop="leftIcon(item.formField.extInfo.remark)">
412
- <i class="el-icon-warning-outline"></i>
413
- </span>
414
- </template>
415
- </van-field>
416
- <van-popup v-model="dateTimePicker" position="bottom">
417
- <van-datetime-picker
418
- v-model="currentDate"
419
- type="datetime"
420
- @confirm="onConfirm($event,item.fieldId,item,'DATE_TIME')"
421
- @cancel="dateTimePicker = false"
422
- :min-date="minDate"
423
- :formatter="formatter"
424
- :max-date="maxDate"
425
- />
426
- </van-popup>
427
- </div>
428
- <div v-else-if="item.formField.type==='TIME_PICKER'&&(!item.formField.extInfo.mold || item.formField.extInfo.mold==='TIME' || getMoldTime(item.formField) == 'TIME')" class="form-field-item-value">
429
- <van-field
430
- readonly
431
- clickable
432
- name="datetimePicker"
433
- :required="item.required || isRequiredFn(item.formField)"
434
- :value=extInfoFieldValue[item.fieldId]
435
- :label=item.formField.name
436
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
437
- @click="timeClick(item.fieldId,item,'TIME')"
438
- :disabled="disableds"
439
- right-icon="van-icon van-icon-arrow van-cell__right-icon"
440
-
441
- >
318
+ <div v-else-if="item.formField.type === 'DATE_PICKER'" class="form-field-item-value">
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 : '请选择日期'"
321
+ :required="item.required || isRequiredFn(item.formField)" @click="dateClick(item.fieldId)"
322
+ :disabled="disableds" right-icon="van-icon van-icon-arrow van-cell__right-icon">
442
323
  <template slot="label">
443
- <span style="padding-right: 5px">{{item.formField.name}}</span>
324
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
444
325
  <span v-if="item.formField.remark && item.formField.remark.enable"
445
- @click.stop="leftIcon(item.formField.remark)">
326
+ @click.stop="leftIcon(item.formField.remark)">
446
327
  <i class="el-icon-warning-outline"></i>
447
328
  </span>
448
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
449
- @click.stop="leftIcon(item.formField.extInfo.remark)">
329
+ <span
330
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
331
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
450
332
  <i class="el-icon-warning-outline"></i>
451
333
  </span>
452
334
  </template>
453
335
  </van-field>
454
- <van-popup v-model="timePicker" position="bottom">
455
- <van-datetime-picker
456
- v-model="currentTime"
457
- type="time"
458
- title="选择时间"
459
- :min-hour="0"
460
- :max-hour="23"
461
- @confirm="onConfirm($event,item.fieldId,item,'TIME')"
462
- @cancel="timePicker = false"
463
- />
336
+ <van-calendar v-model="showCalendar" :min-date="minDate" :max-date="maxDate"
337
+ @confirm="onConfirmCalendar($event, item)" />
338
+ </div>
339
+ <div
340
+ 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')"
341
+ class="form-field-item-value">
342
+ <van-field readonly clickable name="datetimePicker" :required="item.required || isRequiredFn(item.formField)"
343
+ :value=extInfoFieldValue[item.fieldId] :label=item.formField.name
344
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
345
+ @click="timeClick(item.fieldId, item, 'DATE_TIME')" :disabled="disableds"
346
+ right-icon="van-icon van-icon-arrow van-cell__right-icon">
347
+ <template slot="label">
348
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
349
+ <span v-if="item.formField.remark && item.formField.remark.enable"
350
+ @click.stop="leftIcon(item.formField.remark)">
351
+ <i class="el-icon-warning-outline"></i>
352
+ </span>
353
+ <span
354
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
355
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
356
+ <i class="el-icon-warning-outline"></i>
357
+ </span>
358
+ </template>
359
+ </van-field>
360
+ <van-popup v-model="dateTimePicker" position="bottom">
361
+ <van-datetime-picker v-model="currentDate" type="datetime"
362
+ @confirm="onConfirm($event, item.fieldId, item, 'DATE_TIME')" @cancel="dateTimePicker = false"
363
+ :min-date="minDate" :formatter="formatter" :max-date="maxDate" />
464
364
  </van-popup>
465
365
  </div>
466
- <div v-else-if="item.formField.type==='TIME_PICKER'&&(item.formField.extInfo.mold==='DATA' || item.formField.extInfo.mold==='DATE' || getMoldTime(item.formField) == 'DATE')" class="form-field-item-value">
467
- <van-field
468
- readonly
469
- clickable
470
- name="datetimePicker"
471
- :required="item.required || isRequiredFn(item.formField)"
472
- :value=extInfoFieldValue[item.fieldId]
473
- :label=item.formField.name
474
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
475
- @click="timeClick(item.fieldId,item,'DATE')"
476
- :disabled="disableds"
477
- right-icon="van-icon van-icon-arrow van-cell__right-icon"
478
-
479
- >
480
- <template slot="label">
481
- <span style="padding-right: 5px">{{item.formField.name}}</span>
482
- <span v-if="item.formField.remark && item.formField.remark.enable"
483
- @click.stop="leftIcon(item.formField.remark)">
484
- <i class="el-icon-warning-outline"></i>
485
- </span>
486
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
487
- @click.stop="leftIcon(item.formField.extInfo.remark)">
488
- <i class="el-icon-warning-outline"></i>
489
- </span>
490
- </template>
491
- </van-field>
492
- <van-calendar v-model="datePicker" :show-confirm="false" @confirm="onConfirm($event,item.fieldId,item,'DATE')" :min-date="minDate" :max-date="maxDate" @cancel="datePicker = false"/>
493
- </div>
494
- <div v-else-if="item.formField.type==='RADIO'" class="form-field-item-other">
495
- <van-field name="radio" :label="item.formField.name" :required="item.required || isRequiredFn(item.formField)" :disabled="disableds" v-if="item.formField.extInfo.option">
496
- <template slot="label">
497
- <span style="padding-right: 5px">{{item.formField.name}}</span>
498
- <span v-if="item.formField.remark && item.formField.remark.enable"
499
- @click.stop="leftIcon(item.formField.remark)">
500
- <i class="el-icon-warning-outline"></i>
501
- </span>
502
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
503
- @click.stop="leftIcon(item.formField.extInfo.remark)">
504
- <i class="el-icon-warning-outline"></i>
505
- </span>
506
- </template>
507
- <template #input style="display: flex;align-items: center">
508
- <van-radio-group v-model=item.value direction="horizontal" :disabled="disableds">
509
- <van-radio v-for="(items,index) in item.formField.extInfo.option" :name=items.value :key="index" @click="changeSelect(item)">{{items.label}}</van-radio>
510
- </van-radio-group>
511
- </template>
512
- </van-field>
513
- <van-field name="radio" :label="item.formField.name" :required="item.required || isRequiredFn(item.formField)" :disabled="disableds" v-if="item.formField.extInfo.options">
514
- <template slot="label">
515
- <span style="padding-right: 5px">{{item.formField.name}}</span>
516
- <span v-if="item.formField.remark && item.formField.remark.enable"
517
- @click.stop="leftIcon(item.formField.remark)">
518
- <i class="el-icon-warning-outline"></i>
519
- </span>
520
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
521
- @click.stop="leftIcon(item.formField.extInfo.remark)">
522
- <i class="el-icon-warning-outline"></i>
523
- </span>
524
- </template>
525
- <template #input style="display: flex;align-items: center" >
526
- <van-radio-group v-model=item.value direction="horizontal" :disabled="disableds">
527
- <van-radio v-for="(items,index) in optionsLists(item)" :name=items.value :key="index" @click="changeSelect(item)">{{items.label}}</van-radio>
528
- </van-radio-group>
529
- </template>
530
- </van-field>
531
- </div>
532
- <div v-else-if="item.formField.type==='CHECKBOX'" class="form-field-item-other">
533
- <van-field name="checkbox" :label=item.formField.name :required="item.required || isRequiredFn(item.formField)" :disabled="disableds" v-if="item.formField.extInfo.option">
534
- <template slot="label">
535
- <span style="padding-right: 5px">{{item.formField.name}}</span>
536
- <span v-if="item.formField.remark && item.formField.remark.enable"
537
- @click.stop="leftIcon(item.formField.remark)">
538
- <i class="el-icon-warning-outline"></i>
539
- </span>
540
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
541
- @click.stop="leftIcon(item.formField.extInfo.remark)">
542
- <i class="el-icon-warning-outline"></i>
543
- </span>
544
- </template>
545
- <template #input style="display: flex;align-items: center" >
546
- <van-checkbox-group v-model=item.value ref="checkboxGroup" direction="horizontal" :disabled="disableds">
547
- <van-checkbox
548
- v-for="(items,index) in item.formField.extInfo.option"
549
- shape="square"
550
- :key="index"
551
- :name=items.value>
552
- {{items.label}}
553
- </van-checkbox>
554
- </van-checkbox-group>
555
- </template>
556
- </van-field>
557
- <van-field name="checkbox" :label=item.formField.name :required="item.required || isRequiredFn(item.formField)" :disabled="disableds" v-if="item.formField.extInfo.options">
558
- <template slot="label">
559
- <span style="padding-right: 5px">{{item.formField.name}}</span>
560
- <span v-if="item.formField.remark && item.formField.remark.enable"
561
- @click.stop="leftIcon(item.formField.remark)">
562
- <i class="el-icon-warning-outline"></i>
563
- </span>
564
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
565
- @click.stop="leftIcon(item.formField.extInfo.remark)">
566
- <i class="el-icon-warning-outline"></i>
567
- </span>
568
- </template>
569
- <template #input style="display: flex;align-items: center" >
570
- <van-checkbox-group v-model=item.value ref="checkboxGroup" direction="horizontal" :disabled="disableds">
571
- <van-checkbox
572
- v-for="(items,index) in optionsLists(item)"
573
- shape="square"
574
- :key="index"
575
- :name=items.value>
576
- {{items.label}}
577
- </van-checkbox>
578
- </van-checkbox-group>
579
- </template>
580
- </van-field>
581
- </div>
582
- <div v-else-if="item.formField.type==='SELECT' || item.formField.type==='OPTION'" class="form-field-item-value">
583
- <template v-if="item.fieldId==='workorder_clientId' || item.fieldId === 'workorder_statusId' || item.fieldId === 'workorder_priority'">
584
- <van-field
585
- readonly
586
- clickable
587
- name="picker"
588
- :value=selectValues[item.fieldId]
589
- :label="item.fieldId==='workorder_clientId'?'报单人':item.formField.name"
590
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
591
- @click="selectClick(item.fieldId,'client',item)"
592
- :required="item.required || isRequiredFn(item.formField)"
593
- :disabled="disableds"
594
- @click-right-icon.stop="SelectClear(item.fieldId)"
595
- :right-icon="selectValues[item.fieldId]? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'"
596
- >
366
+ <div
367
+ v-else-if="item.formField.type === 'TIME_PICKER' && (!item.formField.extInfo.mold || item.formField.extInfo.mold === 'TIME' || getMoldTime(item.formField) == 'TIME')"
368
+ class="form-field-item-value">
369
+ <van-field readonly clickable name="datetimePicker" :required="item.required || isRequiredFn(item.formField)"
370
+ :value=extInfoFieldValue[item.fieldId] :label=item.formField.name
371
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
372
+ @click="timeClick(item.fieldId, item, 'TIME')" :disabled="disableds"
373
+ right-icon="van-icon van-icon-arrow van-cell__right-icon">
597
374
  <template slot="label">
598
- <span style="padding-right: 5px">{{item.formField.name}}</span>
375
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
599
376
  <span v-if="item.formField.remark && item.formField.remark.enable"
600
- @click.stop="leftIcon(item.formField.remark)">
377
+ @click.stop="leftIcon(item.formField.remark)">
601
378
  <i class="el-icon-warning-outline"></i>
602
379
  </span>
603
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
604
- @click.stop="leftIcon(item.formField.extInfo.remark)">
380
+ <span
381
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
382
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
605
383
  <i class="el-icon-warning-outline"></i>
606
384
  </span>
607
385
  </template>
608
386
  </van-field>
609
- <van-popup v-model="showPicker" position="bottom">
610
- <van-picker
611
- show-toolbar
612
- :columns=selectValue
613
- @confirm="onConfirmSelect($event,item)"
614
- @cancel="showPicker = false"
615
- :key="selectKey"
616
-
617
- />
387
+ <van-popup v-model="timePicker" position="bottom">
388
+ <van-datetime-picker v-model="currentTime" type="time" title="选择时间" :min-hour="0" :max-hour="23"
389
+ @confirm="onConfirm($event, item.fieldId, item, 'TIME')" @cancel="timePicker = false" />
618
390
  </van-popup>
619
- </template>
620
- <template v-else>
621
- <van-field
622
- readonly
623
- clickable
624
- name="picker"
625
- :value="showSelectText(item.formField.extInfo ? (item.formField.extInfo.option || item.formField.extInfo.options) : [],item.value)"
626
- :label=item.formField.name
627
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
628
- @click="selectClick(item.fieldId,'select',item)"
629
- :required="item.required || isRequiredFn(item.formField)"
630
- :disabled="disableds"
631
- @click-right-icon.stop="SelectClear(item.fieldId)"
632
- :right-icon="item.value && item.value.length? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'"
633
- >
391
+ </div>
392
+ <div
393
+ v-else-if="item.formField.type === 'TIME_PICKER' && (item.formField.extInfo.mold === 'DATA' || item.formField.extInfo.mold === 'DATE' || getMoldTime(item.formField) == 'DATE')"
394
+ class="form-field-item-value">
395
+ <van-field readonly clickable name="datetimePicker" :required="item.required || isRequiredFn(item.formField)"
396
+ :value=extInfoFieldValue[item.fieldId] :label=item.formField.name
397
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
398
+ @click="timeClick(item.fieldId, item, 'DATE')" :disabled="disableds"
399
+ right-icon="van-icon van-icon-arrow van-cell__right-icon">
634
400
  <template slot="label">
635
- <span style="padding-right: 5px">{{item.formField.name}}</span>
401
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
636
402
  <span v-if="item.formField.remark && item.formField.remark.enable"
637
- @click.stop="leftIcon(item.formField.remark)">
403
+ @click.stop="leftIcon(item.formField.remark)">
638
404
  <i class="el-icon-warning-outline"></i>
639
405
  </span>
640
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
641
- @click.stop="leftIcon(item.formField.extInfo.remark)">
406
+ <span
407
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
408
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
642
409
  <i class="el-icon-warning-outline"></i>
643
410
  </span>
644
411
  </template>
645
412
  </van-field>
646
- <!-- <van-field
413
+ <van-calendar v-model="datePicker" :show-confirm="false" @confirm="onConfirm($event, item.fieldId, item, 'DATE')"
414
+ :min-date="minDate" :max-date="maxDate" @cancel="datePicker = false" />
415
+ </div>
416
+ <div v-else-if="item.formField.type === 'RADIO'" class="form-field-item-other">
417
+ <van-field name="radio" :label="item.formField.name" :required="item.required || isRequiredFn(item.formField)"
418
+ :disabled="disableds" v-if="item.formField.extInfo.option">
419
+ <template slot="label">
420
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
421
+ <span v-if="item.formField.remark && item.formField.remark.enable"
422
+ @click.stop="leftIcon(item.formField.remark)">
423
+ <i class="el-icon-warning-outline"></i>
424
+ </span>
425
+ <span
426
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
427
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
428
+ <i class="el-icon-warning-outline"></i>
429
+ </span>
430
+ </template>
431
+ <template #input style="display: flex;align-items: center">
432
+ <van-radio-group v-model=item.value direction="horizontal" :disabled="disableds">
433
+ <van-radio v-for="(items, index) in item.formField.extInfo.option" :name=items.value :key="index"
434
+ @click="changeSelect(item)">{{ items.label }}</van-radio>
435
+ </van-radio-group>
436
+ </template>
437
+ </van-field>
438
+ <van-field name="radio" :label="item.formField.name" :required="item.required || isRequiredFn(item.formField)"
439
+ :disabled="disableds" v-if="item.formField.extInfo.options">
440
+ <template slot="label">
441
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
442
+ <span v-if="item.formField.remark && item.formField.remark.enable"
443
+ @click.stop="leftIcon(item.formField.remark)">
444
+ <i class="el-icon-warning-outline"></i>
445
+ </span>
446
+ <span
447
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
448
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
449
+ <i class="el-icon-warning-outline"></i>
450
+ </span>
451
+ </template>
452
+ <template #input style="display: flex;align-items: center">
453
+ <van-radio-group v-model=item.value direction="horizontal" :disabled="disableds">
454
+ <van-radio v-for="(items, index) in optionsLists(item)" :name=items.value :key="index"
455
+ @click="changeSelect(item)">{{ items.label }}</van-radio>
456
+ </van-radio-group>
457
+ </template>
458
+ </van-field>
459
+ </div>
460
+ <div v-else-if="item.formField.type === 'CHECKBOX'" class="form-field-item-other">
461
+ <van-field name="checkbox" :label=item.formField.name
462
+ :required="item.required || isRequiredFn(item.formField)" :disabled="disableds"
463
+ v-if="item.formField.extInfo.option">
464
+ <template slot="label">
465
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
466
+ <span v-if="item.formField.remark && item.formField.remark.enable"
467
+ @click.stop="leftIcon(item.formField.remark)">
468
+ <i class="el-icon-warning-outline"></i>
469
+ </span>
470
+ <span
471
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
472
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
473
+ <i class="el-icon-warning-outline"></i>
474
+ </span>
475
+ </template>
476
+ <template #input style="display: flex;align-items: center">
477
+ <van-checkbox-group v-model=item.value ref="checkboxGroup" direction="horizontal" :disabled="disableds">
478
+ <van-checkbox v-for="(items, index) in item.formField.extInfo.option" shape="square" :key="index"
479
+ :name=items.value>
480
+ {{ items.label }}
481
+ </van-checkbox>
482
+ </van-checkbox-group>
483
+ </template>
484
+ </van-field>
485
+ <van-field name="checkbox" :label=item.formField.name
486
+ :required="item.required || isRequiredFn(item.formField)" :disabled="disableds"
487
+ v-if="item.formField.extInfo.options">
488
+ <template slot="label">
489
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
490
+ <span v-if="item.formField.remark && item.formField.remark.enable"
491
+ @click.stop="leftIcon(item.formField.remark)">
492
+ <i class="el-icon-warning-outline"></i>
493
+ </span>
494
+ <span
495
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
496
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
497
+ <i class="el-icon-warning-outline"></i>
498
+ </span>
499
+ </template>
500
+ <template #input style="display: flex;align-items: center">
501
+ <van-checkbox-group v-model=item.value ref="checkboxGroup" direction="horizontal" :disabled="disableds">
502
+ <van-checkbox v-for="(items, index) in optionsLists(item)" shape="square" :key="index" :name=items.value>
503
+ {{ items.label }}
504
+ </van-checkbox>
505
+ </van-checkbox-group>
506
+ </template>
507
+ </van-field>
508
+ </div>
509
+ <div v-else-if="item.formField.type === 'SELECT' || item.formField.type === 'OPTION'" class="form-field-item-value">
510
+ <template
511
+ v-if="item.fieldId === 'workorder_clientId' || item.fieldId === 'workorder_statusId' || item.fieldId === 'workorder_priority'">
512
+ <van-field readonly clickable name="picker" :value=selectValues[item.fieldId]
513
+ :label="item.fieldId === 'workorder_clientId' ? '报单人' : item.formField.name"
514
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
515
+ @click="selectClick(item.fieldId, 'client', item)" :required="item.required || isRequiredFn(item.formField)"
516
+ :disabled="disableds" @click-right-icon.stop="SelectClear(item.fieldId)"
517
+ :right-icon="selectValues[item.fieldId] ? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'">
518
+ <template slot="label">
519
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
520
+ <span v-if="item.formField.remark && item.formField.remark.enable"
521
+ @click.stop="leftIcon(item.formField.remark)">
522
+ <i class="el-icon-warning-outline"></i>
523
+ </span>
524
+ <span
525
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
526
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
527
+ <i class="el-icon-warning-outline"></i>
528
+ </span>
529
+ </template>
530
+ </van-field>
531
+ <van-popup v-model="showPicker" position="bottom">
532
+ <van-picker show-toolbar :columns=selectValue @confirm="onConfirmSelect($event, item)"
533
+ @cancel="showPicker = false" :key="selectKey" />
534
+ </van-popup>
535
+ </template>
536
+ <template v-else>
537
+ <van-field readonly clickable name="picker"
538
+ :value="showSelectText(item.formField.extInfo ? (item.formField.extInfo.option || item.formField.extInfo.options) : [], item.value)"
539
+ :label=item.formField.name
540
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
541
+ @click="selectClick(item.fieldId, 'select', item)" :required="item.required || isRequiredFn(item.formField)"
542
+ :disabled="disableds" @click-right-icon.stop="SelectClear(item.fieldId)"
543
+ :right-icon="item.value && item.value.length ? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'">
544
+ <template slot="label">
545
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
546
+ <span v-if="item.formField.remark && item.formField.remark.enable"
547
+ @click.stop="leftIcon(item.formField.remark)">
548
+ <i class="el-icon-warning-outline"></i>
549
+ </span>
550
+ <span
551
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
552
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
553
+ <i class="el-icon-warning-outline"></i>
554
+ </span>
555
+ </template>
556
+ </van-field>
557
+ <!-- <van-field
647
558
  readonly
648
559
  clickable
649
560
  name="picker"
@@ -668,178 +579,141 @@
668
579
  </span>
669
580
  </template>
670
581
  </van-field> -->
671
- </template>
672
- </div>
673
- <div v-if="item.formField.type === 'REF_TEMPLATE' || item.formField.type === 'REF'" class="form-field-item-value">
674
- <van-field
675
- readonly
676
- clickable
677
- :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:'')"
678
- :label="item.formField.name"
679
- name="picker"
680
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
681
- @click="selectClick(item.fieldId,'ref',item)"
682
- @click-right-icon.stop="SelectClear(item.fieldId)"
683
- :required="item.required || isRequiredFn(item.formField)"
684
- :disabled="disableds"
685
- :right-icon="extInfoFieldValue[item.fieldId] && extInfoFieldValue[item.fieldId].length? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'"
686
- />
582
+ </template>
583
+ </div>
584
+ <div v-if="item.formField.type === 'REF_TEMPLATE' || item.formField.type === 'REF'"
585
+ class="form-field-item-value">
586
+ <van-field readonly clickable
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
+ :label="item.formField.name" name="picker"
589
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
590
+ @click="selectClick(item.fieldId, 'ref', item)" @click-right-icon.stop="SelectClear(item.fieldId)"
591
+ :required="item.required || isRequiredFn(item.formField)" :disabled="disableds"
592
+ :right-icon="extInfoFieldValue[item.fieldId] && extInfoFieldValue[item.fieldId].length ? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'" />
687
593
  <van-popup v-model="refShowPicker" position="bottom" :style="{ height: '300px' }">
688
- <select-popup
689
- :options="refTemplateList[selectDetail.fieldId]"
690
- :defaultValue="refDefaultValue[selectDetail.fieldId]"
691
- @onConfim="confirmRefSelect"
692
- @onclose= "refShowPicker = false"
693
- :multiple="selectDetail.formField && selectDetail.formField.extInfo && selectDetail.formField.extInfo.selectType ==='多选'?true:false"
694
- ref="selectPopup"
695
- :props="{
696
- value:'id',
697
- label:'name'
698
- }"
699
- >
594
+ <select-popup :options="refTemplateList[selectDetail.fieldId]"
595
+ :defaultValue="refDefaultValue[selectDetail.fieldId]" @onConfim="confirmRefSelect"
596
+ @onclose="refShowPicker = false"
597
+ :multiple="selectDetail.formField && selectDetail.formField.extInfo && selectDetail.formField.extInfo.selectType === '多选' ? true : false"
598
+ ref="selectPopup" :props="{
599
+ value: 'id',
600
+ label: 'name'
601
+ }">
700
602
  <template slot="popup-footer" v-if="refNextPage[item.fieldId] && refNextPage[item.fieldId].hasNextPage">
701
603
  <span @click="lodeMore(item)">加载更多</span>
702
604
  </template>
703
605
  </select-popup>
704
606
  </van-popup>
705
607
  </div>
706
- <div v-else-if="item.formField.type==='CASCADER'" :key="JSON.stringify(item.formField)" class="form-field-item-value">
707
- <van-field
708
- readonly
709
- clickable
710
- name="area"
711
- :value="extInfoFieldValue[item.fieldId] && Array.isArray(extInfoFieldValue[item.fieldId])?extInfoFieldValue[item.fieldId].map(e=>e.label).join('/'):''"
608
+ <div v-else-if="item.formField.type === 'CASCADER'" :key="JSON.stringify(item.formField)"
609
+ class="form-field-item-value">
610
+ <van-field readonly clickable name="area"
611
+ :value="extInfoFieldValue[item.fieldId] && Array.isArray(extInfoFieldValue[item.fieldId]) ? extInfoFieldValue[item.fieldId].map(e => e.label).join('/') : ''"
712
612
  :label=item.formField.name
713
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
714
- @click="openDrawer(item,'cascader')"
715
- :required="item.fieldId !== '0feca81fce97465da537248c066e4db8' && item.fieldId !=='1d8bd21485834773a6d18eae60013000' && (item.required || isRequiredFn(item.formField))"
716
- :disabled="disableds"
717
- right-icon="van-icon van-icon-arrow van-cell__right-icon"
718
- >
719
- <template slot="label">
720
- <span style="padding-right: 5px">{{item.formField.name}}</span>
721
- <span v-if="item.formField.remark && item.formField.remark.enable"
722
- @click.stop="leftIcon(item.formField.remark)">
723
- <i class="el-icon-warning-outline"></i>
724
- </span>
725
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
726
- @click.stop="leftIcon(item.formField.extInfo.remark)">
727
- <i class="el-icon-warning-outline"></i>
728
- </span>
729
- </template>
730
- </van-field>
731
- </div>
732
- <div v-else-if="item.formField.type === 'FILE' || item.formField.type === 'IMAGE' || item.formField.type === 'ATTACHMENT' || item.formField.type === 'VIDEO'" class="form-field-item-value">
733
- <div @click="checkUpload(item.fieldId,item.formField.extInfo)" class="form-field-item-file">
734
- <div class="fileName">
735
- <span style="color: red" v-if="item.required || isRequiredFn(item.formField)">*</span>
736
- <span style="padding-right: 5px">{{item.formField.name}}</span>
737
- <span v-if="item.formField.remark && item.formField.remark.enable"
738
- @click.stop="leftIcon(item.formField.remark)">
739
- <i class="el-icon-warning-outline"></i>
740
- </span>
741
- <span v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
742
- @click.stop="leftIcon(item.formField.extInfo.remark)">
743
- <i class="el-icon-warning-outline"></i>
744
- </span>
745
- </div>
746
- <van-uploader
747
- v-model="extInfoFieldValue[item.fieldId]"
748
- :before-read="(file=>{return beforeRead(file,item.formField.type)})"
749
- :max-count='item.formField.extInfo&&item.formField.extInfo.limitNum ? item.formField.extInfo.limitNum : (item.formField.extInfo.limit ? item.formField.extInfo.limit : 1)'
750
- :after-read="afterRead"
751
- :accept="acceptFieldType(item.formField.type)"
752
- :multiple="item.formField.extInfo&&item.formField.extInfo.limitNum&&item.formField.extInfo.limitNum>1?true:false"
753
- :preview-image="item.formField.type === 'IMAGE' || item.formField.type === 'FILE' ? true : false"
754
- >
755
- <div class="vant-upload--picture-card">
756
- <i class="el-icon-plus"></i>
613
+ :placeholder="item.formField.extInfo && item.formField.extInfo.placeholder ? item.formField.extInfo.placeholder : '请选择'"
614
+ @click="openDrawer(item, 'cascader')"
615
+ :required="item.fieldId !== '0feca81fce97465da537248c066e4db8' && item.fieldId !== '1d8bd21485834773a6d18eae60013000' && (item.required || isRequiredFn(item.formField))"
616
+ :disabled="disableds" right-icon="van-icon van-icon-arrow van-cell__right-icon">
617
+ <template slot="label">
618
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
619
+ <span v-if="item.formField.remark && item.formField.remark.enable"
620
+ @click.stop="leftIcon(item.formField.remark)">
621
+ <i class="el-icon-warning-outline"></i>
622
+ </span>
623
+ <span
624
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
625
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
626
+ <i class="el-icon-warning-outline"></i>
627
+ </span>
628
+ </template>
629
+ </van-field>
630
+ </div>
631
+ <div
632
+ v-else-if="item.formField.type === 'FILE' || item.formField.type === 'IMAGE' || item.formField.type === 'ATTACHMENT' || item.formField.type === 'VIDEO'"
633
+ class="form-field-item-value">
634
+ <div @click="checkUpload(item.fieldId, item.formField.extInfo)" class="form-field-item-file">
635
+ <div class="fileName">
636
+ <span style="color: red" v-if="item.required || isRequiredFn(item.formField)">*</span>
637
+ <span style="padding-right: 5px">{{ item.formField.name }}</span>
638
+ <span v-if="item.formField.remark && item.formField.remark.enable"
639
+ @click.stop="leftIcon(item.formField.remark)">
640
+ <i class="el-icon-warning-outline"></i>
641
+ </span>
642
+ <span
643
+ v-else-if="item.formField.extInfo && item.formField.extInfo.remark && item.formField.extInfo.remark.enable"
644
+ @click.stop="leftIcon(item.formField.extInfo.remark)">
645
+ <i class="el-icon-warning-outline"></i>
646
+ </span>
757
647
  </div>
758
- </van-uploader>
759
- <file-list-view :attachmentList="extInfoFieldValue[item.fieldId]" v-if="extInfoFieldValue[item.fieldId] && extInfoFieldValue[item.fieldId].length && item.formField.type !== 'IMAGE' && item.formField.type !== 'FILE'" @attachDeleteAttch="attachDeleteFile($event,item.fieldId)"></file-list-view>
648
+ <van-uploader v-model="extInfoFieldValue[item.fieldId]"
649
+ :before-read="(file => { return beforeRead(file, item.formField.type) })"
650
+ :max-count='item.formField.extInfo && item.formField.extInfo.limitNum ? item.formField.extInfo.limitNum : (item.formField.extInfo.limit ? item.formField.extInfo.limit : 1)'
651
+ :after-read="afterRead" :accept="acceptFieldType(item.formField.type)"
652
+ :multiple="item.formField.extInfo && item.formField.extInfo.limitNum && item.formField.extInfo.limitNum > 1 ? true : false"
653
+ :preview-image="item.formField.type === 'IMAGE' || item.formField.type === 'FILE' ? true : false">
654
+ <div class="vant-upload--picture-card">
655
+ <i class="el-icon-plus"></i>
656
+ </div>
657
+ </van-uploader>
658
+ <file-list-view :attachmentList="extInfoFieldValue[item.fieldId]"
659
+ v-if="extInfoFieldValue[item.fieldId] && extInfoFieldValue[item.fieldId].length && item.formField.type !== 'IMAGE' && item.formField.type !== 'FILE'"
660
+ @attachDeleteAttch="attachDeleteFile($event, item.fieldId)"></file-list-view>
661
+ </div>
760
662
  </div>
761
663
  </div>
762
- </div>
763
664
  <van-popup v-model="fileUpload" :close-on-click-overlay="false">
764
- <div style="background-color: black;height: 100px;width: 100px;display: flex;justify-content: center;align-items: center" >
765
- <van-loading type="spinner"/>
665
+ <div
666
+ style="background-color: black;height: 100px;width: 100px;display: flex;justify-content: center;align-items: center">
667
+ <van-loading type="spinner" />
766
668
  </div>
767
669
  </van-popup>
768
- </div>
670
+ </div>
769
671
  <div class="bottom-link"></div>
770
672
  <div class="form-submit-btn" v-if="isCompany">
771
- <el-button style="border-color: #366aff;color: white;background-color: #366aff" round class="submitClass" size="small" @click="submitClick" :disabled="disableds">
673
+ <el-button style="border-color: #366aff;color: white;background-color: #366aff" round class="submitClass"
674
+ size="small" @click="submitClick" :disabled="disableds">
772
675
  <i class="el-icon-check" v-if="!disableds"></i>
773
- {{submitValue}}
676
+ {{ submitValue }}
774
677
  </el-button>
775
678
  </div>
776
679
  <div class="form-submit-btn" v-else>
777
- <van-button round type="info" class="submitClass" @click="submitClick" :disabled="disableds">
680
+ <van-button round type="info" class="submitClass" @click="submitClick" :disabled="disableds">
778
681
  <i class="el-icon-check" v-if="!disableds"></i>
779
- {{submitValue}}
682
+ {{ submitValue }}
780
683
  </van-button>
781
684
  </div>
782
685
  </div>
783
686
  <el-dialog :visible.sync="dialogVisible">
784
687
  <img width="100%" :src="dialogImageUrl" alt="">
785
688
  </el-dialog>
786
- <el-drawer
787
- :withHeader="false"
788
- :visible.sync="drawer"
789
- size="400px"
790
- :model="false"
791
- :append-to-body="true"
792
- direction="btt">
689
+ <el-drawer :withHeader="false" :visible.sync="drawer" size="400px" :model="false" :append-to-body="true"
690
+ direction="btt">
793
691
  <div class="drawer-container">
794
- <tree ref="drawerTree"
795
- :dataOptions="detailField.formField"
796
- @saveData="saveData"
797
- @cancelBtn="drawer = false"
798
- :fieldValue="fieldValue"
799
- ></tree>
692
+ <tree ref="drawerTree" :dataOptions="detailField.formField" @saveData="saveData" @cancelBtn="drawer = false"
693
+ :fieldValue="fieldValue" :webHookCascader="webHookCascader"></tree>
800
694
  </div>
801
695
  </el-drawer>
802
- <el-drawer
803
- :withHeader="false"
804
- :visible.sync="selectPopUp"
805
- size="40%"
806
- :model="false"
807
- direction="btt"
808
- >
809
- <select-popup
810
- :options="options"
811
- :defaultValue="defaultValue"
812
- @onConfim="confirmSelect"
813
- @onclose= "selectPopUp = false"
814
- :multiple="detailField.formField.extInfo && detailField.formField.extInfo.selectType ==='多选'?true:false"
815
- ref="selectPopup"
816
- :props="{
817
- value:'label',
818
- label:'value'
819
- }"
820
- ></select-popup>
696
+ <el-drawer :withHeader="false" :visible.sync="selectPopUp" size="40%" :model="false" direction="btt">
697
+ <select-popup :options="options" :defaultValue="defaultValue" @onConfim="confirmSelect"
698
+ @onclose="selectPopUp = false"
699
+ :multiple="detailField.formField.extInfo && detailField.formField.extInfo.selectType === '多选' ? true : false"
700
+ ref="selectPopup" :props="{
701
+ value: 'label',
702
+ label: 'value'
703
+ }"></select-popup>
821
704
  </el-drawer>
822
705
  <van-popup v-model="showArea" position="bottom" :style="{ height: '400px' }" v-if="!isCompany">
823
- <tree ref="drawerTree"
824
- :dataOptions="detailField.formField"
825
- @saveData="saveData"
826
- @cancelBtn="showArea = false"
827
- :fieldValue="fieldValue"
828
- ></tree>
706
+ <tree ref="drawerTree" :dataOptions="detailField.formField" @saveData="saveData" @cancelBtn="showArea = false"
707
+ :fieldValue="fieldValue" :webHookCascader="webHookCascader"></tree>
829
708
  </van-popup>
830
709
  <van-popup v-model="selectPicker" position="bottom" :style="{ height: '300px' }" v-if="!isCompany">
831
- <select-popup
832
- :options="optionsList[selectDetail.fieldId]"
833
- :defaultValue="defaultValue"
834
- @onConfim="confirmSelect"
835
- @onclose= "selectPicker = false"
836
- :multiple="selectDetail.formField && selectDetail.formField.extInfo && selectDetail.formField.extInfo.selectType ==='多选'?true:false"
837
- ref="selectPopup"
838
- :props="{
839
- value:'value',
840
- label:'label'
841
- }"
842
- ></select-popup>
710
+ <select-popup :options="optionsList[selectDetail.fieldId]" :defaultValue="defaultValue" @onConfim="confirmSelect"
711
+ @onclose="selectPicker = false"
712
+ :multiple="selectDetail.formField && selectDetail.formField.extInfo && selectDetail.formField.extInfo.selectType === '多选' ? true : false"
713
+ ref="selectPopup" :props="{
714
+ value: 'value',
715
+ label: 'label'
716
+ }"></select-popup>
843
717
  </van-popup>
844
718
  </div>
845
719
  </template>
@@ -847,36 +721,30 @@
847
721
  <script>
848
722
  /* eslint-disable */
849
723
  import { forMatTime } from "./utils/format_date";
850
-
851
724
  let that
852
- import {multipartUpload,ossFileUrl} from "./utils/AliyunIssUtil";
853
- import {MyCustomUploadAdapterPlugin} from "./utils/ckeditor";
854
- // import MyimageUpload from './utils/ckeditorImageUpload/plugin-image'
855
- import MyFileUpload from './utils/ckeditorfileUpload/plugin_file'
856
- import CKEDITOR from 'ckeditor'
857
-
725
+ import { multipartUpload, ossFileUrl } from "./utils/AliyunIssUtil";
726
+ import MyEditor from './MyEditor'
858
727
  import myPopup from "./myPopup.vue";
859
728
  import Tree from '../components/tree'
860
729
  import selectPopup from '../components/popup'
861
730
  import fileListView from './fielListView.vue'
862
731
  import { uniqueData } from './utils/math_utils'
863
- import { putObject } from "../assets/js/obsBrowser";
864
732
  export default {
865
733
  name: "formTemplate",
866
- data() {
734
+ data () {
867
735
  return {
868
736
  isPhone: false,
869
737
  isCompany: false,
870
738
  checkboxGroup: [],
871
739
  currentDate: new Date(),
872
- currentTime:"",
873
- timePicker:false,
740
+ currentTime: "",
741
+ timePicker: false,
874
742
  timeValue: [],
875
743
  dateValue: [],
876
744
  showPicker: false,
877
- selectPicker:false,
745
+ selectPicker: false,
878
746
  dateTimePicker: false,
879
- datePicker:false,
747
+ datePicker: false,
880
748
  showCalendar: false,
881
749
  radio: [],
882
750
  selectValue: [],
@@ -918,196 +786,174 @@ export default {
918
786
  clickPicker: '',
919
787
  columns: [],
920
788
  copyForm: [],
921
- cascaderId:0,
922
- formShow:[],
789
+ cascaderId: 0,
790
+ formShow: [],
923
791
  uploadAvatarParams: {
924
792
  token: "8c98087dfd2d48f856d8c95c09115def",
925
793
  },
926
- fileListList:[],
927
- keyValue:'',
928
- selectKey:'',
929
- filedId:'',
930
- disabled:false,
931
- dialogVisible:false,
932
- dialogImageUrl:'',
933
- fileUpload:false,
934
- videoFlag:false,
935
- videoUploadPercent:false,
936
- fileType:['PICTURE','VIDEO','AUDIO'],
937
- loading:'',
938
- ossConfig: {
939
- region: "oss-cn-zhangjiakou",
940
- //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
941
- accessKeyId: "LTAI4G3QtdEdwkEbihBngAsK",
942
- accessKeySecret: "OwgdVfc5PeCkIgqIdug660xmiSPchn",
943
- // stsToken: '<Your securityToken(STS)>',
944
- bucket: "guoranopen-zjk",
794
+ fileListList: [],
795
+ keyValue: '',
796
+ selectKey: '',
797
+ filedId: '',
798
+ disabled: false,
799
+ dialogVisible: false,
800
+ dialogImageUrl: '',
801
+ fileUpload: false,
802
+ videoFlag: false,
803
+ videoUploadPercent: false,
804
+ fileType: ['PICTURE', 'VIDEO', 'AUDIO'],
805
+ loading: '',
806
+ hideUploadEdit: false,
807
+ limitNum: 1,
808
+ refShowPicker: false,
809
+ refTemplateList: {},
810
+ refList: {},
811
+ dataQuery: {},
812
+ refNextPage: {},
813
+ drawer: false,
814
+ detailField: {
815
+ formField: {}
945
816
  },
946
- hideUploadEdit:false,
947
- limitNum:1,
948
- ckeditor: {
949
- editor: CKEDITOR.ClassicEditor,
950
- editorConfig: {
951
- extraPlugins: [MyFileUpload,MyCustomUploadAdapterPlugin],
952
- toolbar: [
953
- 'MyFileUpload'
954
- ],
955
- askPluginListener:[
956
- {
957
- event: 'UPLOAD',
958
- process: this.desUploadImageAndFile,
959
- }
960
- ]
961
- },
962
- },
963
- refShowPicker:false,
964
- refTemplateList:{},
965
- refList:{},
966
- dataQuery:{},
967
- refNextPage:{},
968
- drawer:false,
969
- detailField:{
970
- formField:{}
971
- },
972
- extInfoFieldValue:{},
973
- selectPopUp:false,
974
- options:[],
975
- defaultValue:[],
976
- timeDetailData:{},
977
- selectDetail:{},
978
- refDefaultValue:{},
979
- selectOptionWidth:null,
980
- fieldValue:{},
981
- optionsList:{},
982
- currentEditor:null,
983
- workOrderDes:"",
984
- workOrderDestail:null,
985
- associatedControlsCopy:[],
986
- attachments:[],
987
- attachmentList:[],
988
- uploadImgQueue:false,
989
- isBaiLi:false,
990
- listenTimer:null,
817
+ extInfoFieldValue: {},
818
+ selectPopUp: false,
819
+ options: [],
820
+ defaultValue: [],
821
+ timeDetailData: {},
822
+ selectDetail: {},
823
+ refDefaultValue: {},
824
+ selectOptionWidth: null,
825
+ fieldValue: {},
826
+ optionsList: {},
827
+ currentEditor: null,
828
+ workOrderDes: "",
829
+ workOrderDestail: null,
830
+ associatedControlsCopy: [],
831
+ attachments: [],
832
+ attachmentList: [],
833
+ uploadImgQueue: false,
834
+ isBaiLi: false,
835
+ listenTimer: null,
836
+ webHookCascader:false
991
837
  }
992
838
  },
993
839
  props: {
994
840
  formList: {
995
841
  type: Object,
996
- default() {
842
+ default () {
997
843
  return {}
998
844
  }
999
845
  },
1000
- type:String,
1001
- disable:Boolean,
1002
- submit:Boolean,
1003
- usePropStyleType:{
1004
- type:Boolean,
1005
- default() {
846
+ type: String,
847
+ disable: Boolean,
848
+ submit: Boolean,
849
+ usePropStyleType: {
850
+ type: Boolean,
851
+ default () {
1006
852
  return false;
1007
853
  }
1008
854
  },
1009
855
  propIsPhone: {
1010
- type:Boolean,
1011
- default() {
856
+ type: Boolean,
857
+ default () {
1012
858
  return false;
1013
859
  }
1014
860
  },
1015
861
  propIsCompany: {
1016
- type:Boolean,
1017
- default() {
862
+ type: Boolean,
863
+ default () {
1018
864
  return false;
1019
865
  }
1020
866
  },
1021
867
  uploadUrl: {
1022
- type:String,
1023
- default(){
868
+ type: String,
869
+ default () {
1024
870
  return '/open/media/file/upload'
1025
871
  }
1026
872
  },
1027
- mainId:{
1028
- type:String,
1029
- default(){
873
+ mainId: {
874
+ type: String,
875
+ default () {
1030
876
  return ""
1031
877
  }
1032
878
  }
1033
879
  },
1034
- computed:{
1035
- acceptType:function () {
880
+ computed: {
881
+ acceptType: function () {
1036
882
  return '.jpg,.jpeg,.png,.gif,.JPG,.JPEG,.PBG,.GIF'
1037
883
  },
1038
- formFieldRelation:function () {
884
+ formFieldRelation: function () {
1039
885
  let arr = [];
1040
886
  let formList = []
1041
887
  formList = this.formShow.form && this.formShow.form.formFieldRelation
1042
- formList.forEach(item=> {
1043
- if (item.fieldId !=='workorder_name' && item.display && item.formField.type!=='CHAT_RECORD' && item.formField.type!=='CHANNEL') {
888
+ formList.forEach(item => {
889
+ if (item.fieldId !== 'workorder_name' && item.display && item.formField.type !== 'CHAT_RECORD' && item.formField.type !== 'CHANNEL') {
1044
890
  arr.push(item);
1045
891
  }
1046
892
  })
1047
- arr.forEach(item=>{
1048
- if (item.value && item.value.length){
1049
- this.$set(this.fieldValue,item.fieldId,item.value)
893
+ arr.forEach(item => {
894
+ if (item.value && item.value.length) {
895
+ this.$set(this.fieldValue, item.fieldId, item.value)
1050
896
  }
1051
- if(item.formField.type === 'CHECKBOX'){
1052
- if(!item.value){
897
+ if (item.formField.type === 'CHECKBOX') {
898
+ if (!item.value) {
1053
899
  item.value = []
1054
900
  }
1055
- if(item.formField.defaultValue && (!item.value || !item.value.length)){
901
+ if (item.formField.defaultValue && (!item.value || !item.value.length)) {
1056
902
  item.value = item.formField.defaultValue
1057
903
  }
1058
904
  }
1059
- if (item.fieldId==='workorder_description'){
905
+ if (item.fieldId === 'workorder_description') {
1060
906
  this.workOrderDes = item.value;
1061
907
  this.workOrderDestail = item;
1062
- console.debug('workorder_description',item)
908
+ console.debug('workorder_description', item)
1063
909
  }
1064
910
  })
1065
- let newArr = arr.filter(item=>item.relationDisplay)
911
+ let newArr = arr.filter(item => item.relationDisplay)
1066
912
  return newArr;
1067
913
  },
1068
- acceptFieldType(){
1069
- return (type)=>{
1070
- if (type == 'FILE'){
914
+ acceptFieldType () {
915
+ return (type) => {
916
+ if (type == 'FILE') {
1071
917
  return 'image/*'
1072
- } else if( type == 'IMAGE') {
918
+ } else if (type == 'IMAGE') {
1073
919
  return 'image/*'
1074
- } else if(type == 'VIDEO') {
920
+ } else if (type == 'VIDEO') {
1075
921
  return 'video/*'
1076
922
  } else {
1077
923
  return '*'
1078
924
  }
1079
925
  }
1080
926
  },
1081
- isRequiredFn(){
1082
- return function(field) {
1083
- return this.relationSet(field,'requiredDependentFieldId')
927
+ isRequiredFn () {
928
+ return function (field) {
929
+ return this.relationSet(field, 'requiredDependentFieldId')
1084
930
  }
1085
931
  },
1086
- optionsLists() {
932
+ optionsLists () {
1087
933
  return function (field) {
1088
934
  let options = {}
1089
935
  let newOptions = {}
1090
936
  let flag = false;
1091
- if (!field.formField.extInfo){
937
+ if (!field.formField.extInfo) {
1092
938
  newOptions[field.fieldId] = []
1093
939
  }
1094
940
  else {
1095
- if (field.formField.extInfo.dependent&&JSON.stringify(field.formField.extInfo.dependent)!=='{}'){
1096
- for (let k in field.formField.extInfo.dependent){
1097
- if (Array.isArray(this.fieldValue[k]) && Array.isArray(this.fieldValue[k][0])){
1098
- this.fieldValue[k].forEach(item=>{
1099
- field.formField.extInfo.dependent[k].filterStruct.forEach(filter=>{
1100
- if (Array.isArray(item)){
1101
- if (filter.input === item[item.length - 1]){
1102
- if (!options[field.fieldId]){
941
+ if (field.formField.extInfo.dependent && JSON.stringify(field.formField.extInfo.dependent) !== '{}') {
942
+ for (let k in field.formField.extInfo.dependent) {
943
+ if (Array.isArray(this.fieldValue[k]) && Array.isArray(this.fieldValue[k][0])) {
944
+ this.fieldValue[k].forEach(item => {
945
+ field.formField.extInfo.dependent[k].filterStruct.forEach(filter => {
946
+ if (Array.isArray(item)) {
947
+ if (filter.input === item[item.length - 1]) {
948
+ if (!options[field.fieldId]) {
1103
949
  options[field.fieldId] = []
1104
950
  }
1105
951
  options[field.fieldId] = options[field.fieldId].concat(filter.output)
1106
952
  flag = true
1107
953
  }
1108
954
  } else {
1109
- if (filter.input === item){
1110
- if (!options[field.fieldId]){
955
+ if (filter.input === item) {
956
+ if (!options[field.fieldId]) {
1111
957
  options[field.fieldId] = []
1112
958
  }
1113
959
  options[field.fieldId] = options[field.fieldId].concat(filter.output)
@@ -1118,8 +964,8 @@ export default {
1118
964
  })
1119
965
  }
1120
966
  else {
1121
- field.formField.extInfo.dependent[k].filterStruct.forEach(filter=>{
1122
- if (this.fieldValue[k] && (filter.input === this.fieldValue[k] || this.fieldValue[k][this.fieldValue[k].length - 1] == filter.input)){
967
+ field.formField.extInfo.dependent[k].filterStruct.forEach(filter => {
968
+ if (this.fieldValue[k] && (filter.input === this.fieldValue[k] || this.fieldValue[k][this.fieldValue[k].length - 1] == filter.input)) {
1123
969
  options[field.fieldId] = filter.output;
1124
970
  flag = true
1125
971
  }
@@ -1127,22 +973,22 @@ export default {
1127
973
  }
1128
974
  }
1129
975
  }
1130
- if (field.formField.extInfo.selfDependent && JSON.stringify(field.formField.extInfo.selfDependent)!=='{}'){
1131
- if (flag){
1132
- for (let k in field.formField.extInfo.selfDependent){
1133
- if (Array.isArray(this.fieldValue[k]) && Array.isArray(this.fieldValue[k][0])){
1134
- this.fieldValue[k].forEach(item=>{
1135
- field.formField.extInfo.selfDependent[k].filterStruct.forEach(filter=>{
1136
- if (Array.isArray(item)){
1137
- if (filter.input === item[item.length - 1]){
1138
- if (!options[field.fieldId]){
976
+ if (field.formField.extInfo.selfDependent && JSON.stringify(field.formField.extInfo.selfDependent) !== '{}') {
977
+ if (flag) {
978
+ for (let k in field.formField.extInfo.selfDependent) {
979
+ if (Array.isArray(this.fieldValue[k]) && Array.isArray(this.fieldValue[k][0])) {
980
+ this.fieldValue[k].forEach(item => {
981
+ field.formField.extInfo.selfDependent[k].filterStruct.forEach(filter => {
982
+ if (Array.isArray(item)) {
983
+ if (filter.input === item[item.length - 1]) {
984
+ if (!options[field.fieldId]) {
1139
985
  options[field.fieldId] = []
1140
986
  }
1141
987
  options[field.fieldId] = options[field.fieldId].concat(filter.output)
1142
988
  }
1143
989
  } else {
1144
- if (filter.input === item){
1145
- if (!options[field.fieldId]){
990
+ if (filter.input === item) {
991
+ if (!options[field.fieldId]) {
1146
992
  options[field.fieldId] = []
1147
993
  }
1148
994
  options[field.fieldId] = options[field.fieldId].concat(filter.output)
@@ -1152,8 +998,8 @@ export default {
1152
998
  })
1153
999
  }
1154
1000
  else {
1155
- field.formField.extInfo.selfDependent[k].filterStruct.forEach(filter=>{
1156
- if (this.fieldValue[k] && (filter.input === this.fieldValue[k] || this.fieldValue[k][this.fieldValue[k].length - 1] == filter.input)){
1001
+ field.formField.extInfo.selfDependent[k].filterStruct.forEach(filter => {
1002
+ if (this.fieldValue[k] && (filter.input === this.fieldValue[k] || this.fieldValue[k][this.fieldValue[k].length - 1] == filter.input)) {
1157
1003
  options[field.fieldId] = options[field.fieldId].concat(filter.output);
1158
1004
  }
1159
1005
  })
@@ -1161,15 +1007,15 @@ export default {
1161
1007
  }
1162
1008
  }
1163
1009
  else {
1164
- for (let k in field.formField.extInfo.selfDependent){
1165
- if (!this.fieldValue[k]){
1010
+ for (let k in field.formField.extInfo.selfDependent) {
1011
+ if (!this.fieldValue[k]) {
1166
1012
  options[field.fieldId] = field.formField.extInfo.options
1167
1013
  }
1168
- else if (Array.isArray(this.fieldValue[k])){
1169
- this.fieldValue[k].forEach(item=>{
1170
- field.formField.extInfo.selfDependent[k].filterStruct.forEach(filter=>{
1171
- if (filter.input === item){
1172
- if (!options[field.fieldId]){
1014
+ else if (Array.isArray(this.fieldValue[k])) {
1015
+ this.fieldValue[k].forEach(item => {
1016
+ field.formField.extInfo.selfDependent[k].filterStruct.forEach(filter => {
1017
+ if (filter.input === item) {
1018
+ if (!options[field.fieldId]) {
1173
1019
  options[field.fieldId] = []
1174
1020
  }
1175
1021
  options[field.fieldId] = options[field.fieldId].concat(filter.output)
@@ -1178,8 +1024,8 @@ export default {
1178
1024
  })
1179
1025
  }
1180
1026
  else {
1181
- field.formField.extInfo.selfDependent[k].filterStruct.forEach(filter=>{
1182
- if (filter.input === this.fieldValue[k]){
1027
+ field.formField.extInfo.selfDependent[k].filterStruct.forEach(filter => {
1028
+ if (filter.input === this.fieldValue[k]) {
1183
1029
  options[field.fieldId] = filter.output;
1184
1030
  }
1185
1031
  })
@@ -1188,7 +1034,7 @@ export default {
1188
1034
  }
1189
1035
 
1190
1036
  }
1191
- if (!field.formField.extInfo.dependent || (field.formField.extInfo.dependent && !Object.keys(field.formField.extInfo.dependent).length) || (field.formField.extInfo.selfDependent && !Object.keys(field.formField.extInfo.selfDependent).length)){
1037
+ if (!field.formField.extInfo.dependent || (field.formField.extInfo.dependent && !Object.keys(field.formField.extInfo.dependent).length) || (field.formField.extInfo.selfDependent && !Object.keys(field.formField.extInfo.selfDependent).length)) {
1192
1038
  options[field.fieldId] = field.formField.extInfo.options ? field.formField.extInfo.options : (field.formField.extInfo.option ? field.formField.extInfo.option : [])
1193
1039
  }
1194
1040
  }
@@ -1197,14 +1043,15 @@ export default {
1197
1043
  }
1198
1044
  },
1199
1045
  },
1200
- components:{
1046
+ components: {
1201
1047
  myPopup,
1202
1048
  Tree,
1203
1049
  selectPopup,
1204
- fileListView
1050
+ fileListView,
1051
+ MyEditor
1205
1052
  },
1206
- mounted() {
1207
-
1053
+ mounted () {
1054
+
1208
1055
  // if (this.formList.form.formFieldRelation && this.formList.form.formFieldRelation.length > 0) {
1209
1056
  // this.formList.form.formFieldRelation.forEach(item => {
1210
1057
  // if (item.formField.type === "TIME_PICKER") {
@@ -1220,43 +1067,43 @@ export default {
1220
1067
  // }
1221
1068
  // })
1222
1069
  // }
1223
- if (this.mainId == '8b9bd566e3e64156ab764b19defc9d48' || this.mainId == '0b73521f96e4486aaf6be42932bd7b07'){
1224
- this.ckeditor.editorConfig.toolbar = []
1225
- }
1226
- if (this.mainId == '90df4764122240de939331d372546c28'){
1070
+ // if (this.mainId == '8b9bd566e3e64156ab764b19defc9d48' || this.mainId == '0b73521f96e4486aaf6be42932bd7b07'){
1071
+ // this.ckeditor.editorConfig.toolbar = []
1072
+
1073
+ // }
1074
+ this.$i18n.locale = sessionStorage.getItem("systemLanguage") || 'cn';
1075
+ if (this.mainId == '90df4764122240de939331d372546c28') {
1227
1076
  this.isBaiLi = true;
1228
1077
  }
1229
1078
  this.isMobile()
1230
1079
  /* 取值extInfo值的时候需要注意,extInfo有可能存在null的情况 */
1231
1080
  },
1232
- beforeCreate() {
1081
+ beforeCreate () {
1233
1082
  // 等待dom渲染完毕之后,再去显示 三级联动。
1234
- that=this
1083
+ that = this
1235
1084
  this.$nextTick(function () {
1236
1085
  this.pageShow = true;
1237
1086
  })
1238
1087
  },
1239
- created() {
1240
- if(this.disable)
1241
- {
1242
- this.disableds=true
1243
- } else
1244
- {
1245
- this.disableds=false
1088
+ created () {
1089
+ if (this.disable) {
1090
+ this.disableds = true
1091
+ } else {
1092
+ this.disableds = false
1246
1093
  }
1247
1094
  this.submitValue = this.submit ? '已提交' : "提交"
1248
1095
  },
1249
- beforeMount() {
1096
+ beforeMount () {
1250
1097
  that.defaultClick()
1251
1098
  },
1252
1099
  methods: {
1253
- showSelectText(option, itemValue){
1100
+ showSelectText (option, itemValue) {
1254
1101
  let text = "";
1255
- if(Array.isArray(itemValue)){
1102
+ if (Array.isArray(itemValue)) {
1256
1103
  itemValue.forEach((cell, cellIndex) => {
1257
1104
  option.forEach(item => {
1258
- if(item.value == cell) {
1259
- if(cellIndex !== 0){
1105
+ if (item.value == cell) {
1106
+ if (cellIndex !== 0) {
1260
1107
  text = text + ',' + item.label;
1261
1108
  } else {
1262
1109
  text = item.label;
@@ -1264,91 +1111,91 @@ export default {
1264
1111
  }
1265
1112
  })
1266
1113
  })
1267
-
1114
+
1268
1115
  } else {
1269
1116
  option.forEach(item => {
1270
- if(item.value == itemValue) {
1117
+ if (item.value == itemValue) {
1271
1118
  text = item.label;
1272
1119
  }
1273
1120
  })
1274
1121
  }
1275
1122
  return text;
1276
1123
  },
1277
- listenField(){
1124
+ listenField () {
1278
1125
  clearTimeout(this.listenTimer);
1279
1126
  this.listenTimer = null;
1280
1127
  this.listenTimer = setTimeout(() => {
1281
- this.$emit('listenField',this.formList.formActionId);
1282
- },500)
1128
+ this.$emit('listenField', this.formList.formActionId);
1129
+ }, 500)
1283
1130
  },
1284
- setFileDefault(option){
1285
- if (this.formShow.form.formFieldRelation){
1286
- this.formShow.form.formFieldRelation.forEach(item=>{
1131
+ setFileDefault (option) {
1132
+ if (this.formShow.form.formFieldRelation) {
1133
+ this.formShow.form.formFieldRelation.forEach(item => {
1287
1134
  for (const key in option.setDefaultFieldId) {
1288
- if (item.fieldId === key && item.relationDisplay){
1289
- if (option.setDefaultFieldId[key].fieldValue){
1290
- if (item.fieldId === 'workorder_description'){
1135
+ if (item.fieldId === key && item.relationDisplay) {
1136
+ if (option.setDefaultFieldId[key].fieldValue) {
1137
+ if (item.fieldId === 'workorder_description') {
1291
1138
  this.workOrderDestail.value = option.setDefaultFieldId[key].fieldValue
1292
1139
  } else {
1293
1140
  let val = option.setDefaultFieldId[key].fieldValue
1294
- this.$set(item,'value',val)
1295
- if(option.setDefaultFieldId[key].extInfoFieldValue) {
1296
- this.$set(this.extInfoFieldValue,key,option.setDefaultFieldId[key].extInfoFieldValue)
1141
+ this.$set(item, 'value', val)
1142
+ if (option.setDefaultFieldId[key].extInfoFieldValue) {
1143
+ this.$set(this.extInfoFieldValue, key, option.setDefaultFieldId[key].extInfoFieldValue)
1297
1144
  }
1298
- else if (!option.setDefaultFieldId[key].extInfoFieldValue){
1299
- this.$set(this.extInfoFieldValue,key,val)
1145
+ else if (!option.setDefaultFieldId[key].extInfoFieldValue) {
1146
+ this.$set(this.extInfoFieldValue, key, val)
1300
1147
  }
1301
1148
  }
1302
1149
 
1303
1150
  }
1304
1151
  }
1305
- if (item.fieldId === key && !item.relationDisplay){
1306
- let val = item.formField.type === 'CHECKBOX' ? [] :''
1307
- this.$set(item,'value',val)
1308
- this.$set(this.extInfoFieldValue,key,val)
1152
+ if (item.fieldId === key && !item.relationDisplay) {
1153
+ let val = item.formField.type === 'CHECKBOX' ? [] : ''
1154
+ this.$set(item, 'value', val)
1155
+ this.$set(this.extInfoFieldValue, key, val)
1309
1156
  }
1310
1157
  }
1311
1158
  })
1312
1159
  }
1313
1160
 
1314
1161
  },
1315
- fieldSetting(){
1316
- this.formShow.form.formFieldRelation.forEach(item=>{
1162
+ fieldSetting () {
1163
+ this.formShow.form.formFieldRelation.forEach(item => {
1317
1164
  let itemType = item.relationDisplay
1318
- this.$set(item,'relationDisplay',this.relationSet(item.formField,'dependentFieldId'))
1319
- if (item.relationDisplay && this.fieldValue[item.fieldId] && itemType !== item.relationDisplay){
1320
- item.value = JSON.parse(JSON.stringify(this.fieldValue[item.fieldId]));
1321
- if (item.formField.type === 'CASCADER'){
1322
- this.extInfoFieldValue[item.fieldId] = item.formField.extInfo.fieldValue?item.formField.extInfo.fieldValue:null
1165
+ this.$set(item, 'relationDisplay', this.relationSet(item.formField, 'dependentFieldId'))
1166
+ if (item.relationDisplay && this.fieldValue[item.fieldId] && itemType !== item.relationDisplay) {
1167
+ item.value = JSON.parse(JSON.stringify(this.fieldValue[item.fieldId]));
1168
+ if (item.formField.type === 'CASCADER' && !item.formField.extInfo.WebHookParameter) {
1169
+ this.extInfoFieldValue[item.fieldId] = item.formField.extInfo.fieldValue ? item.formField.extInfo.fieldValue : null
1323
1170
  }
1324
1171
  else {
1325
1172
  this.extInfoFieldValue[item.fieldId] = this.extInfoFieldValue[item.fieldId];
1326
1173
  }
1327
1174
  }
1328
- if (!item.relationDisplay){
1329
- if(item.formField.type === 'CHECKBOX'){
1175
+ if (!item.relationDisplay) {
1176
+ if (item.formField.type === 'CHECKBOX') {
1330
1177
  item.value = []
1331
1178
  }
1332
1179
  else {
1333
1180
  item.value = ""
1334
1181
  }
1335
- this.$set(this.extInfoFieldValue, item.fieldId , [])
1336
- this.$set(this.selectValues, item.fieldId , [])
1182
+ this.$set(this.extInfoFieldValue, item.fieldId, [])
1183
+ this.$set(this.selectValues, item.fieldId, [])
1337
1184
  // this.$set(this.extInfoFieldValue, item.fieldId , [])
1338
1185
  // this.extInfoFieldValue[item.fieldId] = []
1339
1186
  // this.selectValues[item.fieldId] = []
1340
1187
  // this.extInfoFieldValue[item.fieldId] = []
1341
- if (item.formField.extInfo.extInfoFieldValue){
1188
+ if (item.formField.extInfo.extInfoFieldValue) {
1342
1189
  item.formField.extInfo.extInfoFieldValue = ''
1343
- this.$set(item.formField.extInfo, 'extInfoFieldValue' , '')
1190
+ this.$set(item.formField.extInfo, 'extInfoFieldValue', '')
1344
1191
  }
1345
1192
  }
1346
- if(this.fieldValue[item.fieldId] && !this.associatedControlsCopy.includes(item.fieldId) && (item.formField.extInfo.selectType == '单选' || item.formField.type == 'RADIO')) {
1193
+ if (this.fieldValue[item.fieldId] && !this.associatedControlsCopy.includes(item.fieldId) && (item.formField.extInfo.selectType == '单选' || item.formField.type == 'RADIO')) {
1347
1194
  let option = null
1348
- if(item.formField.extInfo.options) {
1349
- option = item.formField.extInfo.options.find(ele => { return ele.value == this.fieldValue[item.fieldId]})
1195
+ if (item.formField.extInfo.options) {
1196
+ option = item.formField.extInfo.options.find(ele => { return ele.value == this.fieldValue[item.fieldId] })
1350
1197
  } else if (item.formField.extInfo.cascadeDown) {
1351
- option = this.serchCascaderOption(item.formField.extInfo.cascadeDown.options,item)
1198
+ option = this.serchCascaderOption(item.formField.extInfo.cascadeDown.options, item)
1352
1199
  /*item.formField.extInfo.cascadeDown.options.forEach(ele => {
1353
1200
  if(this.fieldValue[item.fieldId] && this.fieldValue[item.fieldId].length != 0 && ele.value == this.fieldValue[item.fieldId][this.fieldValue[item.fieldId].length - 1]) {
1354
1201
  option = ele
@@ -1367,47 +1214,47 @@ export default {
1367
1214
  } else {
1368
1215
  option = this.extInfoFieldValue[item.fieldId] && this.extInfoFieldValue[item.fieldId][0]
1369
1216
  }
1370
- console.debug('setFileDefault',option)
1371
- if(option && option.setDefaultFieldId) {
1372
- this.setFileDefault(option,item.formField)
1217
+ console.debug('setFileDefault', option)
1218
+ if (option && option.setDefaultFieldId) {
1219
+ this.setFileDefault(option, item.formField)
1373
1220
  }
1374
1221
  }
1375
1222
  })
1376
1223
  },
1377
1224
  // 查找当前节点下与之值符合的字段
1378
- serchCascaderOption(options, items) {
1225
+ serchCascaderOption (options, items) {
1379
1226
  let opt = null;
1380
1227
  for (let index = 0; index < options.length; index++) {
1381
1228
  const row = options[index];
1382
- if(this.fieldValue[items.fieldId] &&
1383
- this.fieldValue[items.fieldId].length != 0 &&
1384
- row.value == this.fieldValue[items.fieldId][this.fieldValue[items.fieldId].length - 1]
1229
+ if (this.fieldValue[items.fieldId] &&
1230
+ this.fieldValue[items.fieldId].length != 0 &&
1231
+ row.value == this.fieldValue[items.fieldId][this.fieldValue[items.fieldId].length - 1]
1385
1232
  ) {
1386
- console.debug('opt',row,options[index])
1233
+ console.debug('opt', row, options[index])
1387
1234
  opt = row
1388
1235
  }
1389
- if(!opt && row.children) {
1236
+ if (!opt && row.children) {
1390
1237
  opt = this.serchCascaderOption(row.children, items)
1391
1238
  }
1392
1239
  }
1393
1240
  return opt
1394
1241
  },
1395
1242
  // 清除当前节点关联的值
1396
- clearOptionStruct() {
1243
+ clearOptionStruct () {
1397
1244
  // this.fieldValue,this.cascadeDetail.field.id
1398
- console.log(this.detailField,'this.cascadeDetail',this.fieldValue[this.detailField.fieldId]);
1245
+ console.log(this.detailField, 'this.cascadeDetail', this.fieldValue[this.detailField.fieldId]);
1399
1246
  let options = [];
1400
- if (this.detailField.formField.extInfo.cascadeDown && this.detailField.formField.extInfo.cascadeDown.options){
1247
+ if (this.detailField.formField.extInfo.cascadeDown && this.detailField.formField.extInfo.cascadeDown.options) {
1401
1248
  options = this.detailField.formField.extInfo.cascadeDown.options
1402
- } else if (this.detailField.formField.extInfo.cascade){
1249
+ } else if (this.detailField.formField.extInfo.cascade) {
1403
1250
  options = this.detailField.formField.extInfo.cascade
1404
- } else if (this.detailField.formField.extInfo.cascadeDown && this.detailField.formField.extInfo.cascadeDown[0]){
1251
+ } else if (this.detailField.formField.extInfo.cascadeDown && this.detailField.formField.extInfo.cascadeDown[0]) {
1405
1252
  options = this.detailField.formField.extInfo.cascadeDown[0].options
1406
1253
  }
1407
1254
  let clear = (options, parent) => {
1408
1255
  for (let index = 0; index < options.length; index++) {
1409
1256
  const opt = options[index];
1410
- if (this.fieldValue[this.detailField.fieldId]){
1257
+ if (this.fieldValue[this.detailField.fieldId]) {
1411
1258
  for (let i = 0; i < this.fieldValue[this.detailField.fieldId].length; i++) {
1412
1259
  const value = this.fieldValue[this.detailField.fieldId][i];
1413
1260
  if (Array.isArray(value)) {
@@ -1435,31 +1282,31 @@ export default {
1435
1282
  }
1436
1283
  }
1437
1284
  }
1438
- if(opt.children && opt.children.length != 0) {
1285
+ if (opt.children && opt.children.length != 0) {
1439
1286
  clear(opt.children)
1440
1287
  }
1441
1288
  }
1442
1289
  }
1443
1290
  clear(options)
1444
1291
  },
1445
- changeSelect(field){
1446
- if ( field.formField.extInfo.selectType !== '多选'){
1447
- let arr = field.formField.extInfo.relationControlsId ? JSON.parse(JSON.stringify(field.formField.extInfo.relationControlsId)) : []
1292
+ changeSelect (field) {
1293
+ if (field.formField.extInfo.selectType !== '多选') {
1294
+ let arr = field.formField.extInfo.relationControlsId ? JSON.parse(JSON.stringify(field.formField.extInfo.relationControlsId)) : []
1448
1295
  this.associatedControlsCopy = [...this.associatedControlsCopy, ...arr];
1449
1296
  }
1450
1297
  this.$forceUpdate();
1451
- this.$set(this.fieldValue,field.fieldId,field.value);
1452
- this.formShow.form.formFieldRelation.forEach(item=>{
1298
+ this.$set(this.fieldValue, field.fieldId, field.value);
1299
+ this.formShow.form.formFieldRelation.forEach(item => {
1453
1300
  if (item.formField.type === 'CASCADER' ||
1454
- item.formField.type === 'SELECT' ||
1455
- item.formField.type === 'RADIO' ||
1456
- item.formField.type === 'CHECKBOX'){
1457
- if (item.formField.extInfo && item.formField.extInfo.dependent){
1458
- for (let k in item.formField.extInfo.dependent){
1459
- if (k === field.fieldId && field.value !== item.formField.extInfo.dependent[k].input){
1301
+ item.formField.type === 'SELECT' ||
1302
+ item.formField.type === 'RADIO' ||
1303
+ item.formField.type === 'CHECKBOX') {
1304
+ if (item.formField.extInfo && item.formField.extInfo.dependent) {
1305
+ for (let k in item.formField.extInfo.dependent) {
1306
+ if (k === field.fieldId && field.value !== item.formField.extInfo.dependent[k].input) {
1460
1307
  item.value = item.formField.type === 'CHECKBOX' || item.formField.type === 'CASCADER' ? [] : "";
1461
- if (this.extInfoFieldValue[item.fieldId]){
1462
- this.$set(this.extInfoFieldValue,item.fieldId,[])
1308
+ if (this.extInfoFieldValue[item.fieldId]) {
1309
+ this.$set(this.extInfoFieldValue, item.fieldId, [])
1463
1310
  }
1464
1311
  }
1465
1312
  }
@@ -1467,91 +1314,91 @@ export default {
1467
1314
  }
1468
1315
  })
1469
1316
  },
1470
- selectOptions(field){
1317
+ selectOptions (field) {
1471
1318
  let options = []
1472
- if (!field.extInfo){
1319
+ if (!field.extInfo) {
1473
1320
  return []
1474
1321
  }
1475
- if (field.extInfo.option){
1322
+ if (field.extInfo.option) {
1476
1323
  options = field.extInfo.option
1477
1324
  }
1478
- else if (field.extInfo.options){
1325
+ else if (field.extInfo.options) {
1479
1326
  options = field.extInfo.options
1480
1327
  }
1481
1328
  return options
1482
1329
  },
1483
- getMoldTime(){
1330
+ getMoldTime () {
1484
1331
  let otherTime = {}
1485
- this.formList.form && this.formList.form.formFieldRelation.forEach(item=>{
1486
- if ((item.formField.type==='TIME_PICKER' || item.formField.type==='TIME_PICKER_RANGE') && item.formField.extInfo.mold==='OTHER'){
1332
+ this.formList.form && this.formList.form.formFieldRelation.forEach(item => {
1333
+ if ((item.formField.type === 'TIME_PICKER' || item.formField.type === 'TIME_PICKER_RANGE') && item.formField.extInfo.mold === 'OTHER') {
1487
1334
  let pattern = item.formField.extInfo.pattern
1488
- let yearVal = pattern.indexOf('YEAR')!==-1
1489
- let monthVal = pattern.indexOf('MONTH')!==-1
1490
- let dayVal = pattern.indexOf('DAY')!==-1
1491
- let hourVal = pattern.indexOf('HOUR')!==-1
1492
- let minuteVal = pattern.indexOf('MINUTE')!==-1
1493
- let secondVal = pattern.indexOf('SECOND')!==-1
1494
- if ((yearVal||monthVal||dayVal)&&(!hourVal&&!minuteVal&&!secondVal)){
1495
- otherTime[item.fieldId]='DATE'
1335
+ let yearVal = pattern.indexOf('YEAR') !== -1
1336
+ let monthVal = pattern.indexOf('MONTH') !== -1
1337
+ let dayVal = pattern.indexOf('DAY') !== -1
1338
+ let hourVal = pattern.indexOf('HOUR') !== -1
1339
+ let minuteVal = pattern.indexOf('MINUTE') !== -1
1340
+ let secondVal = pattern.indexOf('SECOND') !== -1
1341
+ if ((yearVal || monthVal || dayVal) && (!hourVal && !minuteVal && !secondVal)) {
1342
+ otherTime[item.fieldId] = 'DATE'
1496
1343
  }
1497
- else if ((yearVal||monthVal||dayVal)&&(hourVal||minuteVal||secondVal)){
1498
- otherTime[item.fieldId]='DATE_TIME'
1344
+ else if ((yearVal || monthVal || dayVal) && (hourVal || minuteVal || secondVal)) {
1345
+ otherTime[item.fieldId] = 'DATE_TIME'
1499
1346
  }
1500
- else if ((hourVal||minuteVal||secondVal)&&(!yearVal&&!monthVal&&!dayVal)){
1501
- otherTime[item.fieldId]='TIME'
1347
+ else if ((hourVal || minuteVal || secondVal) && (!yearVal && !monthVal && !dayVal)) {
1348
+ otherTime[item.fieldId] = 'TIME'
1502
1349
  }
1503
1350
  }
1504
1351
  })
1505
1352
  return otherTime
1506
1353
  },
1507
- setOptions(extInfo){
1354
+ setOptions (extInfo) {
1508
1355
  let options = []
1509
- console.debug('cascadeDown',extInfo)
1510
- if (extInfo.cascadeDown && extInfo.cascadeDown.options){
1356
+ console.debug('cascadeDown', extInfo)
1357
+ if (extInfo.cascadeDown && extInfo.cascadeDown.options) {
1511
1358
  options = extInfo.cascadeDown.options
1512
1359
  return options
1513
- } else if (extInfo.cascade){
1360
+ } else if (extInfo.cascade) {
1514
1361
  options = extInfo.cascade
1515
- } else if (extInfo.cascadeDown && extInfo.cascadeDown[0]){
1362
+ } else if (extInfo.cascadeDown && extInfo.cascadeDown[0]) {
1516
1363
  options = extInfo.cascadeDown[0].options
1517
1364
  }
1518
- return options
1365
+ return options
1519
1366
  },
1520
- onReady(){
1367
+ onReady () {
1521
1368
 
1522
1369
 
1523
1370
  },
1524
- beforeRead(file,type){
1525
- console.debug('file',file)
1526
- console.debug('fileType',!Array.isArray(file))
1527
- if (!Array.isArray(file)){
1528
- if (type === 'IMAGE' || type === 'FILE'){
1371
+ beforeRead (file, type) {
1372
+ console.debug('file', file)
1373
+ console.debug('fileType', !Array.isArray(file))
1374
+ if (!Array.isArray(file)) {
1375
+ if (type === 'IMAGE' || type === 'FILE') {
1529
1376
  const isLte2M = file.size / 1024 / 1024 <= 8;
1530
- const isSupportedFormat = file.type.indexOf('image')!==-1
1531
- if (!isSupportedFormat){
1377
+ const isSupportedFormat = file.type.indexOf('image') !== -1
1378
+ if (!isSupportedFormat) {
1532
1379
  this.$message.error("只能上传图片格式");
1533
1380
  return false
1534
1381
  }
1535
- if (!isLte2M&&isSupportedFormat) {
1382
+ if (!isLte2M && isSupportedFormat) {
1536
1383
  this.$message.error("上传图片大小不能超过 8MB!");
1537
1384
  return false
1538
1385
  }
1539
1386
  return true
1540
1387
  }
1541
- else if (type === 'VIDEO'){
1388
+ else if (type === 'VIDEO') {
1542
1389
  const isLte2M = file.size / 1024 / 1024 <= 100;
1543
- const isSupportedFormat =file.type.indexOf('video')!==-1
1544
- if (!isSupportedFormat){
1390
+ const isSupportedFormat = file.type.indexOf('video') !== -1
1391
+ if (!isSupportedFormat) {
1545
1392
  this.$message.error("只能上传视频格式");
1546
1393
  return false
1547
1394
  }
1548
- if (!isLte2M&&isSupportedFormat) {
1395
+ if (!isLte2M && isSupportedFormat) {
1549
1396
  this.$message.error("上传视频大小不能超过100MB!");
1550
1397
  return false
1551
1398
  }
1552
1399
  return true
1553
1400
  }
1554
- else if (type === 'ATTACHMENT'){
1401
+ else if (type === 'ATTACHMENT') {
1555
1402
  const isLte2M = file.size / 1024 / 1024 <= 100;
1556
1403
  if (!isLte2M) {
1557
1404
  this.$message.error("上传附件大小不能超过100MB!");
@@ -1560,40 +1407,40 @@ export default {
1560
1407
  return true
1561
1408
  }
1562
1409
  }
1563
- else{
1410
+ else {
1564
1411
  let length = 0
1565
- if (this.extInfoFieldValue[this.filedId]){
1412
+ if (this.extInfoFieldValue[this.filedId]) {
1566
1413
  length = this.extInfoFieldValue[this.filedId].length
1567
1414
  }
1568
- if (file.length<=this.limitNum-length){
1569
- for (let i=0;i<file.length;i++){
1570
- if (type === 'IMAGE' || type === 'FILE'){
1415
+ if (file.length <= this.limitNum - length) {
1416
+ for (let i = 0; i < file.length; i++) {
1417
+ if (type === 'IMAGE' || type === 'FILE') {
1571
1418
  const isLte2M = file[i].size / 1024 / 1024 <= 8;
1572
- const isSupportedFormat =file[i].type.indexOf('image')!==-1
1573
- if (!isSupportedFormat){
1419
+ const isSupportedFormat = file[i].type.indexOf('image') !== -1
1420
+ if (!isSupportedFormat) {
1574
1421
  this.$message.error("只能上传图片格式");
1575
1422
  return false
1576
1423
  }
1577
- if (!isLte2M&&isSupportedFormat) {
1424
+ if (!isLte2M && isSupportedFormat) {
1578
1425
  this.$message.error("上传图片大小不能超过 8MB!");
1579
1426
  return false
1580
1427
  }
1581
1428
  return true
1582
1429
  }
1583
- else if (type === 'VIDEO'){
1430
+ else if (type === 'VIDEO') {
1584
1431
  const isLte2M = file[i].size / 1024 / 1024 <= 100;
1585
- const isSupportedFormat =file[i].type.indexOf('video')!==-1
1586
- if (!isSupportedFormat){
1432
+ const isSupportedFormat = file[i].type.indexOf('video') !== -1
1433
+ if (!isSupportedFormat) {
1587
1434
  this.$message.error("只能上传视频格式");
1588
1435
  return false
1589
1436
  }
1590
- if (!isLte2M&&isSupportedFormat) {
1437
+ if (!isLte2M && isSupportedFormat) {
1591
1438
  this.$message.error("上传视频大小不能超过100MB!");
1592
1439
  return false
1593
1440
  }
1594
1441
  return true
1595
1442
  }
1596
- else if (type === 'ATTACHMENT'){
1443
+ else if (type === 'ATTACHMENT') {
1597
1444
  const isLte2M = file[i].size / 1024 / 1024 <= 100;
1598
1445
  if (!isLte2M) {
1599
1446
  this.$message.error("上传附件大小不能超过100MB!");
@@ -1605,10 +1452,10 @@ export default {
1605
1452
  }
1606
1453
  else {
1607
1454
  let num = 1
1608
- if (this.limitNum){
1455
+ if (this.limitNum) {
1609
1456
  num = this.limitNum
1610
1457
  }
1611
- let messageText = '仅支持上传'+num+'个'
1458
+ let messageText = '仅支持上传' + num + '个'
1612
1459
  this.$message.error(messageText);
1613
1460
  return false
1614
1461
  }
@@ -1617,66 +1464,62 @@ export default {
1617
1464
 
1618
1465
  },
1619
1466
  //文件上传至服务器
1620
- afterRead(file){
1621
- this.fileUpload=true
1467
+ afterRead (file) {
1468
+ this.fileUpload = true
1622
1469
  console.debug(file)
1623
1470
  console.debug(!Array.isArray(file))
1624
- if (!Array.isArray(file)){
1625
- this.uploadImgFun(file.content,file.file.name,file,file.file);
1471
+ if (!Array.isArray(file)) {
1472
+ this.uploadImgFun(file.content, file.file.name, file, file.file);
1626
1473
  }
1627
1474
  else {
1628
1475
  let num = 1
1629
- if (this.limitNum){
1476
+ if (this.limitNum) {
1630
1477
  num = this.limitNum
1631
1478
  }
1632
- if (file.length >num){
1633
- this.$message.warning('仅支持上传'+num+'张图片')
1479
+ if (file.length > num) {
1480
+ this.$message.warning('仅支持上传' + num + '张图片')
1634
1481
  return false
1635
1482
  }
1636
1483
  else {
1637
- for (let i = 0; i < file.length; i++){
1638
- this.uploadImgFun(file[i].content,file[i].file.name,file[i],file[i].file);
1484
+ for (let i = 0; i < file.length; i++) {
1485
+ this.uploadImgFun(file[i].content, file[i].file.name, file[i], file[i].file);
1639
1486
  }
1640
1487
  }
1641
1488
  }
1642
1489
  },
1643
- uploadImgFun(content,name,fileCon,file){
1490
+ uploadImgFun (content, name, fileCon, file) {
1644
1491
  console.log(fileCon)
1645
1492
  let imageData = {
1646
- urls:[]
1493
+ urls: []
1647
1494
  }
1648
1495
  let imageInfo = {
1649
- name:"",
1650
- status:'',
1651
- url:''
1652
- }
1653
- // let res = multipartUpload(
1654
- // this.ossConfig,
1655
- // file,
1656
- // null,
1657
- // imageInfo
1658
- // );
1659
- let resp = putObject(file);
1660
- resp.then((res) => {
1496
+ name: "",
1497
+ status: '',
1498
+ url: ''
1499
+ }
1500
+ let res = multipartUpload(
1501
+ file,
1502
+ null,
1503
+ imageInfo
1504
+ );
1505
+ res.then((res) => {
1661
1506
  console.log("upload result:", res);
1662
1507
  // let filePath = res.name;
1663
- let obj = {
1664
- name:file.name,
1665
- url:res.url,
1666
- status:'success'
1667
- }
1668
- imageData.urls.push(obj)
1669
- // imageInfo.url = ossFileUrl(this.ossConfig, res.name)
1670
- imageInfo.url = res.url;
1671
- imageInfo.status='success'
1672
- imageInfo.name=file.name
1673
- for (let j=0;j<this.extInfoFieldValue[this.filedId].length;j++){
1674
- if (this.extInfoFieldValue[this.filedId][j].content && this.extInfoFieldValue[this.filedId][j].content === content){
1675
- this.$set(this.extInfoFieldValue[this.filedId],j,imageInfo)
1508
+ imageData.urls.push({
1509
+ name: file.name,
1510
+ url: ossFileUrl(res.name),
1511
+ status: 'success'
1512
+ })
1513
+ imageInfo.url = ossFileUrl(res.name)
1514
+ imageInfo.status = 'success'
1515
+ imageInfo.name = file.name
1516
+ for (let j = 0; j < this.extInfoFieldValue[this.filedId].length; j++) {
1517
+ if (this.extInfoFieldValue[this.filedId][j].content && this.extInfoFieldValue[this.filedId][j].content === content) {
1518
+ this.$set(this.extInfoFieldValue[this.filedId], j, imageInfo)
1676
1519
  delete this.extInfoFieldValue[this.filedId][j].content
1677
1520
  }
1678
1521
  }
1679
- this.fileUpload=false
1522
+ this.fileUpload = false
1680
1523
  }).catch((err) => {
1681
1524
  console.debug("upload err", err);
1682
1525
  });
@@ -1695,62 +1538,29 @@ export default {
1695
1538
  return new File([u8arr], filename, { type: mime });
1696
1539
  },
1697
1540
  //初始化默认值
1698
- defaultClick() {
1541
+ defaultClick () {
1699
1542
  let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
1700
- for (let i = 0; i < this.formList.form.formFieldRelation.length; i++){
1543
+ for (let i = 0; i < this.formList.form.formFieldRelation.length; i++) {
1701
1544
  let type = this.formList.form.formFieldRelation[i].formField.type
1702
1545
  let extInfo = this.formList.form.formFieldRelation[i].formField.extInfo
1703
- if(type ==='SELECT' || type === 'CHECKBOX' || type === 'RADIO' || type === 'OPTION') {
1704
- if(extInfo && !extInfo.option){
1705
- if(extInfo.exinfo){
1706
- for (let j=0; j < extInfo.exinfo.length; j++){
1707
- this.$set(extInfo.exinfo[j],'label',extInfo.exinfo[j].value)
1708
- }
1709
- this.$set(extInfo,'option',extInfo.exinfo)
1710
- }
1711
- if (extInfo.option){
1712
- if (type === 'RADIO') {
1713
- for (let j = 0; j < extInfo.option.length; j++) {
1714
- if(!extInfo.option[j].value) {
1715
- extInfo.option[j].value=extInfo.option[j].label
1716
- }
1717
- }
1718
- if(!this.formList.form.formFieldRelation[i].value){
1719
- for (let j = 0; j < extInfo.option.length; j++) {
1720
- if (extInfo.option[j]._default === 'true') {
1721
- this.formList.form.formFieldRelation[i].value = extInfo.option[j].value
1722
- }
1723
- }
1724
- }
1725
- }
1726
- if (type === 'CHECKBOX') {
1727
- for (let j = 0; j < extInfo.option.length; j++) {
1728
- if (!extInfo.option[j].value) {
1729
- extInfo.option[j].value = extInfo.option[j].label
1730
- }
1731
- }
1732
- if (!this.formList.form.formFieldRelation[i].value || this.formList.form.formFieldRelation[i].value.length === 0){
1733
- this.formList.form.formFieldRelation[i].value = []
1734
- for (let j = 0; j < extInfo.option.length; j++) {
1735
- if (extInfo.option[j]._default === 'true') {
1736
- this.formList.form.formFieldRelation[i].value[0] = extInfo.option[j].value
1737
- }
1738
- }
1739
- }
1546
+ if (type === 'SELECT' || type === 'CHECKBOX' || type === 'RADIO' || type === 'OPTION') {
1547
+ if (extInfo && !extInfo.option) {
1548
+ if (extInfo.exinfo) {
1549
+ for (let j = 0; j < extInfo.exinfo.length; j++) {
1550
+ this.$set(extInfo.exinfo[j], 'label', extInfo.exinfo[j].value)
1740
1551
  }
1552
+ this.$set(extInfo, 'option', extInfo.exinfo)
1741
1553
  }
1742
1554
  }
1743
1555
  else {
1744
1556
  if (extInfo && extInfo.options) {
1745
1557
  if (type === 'RADIO') {
1746
1558
  for (let j = 0; j < extInfo.options.length; j++) {
1747
- if(!extInfo.options[j].value)
1748
- {
1749
- extInfo.options[j].value=extInfo.options[j].label
1559
+ if (!extInfo.options[j].value) {
1560
+ extInfo.options[j].value = extInfo.options[j].label
1750
1561
  }
1751
1562
  }
1752
- if(!this.formList.form.formFieldRelation[i].value)
1753
- {
1563
+ if (!this.formList.form.formFieldRelation[i].value) {
1754
1564
  for (let j = 0; j < extInfo.option.length; j++) {
1755
1565
  if (extInfo.options[j]._default === 'true') {
1756
1566
  this.formList.form.formFieldRelation[i].value = extInfo.options[j].value
@@ -1765,9 +1575,8 @@ export default {
1765
1575
  }
1766
1576
  }
1767
1577
 
1768
- if (!this.formList.form.formFieldRelation[i].value ||this.formList.form.formFieldRelation[i].value.length === 0)
1769
- {
1770
- this.formList.form.formFieldRelation[i].value=[]
1578
+ if (!this.formList.form.formFieldRelation[i].value || this.formList.form.formFieldRelation[i].value.length === 0) {
1579
+ this.formList.form.formFieldRelation[i].value = []
1771
1580
  for (let j = 0; j < extInfo.options.length; j++) {
1772
1581
  if (extInfo.options[j]._default === 'true') {
1773
1582
  this.formList.form.formFieldRelation[i].value[0] = extInfo.options[j].value
@@ -1778,55 +1587,55 @@ export default {
1778
1587
  }
1779
1588
  }
1780
1589
  let options = [];
1781
- if (extInfo){
1782
- options = extInfo.option?extInfo.option:extInfo.options;
1783
- options.forEach(opt=>{
1784
- if (!opt.value){
1590
+ if (extInfo) {
1591
+ options = extInfo.option ? extInfo.option : extInfo.options;
1592
+ options.forEach(opt => {
1593
+ if (!opt.value) {
1785
1594
  opt.value = opt.label
1786
1595
  }
1787
1596
  })
1788
1597
  }
1789
1598
  }
1790
- if (type ==='FILE' || type == 'ATTACHMENT' || type == 'IMAGE' || type == 'VIDEO'){
1791
- if (this.formList.form.formFieldRelation[i].value){
1792
- if (this.formList.form.formFieldRelation[i].value===null||this.formList.form.formFieldRelation[i].value===''){
1793
- this.formList.form.formFieldRelation[i].value=[]
1599
+ if (type === 'FILE' || type == 'ATTACHMENT' || type == 'IMAGE' || type == 'VIDEO') {
1600
+ if (this.formList.form.formFieldRelation[i].value) {
1601
+ if (this.formList.form.formFieldRelation[i].value === null || this.formList.form.formFieldRelation[i].value === '') {
1602
+ this.formList.form.formFieldRelation[i].value = []
1794
1603
  }
1795
1604
  else {
1796
- let valueList=[]
1797
- let bool=false
1605
+ let valueList = []
1606
+ let bool = false
1798
1607
 
1799
- if (!Array.isArray(this.formList.form.formFieldRelation[i].value)){
1608
+ if (!Array.isArray(this.formList.form.formFieldRelation[i].value)) {
1800
1609
  let obj = {
1801
- url:this.formList.form.formFieldRelation[i].value
1610
+ url: this.formList.form.formFieldRelation[i].value
1802
1611
  }
1803
1612
  this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = [obj]
1804
1613
  }
1805
- else if(this.formList.form.formFieldRelation[i].value.length > 0) {
1806
- for (let file=0;file<this.formList.form.formFieldRelation[i].value.length;file++) {
1807
- let type = typeof (this.formList.form.formFieldRelation[i].value[file])
1808
- if (type === "string") {
1809
- bool = true
1810
- valueList[file] = {}
1811
- valueList[file].url = this.formList.form.formFieldRelation[i].value[file]
1812
- }
1813
- if (type === 'object'&&JSON.stringify(this.formList.form.formFieldRelation[i].value[file])!=='{}') {
1814
- this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId]=this.formList.form.formFieldRelation[i].value
1815
- }
1816
- else {
1817
- this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId]=[]
1818
- }
1614
+ else if (this.formList.form.formFieldRelation[i].value.length > 0) {
1615
+ for (let file = 0; file < this.formList.form.formFieldRelation[i].value.length; file++) {
1616
+ let type = typeof (this.formList.form.formFieldRelation[i].value[file])
1617
+ if (type === "string") {
1618
+ bool = true
1619
+ valueList[file] = {}
1620
+ valueList[file].url = this.formList.form.formFieldRelation[i].value[file]
1819
1621
  }
1820
- if (bool){
1821
- this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId]=valueList
1622
+ if (type === 'object' && JSON.stringify(this.formList.form.formFieldRelation[i].value[file]) !== '{}') {
1623
+ this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = this.formList.form.formFieldRelation[i].value
1822
1624
  }
1625
+ else {
1626
+ this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = []
1627
+ }
1628
+ }
1629
+ if (bool) {
1630
+ this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = valueList
1631
+ }
1823
1632
  }
1824
1633
  }
1825
1634
  }
1826
1635
  }
1827
- if (type === 'REF' || type === 'REF_TEMPLATE'){
1828
- if (this.formList.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue){
1829
- let name = this.formList.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue.map(item=>{
1636
+ if (type === 'REF' || type === 'REF_TEMPLATE') {
1637
+ if (this.formList.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue) {
1638
+ let name = this.formList.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue.map(item => {
1830
1639
  return item.name
1831
1640
  })
1832
1641
  this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = name
@@ -1834,8 +1643,8 @@ export default {
1834
1643
  }
1835
1644
  /*如何工单描述中只有一个链接地址,则将链接地址替换成图片*/
1836
1645
  if (this.formList.form.formFieldRelation[i].fieldId === 'workorder_description' &&
1837
- this.formList.form.formFieldRelation[i].value.search(/<img /i) < 0 &&
1838
- this.formList.form.formFieldRelation[i].value.indexOf('https://guoranopen-zjk')!==-1){
1646
+ this.formList.form.formFieldRelation[i].value.search(/<img /i) < 0 &&
1647
+ this.formList.form.formFieldRelation[i].value.indexOf('https://guoranopen-zjk') !== -1) {
1839
1648
  let value = this.formList.form.formFieldRelation[i].value
1840
1649
  this.formList.form.formFieldRelation[i].value = ""
1841
1650
  let blob = null
@@ -1847,9 +1656,9 @@ export default {
1847
1656
  xhr.onload = (res) => {
1848
1657
  // 获取返回结果
1849
1658
  blob = xhr.response
1850
- file = new File([blob],'图片')
1659
+ file = new File([blob], '图片')
1851
1660
  let obj = {
1852
- file:[file]
1661
+ file: [file]
1853
1662
  }
1854
1663
  this.currentEditor.commands.get("imageUpload").execute(obj)
1855
1664
  }
@@ -1860,30 +1669,35 @@ export default {
1860
1669
  let type = this.formList.form.formFieldRelation[i].formField.type
1861
1670
  let extInfo = this.formList.form.formFieldRelation[i].formField.extInfo
1862
1671
  if (type === 'CASCADER') {
1863
- let fieldValue = this.formList.form.formFieldRelation[i].formField.extInfo.fieldValue ?
1864
- this.formList.form.formFieldRelation[i].formField.extInfo.fieldValue :[]
1865
- if (!this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId]){
1866
- this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = fieldValue
1867
- }
1672
+ // let fieldValue = this.formList.form.formFieldRelation[i].formField.extInfo.fieldValue ?
1673
+ // this.formList.form.formFieldRelation[i].formField.extInfo.fieldValue : []
1674
+ // if (!this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId]) {
1675
+ // this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = fieldValue
1676
+ // console.log(this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId], 'this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId]');
1677
+ // }
1678
+ let cascadeOptions = extInfo.WebHookParameter ? extInfo.cascade : extInfo.cascadeDown.options
1679
+ this.$set(this.extInfoFieldValue, this.formList.form.formFieldRelation[i].fieldId, [])
1680
+ this.loopCascaderSetDefalut(cascadeOptions, this.formList.form.formFieldRelation[i], extInfo.selectType)
1681
+ this.loopCascaderSetValue(cascadeOptions, this.formList.form.formFieldRelation[i], extInfo.selectType)
1682
+
1868
1683
  }
1869
1684
  if (type === 'DATE_PICKER') {
1870
- if(this.formList.form.formFieldRelation[i].value && this.formList.form.formFieldRelation[i].value!==null && this.formList.form.formFieldRelation[i].value!=='' ) {
1871
- this.dateValue[this.formList.form.formFieldRelation[i].fieldId]=this.formatDate(this.formList.form.formFieldRelation[i].value)
1685
+ if (this.formList.form.formFieldRelation[i].value && this.formList.form.formFieldRelation[i].value !== null && this.formList.form.formFieldRelation[i].value !== '') {
1686
+ this.dateValue[this.formList.form.formFieldRelation[i].fieldId] = this.formatDate(this.formList.form.formFieldRelation[i].value)
1872
1687
  }
1873
1688
  }
1874
1689
  if (type === 'TIME_PICKER') {
1875
- if(this.formList.form.formFieldRelation[i].value && this.formList.form.formFieldRelation[i].value!==''&& this.formList.form.formFieldRelation[i].value!==null)
1876
- {
1690
+ if (this.formList.form.formFieldRelation[i].value && this.formList.form.formFieldRelation[i].value !== '' && this.formList.form.formFieldRelation[i].value !== null) {
1877
1691
  // 判断是否是时间戳 时间戳为字符串转换为Number
1878
1692
  var regex = /^\d{13}$/;
1879
- if (regex.test(this.formList.form.formFieldRelation[i].value)){
1693
+ if (regex.test(this.formList.form.formFieldRelation[i].value)) {
1880
1694
  this.formList.form.formFieldRelation[i].value = Number(this.formList.form.formFieldRelation[i].value)
1881
1695
  }
1882
1696
  const dateTime = new Date(this.formList.form.formFieldRelation[i].value);
1883
1697
  if (!this.formList.form.formFieldRelation[i].formField.extInfo.mold ||
1884
- this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'TIME' ||
1885
- this.getMoldTime(this.formList.form.formFieldRelation[i].formField.formField) == 'TIME'){
1886
- if (!flag){
1698
+ this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'TIME' ||
1699
+ this.getMoldTime(this.formList.form.formFieldRelation[i].formField.formField) == 'TIME') {
1700
+ if (!flag) {
1887
1701
  if (this.formList.form.formFieldRelation[i].value.length === 5 && this.formList.form.formFieldRelation[i].value.split(":").length === 2) {
1888
1702
  this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = this.formList.form.formFieldRelation[i].value;
1889
1703
  this.formList.form.formFieldRelation[i].value = new Date().getFullYear() + "-" + (new Date().getMonth() + 1) + "-" + new Date().getDate() + " " + this.formList.form.formFieldRelation[i].value + ":00";
@@ -1892,14 +1706,14 @@ export default {
1892
1706
  this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = this.formList.form.formFieldRelation[i].value;
1893
1707
  this.formList.form.formFieldRelation[i].value = new Date().getFullYear() + "-" + (new Date().getMonth() + 1) + "-" + new Date().getDate() + " " + this.formList.form.formFieldRelation[i].value;
1894
1708
  } else {
1895
- if (regex.test(this.formList.form.formFieldRelation[i].value)){
1709
+ if (regex.test(this.formList.form.formFieldRelation[i].value)) {
1896
1710
  this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = dateTime
1897
1711
  } else {
1898
1712
  this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = this.formList.form.formFieldRelation[i].value
1899
1713
  }
1900
1714
  }
1901
1715
  } else {
1902
- if (regex.test(this.formList.form.formFieldRelation[i].value)){
1716
+ if (regex.test(this.formList.form.formFieldRelation[i].value)) {
1903
1717
  this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = dateTime.Format('hh:mm')
1904
1718
  } else {
1905
1719
  this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = this.formList.form.formFieldRelation[i].value
@@ -1907,25 +1721,25 @@ export default {
1907
1721
  }
1908
1722
  }
1909
1723
  else if (this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'DATA_TIME' ||
1910
- this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'DATE_TIME' ||
1911
- this.getMoldTime(this.formList.form.formFieldRelation[i].formField.formField) == 'DATE_TIME'){
1724
+ this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'DATE_TIME' ||
1725
+ this.getMoldTime(this.formList.form.formFieldRelation[i].formField.formField) == 'DATE_TIME') {
1912
1726
  this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = dateTime.Format('yyyy-MM-dd hh:mm')
1913
1727
  }
1914
1728
  else if (this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'DATA' ||
1915
- this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'DATE' ||
1916
- this.getMoldTime(this.formList.form.formFieldRelation[i].formField.formField) == 'DATE'){
1729
+ this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'DATE' ||
1730
+ this.getMoldTime(this.formList.form.formFieldRelation[i].formField.formField) == 'DATE') {
1917
1731
  this.extInfoFieldValue[this.formList.form.formFieldRelation[i].fieldId] = dateTime.Format('yyyy-MM-dd')
1918
1732
  }
1919
1733
  }
1920
1734
  }
1921
1735
  if (type === 'SELECT' || type === 'OPTION') {
1922
- if (extInfo && extInfo.option){
1736
+ if (extInfo && extInfo.option) {
1923
1737
  for (let j = 0; j < extInfo.option.length; j++) {
1924
1738
  if (extInfo.option[j].value === '') {
1925
1739
  extInfo.option[j].value = extInfo.option[j].label
1926
1740
  }
1927
1741
  }
1928
- if(this.formList.form.formFieldRelation[i].value) {
1742
+ if (this.formList.form.formFieldRelation[i].value) {
1929
1743
  for (let j = 0; j < extInfo.option.length; j++) {
1930
1744
  if (this.formList.form.formFieldRelation[i].value === extInfo.option[j].value) {
1931
1745
  this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = extInfo.option[j].label
@@ -1933,51 +1747,76 @@ export default {
1933
1747
  }
1934
1748
  } else {
1935
1749
  for (let j = 0; j < extInfo.option.length; j++) {
1936
- if (extInfo.option[j]._default === 'true') {
1937
- this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = extInfo.option[j].label
1938
- this.formList.form.formFieldRelation[i].value=extInfo.option[j].value
1939
- }
1940
- }
1941
- }
1942
- } else {
1943
- if(extInfo && extInfo.option) {
1944
- for (let j = 0; j < extInfo.options.length; j++) {
1945
- if (extInfo.options[j].value === '') {
1946
- extInfo.options[j].value = extInfo.options[j].label
1947
- }
1948
- }
1949
- }
1950
- if(this.formList.form.formFieldRelation[i].value && extInfo && extInfo.option) {
1951
- for (let j=0;j<extInfo.options.length;j++) {
1952
- if (this.formList.form.formFieldRelation[i].value === extInfo.options[j].value) {
1953
- this.selectValues[this.formList.form.formFieldRelation[i].fieldId] =extInfo.options[j].label
1954
- }
1955
- }
1956
- } else {
1957
- if(extInfo && extInfo.option) {
1958
- for (let j = 0; j < extInfo.options.length; j++) {
1959
- if (extInfo.options[j]._default === 'true') {
1960
- this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = extInfo.options[j].label
1961
- this.formList.form.formFieldRelation[i].value=extInfo.options[j].value
1750
+ if (extInfo.option[j]._default === 'true' || extInfo.option[j].checked) {
1751
+ // 新老数据兼容,webhook 表单字段部分,旧数据中没有定义单选多选,如果设置了默认值,并且 selectType 不是多选 都记为单选
1752
+ if(extInfo.selectType == '多选') {
1753
+ if(!this.selectValues[this.formList.form.formFieldRelation[i].fieldId]) {
1754
+ this.$set(this.selectValues, this.formList.form.formFieldRelation[i].fieldId, [])
1755
+ }
1756
+ if(!this.formList.form.formFieldRelation[i].value) {
1757
+ this.$set(this.formList.form.formFieldRelation[i], 'value', [])
1758
+ }
1759
+ this.selectValues[this.formList.form.formFieldRelation[i].fieldId].push(extInfo.option[j].label)
1760
+ this.formList.form.formFieldRelation[i].value.push(extInfo.option[j].value)
1761
+ } else {
1762
+ this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = extInfo.option[j].label
1763
+ this.formList.form.formFieldRelation[i].value = extInfo.option[j].value
1962
1764
  }
1963
1765
  }
1964
1766
  }
1965
1767
  }
1768
+ } else {
1769
+
1966
1770
  }
1967
1771
  }
1968
1772
  }
1969
- if (this.formList.extInfo && this.formList.extInfo.extInfoFieldValue){
1773
+ if (this.formList.extInfo && this.formList.extInfo.extInfoFieldValue) {
1970
1774
  this.extInfoFieldValue = this.formList.extInfo.extInfoFieldValue
1971
1775
  }
1972
1776
  this.formShow = this.formList
1973
1777
  },
1974
- addZero(i) {
1778
+ // 给级联字段设置默认值
1779
+ loopCascaderSetDefalut(list, field, selectType) {
1780
+ // this.extInfoFieldValue[field.fieldId] = []
1781
+ console.log(field.fieldId, this.extInfoFieldValue[field.fieldId], 'this.extInfoFieldValuethis.extInfoFieldValue');
1782
+ list && list.forEach(item =>{
1783
+ if(item.checked) {
1784
+ if(selectType == '多选') {
1785
+ this.extInfoFieldValue[field.fieldId].push({
1786
+ label: item.label,
1787
+ value: item.value
1788
+ })
1789
+ } else {
1790
+ this.$set(this.extInfoFieldValue, field.fieldId, [{
1791
+ label: item.label,
1792
+ value: item.value
1793
+ }])
1794
+ }
1795
+ }
1796
+ this.loopCascaderSetDefalut(item.children, field, selectType)
1797
+ })
1798
+ },
1799
+ loopCascaderSetValue(list, field, selectType, pv) {
1800
+ list && list.forEach(item =>{
1801
+ let parentValue = pv ? pv: []
1802
+ if(item.checked) {
1803
+ if(selectType == '多选') {
1804
+ field.value.push([...parentValue, item.value])
1805
+ } else {
1806
+ field.value = [...parentValue, item.value]
1807
+ }
1808
+ } else {
1809
+ this.loopCascaderSetValue(item.children, field, selectType, [...parentValue, item.value])
1810
+ }
1811
+ })
1812
+ },
1813
+ addZero (i) {
1975
1814
  if (i < 10) {
1976
1815
  i = "0" + i;
1977
1816
  }
1978
1817
  return i;
1979
1818
  },
1980
- formatter(type, value) {
1819
+ formatter (type, value) {
1981
1820
  // 格式化选择器日期
1982
1821
  if (type === "year") {
1983
1822
  return `${value}年`;
@@ -1993,38 +1832,38 @@ export default {
1993
1832
  return value;
1994
1833
  },
1995
1834
 
1996
- isMobile() {
1997
- if (this.usePropStyleType === false){
1835
+ isMobile () {
1836
+ if (this.usePropStyleType === false) {
1998
1837
  let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
1999
1838
  if (flag) {
2000
- this.isPhone=true
1839
+ this.isPhone = true
2001
1840
  }
2002
1841
  else {
2003
- this.isCompany=true
1842
+ this.isCompany = true
2004
1843
  }
2005
- }else {
2006
- this.isPhone=this.propIsPhone;
2007
- this.isCompany=this.propIsCompany;
1844
+ } else {
1845
+ this.isPhone = this.propIsPhone;
1846
+ this.isCompany = this.propIsCompany;
2008
1847
  }
2009
1848
 
2010
1849
  },
2011
1850
  //时间的选择器
2012
- onConfirm(value, id,item,type) {
2013
- console.debug('value',value)
2014
- if (type == 'DATE'){
1851
+ onConfirm (value, id, item, type) {
1852
+ console.debug('value', value)
1853
+ if (type == 'DATE') {
2015
1854
  this.datePicker = false
2016
1855
  this.timeDetailData.value = value;
2017
- this.extInfoFieldValue[this.timeDetailData.fieldId] =this.formatDate(value);
1856
+ this.extInfoFieldValue[this.timeDetailData.fieldId] = this.formatDate(value);
2018
1857
  }
2019
- else if (type == 'TIME'){
1858
+ else if (type == 'TIME') {
2020
1859
  this.timePicker = false;
2021
1860
  this.extInfoFieldValue[this.timeDetailData.fieldId] = value;
2022
1861
  this.timeDetailData.value = value;
2023
1862
  }
2024
- else if (type == 'DATE_TIME'){
1863
+ else if (type == 'DATE_TIME') {
2025
1864
  this.dateTimePicker = false;
2026
1865
  this.timeDetailData.value = value
2027
- this.extInfoFieldValue[this.timeDetailData.fieldId] =this.formatDate(value) +" "+ this.addZero(value.getHours()) + ':' + this.addZero(value.getMinutes())
1866
+ this.extInfoFieldValue[this.timeDetailData.fieldId] = this.formatDate(value) + " " + this.addZero(value.getHours()) + ':' + this.addZero(value.getMinutes())
2028
1867
  }
2029
1868
  /*for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
2030
1869
  if (this.formShow.form.formFieldRelation[i].fieldId=== id) {
@@ -2042,14 +1881,14 @@ export default {
2042
1881
  }*/
2043
1882
  },
2044
1883
  //转换日期的函数
2045
- formatDate(date) {
1884
+ formatDate (date) {
2046
1885
  const dateTime = new Date(date)
2047
1886
  return `${dateTime.getFullYear()}-${dateTime.getMonth() + 1}-${dateTime.getDate()}`;
2048
1887
  },
2049
1888
  //日期的选择器
2050
- onConfirmCalendar(date, item) {
1889
+ onConfirmCalendar (date, item) {
2051
1890
  this.dateValue[this.dateId] = this.formatDate(date);
2052
- for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
1891
+ for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
2053
1892
  if (this.formShow.form.formFieldRelation[i].fieldId === this.dateId) {
2054
1893
  this.formShow.form.formFieldRelation[i].value = date
2055
1894
  break
@@ -2058,17 +1897,17 @@ export default {
2058
1897
  this.showCalendar = false;
2059
1898
  },
2060
1899
  //下拉的选择器
2061
- onConfirmSelect(value, item) {
2062
- console.log('value',value,this.selectDetail)
2063
- if (!value){
1900
+ onConfirmSelect (value, item) {
1901
+ console.log('value', value, this.selectDetail)
1902
+ if (!value) {
2064
1903
  return
2065
1904
  }
2066
1905
  this.selectValues[this.selectDetail.fieldId] = value;
2067
1906
  for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
2068
1907
  if (this.formShow.form.formFieldRelation[i].fieldId === this.selectDetail.fieldId) {
2069
- let options = this.formShow.form.formFieldRelation[i].formField.extInfo.option?this.formShow.form.formFieldRelation[i].formField.extInfo.option:this.formShow.form.formFieldRelation[i].formField.extInfo.options;
2070
- for (let j=0;j<options.length;j++){
2071
- if (value == options[j].label){
1908
+ let options = this.formShow.form.formFieldRelation[i].formField.extInfo.option ? this.formShow.form.formFieldRelation[i].formField.extInfo.option : this.formShow.form.formFieldRelation[i].formField.extInfo.options;
1909
+ for (let j = 0; j < options.length; j++) {
1910
+ if (value == options[j].label) {
2072
1911
  this.selectDetail.value = options[j].value
2073
1912
  }
2074
1913
  }
@@ -2100,11 +1939,11 @@ export default {
2100
1939
  let imageOrAttachment = true
2101
1940
  let errorText = ''
2102
1941
  let checkDescription = {
2103
- checkImageOrAttachment:this.workOrderDestail.checkImageOrAttachment ? this.workOrderDestail.checkImageOrAttachment : false,
2104
- checkText:this.workOrderDestail.checkText ? this.workOrderDestail.checkText : false,
2105
- checkImage:this.workOrderDestail.checkImage ? this.workOrderDestail.checkImage : false,
2106
- checkAttachment:this.workOrderDestail.checkAttachment ? this.workOrderDestail.checkAttachment : false,
2107
- required:this.workOrderDestail.required ? this.workOrderDestail.required : false,
1942
+ checkImageOrAttachment: this.workOrderDestail.checkImageOrAttachment ? this.workOrderDestail.checkImageOrAttachment : false,
1943
+ checkText: this.workOrderDestail.checkText ? this.workOrderDestail.checkText : false,
1944
+ checkImage: this.workOrderDestail.checkImage ? this.workOrderDestail.checkImage : false,
1945
+ checkAttachment: this.workOrderDestail.checkAttachment ? this.workOrderDestail.checkAttachment : false,
1946
+ required: this.workOrderDestail.required ? this.workOrderDestail.required : false,
2108
1947
  }
2109
1948
  if (checkDescription.checkText) {
2110
1949
  if (!this.workOrderDestail.value) {
@@ -2118,8 +1957,8 @@ export default {
2118
1957
  d = null
2119
1958
  }
2120
1959
  }
2121
- if(checkDescription.checkImageOrAttachment) {
2122
- if(!this.workOrderDestail.value.includes('img') && this.attachmentList.length == 0) {
1960
+ if (checkDescription.checkImageOrAttachment) {
1961
+ if (!this.workOrderDestail.value.includes('img') && this.attachmentList.length == 0) {
2123
1962
  imageOrAttachment = false
2124
1963
  }
2125
1964
  }
@@ -2133,7 +1972,7 @@ export default {
2133
1972
  if (!textFlag) {
2134
1973
  errorText = text + '必须要有文字'
2135
1974
  }
2136
- if(!imageOrAttachment) {
1975
+ if (!imageOrAttachment) {
2137
1976
  errorText = text + '必须要有图片或附件'
2138
1977
  }
2139
1978
  if (!imageFlag) {
@@ -2166,36 +2005,34 @@ export default {
2166
2005
  }
2167
2006
  },
2168
2007
  //提交按钮事件
2169
- submitClick() {
2008
+ submitClick () {
2170
2009
  if (this.uploadImgQueue || this.attachmentList.some(arrach => { return !arrach.url })) {
2171
2010
  this.$message.warning('文件正在上传,请稍后')
2172
2011
  return
2173
2012
  }
2174
- if(this.workOrderDestail && !this.verificationDescription()) {
2013
+ if (this.workOrderDestail && !this.verificationDescription()) {
2175
2014
  return
2176
2015
  }
2177
- for (let i=0;i<this.formShow.form.formFieldRelation.length;i++)
2178
- {
2179
- if(this.formShow.form.formFieldRelation[i].formField.type==='CASCADER')
2180
- {
2016
+ for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
2017
+ if (this.formShow.form.formFieldRelation[i].formField.type === 'CASCADER') {
2181
2018
  let cascader = []
2182
- if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascade){
2019
+ if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascade) {
2183
2020
  cascader = this.formShow.form.formFieldRelation[i].formField.extInfo.cascade
2184
2021
  }
2185
- else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown && this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options){
2022
+ else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown && this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options) {
2186
2023
  cascader = this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options
2187
2024
  }
2188
- else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown && this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0]){
2025
+ else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown && this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0]) {
2189
2026
  cascader = this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0].options
2190
2027
  }
2191
- cascader.forEach(item=>{
2192
- if(item.children!==undefined){
2193
- if(item.children.length===0) {
2028
+ cascader.forEach(item => {
2029
+ if (item.children !== undefined) {
2030
+ if (item.children.length === 0) {
2194
2031
  delete item.children
2195
2032
  } else {
2196
- item.children.forEach(items=>{
2197
- if(items.children){
2198
- if(items.children.length===0) {
2033
+ item.children.forEach(items => {
2034
+ if (items.children) {
2035
+ if (items.children.length === 0) {
2199
2036
  delete items.children
2200
2037
  }
2201
2038
  }
@@ -2205,90 +2042,95 @@ export default {
2205
2042
  })
2206
2043
  }
2207
2044
  if (this.extInfoFieldValue[this.formShow.form.formFieldRelation[i].fieldId] &&
2208
- (this.formShow.form.formFieldRelation[i].formField.type == 'FILE' ||
2045
+ (this.formShow.form.formFieldRelation[i].formField.type == 'FILE' ||
2209
2046
  this.formShow.form.formFieldRelation[i].formField.type == 'IMAGE' ||
2210
2047
  this.formShow.form.formFieldRelation[i].formField.type == 'VIDEO' ||
2211
2048
  this.formShow.form.formFieldRelation[i].formField.type == 'ATTACHMENT')) {
2212
- let value=[]
2213
- this.extInfoFieldValue[this.formShow.form.formFieldRelation[i].fieldId].forEach(item=>{
2049
+ let value = []
2050
+ this.extInfoFieldValue[this.formShow.form.formFieldRelation[i].fieldId].forEach(item => {
2214
2051
  let file = {}
2215
2052
  file.name = item.name
2216
2053
  file.url = item.url
2217
2054
  value.push(file)
2218
2055
  })
2219
- if (this.formShow.form.formFieldRelation[i].formField.type == 'FILE'){
2056
+ if (this.formShow.form.formFieldRelation[i].formField.type == 'FILE') {
2220
2057
  this.formShow.form.formFieldRelation[i].value = value
2221
2058
  }
2222
2059
  else {
2223
- this.formShow.form.formFieldRelation[i].value = value.map(item=>{
2060
+ this.formShow.form.formFieldRelation[i].value = value.map(item => {
2224
2061
  return item.name
2225
2062
  })
2226
2063
  }
2227
2064
 
2228
2065
  }
2229
2066
  let isRequired = true;
2230
- if (this.mainId == '3e83057a1bd74b79b86859ad619fdbbb' || this.mainId == 'ab0f90737c8b4f2d85ba2157e4473110' || this.mainId == '86dc09da570948d2b4841122d732f373'){
2067
+ if (this.mainId == '3e83057a1bd74b79b86859ad619fdbbb' || this.mainId == 'ab0f90737c8b4f2d85ba2157e4473110' || this.mainId == '86dc09da570948d2b4841122d732f373') {
2231
2068
  isRequired = false
2232
2069
  }
2233
2070
  /*针对蒙牛企业在对话中系统名称字段暂时不做校验*/
2234
- if(this.formShow.form.formFieldRelation[i].display &&
2235
- (this.formShow.form.formFieldRelation[i].required || this.isRequiredFn(this.formShow.form.formFieldRelation[i].formField)) &&
2236
- this.formShow.form.formFieldRelation[i].fieldId!=='workorder_name'&&
2237
- ((!isRequired && this.formShow.form.formFieldRelation[i].fieldId !== '0feca81fce97465da537248c066e4db8' && this.formShow.form.formFieldRelation[i].fieldId !=='1d8bd21485834773a6d18eae60013000') || isRequired) &&
2238
- this.formShow.form.formFieldRelation[i].formField.type !== 'EXPLANATION') {
2071
+ if (this.formShow.form.formFieldRelation[i].display &&
2072
+ (this.formShow.form.formFieldRelation[i].required || this.isRequiredFn(this.formShow.form.formFieldRelation[i].formField)) &&
2073
+ this.formShow.form.formFieldRelation[i].fieldId !== 'workorder_name' &&
2074
+ ((!isRequired && this.formShow.form.formFieldRelation[i].fieldId !== '0feca81fce97465da537248c066e4db8' && this.formShow.form.formFieldRelation[i].fieldId !== '1d8bd21485834773a6d18eae60013000') || isRequired) &&
2075
+ this.formShow.form.formFieldRelation[i].formField.type !== 'EXPLANATION') {
2239
2076
  let value = "";
2240
2077
  let bool = {}
2241
2078
  bool[this.formShow.form.formFieldRelation[i].fieldId] = false
2242
- if (this.formShow.form.formFieldRelation[i].formField.type === 'INPUT' || this.formShow.form.formFieldRelation[i].formField.type === 'TEXTAREA'){
2243
- value = this.formShow.form.formFieldRelation[i].value && this.formShow.form.formFieldRelation[i].value.includes('\n')?this.formShow.form.formFieldRelation[i].value:'';
2079
+ if (this.formShow.form.formFieldRelation[i].formField.type === 'INPUT' || this.formShow.form.formFieldRelation[i].formField.type === 'TEXTAREA') {
2080
+ value = this.formShow.form.formFieldRelation[i].value && this.formShow.form.formFieldRelation[i].value.includes('\n') ? this.formShow.form.formFieldRelation[i].value : '';
2244
2081
  let strVal = '';
2245
- if(value){
2246
- strVal = value.replace(/\n/g,'');
2082
+ if (value) {
2083
+ strVal = value.replace(/\n/g, '');
2247
2084
  }
2248
2085
  bool[this.formShow.form.formFieldRelation[i].fieldId] = this.formShow.form.formFieldRelation[i].value && this.formShow.form.formFieldRelation[i].value.includes('\n') && !strVal
2249
2086
  }
2250
2087
  if (this.formShow.form.formFieldRelation[i].relationDisplay && this.formShow.form.formFieldRelation[i].display && this.formShow.form.formFieldRelation[i].fieldId !== 'workorder_description') {
2251
- if(!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)) {
2252
- this.$message.error('请完善'+ this.formShow.form.formFieldRelation[i].formField.name)
2088
+ 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)
2253
2090
  return
2254
2091
  }
2255
2092
  }
2256
2093
  }
2257
2094
  }
2258
2095
  let extInfo = {
2259
- extInfoFieldValue:this.extInfoFieldValue,
2260
- attachmentList:this.attachmentList,
2261
- attachments: this.attachmentList.map(item =>{ return item.url})
2096
+ extInfoFieldValue: this.extInfoFieldValue,
2097
+ attachmentList: this.attachmentList,
2098
+ attachments: this.attachmentList.map(item => { return item.url })
2262
2099
  }
2263
- this.$set(this.formShow,'extInfo',extInfo)
2100
+ this.$set(this.formShow, 'extInfo', extInfo)
2264
2101
  let newForm = JSON.parse(JSON.stringify(this.formShow));
2265
- for (let i=0;i<newForm.form.formFieldRelation.length;i++){
2266
- if (newForm.form.formFieldRelation[i].fieldId === 'workorder_description'){
2267
- newForm.form.formFieldRelation[i].value = newForm.form.formFieldRelation[i].value.replace(/<img/g, "<img onclick='previewImage(this)' ")
2102
+ for (let i = 0; i < newForm.form.formFieldRelation.length; i++) {
2103
+ if (newForm.form.formFieldRelation[i].fieldId === 'workorder_description') {
2104
+ newForm.form.formFieldRelation[i].value = newForm.form.formFieldRelation[i].value.replace(/<img/g, "<img onclick='previewImage(this)' ")
2268
2105
  console.log(newForm.form.formFieldRelation[i]);
2269
2106
  }
2270
2107
  if (newForm.form.formFieldRelation[i].formField.type === "TIME_PICKER" &&
2271
- (!newForm.form.formFieldRelation[i].formField.extInfo.mold ||
2272
- newForm.form.formFieldRelation[i].formField.extInfo.mold == 'TIME' ||
2273
- this.getMoldTime(newForm.form.formFieldRelation[i].formField) == 'TIME') &&
2274
- newForm.form.formFieldRelation[i].value &&
2275
- !(newForm.form.formFieldRelation[i].value.length === 5 && newForm.form.formFieldRelation[i].value.split(":").length === 2) &&
2276
- !(newForm.form.formFieldRelation[i].value.length === 8 && newForm.form.formFieldRelation[i].value.split(":").length === 3)){
2108
+ (!newForm.form.formFieldRelation[i].formField.extInfo.mold ||
2109
+ newForm.form.formFieldRelation[i].formField.extInfo.mold == 'TIME' ||
2110
+ this.getMoldTime(newForm.form.formFieldRelation[i].formField) == 'TIME') &&
2111
+ newForm.form.formFieldRelation[i].value &&
2112
+ !(newForm.form.formFieldRelation[i].value.length === 5 && newForm.form.formFieldRelation[i].value.split(":").length === 2) &&
2113
+ !(newForm.form.formFieldRelation[i].value.length === 8 && newForm.form.formFieldRelation[i].value.split(":").length === 3)) {
2277
2114
  newForm.form.formFieldRelation[i].value = new Date(newForm.form.formFieldRelation[i].value).Format('hh:mm')
2278
2115
  }
2279
2116
  }
2280
- console.error('formShow',newForm)
2281
- this.$emit('submitClick',newForm)
2282
- this.disableds = true
2283
- this.submitValue = '已提交'
2117
+ console.error('formShow', newForm)
2118
+ this.$emit('submitClick', newForm)
2119
+ this.disableds = true
2120
+ this.submitValue = '已提交'
2121
+ },
2122
+ strIsNull (str) {
2123
+ if (str == "") return true;
2124
+ let regu = "^[ ]+$";
2125
+ let re = new RegExp(regu);
2126
+ return re.test(str);
2284
2127
  },
2285
2128
  //日期的点击事件
2286
- dateClick(id) {
2287
- if(this.disableds === false)
2288
- {
2129
+ dateClick (id) {
2130
+ if (this.disableds === false) {
2289
2131
  // for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
2290
2132
  // if (this.formShow.form.formFieldRelation[i].fieldId === id) {
2291
-
2133
+
2292
2134
  // break
2293
2135
  // }
2294
2136
  // }
@@ -2298,40 +2140,39 @@ export default {
2298
2140
 
2299
2141
  },
2300
2142
  //时间的点击事件
2301
- timeClick(id,item,type) {
2302
- if (this.disableds){
2143
+ timeClick (id, item, type) {
2144
+ if (this.disableds) {
2303
2145
  return
2304
2146
  }
2305
- if (item.value === undefined || item.value === null){
2306
- this.$set(item,'value',"")
2147
+ if (item.value === undefined || item.value === null) {
2148
+ this.$set(item, 'value', "")
2307
2149
  }
2308
2150
  this.timeDetailData = item
2309
- if (type == 'DATE'){
2151
+ if (type == 'DATE') {
2310
2152
  this.datePicker = true
2311
2153
  }
2312
- else if (type == 'TIME'){
2154
+ else if (type == 'TIME') {
2313
2155
  this.timePicker = true
2314
2156
  }
2315
- else if (type == 'DATE_TIME'){
2157
+ else if (type == 'DATE_TIME') {
2316
2158
  this.dateTimePicker = true
2317
2159
  }
2318
2160
  },
2319
2161
  //下拉的点击事件
2320
- selectClick(id,type,item) {
2321
- if (this.disableds){
2162
+ selectClick (id, type, item) {
2163
+ if (this.disableds) {
2322
2164
  return
2323
2165
  }
2324
- if (item.value === undefined || item.value === null){
2325
- this.$set(item,'value',"")
2166
+ if (item.value === undefined || item.value === null) {
2167
+ this.$set(item, 'value', "")
2326
2168
  }
2327
2169
  this.selectDetail = item;
2328
2170
  this.defaultValue = []
2329
- if(type == 'client') {
2171
+ if (type == 'client') {
2330
2172
  let selectOption
2331
- this.selectValue=[]
2173
+ this.selectValue = []
2332
2174
  for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
2333
- if(this.formShow.form.formFieldRelation[i].formField.type==='SELECT' || this.formShow.form.formFieldRelation[i].formField.type==='OPTION')
2334
- {
2175
+ if (this.formShow.form.formFieldRelation[i].formField.type === 'SELECT' || this.formShow.form.formFieldRelation[i].formField.type === 'OPTION') {
2335
2176
  if (this.formShow.form.formFieldRelation[i].fieldId === id) {
2336
2177
  console.debug('11')
2337
2178
  selectOption = this.selectOptions(this.formShow.form.formFieldRelation[i].formField)
@@ -2344,31 +2185,31 @@ export default {
2344
2185
  }
2345
2186
  this.selectId = id
2346
2187
  this.showPicker = true
2347
- } else if (type == 'ref'){
2188
+ } else if (type == 'ref') {
2348
2189
  this.refShowPicker = true;
2349
- this.refTemplateVisibleChange(true,item);
2350
- this.refDefaultValue[item.fieldId] = item.value?[item.value]:[]
2351
- } else if (type == 'select'){
2190
+ this.refTemplateVisibleChange(true, item);
2191
+ this.refDefaultValue[item.fieldId] = item.value ? [item.value] : []
2192
+ } else if (type == 'select') {
2352
2193
  this.selectPicker = true;
2353
- if (item.formField.extInfo){
2194
+ if (item.formField.extInfo) {
2354
2195
  this.optionsList[id] = this.optionsLists(item)
2355
2196
  }
2356
2197
  else {
2357
2198
  this.optionsList[id] = []
2358
2199
  }
2359
- if (Array.isArray(this.selectDetail.value)){
2200
+ if (Array.isArray(this.selectDetail.value)) {
2360
2201
  this.defaultValue = this.selectDetail.value
2361
2202
  }
2362
2203
  else {
2363
2204
  this.defaultValue = [this.selectDetail.value]
2364
2205
  }
2365
2206
  }
2366
- if (item){
2207
+ if (item) {
2367
2208
  this.detailField = item;
2368
2209
  }
2369
2210
  },
2370
- SelectClear(fieldId) {
2371
- if(this.disableds === false){
2211
+ SelectClear (fieldId) {
2212
+ if (this.disableds === false) {
2372
2213
  let i = this.formShow.form.formFieldRelation.findIndex(item => { console.log(item.fieldId); return item.fieldId == fieldId })
2373
2214
  this.selectValues[this.formShow.form.formFieldRelation[i].fieldId] = '';
2374
2215
  this.formShow.form.formFieldRelation[i].value = "";
@@ -2378,47 +2219,43 @@ export default {
2378
2219
  }
2379
2220
  },
2380
2221
  //级联的点击的事件
2381
- pickerClick(id) {
2382
- if(this.disableds === false)
2383
- {
2384
- if(this.pickerId!==id)
2385
- {
2222
+ pickerClick (id) {
2223
+ if (this.disableds === false) {
2224
+ if (this.pickerId !== id) {
2386
2225
  for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
2387
2226
  if (this.formShow.form.formFieldRelation[i].fieldId === id) {
2388
- this.keyValue=''
2389
- if(this.formShow.form.formFieldRelation[i].value.length!==undefined)
2390
- {
2391
- for (let m=0;m<this.formShow.form.formFieldRelation[i].value.length;m++)
2392
- {
2393
- this.keyValue+=this.formShow.form.formFieldRelation[i].value[m]
2227
+ this.keyValue = ''
2228
+ if (this.formShow.form.formFieldRelation[i].value.length !== undefined) {
2229
+ for (let m = 0; m < this.formShow.form.formFieldRelation[i].value.length; m++) {
2230
+ this.keyValue += this.formShow.form.formFieldRelation[i].value[m]
2394
2231
  }
2395
2232
  }
2396
- this.data = []
2397
- if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascade){
2398
- this.data = this.formShow.form.formFieldRelation[i].formField.extInfo.cascade
2233
+ this.data = []
2234
+ if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascade) {
2235
+ this.data = this.formShow.form.formFieldRelation[i].formField.extInfo.cascade
2399
2236
  }
2400
- else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown && this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options){
2401
- this.data = this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options
2237
+ else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown && this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options) {
2238
+ this.data = this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options
2402
2239
  }
2403
- else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown && this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0]){
2404
- this.data = this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0].options
2240
+ else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown && this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0]) {
2241
+ this.data = this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0].options
2405
2242
  }
2406
2243
  this.column[0].values = Object.values(this.data).map(function (e) {
2407
- return {text: e.value, code: e.value}
2244
+ return { text: e.value, code: e.value }
2408
2245
  })
2409
2246
  if (this.data[0].children !== undefined) {
2410
2247
  this.column[1].values = Object.values(this.data[0].children).map(function (e) {
2411
- return {text: e.value, code: e.value}
2248
+ return { text: e.value, code: e.value }
2412
2249
  })
2413
2250
  if (this.data[0].children[0].children !== undefined) {
2414
2251
  this.column[2].values = Object.values(this.data[0].children[0].children).map(function (e) {
2415
- return {text: e.value, code: e.value}
2252
+ return { text: e.value, code: e.value }
2416
2253
  })
2417
2254
  }
2418
2255
  else {
2419
2256
  this.$set(this.data[0].children[0], 'children', [])
2420
- this.column[2].values=Object.values(this.data[0].children[0].children).map(function (res) {
2421
- return {text: res.value, code: res.value};
2257
+ this.column[2].values = Object.values(this.data[0].children[0].children).map(function (res) {
2258
+ return { text: res.value, code: res.value };
2422
2259
  })
2423
2260
  }
2424
2261
  }
@@ -2432,37 +2269,31 @@ export default {
2432
2269
 
2433
2270
 
2434
2271
  },
2435
- onChange(picker, values,index) {
2272
+ onChange (picker, values, index) {
2436
2273
  // 这里我有可能渲染的有问题,导致回调每次都修改了当前列,其他值没有修改,当前列??(当前列什么鬼呀,什么垃圾啊???) 解释一下 ↓↓
2437
2274
  // 因为vant的 van-picker 回调只会返回你修改的那一列,比如现在为 [北京,北京,东城区],你修改了省为[天津市,天津市,和平区],但是vant的change回调会得到[天津市,北京,东城区],后面两个在回调中没有修改,不知道我的渲染方法有问题还是什么问题。
2438
2275
  // 所以我在这里判断change事件触发后,如果你修改了省份的话,回调里面省份会改变,但是市和区还是上一个省份的 市和区,这时我们执行回调修改省,市,区的时候,因为回调只有省改变了,市和区DOM改变了,但是回调里面没改变的问题(不晓得什么问题),这时我们去找省下面的 市,我们取回调的市名称,如果在省下面没有找到这个市,默认展示第一个市,区也默认展示第一个市下面的区,如果遍历市能查到,就去展示对应的市。
2439
2276
  // 回调时修改第2列数据
2440
- if (index == 0){
2277
+ if (index == 0) {
2441
2278
  picker.setColumnValues(2, []); // 防止突然选中第一个,第二个是更新的,但第三个联级不更新,我暂时强制清空
2442
2279
  }
2443
- let ColumnIndexss=picker.getIndexes()
2444
- let testValue=''
2445
- this.$nextTick(()=>{
2446
- if(index == 0)
2447
- {
2448
- if(this.data[ColumnIndexss[0]].children.length > 0)
2449
- {
2450
- if(this.data[ColumnIndexss[0]].children[0]!==undefined)
2451
- {
2452
- testValue=this.data[ColumnIndexss[0]].children[0].value
2280
+ let ColumnIndexss = picker.getIndexes()
2281
+ let testValue = ''
2282
+ this.$nextTick(() => {
2283
+ if (index == 0) {
2284
+ if (this.data[ColumnIndexss[0]].children.length > 0) {
2285
+ if (this.data[ColumnIndexss[0]].children[0] !== undefined) {
2286
+ testValue = this.data[ColumnIndexss[0]].children[0].value
2453
2287
  picker.setColumnValues(2, this.county(this.data, testValue));
2454
2288
  }
2455
2289
  }
2456
2290
  else
2457
2291
  picker.setColumnValues(2, []);
2458
2292
  }
2459
- if(index == 1)
2460
- {
2461
- if(this.data[ColumnIndexss[0]].children.length > 0)
2462
- {
2463
- if(this.data[ColumnIndexss[0]].children[ColumnIndexss[1]]!==undefined)
2464
- {
2465
- testValue=this.data[ColumnIndexss[0]].children[ColumnIndexss[1]].value
2293
+ if (index == 1) {
2294
+ if (this.data[ColumnIndexss[0]].children.length > 0) {
2295
+ if (this.data[ColumnIndexss[0]].children[ColumnIndexss[1]] !== undefined) {
2296
+ testValue = this.data[ColumnIndexss[0]].children[ColumnIndexss[1]].value
2466
2297
  picker.setColumnValues(2, this.county(this.data, testValue));
2467
2298
  }
2468
2299
  }
@@ -2477,27 +2308,27 @@ export default {
2477
2308
 
2478
2309
  },
2479
2310
  // 修改级联第二级 这里不再多说什么了根据自己的数据格式来
2480
- cityDate(data, province) {
2311
+ cityDate (data, province) {
2481
2312
  var that = this;
2482
2313
  data.forEach(function (res) {
2483
2314
  if (res.value == province) {
2484
2315
  that.cityDates = res;
2485
2316
  }
2486
2317
  });
2487
- if (that.cityDates.children !== undefined&&that.cityDates.children.length > 0) {
2318
+ if (that.cityDates.children !== undefined && that.cityDates.children.length > 0) {
2488
2319
  return that.cityDates.children.map(function (res) {
2489
- return {text: res.value, code: res.value};
2320
+ return { text: res.value, code: res.value };
2490
2321
  })
2491
2322
  } else {
2492
2323
  this.$set(that.cityDates, 'children', [])
2493
2324
  return that.cityDates.children.map(function (res) {
2494
- return {text: res.value, code: res.value};
2325
+ return { text: res.value, code: res.value };
2495
2326
  })
2496
2327
  }
2497
2328
  // return 返回数据格式,因为我需要省市区code,所以我return的格式是对象,例:[{text:'北京市',code:'1'},{text:'河南省',code:'2'},...],如果你不需要code直接这样就可以 例['北京市','河南省',.....]
2498
2329
  },
2499
2330
  // 修改级联第三级 这里不再多说什么了根据自己的数据格式来
2500
- county(data, county) {
2331
+ county (data, county) {
2501
2332
  var that = this;
2502
2333
  var countyDate = '';
2503
2334
  // 因为vant的 van-picker 回调只会返回你修改的那一列,比如现在为 [北京,北京,东城区],你修改了省为[天津市,天津市,和平区],但是vant的change回调会得到[天津市,北京,东城区],后面两个在回调中没有修改,不知道我的渲染方法有问题还是什么问题。
@@ -2509,8 +2340,7 @@ export default {
2509
2340
  });
2510
2341
  // 这里如果没有找到对应的县
2511
2342
  if (countyDate == '') {
2512
- if(that.cityDates.children.length > 0)
2513
- {
2343
+ if (that.cityDates.children.length > 0) {
2514
2344
  countyDate = that.cityDates.children[0];
2515
2345
  }
2516
2346
 
@@ -2519,18 +2349,18 @@ export default {
2519
2349
  if (countyDate.children === undefined) {
2520
2350
  this.$set(countyDate, 'children', [])
2521
2351
  return countyDate.children.map(function (res) {
2522
- return {text: res.value, code: res.value};
2352
+ return { text: res.value, code: res.value };
2523
2353
  })
2524
2354
  } else {
2525
2355
  return countyDate.children.map(function (res) {
2526
- return {text: res.value, code: res.value};
2356
+ return { text: res.value, code: res.value };
2527
2357
  })
2528
2358
  }
2529
2359
 
2530
2360
  // return 返回数据格式,因为我需要省市区code,所以我return的格式是对象,例:[{text:'北京市',code:'1'},{text:'河南省',code:'2'},...],如果你不需要code直接这样就可以 例['北京市','河南省',.....]
2531
2361
  },
2532
2362
  //点击级联弹出框的确认按钮
2533
- onConfirms(val, id) {
2363
+ onConfirms (val, id) {
2534
2364
  let test = ''
2535
2365
  for (let i = 0; i < val.length; i++) {
2536
2366
  if (val[i] !== undefined) {
@@ -2539,7 +2369,7 @@ export default {
2539
2369
  }
2540
2370
  test = test.substr(0, test.length - 1)
2541
2371
  for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
2542
- if (this.formShow.form.formFieldRelation[i].fieldId=== id) {
2372
+ if (this.formShow.form.formFieldRelation[i].fieldId === id) {
2543
2373
  this.cascadeValue[id] = test
2544
2374
  for (let j = 0; j < val.length; j++) {
2545
2375
  if (val[j] !== undefined) {
@@ -2550,12 +2380,12 @@ export default {
2550
2380
  }
2551
2381
  }
2552
2382
  this.showArea = false;
2553
- sessionStorage.setItem('cascader',test)
2383
+ sessionStorage.setItem('cascader', test)
2554
2384
  },
2555
- onCancel() {
2385
+ onCancel () {
2556
2386
  this.showArea = false;
2557
2387
  },
2558
- aliyunOssRequest(data){
2388
+ aliyunOssRequest (data) {
2559
2389
 
2560
2390
  this.loading = this.$loading({
2561
2391
  lock: true,
@@ -2566,9 +2396,9 @@ export default {
2566
2396
  let file = data.file;
2567
2397
  console.debug("upload file:", file);
2568
2398
  let imgInfo = {
2569
- status:'',
2570
- url:'',
2571
- name:''
2399
+ status: '',
2400
+ url: '',
2401
+ name: ''
2572
2402
  }
2573
2403
  /* let imageData = {
2574
2404
  id:cid,
@@ -2579,14 +2409,12 @@ export default {
2579
2409
  progress: 0,
2580
2410
  },
2581
2411
  };*/
2582
- // let res = multipartUpload(
2583
- // this.ossConfig,
2584
- // file,
2585
- // null,
2586
- // imgInfo
2587
- // );
2588
- let ress = putObject(file)
2589
- ress.then((res) => {
2412
+ let res = multipartUpload(
2413
+ file,
2414
+ null,
2415
+ imgInfo
2416
+ );
2417
+ res.then((res) => {
2590
2418
  console.debug("upload result:", res);
2591
2419
  // let filePath = res.name;
2592
2420
  /* imageData.content.progress = 1;
@@ -2594,14 +2422,14 @@ export default {
2594
2422
  ossFileUrl(this.ossConfig, res.name)
2595
2423
  );
2596
2424
  console.log('imageData',imageData)*/
2597
- imgInfo.url = res.url
2598
- imgInfo.status='success'
2599
- if (data.file){
2425
+ imgInfo.url = ossFileUrl(res.name)
2426
+ imgInfo.status = 'success'
2427
+ if (data.file) {
2600
2428
  imgInfo.name = data.file.name
2601
2429
  imgInfo.uid = data.file.uid
2602
2430
  }
2603
- if (!this.extInfoFieldValue[this.filedId]){
2604
- this.$set(this.extInfoFieldValue,this.filedId,[])
2431
+ if (!this.extInfoFieldValue[this.filedId]) {
2432
+ this.$set(this.extInfoFieldValue, this.filedId, [])
2605
2433
  }
2606
2434
  this.extInfoFieldValue[this.filedId].push(imgInfo)
2607
2435
  this.loading.close()
@@ -2609,20 +2437,20 @@ export default {
2609
2437
  console.debug("upload err", err);
2610
2438
  });
2611
2439
  },
2612
- successUpload(response,file,fileList){
2613
- if (!this.extInfoFieldValue[this.filedId]){
2440
+ successUpload (response, file, fileList) {
2441
+ if (!this.extInfoFieldValue[this.filedId]) {
2614
2442
  this.extInfoFieldValue[this.filedId] = []
2615
2443
  }
2616
- for (let i=0;i<fileList.length;i++){
2617
- if (!this.extInfoFieldValue[this.filedId][i]){
2618
- this.extInfoFieldValue[this.filedId][i]={}
2444
+ for (let i = 0; i < fileList.length; i++) {
2445
+ if (!this.extInfoFieldValue[this.filedId][i]) {
2446
+ this.extInfoFieldValue[this.filedId][i] = {}
2619
2447
  }
2620
- this.extInfoFieldValue[this.filedId][i].url=fileList[i].url
2621
- this.extInfoFieldValue[this.filedId][i].name=fileList[i].name
2622
- this.extInfoFieldValue[this.filedId][i].status=fileList[i].status
2448
+ this.extInfoFieldValue[this.filedId][i].url = fileList[i].url
2449
+ this.extInfoFieldValue[this.filedId][i].name = fileList[i].name
2450
+ this.extInfoFieldValue[this.filedId][i].status = fileList[i].status
2623
2451
  }
2624
2452
  },
2625
- uploadProgress(){
2453
+ uploadProgress () {
2626
2454
  this.loading = this.$loading({
2627
2455
  lock: true,
2628
2456
  text: 'Loading',
@@ -2630,32 +2458,31 @@ export default {
2630
2458
  background: 'rgba(0, 0, 0, 0.7)'
2631
2459
  });
2632
2460
  },
2633
- handleRemove(file) {
2634
- if (this.extInfoFieldValue[this.filedId]){
2635
- for (let i=0;i<this.extInfoFieldValue[this.filedId].length;i++)
2636
- {
2637
- if (this.extInfoFieldValue[this.filedId][i].uid){
2638
- if (this.extInfoFieldValue[this.filedId][i].uid===file.uid){
2639
- this.extInfoFieldValue[this.filedId].splice(i,1)
2461
+ handleRemove (file) {
2462
+ if (this.extInfoFieldValue[this.filedId]) {
2463
+ for (let i = 0; i < this.extInfoFieldValue[this.filedId].length; i++) {
2464
+ if (this.extInfoFieldValue[this.filedId][i].uid) {
2465
+ if (this.extInfoFieldValue[this.filedId][i].uid === file.uid) {
2466
+ this.extInfoFieldValue[this.filedId].splice(i, 1)
2640
2467
  return
2641
2468
  }
2642
2469
  }
2643
- else if (this.extInfoFieldValue[this.filedId][i].url===file.url){
2644
- this.extInfoFieldValue[this.filedId].splice(i,1)
2470
+ else if (this.extInfoFieldValue[this.filedId][i].url === file.url) {
2471
+ this.extInfoFieldValue[this.filedId].splice(i, 1)
2645
2472
  return
2646
2473
  }
2647
2474
  }
2648
2475
 
2649
2476
  }
2650
2477
  },
2651
- handleEditChange(file,fileList){
2652
- this.hideUploadEdit=fileList.length >= this.limitNum
2478
+ handleEditChange (file, fileList) {
2479
+ this.hideUploadEdit = fileList.length >= this.limitNum
2653
2480
  },
2654
2481
  onUploadProgress: function (progress, point, file, videoData) {
2655
2482
  console.debug("upload video progress", progress, point);
2656
2483
  if (progress === 1) {
2657
2484
  // this.loadingIns.close();
2658
- videoData.content.url = ossFileUrl(this.ossConfig, point.name);
2485
+ videoData.content.url = ossFileUrl(point.name);
2659
2486
  // this.chooseVideo({data:url},file);
2660
2487
 
2661
2488
  } else {
@@ -2663,16 +2490,16 @@ export default {
2663
2490
 
2664
2491
  }
2665
2492
  },
2666
- checkUpload(id,extInfo){
2667
- this.filedId=id
2668
- this.limitNum = extInfo.limitNum?extInfo.limitNum:(extInfo.limit?extInfo.limit:1)
2493
+ checkUpload (id, extInfo) {
2494
+ this.filedId = id
2495
+ this.limitNum = extInfo.limitNum ? extInfo.limitNum : (extInfo.limit ? extInfo.limit : 1)
2669
2496
 
2670
2497
  },
2671
- beforeAvatarUpload(file,type){
2672
- if (type === 'IMAGE'){
2498
+ beforeAvatarUpload (file, type) {
2499
+ if (type === 'IMAGE') {
2673
2500
  const isLte2M = file.size / 1024 / 1024 <= 8;
2674
- const isSupportedFormat =file.type.indexOf('image')!==-1
2675
- if (!isSupportedFormat){
2501
+ const isSupportedFormat = file.type.indexOf('image') !== -1
2502
+ if (!isSupportedFormat) {
2676
2503
  this.$message.error("只能上传图片格式");
2677
2504
  return false
2678
2505
  }
@@ -2682,20 +2509,20 @@ export default {
2682
2509
  }
2683
2510
  return true
2684
2511
  }
2685
- else if (type === 'VIDEO'){
2512
+ else if (type === 'VIDEO') {
2686
2513
  const isLte2M = file.size / 1024 / 1024 <= 100;
2687
- const isSupportedFormat =file.type.indexOf('video')!==-1
2688
- if (!isSupportedFormat){
2514
+ const isSupportedFormat = file.type.indexOf('video') !== -1
2515
+ if (!isSupportedFormat) {
2689
2516
  this.$message.error("只能上传视频格式");
2690
2517
  return false
2691
2518
  }
2692
- if (!isLte2M&&isSupportedFormat) {
2519
+ if (!isLte2M && isSupportedFormat) {
2693
2520
  this.$message.error("上传视频大小不能超过100MB!");
2694
2521
  return false
2695
2522
  }
2696
2523
  return true
2697
2524
  }
2698
- else if (type === 'FILE' || type === 'ATTACHMENT'){
2525
+ else if (type === 'FILE' || type === 'ATTACHMENT') {
2699
2526
  const isLte2M = file.size / 1024 / 1024 <= 100;
2700
2527
  if (!isLte2M) {
2701
2528
  this.$message.error("上传附件大小不能超过100MB!");
@@ -2705,27 +2532,27 @@ export default {
2705
2532
  }
2706
2533
 
2707
2534
  },
2708
- exceedUpload(){
2535
+ exceedUpload () {
2709
2536
  this.$message({
2710
- message:"上传文件数量达到上限",
2711
- duration:2000,
2712
- type:'warning'
2537
+ message: "上传文件数量达到上限",
2538
+ duration: 2000,
2539
+ type: 'warning'
2713
2540
  })
2714
2541
  },
2715
2542
 
2716
- handlePictureCardPreview(file) {
2543
+ handlePictureCardPreview (file) {
2717
2544
  this.videoFlag = true;
2718
2545
  this.videoUploadPercent = file.percentage.toFixed(0);
2719
2546
  },
2720
- refTemplateVisibleChange(visible,field) {
2721
- console.debug('field1111',field)
2547
+ refTemplateVisibleChange (visible, field) {
2548
+ console.debug('field1111', field)
2722
2549
  let fields = field.formField.type === 'REF' ? field.formField.extInfo.ref.field : field.formField.extInfo.ref.vars
2723
2550
  if (visible) {
2724
2551
  if (
2725
2552
  !this.refNextPage[field.fieldId] || this.refNextPage[field.fieldId].hasNextPage
2726
2553
  ) {
2727
2554
  this.$set(this.refTemplateList, field.fieldId, [])
2728
- !this.dataQuery[field.fieldId] && this.$set(this.dataQuery,field.fieldId, {
2555
+ !this.dataQuery[field.fieldId] && this.$set(this.dataQuery, field.fieldId, {
2729
2556
  filterId: '',
2730
2557
  keywords: '',
2731
2558
  pageInfo: {
@@ -2736,24 +2563,24 @@ export default {
2736
2563
  templateId: ''
2737
2564
  })
2738
2565
  let param = {
2739
- templateId:field.formField.extInfo.ref.source,
2740
- fieldId:fields,
2741
- field:field,
2742
- dataQuery:this.dataQuery,
2743
- refNextPage:this.refNextPage
2566
+ templateId: field.formField.extInfo.ref.source,
2567
+ fieldId: fields,
2568
+ field: field,
2569
+ dataQuery: this.dataQuery,
2570
+ refNextPage: this.refNextPage
2744
2571
  }
2745
- this.$emit('getTemplateList',param)
2572
+ this.$emit('getTemplateList', param)
2746
2573
  }
2747
2574
  }
2748
2575
  },
2749
- changeRefData(value, item) {
2576
+ changeRefData (value, item) {
2750
2577
  console.log(value);
2751
2578
  console.debug('value', value, item, this.refTemplateList[item.fieldId])
2752
2579
  let arr = []
2753
2580
  if (this.refTemplateList[item.fieldId]) {
2754
2581
  this.refTemplateList[item.fieldId].forEach(data => {
2755
- if(typeof value == 'string' || typeof value == 'number') {
2756
- if(value == data.id) {
2582
+ if (typeof value == 'string' || typeof value == 'number') {
2583
+ if (value == data.id) {
2757
2584
  let obj = {
2758
2585
  name: data.name,
2759
2586
  id: data.id
@@ -2773,27 +2600,27 @@ export default {
2773
2600
  }
2774
2601
  this.extInfoFieldValue[item.fieldId] = arr
2775
2602
  },
2776
- setOptionWidth(){
2603
+ setOptionWidth () {
2777
2604
  this.selectOptionWidth = event.srcElement.offsetParent.offsetWidth + 40 + "px";
2778
2605
  },
2779
- lodeMore(item) {
2606
+ lodeMore (item) {
2780
2607
  this.dataQuery[item.fieldId].pageInfo.pageNo += 1
2781
- this.refTemplateVisibleChange(true,item)
2608
+ this.refTemplateVisibleChange(true, item)
2782
2609
  },
2783
2610
  //点击左侧备注图标提示
2784
- leftIcon(remark){
2611
+ leftIcon (remark) {
2785
2612
  this.$toast({
2786
- message:remark.text,
2787
- duration:2000,
2613
+ message: remark.text,
2614
+ duration: 2000,
2788
2615
  })
2789
2616
  },
2790
2617
  //校验输入框
2791
- typeCheck(field,item){
2792
- if (!item.value){
2618
+ typeCheck (field, item) {
2619
+ if (!item.value) {
2793
2620
  return
2794
2621
  }
2795
- console.debug('typeCheck',field)
2796
- if (field.extInfo.inputType==='MOBILE'){
2622
+ console.debug('typeCheck', field)
2623
+ if (field.extInfo.inputType === 'MOBILE') {
2797
2624
  const phone = /^[1][3,4,5,7,8][0-9]{9}$/
2798
2625
  if (!phone.test(item.value)) {
2799
2626
  this.$message({
@@ -2805,9 +2632,9 @@ export default {
2805
2632
  return
2806
2633
  }
2807
2634
  }
2808
- else if (field.extInfo.inputType ==='MAIL'){
2635
+ else if (field.extInfo.inputType === 'MAIL') {
2809
2636
  const reg =
2810
- /^([a-z0-9A-Z]+[-|_|\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,4}$/;
2637
+ /^([a-z0-9A-Z]+[-|_|\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,4}$/;
2811
2638
  if (!reg.test(item.value)) {
2812
2639
  this.$message({
2813
2640
  message: "请输入有效的邮箱",
@@ -2819,7 +2646,7 @@ export default {
2819
2646
  }
2820
2647
 
2821
2648
  }
2822
- else if (field.extInfo.inputType === 'ID_CARD'){
2649
+ else if (field.extInfo.inputType === 'ID_CARD') {
2823
2650
  const reg = /^(([1-9][0-9]{5}(19|20)[0-9]{2}((0[1-9])|(1[0-2]))([0-2][1-9]|10|20|30|31)[0-9]{3}([0-9]|X|x))|([1-9][0-9]{5}[0-9]{2}((0[1-9])|(1[0-2]))([0-2][1-9]|10|20|30|31)[0-9]{3}))$/
2824
2651
  if (!reg.test(item.value)) {
2825
2652
  this.$message({
@@ -2831,7 +2658,7 @@ export default {
2831
2658
  return
2832
2659
  }
2833
2660
  }
2834
- else if (field.extInfo.inputType ==='LINK'){
2661
+ else if (field.extInfo.inputType === 'LINK') {
2835
2662
  const reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])/;
2836
2663
  if (!reg.test(item.value)) {
2837
2664
  this.$message({
@@ -2843,27 +2670,30 @@ export default {
2843
2670
  return
2844
2671
  }
2845
2672
  }
2846
- else if (field.extInfo.inputType ==='NUMBER'||field.extInfo.inputType ==='RATE'){
2847
- if ( item.value < Number(field.extInfo.range.start)){
2673
+ else if (field.extInfo.inputType === 'NUMBER' || field.extInfo.inputType === 'RATE') {
2674
+ if (item.value < Number(field.extInfo.range.start)) {
2848
2675
  item.value = Number(field.extInfo.range.start)
2849
2676
  }
2850
- else if (item.value > Number(field.extInfo.range.end)){
2677
+ else if (item.value > Number(field.extInfo.range.end)) {
2851
2678
  item.value = Number(field.extInfo.range.end)
2852
2679
  }
2853
2680
  }
2854
2681
  },
2855
2682
  //打开级联/下拉抽屉选择
2856
- openDrawer(field,type){
2683
+ openDrawer (field, type) {
2857
2684
  this.detailField = field;
2858
- if (type == 'cascader' || type === 'pc_cascader'){
2859
- if (type == 'cascader'){
2685
+ if (type == 'cascader' || type === 'pc_cascader') {
2686
+ console.log(field.formField.extInfo, 'fieldfield');
2687
+ if (type == 'cascader') {
2860
2688
  this.showArea = true;
2861
2689
  }
2862
2690
  else {
2863
2691
  this.drawer = true;
2864
2692
  }
2865
- this.$nextTick(()=>{
2866
- let arr = this.extInfoFieldValue[field.fieldId]?this.extInfoFieldValue[field.fieldId]:[]
2693
+ // 判断来源是否是 webhook 打开对应弹窗,webhook 的级联字段只能选择到最后一级的选项
2694
+ this.webHookCascader = Boolean(field.formField.extInfo && field.formField.extInfo.WebHookParameter)
2695
+ this.$nextTick(() => {
2696
+ let arr = this.extInfoFieldValue[field.fieldId] ? this.extInfoFieldValue[field.fieldId] : []
2867
2697
  let drawerTree = this.$refs.drawerTree
2868
2698
  if (drawerTree) {
2869
2699
  if (Array.isArray(drawerTree)) {
@@ -2878,37 +2708,37 @@ export default {
2878
2708
  }
2879
2709
  })
2880
2710
  }
2881
- else if (type === 'select'){
2882
- this.options = field.formField.extInfo.option?field.formField.extInfo.option:field.formField.extInfo.options;
2711
+ else if (type === 'select') {
2712
+ this.options = field.formField.extInfo.option ? field.formField.extInfo.option : field.formField.extInfo.options;
2883
2713
  this.selectPopUp = true;
2884
- if (!this.detailField.value){
2714
+ if (!this.detailField.value) {
2885
2715
  return
2886
2716
  }
2887
- if (Array.isArray(this.detailField.value)){
2717
+ if (Array.isArray(this.detailField.value)) {
2888
2718
  this.defaultValue = this.detailField.value
2889
2719
  }
2890
2720
  else {
2891
2721
  this.defaultValue = [this.detailField.value]
2892
2722
  }
2893
- console.debug('selectPopUp',this.selectPopUp,this.options)
2723
+ console.debug('selectPopUp', this.selectPopUp, this.options)
2894
2724
  }
2895
2725
  },
2896
2726
  //保存级联数据
2897
- saveData(checkList,checkDatas){
2727
+ saveData (checkList, checkDatas) {
2898
2728
  this.clearOptionStruct();
2899
- this.$set(this.detailField,'value',checkList);
2729
+ this.$set(this.detailField, 'value', checkList);
2900
2730
  this.extInfoFieldValue[this.detailField.fieldId] = checkDatas;
2901
- this.$set(this.detailField.formField.extInfo,'extInfoFieldValue',checkDatas);
2902
- console.debug('checkDatas',this.detailField.formField.extInfo,checkList);
2731
+ this.$set(this.detailField.formField.extInfo, 'extInfoFieldValue', checkDatas);
2732
+ console.debug('checkDatas', this.detailField.formField.extInfo, checkList);
2903
2733
  this.changeSelect(this.detailField);
2904
2734
  this.$forceUpdate();
2905
2735
  this.showArea = false;
2906
2736
  this.drawer = false;
2907
2737
  },
2908
2738
  //保存所选下拉值
2909
- confirmSelect(option, list){
2910
- console.debug('option',option,list)
2911
- if (!option || !list){
2739
+ confirmSelect (option, list) {
2740
+ console.debug('option', option, list)
2741
+ if (!option || !list) {
2912
2742
  this.selectPopUp = false
2913
2743
  this.selectPicker = false
2914
2744
  return
@@ -2916,22 +2746,22 @@ export default {
2916
2746
  this.detailField.value = list;
2917
2747
  this.selectPopUp = false
2918
2748
  this.selectPicker = false;
2919
- if (this.detailField.formField.type === 'SELECT' && this.detailField.formField.extInfo.selectType !== '多选'){
2749
+ if (this.detailField.formField.type === 'SELECT' && this.detailField.formField.extInfo.selectType !== '多选') {
2920
2750
  this.changeSelect(this.detailField);
2921
2751
  }
2922
2752
  this.$forceUpdate();
2923
2753
  },
2924
2754
  //保存ref类型值
2925
- confirmRefSelect(option, list){
2926
- console.debug('options',option,list,this.selectDetail)
2927
- if (!option || !list){
2755
+ confirmRefSelect (option, list) {
2756
+ console.debug('options', option, list, this.selectDetail)
2757
+ if (!option || !list) {
2928
2758
  this.refShowPicker = false;
2929
2759
  return
2930
2760
  }
2931
2761
  this.selectDetail.value = list;
2932
2762
  let val = ''
2933
- if (Array.isArray(option)){
2934
- val = option.map(item=>{
2763
+ if (Array.isArray(option)) {
2764
+ val = option.map(item => {
2935
2765
  return item.id
2936
2766
  })
2937
2767
  this.extInfoFieldValue[this.selectDetail.fieldId] = option
@@ -2943,59 +2773,57 @@ export default {
2943
2773
  this.refShowPicker = false;
2944
2774
  },
2945
2775
  // 一个重复的方法 兼容 状态优先级 的关联控件,
2946
- relationSet(field,list) {
2776
+ relationSet (field, list) {
2947
2777
  let flag = false
2948
2778
  // 如果在extInfo下有该字段,表示已被关联,否则根据 类型去判断 retrun true 或者false
2949
- if(field.extInfo && field.extInfo[list] && Object.keys(field.extInfo[list]).length !== 0) {
2779
+ if (field.extInfo && field.extInfo[list] && Object.keys(field.extInfo[list]).length !== 0) {
2950
2780
  for (const key in field.extInfo[list]) {
2951
2781
  const element = field.extInfo[list][key];
2952
2782
  let orderFieldValue = ""
2953
- for (let i=0;i<this.formShow.form.formFieldRelation.length;i++){
2954
- if (key === this.formShow.form.formFieldRelation[i].fieldId || key === this.formShow.form.formFieldRelation[i].formField.workOrderFieldId){
2783
+ for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
2784
+ if (key === this.formShow.form.formFieldRelation[i].fieldId || key === this.formShow.form.formFieldRelation[i].formField.workOrderFieldId) {
2955
2785
  orderFieldValue = this.formShow.form.formFieldRelation[i].value
2956
2786
  break
2957
2787
  }
2958
2788
  }
2959
- console.debug('orderFieldValue',orderFieldValue)
2960
- if(orderFieldValue) {
2961
- if(Array.isArray(orderFieldValue)) {
2962
- if(Array.isArray(element)) {
2789
+ if (orderFieldValue) {
2790
+ if (Array.isArray(orderFieldValue)) {
2791
+ if (Array.isArray(element)) {
2963
2792
  for (let index = 0; index < element.length; index++) {
2964
- flag = orderFieldValue.some(item =>{ return item == element[index] })
2965
- if(flag) {
2793
+ flag = orderFieldValue.some(item => { return item == element[index] })
2794
+ if (flag) {
2966
2795
  return flag
2967
2796
  }
2968
2797
  }
2969
2798
  } else {
2970
- flag = orderFieldValue.some(item =>{ return item == element })
2971
- if(flag) {
2799
+ flag = orderFieldValue.some(item => { return item == element })
2800
+ if (flag) {
2972
2801
  return flag
2973
2802
  }
2974
2803
  }
2975
2804
  } else {
2976
- if(Array.isArray(element)) {
2805
+ if (Array.isArray(element)) {
2977
2806
  for (let index = 0; index < element.length; index++) {
2978
- flag = element[index] == orderFieldValue
2979
- if(flag) {
2807
+ flag = element[index] == orderFieldValue
2808
+ if (flag) {
2980
2809
  return flag
2981
2810
  }
2982
2811
  }
2983
2812
  } else {
2984
- flag = element == orderFieldValue
2985
- if(flag) {
2813
+ flag = element == orderFieldValue
2814
+ if (flag) {
2986
2815
  return flag
2987
2816
  }
2988
2817
  }
2989
2818
 
2990
2819
  }
2991
- }
2992
- else if(list == 'dependentFieldId') {
2993
- return flag = false
2820
+ } else if (list == 'dependentFieldId') {
2821
+ flag = false
2994
2822
  }
2995
2823
  }
2996
- } else if(list == 'dependentFieldId') {
2824
+ } else if (list == 'dependentFieldId') {
2997
2825
  return flag = true
2998
- } else if(list == 'requiredDependentFieldId') {
2826
+ } else if (list == 'requiredDependentFieldId') {
2999
2827
  return flag = false
3000
2828
  }
3001
2829
  return flag
@@ -3004,40 +2832,40 @@ export default {
3004
2832
  // this.attachments.splice(index, 1)
3005
2833
  this.attachmentList.splice(index, 1)
3006
2834
  },
3007
- attachDeleteFile(index,fieldId){
3008
- this.extInfoFieldValue[fieldId].splice(index,1)
2835
+ attachDeleteFile (index, fieldId) {
2836
+ this.extInfoFieldValue[fieldId].splice(index, 1)
3009
2837
  },
3010
- desUploadImageAndFile({type, param}) {
3011
- if(param.type == 'pending') {
3012
- this.attachmentList.push({
3013
- url: '',
3014
- name: param.name,
3015
- id: param.uid
3016
- })
3017
- } else {
3018
- this.attachmentList.forEach(item =>{
3019
- if(item.id == param.uid) {
3020
- item.url = param.url
3021
- delete item.uid
3022
- }
3023
- })
3024
- }
2838
+ desUploadImageAndFile ({ type, param }) {
2839
+ if (param.type == 'pending') {
2840
+ this.attachmentList.push({
2841
+ url: '',
2842
+ name: param.name,
2843
+ id: param.uid
2844
+ })
2845
+ } else {
2846
+ this.attachmentList.forEach(item => {
2847
+ if (item.id == param.uid) {
2848
+ item.url = param.url
2849
+ delete item.uid
2850
+ }
2851
+ })
2852
+ }
3025
2853
  },
3026
2854
  },
3027
- watch:{
3028
- formFieldValus:{
3029
- handler(value){
2855
+ watch: {
2856
+ formFieldValus: {
2857
+ handler (value) {
3030
2858
  console.log(value);
3031
2859
  },
3032
- deep:true
2860
+ deep: true
3033
2861
  },
3034
- workOrderDes:{
3035
- handler(val){
2862
+ workOrderDes: {
2863
+ handler (val) {
3036
2864
  let newVal = ''
3037
2865
  newVal = val.replace(/ style=".*?"/g, '');
3038
- if (this.currentEditor){
3039
- if (this.workOrderDestail){
3040
- this.$nextTick(() =>{
2866
+ if (this.currentEditor) {
2867
+ if (this.workOrderDestail) {
2868
+ this.$nextTick(() => {
3041
2869
  this.workOrderDestail.value = newVal;
3042
2870
  })
3043
2871
  }
@@ -3045,21 +2873,21 @@ export default {
3045
2873
  writer.setSelection( writer.createPositionAt( this.currentEditor.model.document.getRoot(), 'end' ) );
3046
2874
  });*/
3047
2875
  }
3048
- console.debug('workOrderDes',this.workOrderDestail)
2876
+ console.debug('workOrderDes', this.workOrderDestail)
3049
2877
  },
3050
- deep:true,
3051
- immediate:true
2878
+ deep: true,
2879
+ immediate: true
3052
2880
  },
3053
- fieldValue:{
3054
- handler(val){
3055
- console.debug('val',val)
3056
- setTimeout(()=>{
2881
+ fieldValue: {
2882
+ handler (val) {
2883
+ console.debug('val', val)
2884
+ setTimeout(() => {
3057
2885
  this.fieldSetting()
3058
- },0)
2886
+ }, 0)
3059
2887
  this.listenField();
3060
2888
  },
3061
- deep:true,
3062
- immediate:true
2889
+ deep: true,
2890
+ immediate: true
3063
2891
  }
3064
2892
  }
3065
2893
 
@@ -3072,131 +2900,155 @@ export default {
3072
2900
  .notClick {
3073
2901
  pointer-events: none;
3074
2902
  }
3075
- .formClass{
2903
+
2904
+ .formClass {
3076
2905
  /* border: 1px solid #ebebeb;*/
3077
2906
  font-family: "Avenir", Helvetica, Arial, sans-serif;
3078
2907
  border-radius: 15px;
3079
- .explanation{
2908
+
2909
+ .explanation {
3080
2910
  display: flex;
3081
2911
  padding: 4px;
3082
- .explanation-p{
2912
+
2913
+ .explanation-p {
3083
2914
  color: #366aff;
3084
2915
  font-size: 14px;
3085
2916
  margin: 10px 4px;
3086
- .el-icon-info{
2917
+
2918
+ .el-icon-info {
3087
2919
  margin-right: 8px;
3088
2920
  }
3089
2921
  }
3090
2922
  }
3091
- .explain-url{
3092
- a{
3093
- color:#366aff ;
2923
+
2924
+ .explain-url {
2925
+ a {
2926
+ color: #366aff;
3094
2927
  }
3095
2928
  }
3096
- .titleName{
2929
+
2930
+ .titleName {
3097
2931
  font-size: 1em;
3098
2932
  text-align: center;
3099
2933
  padding-bottom: 10px;
3100
2934
  display: flex;
3101
2935
  align-items: center;
3102
2936
  justify-content: center;
3103
- /* border-bottom: 1px solid #EEEEEE;*/
2937
+ /* border-bottom: 1px solid #EEEEEE;*/
3104
2938
  }
3105
- .title-link{
2939
+
2940
+ .title-link {
3106
2941
  height: 1px;
3107
2942
  background-color: #EEEEEE;
3108
2943
  }
3109
- .bottom-link{
2944
+
2945
+ .bottom-link {
3110
2946
  margin-top: 14px;
3111
2947
  height: 1px;
3112
2948
  background-color: #EEEEEE;
3113
2949
  }
3114
- .form-submit-btn{
2950
+
2951
+ .form-submit-btn {
3115
2952
  padding: 14px 16px 0 16px;
3116
2953
  text-align: center;
3117
2954
  }
3118
- /deep/.ck.ck-editor{
3119
- padding: 0 8px;
2955
+
2956
+ /deep/.ck.ck-editor {
2957
+ padding: 0 8px;
3120
2958
  }
3121
- /deep/.ck.ck-toolbar{
3122
- border-color:#E0E6F7;
3123
- border-top-left-radius: 9px!important;
3124
- border-top-right-radius: 9px!important;
2959
+
2960
+ /deep/.ck.ck-toolbar {
2961
+ border-color: #E0E6F7;
2962
+ border-top-left-radius: 9px !important;
2963
+ border-top-right-radius: 9px !important;
2964
+
3125
2965
  .ck-toolbar__items {
3126
2966
  .ck-button {
3127
2967
  color: #366AFF;
2968
+
3128
2969
  svg {
3129
2970
  fill: #366AFF;
3130
2971
  width: 12px !important;
3131
- height: 12px !important;
2972
+ height: 12px !important;
3132
2973
  margin-bottom: 2px;
3133
2974
  }
3134
2975
  }
3135
2976
  }
3136
2977
  }
3137
- /deep/.ck.ck-editor__editable_inline{
3138
- border-color:#E0E6F7;
3139
- min-height: 150px!important;
3140
- border-bottom-left-radius: 9px!important;
3141
- border-bottom-right-radius: 9px!important;
2978
+
2979
+ /deep/.ck.ck-editor__editable_inline {
2980
+ border-color: #E0E6F7;
2981
+ min-height: 150px !important;
2982
+ border-bottom-left-radius: 9px !important;
2983
+ border-bottom-right-radius: 9px !important;
3142
2984
  }
3143
- /deep/.ck-editor__editable{
3144
- img{
2985
+
2986
+ /deep/.ck-editor__editable {
2987
+ img {
3145
2988
  height: 140px;
3146
2989
  // width: 80%;
3147
2990
  object-fit: contain;
3148
2991
  }
2992
+
3149
2993
  .ck-widget_selected {
3150
- .ck-widget__type-around {
3151
- display: none;
3152
- }
2994
+ .ck-widget__type-around {
2995
+ display: none;
2996
+ }
3153
2997
  }
2998
+
3154
2999
  .ck-widget:hover {
3155
- outline-color:#366aff;
3000
+ outline-color: #366aff;
3001
+
3156
3002
  .ck-widget__type-around {
3157
3003
  display: none;
3158
3004
  }
3159
3005
  }
3006
+
3160
3007
  .ask-component-img-box {
3161
- width: auto;
3162
- height: auto;
3163
- display: inline-block;
3008
+ width: auto;
3009
+ height: auto;
3010
+ display: inline-block;
3164
3011
  }
3012
+
3165
3013
  .ask-component-placeholder-span[type=upload] {
3166
- background-color: rgba(0, 89, 255, 0.2);
3167
- display: inline-block;
3168
- padding: 2px 5px;
3169
- border-radius: 3px;
3170
- padding-left: 20px;
3171
- position: relative;
3014
+ background-color: rgba(0, 89, 255, 0.2);
3015
+ display: inline-block;
3016
+ padding: 2px 5px;
3017
+ border-radius: 3px;
3018
+ padding-left: 20px;
3019
+ position: relative;
3172
3020
  }
3021
+
3173
3022
  .ask-component-placeholder-span[type=upload]::after {
3174
- content: '';
3175
- background-image: url('../assets/image/building.png');
3176
- background-size: 100%;
3177
- width: 15px;
3178
- height: 15px;
3179
- position: absolute;
3180
- top: 5px;
3181
- left: 2px;
3182
- color: #366AFF;
3183
- animation: rotate 1.5s linear infinite;
3023
+ content: '';
3024
+ background-image: url('../assets/image/building.png');
3025
+ background-size: 100%;
3026
+ width: 15px;
3027
+ height: 15px;
3028
+ position: absolute;
3029
+ top: 5px;
3030
+ left: 2px;
3031
+ color: #366AFF;
3032
+ animation: rotate 1.5s linear infinite;
3184
3033
  }
3034
+
3185
3035
  @keyframes rotate {
3186
- from {
3187
- transform: rotate(0deg);
3188
- }
3189
- to {
3190
- transform: rotate(360deg);
3191
- }
3036
+ from {
3037
+ transform: rotate(0deg);
3038
+ }
3039
+
3040
+ to {
3041
+ transform: rotate(360deg);
3042
+ }
3192
3043
  }
3193
3044
 
3194
3045
  }
3195
3046
 
3196
- .cascader-class{
3047
+ .cascader-class {
3197
3048
  padding: 10px 16px;
3198
3049
  }
3199
- .cascader-input{
3050
+
3051
+ .cascader-input {
3200
3052
  -webkit-appearance: none;
3201
3053
  background-image: none;
3202
3054
  border: 1px solid #E0E6F7;
@@ -3208,50 +3060,58 @@ export default {
3208
3060
  line-height: 40px;
3209
3061
  outline: 0;
3210
3062
  padding: 0 15px;
3211
- -webkit-transition: border-color .2s cubic-bezier(.645,.045,.355,1);
3212
- transition: border-color .2s cubic-bezier(.645,.045,.355,1);
3063
+ -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1);
3064
+ transition: border-color .2s cubic-bezier(.645, .045, .355, 1);
3213
3065
  width: 100%;
3214
- background-color: transparent!important;
3215
- border-radius: 9px!important;
3066
+ background-color: transparent !important;
3067
+ border-radius: 9px !important;
3216
3068
  cursor: pointer;
3217
3069
  font-size: 14px;
3218
3070
  }
3219
- .cascader-name{
3071
+
3072
+ .cascader-name {
3220
3073
  color: #A9B3C6;
3221
3074
  font-size: 1em;
3222
3075
  padding-bottom: 8px;
3223
3076
  }
3224
- .form-field-file{
3225
- #attachment-upload{
3226
- /deep/.image-list{
3077
+
3078
+ .form-field-file {
3079
+ #attachment-upload {
3080
+ /deep/.image-list {
3227
3081
  padding: 0;
3228
3082
  }
3229
3083
  }
3230
3084
  }
3231
3085
  }
3232
- .pcFormClass{
3086
+
3087
+ .pcFormClass {
3233
3088
  width: 400px;
3234
3089
  margin: 0 auto;
3235
- .field-item{
3090
+
3091
+ .field-item {
3236
3092
  padding: 8px 0;
3237
- .field-item-name{
3093
+
3094
+ .field-item-name {
3238
3095
  padding-bottom: 8px;
3239
3096
  color: #A9B3C6;
3240
- /* color: #000000;*/
3097
+ /* color: #000000;*/
3241
3098
  }
3242
3099
  }
3243
- /deep/.el-input__inner{
3244
- border-color: #E0E6F7!important;
3245
- background-color: transparent!important;
3246
- border-radius: 9px!important;
3100
+
3101
+ /deep/.el-input__inner {
3102
+ border-color: #E0E6F7 !important;
3103
+ background-color: transparent !important;
3104
+ border-radius: 9px !important;
3247
3105
  }
3248
- /deep/.el-textarea__inner{
3249
- border-color: #E0E6F7!important;
3250
- background-color: transparent!important;
3251
- border-radius: 9px!important;
3252
- padding: 9px 15px!important;
3106
+
3107
+ /deep/.el-textarea__inner {
3108
+ border-color: #E0E6F7 !important;
3109
+ background-color: transparent !important;
3110
+ border-radius: 9px !important;
3111
+ padding: 9px 15px !important;
3253
3112
  }
3254
- .upload-demo{
3113
+
3114
+ .upload-demo {
3255
3115
  background-color: #FFFFFF;
3256
3116
  border: 1px solid #E0E6F7;
3257
3117
  border-radius: 10px;
@@ -3260,15 +3120,17 @@ export default {
3260
3120
  vertical-align: top;
3261
3121
  cursor: pointer;
3262
3122
  text-align: center;
3263
- font-size:28px;
3264
- color:#366AFF;
3123
+ font-size: 28px;
3124
+ color: #366AFF;
3265
3125
  display: flex;
3266
3126
  align-items: center;
3267
3127
  justify-content: center;
3268
- i{
3128
+
3129
+ i {
3269
3130
  color: #366AFF;
3270
3131
  }
3271
- /deep/.el-upload{
3132
+
3133
+ /deep/.el-upload {
3272
3134
  height: 100%;
3273
3135
  width: 100%;
3274
3136
  display: flex;
@@ -3276,7 +3138,8 @@ export default {
3276
3138
  justify-content: center;
3277
3139
  }
3278
3140
  }
3279
- /deep/.el-upload--picture-card{
3141
+
3142
+ /deep/.el-upload--picture-card {
3280
3143
  background-color: #FFFFFF;
3281
3144
  border: 1px solid #E0E6F7;
3282
3145
  border-radius: 10px;
@@ -3285,41 +3148,49 @@ export default {
3285
3148
  vertical-align: top;
3286
3149
  cursor: pointer;
3287
3150
  text-align: center;
3288
- font-size:28px;
3289
- color:#366AFF;
3151
+ font-size: 28px;
3152
+ color: #366AFF;
3290
3153
  display: flex;
3291
3154
  align-items: center;
3292
3155
  justify-content: center;
3293
- i{
3156
+
3157
+ i {
3294
3158
  color: #366AFF;
3295
3159
  }
3296
3160
  }
3297
- /deep/.el-select-dropdown__item.selected{
3161
+
3162
+ /deep/.el-select-dropdown__item.selected {
3298
3163
  color: #366aff;
3299
3164
  }
3300
- /deep/.el-upload-list--picture-card{
3301
- .el-upload-list__item{
3165
+
3166
+ /deep/.el-upload-list--picture-card {
3167
+ .el-upload-list__item {
3302
3168
  width: 74px;
3303
3169
  height: 74px;
3304
3170
  border-radius: 10px;
3305
3171
  }
3306
3172
  }
3307
- /deep/.el-upload-list__item-name{
3173
+
3174
+ /deep/.el-upload-list__item-name {
3308
3175
  max-width: 180px;
3309
3176
  }
3177
+
3310
3178
  .hide .el-upload--picture-card {
3311
- display: none!important;
3179
+ display: none !important;
3312
3180
  }
3313
3181
  }
3314
- /deep/.van-radio__icon--checked .van-icon{
3315
- background-color: #366aff!important;
3316
- border-color: #366aff!important;
3182
+
3183
+ /deep/.van-radio__icon--checked .van-icon {
3184
+ background-color: #366aff !important;
3185
+ border-color: #366aff !important;
3317
3186
  }
3318
- /deep/.van-checkbox__icon--checked .van-icon{
3319
- background-color: #366aff!important;
3320
- border-color: #366aff!important;
3187
+
3188
+ /deep/.van-checkbox__icon--checked .van-icon {
3189
+ background-color: #366aff !important;
3190
+ border-color: #366aff !important;
3321
3191
  }
3322
- /deep/.vant-upload--picture-card{
3192
+
3193
+ /deep/.vant-upload--picture-card {
3323
3194
  background-color: #ffffff;
3324
3195
  border: 1px solid #E0E6F7;
3325
3196
  border-radius: 10px;
@@ -3328,92 +3199,111 @@ export default {
3328
3199
  vertical-align: top;
3329
3200
  cursor: pointer;
3330
3201
  text-align: center;
3331
- font-size:28px;
3332
- color:#8c939d;
3202
+ font-size: 28px;
3203
+ color: #8c939d;
3333
3204
  display: flex;
3334
3205
  align-items: center;
3335
3206
  justify-content: center;
3336
- i{
3207
+
3208
+ i {
3337
3209
  color: #366aff;
3338
3210
  }
3339
3211
  }
3340
- /deep/.van-popup{
3212
+
3213
+ /deep/.van-popup {
3341
3214
  border-radius: 5px;
3342
3215
  }
3343
- .remPhoneClassForm{
3344
- .mobileFormClass{
3216
+
3217
+ .remPhoneClassForm {
3218
+ .mobileFormClass {
3345
3219
  width: calc(100vw - 110px);
3346
3220
  background-color: white;
3347
- .form-field-item{
3348
- .form-field-item-value{
3349
- /deep/.van-cell{
3221
+
3222
+ .form-field-item {
3223
+ .form-field-item-value {
3224
+ /deep/.van-cell {
3350
3225
  flex-direction: column;
3351
3226
  padding: 8px 16px;
3352
3227
  }
3353
- /deep/.van-cell__value{
3228
+
3229
+ /deep/.van-cell__value {
3354
3230
  border: 1px solid #E0E6F7;
3355
3231
  border-radius: 9px;
3356
3232
  min-height: 40px;
3357
3233
  padding: 0 10px;
3358
3234
  }
3359
- /deep/.van-cell__right-icon{
3360
- color: #999999!important;
3235
+
3236
+ /deep/.van-cell__right-icon {
3237
+ color: #999999 !important;
3361
3238
  }
3362
- .form-field-item-file{
3239
+
3240
+ .form-field-item-file {
3363
3241
  padding: 10px 16px;
3364
- .fileName{
3242
+
3243
+ .fileName {
3365
3244
  padding-bottom: 8px;
3366
3245
  color: #A9B3C6;
3367
- /* color: #000000;*/
3246
+ /* color: #000000;*/
3368
3247
  }
3369
- #attachment-upload{
3370
- /deep/.image-list{
3248
+
3249
+ #attachment-upload {
3250
+ /deep/.image-list {
3371
3251
  padding: 0;
3372
3252
  }
3373
3253
  }
3374
3254
  }
3375
- .workorder_description{
3376
- /* padding: 8px 16px;*/
3255
+
3256
+ .workorder_description {
3257
+ /* padding: 8px 16px;*/
3377
3258
  padding: 8px 0;
3259
+
3378
3260
  /*font-size: 14px;*/
3379
- .field-name{
3261
+ .field-name {
3380
3262
  width: 100%;
3381
3263
  text-align: left;
3382
3264
  color: #A9B3C6;
3383
- /* color: #000000;*/
3265
+ /* color: #000000;*/
3384
3266
  line-height: 1;
3385
3267
  padding-bottom: 8px;
3386
3268
  }
3269
+
3387
3270
  /*.required-name{
3388
3271
  margin-left: -6px;
3389
3272
  }*/
3390
3273
 
3391
- /* /deep/.ck-content .image img{
3274
+ /* /deep/.ck-content .image img{
3392
3275
  max-width: 200px!important;
3393
3276
  }*/
3394
3277
  }
3395
3278
  }
3396
- .form-field-item-other{
3397
- /deep/.van-cell{
3279
+
3280
+ .form-field-item-other {
3281
+ /deep/.van-cell {
3398
3282
  flex-direction: column;
3399
3283
  }
3400
- /deep/.van-cell__value{
3284
+
3285
+ /deep/.van-cell__value {
3401
3286
  min-height: 40px;
3402
3287
  }
3403
3288
  }
3404
- .explan-ation{
3405
- .explan-ation-div{
3289
+
3290
+ .explan-ation {
3291
+ .explan-ation-div {
3406
3292
  display: flex;
3407
- /* padding: 4px 16px;*/
3293
+ /* padding: 4px 16px;*/
3408
3294
  padding: 4px;
3409
3295
  }
3410
- .explan-ation-p{
3411
- color: #366aff;font-size: 14px;margin: 16px 4px;
3296
+
3297
+ .explan-ation-p {
3298
+ color: #366aff;
3299
+ font-size: 14px;
3300
+ margin: 16px 4px;
3412
3301
  }
3413
3302
  }
3414
3303
  }
3415
- .upload-phone-demo{
3416
- /deep/.el-upload--picture-card{
3304
+
3305
+ .upload-phone-demo {
3306
+ /deep/.el-upload--picture-card {
3417
3307
  background-color: #fbfdff;
3418
3308
  border: 1px dashed #c0ccda;
3419
3309
  border-radius: 6px;
@@ -3422,61 +3312,71 @@ export default {
3422
3312
  vertical-align: top;
3423
3313
  cursor: pointer;
3424
3314
  text-align: center;
3425
- font-size:28px;
3426
- color:#8c939d;
3315
+ font-size: 28px;
3316
+ color: #8c939d;
3427
3317
  display: flex;
3428
3318
  align-items: center;
3429
3319
  justify-content: center;
3430
3320
  }
3431
- /deep/.el-upload-list--picture-card .el-upload-list__item{
3321
+
3322
+ /deep/.el-upload-list--picture-card .el-upload-list__item {
3432
3323
  height: 76px;
3433
3324
  width: 76px;
3434
3325
  }
3435
3326
  }
3436
- /deep/.van-image__img{
3327
+
3328
+ /deep/.van-image__img {
3437
3329
  border-radius: 10px;
3438
3330
  }
3439
3331
  }
3440
- .submitClass{
3332
+
3333
+ .submitClass {
3441
3334
  min-width: 100px;
3442
3335
  background-color: #366aff;
3443
- color: white!important;
3336
+ color: white !important;
3444
3337
  height: 32px;
3445
- i{
3338
+
3339
+ i {
3446
3340
  padding-right: 8px;
3447
3341
  font-weight: 600;
3448
3342
  }
3449
3343
  }
3450
- /deep/.van-radio-group--horizontal{
3451
- .van-radio{
3344
+
3345
+ /deep/.van-radio-group--horizontal {
3346
+ .van-radio {
3452
3347
  min-width: 100px;
3453
3348
  max-width: 260px;
3454
3349
  flex: none;
3455
3350
  }
3456
- .van-radio--horizontal{
3351
+
3352
+ .van-radio--horizontal {
3457
3353
  padding: 0.3rem 0;
3458
3354
  margin-right: 6px;
3459
3355
  }
3460
3356
  }
3461
- /deep/.van-checkbox-group--horizontal{
3462
- .van-checkbox{
3357
+
3358
+ /deep/.van-checkbox-group--horizontal {
3359
+ .van-checkbox {
3463
3360
  min-width: 100px;
3464
3361
  max-width: 260px;
3465
3362
  flex: none;
3466
3363
  }
3467
- .van-checkbox--horizontal{
3364
+
3365
+ .van-checkbox--horizontal {
3468
3366
  padding: 0.3rem 0;
3469
3367
  margin-right: 6px;
3470
3368
  }
3471
3369
  }
3472
- /deep/.van-button--info{
3473
- border:1px solid #366aff;
3370
+
3371
+ /deep/.van-button--info {
3372
+ border: 1px solid #366aff;
3474
3373
  }
3475
- /deep/.van-field__label{
3374
+
3375
+ /deep/.van-field__label {
3476
3376
  width: 100%;
3477
3377
  text-align: left;
3478
- color: #A9B3C6!important;
3479
- /* color: #000000!important;*/
3378
+ color: #A9B3C6 !important;
3379
+ /* color: #000000!important;*/
3480
3380
  display: flex;
3481
3381
  align-items: center;
3482
3382
  line-height: 1;
@@ -3484,49 +3384,57 @@ export default {
3484
3384
  font-size: 1em;
3485
3385
  }
3486
3386
 
3487
- /deep/.van-field__control{
3387
+ /deep/.van-field__control {
3488
3388
  min-height: 40px;
3489
3389
  }
3490
- /deep/textarea{
3390
+
3391
+ /deep/textarea {
3491
3392
  padding: 7px 0;
3492
3393
  }
3493
- /deep/.van-dropdown-menu__bar{
3494
- box-shadow: none!important;
3394
+
3395
+ /deep/.van-dropdown-menu__bar {
3396
+ box-shadow: none !important;
3495
3397
  }
3496
- /deep/.van-overlay{
3497
- background-color: rgba(0,0,0,.4);
3398
+
3399
+ /deep/.van-overlay {
3400
+ background-color: rgba(0, 0, 0, .4);
3498
3401
  }
3499
3402
  }
3500
3403
 
3501
- .remCompanyClassForm{
3404
+ .remCompanyClassForm {
3502
3405
  width: 100%;
3503
3406
  font-size: 1em;
3504
- .submitClass{
3407
+
3408
+ .submitClass {
3505
3409
  min-width: 100px;
3506
- color: white!important;
3507
- background-color:#366aff;
3410
+ color: white !important;
3411
+ background-color: #366aff;
3508
3412
  border-color: #366aff;
3509
- i{
3413
+
3414
+ i {
3510
3415
  padding-right: 8px;
3511
3416
  font-weight: 600;
3512
3417
  }
3513
3418
  }
3514
- /deep/.el-checkbox-group{
3419
+
3420
+ /deep/.el-checkbox-group {
3515
3421
  display: flex;
3516
3422
  align-items: center;
3517
3423
  flex-wrap: wrap;
3518
- .el-checkbox{
3424
+
3425
+ .el-checkbox {
3519
3426
  padding: 8px 0;
3520
- min-width:150px;
3427
+ min-width: 150px;
3521
3428
  max-width: 280px;
3522
3429
  flex: none;
3523
3430
  display: flex;
3524
3431
  overflow: hidden;
3525
3432
  margin-right: 0;
3526
3433
  display: flex;
3527
- align-items:center;
3434
+ align-items: center;
3528
3435
  }
3529
- .el-checkbox__label{
3436
+
3437
+ .el-checkbox__label {
3530
3438
  font-size: 1em;
3531
3439
  overflow: hidden;
3532
3440
  text-overflow: ellipsis;
@@ -3534,20 +3442,22 @@ export default {
3534
3442
  }
3535
3443
  }
3536
3444
 
3537
- /deep/.el-radio-group{
3445
+ /deep/.el-radio-group {
3538
3446
  display: flex;
3539
3447
  align-items: center;
3540
3448
  flex-wrap: wrap;
3541
- .el-radio{
3449
+
3450
+ .el-radio {
3542
3451
  padding: 8px 0;
3543
- min-width:150px;
3452
+ min-width: 150px;
3544
3453
  max-width: 280px;
3545
3454
  flex: none;
3546
3455
  display: flex;
3547
3456
  overflow: hidden;
3548
3457
  margin-right: 0;
3549
3458
  }
3550
- .el-radio__label{
3459
+
3460
+ .el-radio__label {
3551
3461
  overflow: hidden;
3552
3462
  text-overflow: ellipsis;
3553
3463
  white-space: nowrap;
@@ -3555,27 +3465,33 @@ export default {
3555
3465
  }
3556
3466
  }
3557
3467
 
3558
- /deep/.el-radio__input.is-checked+.el-radio__label{
3559
- color: #366aff!important;
3468
+ /deep/.el-radio__input.is-checked+.el-radio__label {
3469
+ color: #366aff !important;
3560
3470
  }
3561
- /deep/.el-radio__input.is-checked .el-radio__inner{
3562
- color: #366aff!important;
3563
- border-color: #366aff!important;
3564
- background: #366aff!important;
3471
+
3472
+ /deep/.el-radio__input.is-checked .el-radio__inner {
3473
+ color: #366aff !important;
3474
+ border-color: #366aff !important;
3475
+ background: #366aff !important;
3565
3476
  }
3566
- /deep/.el-checkbox__input.is-checked+.el-checkbox__label{
3567
- color: #366aff!important;
3477
+
3478
+ /deep/.el-checkbox__input.is-checked+.el-checkbox__label {
3479
+ color: #366aff !important;
3568
3480
  }
3569
- /deep/.el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner{
3570
- background-color: #366aff!important;
3571
- border-color: #366aff!important;
3481
+
3482
+ /deep/.el-checkbox__input.is-checked .el-checkbox__inner,
3483
+ .el-checkbox__input.is-indeterminate .el-checkbox__inner {
3484
+ background-color: #366aff !important;
3485
+ border-color: #366aff !important;
3572
3486
  }
3487
+
3573
3488
  /deep/.ck .ck-icon {
3574
3489
  width: 14px !important;
3575
3490
  height: 14px !important;
3576
3491
  }
3577
3492
  }
3578
- .drawer-container{
3493
+
3494
+ .drawer-container {
3579
3495
  height: 100%;
3580
3496
  overflow: hidden;
3581
3497
  }