askbot-dragon 0.7.91 → 0.7.94

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.
@@ -6,31 +6,32 @@
6
6
  </div>
7
7
  <div class="title-link"></div>
8
8
  <div class="pcFormClass" v-if="isCompany">
9
- <div v-for="(item) in formShow.form.formFieldRelation"
10
- :key="item.formField.id"
11
- :class="{notClick:disableds === true}"
12
- >
13
- <div v-if="item.formField.type!=='CHAT_RECORD'&&item.formField.type!=='CHANNEL'&&item.display&&item.fieldId!=='workorder_name'" class="field-item">
14
- <div v-if="item.display&&item.fieldId!=='workorder_name'&&item.formField.type!=='EXPLANATION'&&item.formField.type!=='EXPLAIN'" class="field-item-name">
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
15
  <span v-if="item.fieldId!=='workorder_description'&&item.fieldId!=='workorder_clientId'">{{item.formField.name}}</span>
16
16
  <span v-if="item.fieldId==='workorder_description'">问题描述</span>
17
17
  <span v-if="item.fieldId==='workorder_clientId'">报单人</span>
18
- <span style="color: red;padding-left: 5px" v-if="item.required===true">*</span>
18
+ <span style="color: red;padding-left: 5px" v-if="item.required || isRequiredFn(item.formField)">*</span>
19
19
  </div>
20
- <el-input v-model=item.value
20
+ <!-- item.value -->
21
+ <el-input v-model="item.value"
21
22
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请输入'"
22
23
  :maxlength="item.formField.extInfo&&item.formField.extInfo.maxNum?item.formField.extInfo.maxNum*1:1000"
23
24
  v-if="item.formField.type==='INPUT'&&item.fieldId!=='workorder_name'"
24
25
  ></el-input>
25
- <div v-if="item.formField.type==='EXPLANATION'">
26
+ <template v-else-if="item.formField.type==='EXPLANATION'">
26
27
  <div class="explanation">
27
28
  <p class="explanation-p">
28
29
  <span class="el-icon-info"></span>
29
30
  {{item.formField.extInfo.descriptionText}}
30
31
  </p>
31
32
  </div>
32
- </div>
33
- <div v-if="item.formField.type==='EXPLAIN'">
33
+ </template>
34
+ <template v-else-if="item.formField.type==='EXPLAIN'">
34
35
  <div class="explanation">
35
36
  <p class="explanation-p">
36
37
  <span class="el-icon-info"></span>
@@ -38,31 +39,31 @@
38
39
  <span v-else>{{item.value}}</span>
39
40
  </p>
40
41
  </div>
41
- </div>
42
- <el-input type="textarea" :rows="2" v-model=item.value
42
+ </template>
43
+ <el-input type="textarea" :rows="2" v-model="item.value"
43
44
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请输入'"
44
45
  :maxlength="item.formField.extInfo&&item.formField.extInfo.maxNum?item.formField.extInfo.maxNum*1:1000"
45
- v-if="item.formField.type==='TEXTAREA'&& item.display&&item.fieldId!=='workorder_description'"
46
+ v-if="item.formField.type==='TEXTAREA'&& item.fieldId!=='workorder_description'"
46
47
  ></el-input>
47
48
  <ckeditor
48
49
  :editor="ckeditor.editor"
49
50
  v-model="item.value"
50
51
  :config="ckeditor.editorConfig"
51
- v-else-if="item.display&&item.fieldId==='workorder_description'"
52
+ v-else-if="item.fieldId==='workorder_description'"
52
53
  ></ckeditor>
53
54
  <el-date-picker
54
55
  v-model=item.value
55
56
  type="date"
56
57
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择日期'"
57
58
  style="width: 100%"
58
- v-if="item.formField.type==='DATE_PICKER'"
59
+ v-else-if="item.formField.type==='DATE_PICKER'"
59
60
  >
60
61
  </el-date-picker>
61
62
  <el-time-picker
62
63
  v-model=item.value
63
64
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择时间'"
64
65
  style="width: 100%"
65
- v-if="item.formField.type==='TIME_PICKER' && !item.formField.extInfo.mold"
66
+ v-else-if="item.formField.type==='TIME_PICKER' && (!item.formField.extInfo.mold || item.formField.extInfo.mold == 'TIME' || getMoldTime(item.formField) == 'TIME')"
66
67
  >
67
68
  </el-time-picker>
68
69
  <el-date-picker
@@ -70,7 +71,7 @@
70
71
  type="date"
71
72
  style="width: 100%"
72
73
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择日期'"
73
- v-if="item.formField.type==='TIME_PICKER' &&item.formField.extInfo.mold==='DATA'"
74
+ v-else-if="item.formField.type==='TIME_PICKER' && (item.formField.extInfo.mold==='DATA' || item.formField.extInfo.mold==='DATE' || getMoldTime(item.formField) == 'DATE')"
74
75
  >
75
76
  </el-date-picker>
76
77
  <el-date-picker
@@ -79,20 +80,20 @@
79
80
  clearable
80
81
  style="width: 100%"
81
82
  type="datetime"
82
- v-if="item.formField.type==='TIME_PICKER' &&item.formField.extInfo.mold==='DATA_TIME'"
83
+ 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')"
83
84
  >
84
85
  </el-date-picker>
85
- <div v-if="item.formField.type==='RADIO' &&item.formField.extInfo.options">
86
+ <div v-else-if="item.formField.type==='RADIO' &&item.formField.extInfo.options">
86
87
  <el-radio-group v-model=item.value style="text-align:left">
87
88
  <el-radio v-for="(items,index) in item.formField.extInfo.options" :label=items.value :key="index">{{items.label}}</el-radio>
88
89
  </el-radio-group>
89
90
  </div>
90
- <div v-if="item.formField.type==='RADIO' &&item.formField.extInfo.option">
91
+ <div v-else-if="item.formField.type==='RADIO' &&item.formField.extInfo.option">
91
92
  <el-radio-group v-model=item.value style="text-align:left">
92
93
  <el-radio v-for="(items,index) in item.formField.extInfo.option" :label=items.value :key="index">{{items.label}}</el-radio>
93
94
  </el-radio-group>
94
95
  </div>
95
- <div v-if="item.formField.type==='CHECKBOX' && item.formField.extInfo.option">
96
+ <div v-else-if="item.formField.type==='CHECKBOX' && item.formField.extInfo.option">
96
97
  <el-checkbox-group v-model=item.value style="text-align:left">
97
98
  <el-checkbox
98
99
  v-for="(items,index) in item.formField.extInfo.option"
@@ -101,7 +102,7 @@
101
102
  >{{items.label}}</el-checkbox>
102
103
  </el-checkbox-group>
103
104
  </div>
104
- <div v-if="item.formField.type==='CHECKBOX' && item.formField.extInfo.options">
105
+ <div v-else-if="item.formField.type==='CHECKBOX' && item.formField.extInfo.options">
105
106
  <el-checkbox-group v-model=item.value style="text-align:left">
106
107
  <el-checkbox
107
108
  v-for="(items,index) in item.formField.extInfo.options"
@@ -110,8 +111,8 @@
110
111
  >{{items.label}}</el-checkbox>
111
112
  </el-checkbox-group>
112
113
  </div>
113
- <div v-if="item.formField.type==='SELECT' || item.formField.type==='OPTION'" >
114
- <el-select
114
+ <div v-else-if="item.formField.type==='SELECT' || item.formField.type==='OPTION'" >
115
+ <!-- <el-select
115
116
  v-model=item.value
116
117
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
117
118
  style="width: 100%"
@@ -138,59 +139,127 @@
138
139
  :label="items.label"
139
140
  :value="items.value">
140
141
  </el-option>
142
+ </el-select>-->
143
+ <el-select
144
+ v-model=item.value
145
+ :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
146
+ style="width: 100%"
147
+ filterable
148
+ v-if="item.formField.extInfo && item.formField.extInfo.option"
149
+ >
150
+ <el-option
151
+ v-for="(items,index) in item.formField.extInfo.option"
152
+ :key="index"
153
+ :label="items.label"
154
+ :value="items.value">
155
+ </el-option>
141
156
  </el-select>
157
+ <div class="cascader-input" v-else @click="openDrawer(item,'select')">
158
+ <template v-if="item.value && (!Array.isArray(item.value) || (Array.isArray(item.value) && item.value.length))">
159
+ <template v-if="Array.isArray(item.value)">
160
+ <span v-for="(select,selectIndex) in item.value" :key="selectIndex">
161
+ {{selectIndex==0?select:','+select}}
162
+ </span>
163
+ </template>
164
+ <template v-else>{{item.value}}</template>
165
+ </template>
166
+ <span v-else>{{item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'}}</span>
167
+ </div>
142
168
  </div>
143
- <div v-if="item.formField.type==='CASCADER'">
144
- <el-cascader
169
+ <template v-else-if="item.formField.type==='CASCADER'">
170
+ <div class="cascader-input" @click="openDrawer(item,'pc_cascader')">
171
+ <template v-if="checkDatas[item.fieldId] && (Array.isArray(checkDatas[item.fieldId]) && checkDatas[item.fieldId].length > 0)">
172
+ <span v-for="(cas,casIndex) in checkDatas[item.fieldId]" :key="casIndex">
173
+ {{casIndex==0?cas.label:'/'+cas.label}}
174
+ </span>
175
+ </template>
176
+ <span v-else>{{item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'}}</span>
177
+ </div>
178
+ <!-- <el-cascader
145
179
  v-model=item.value
146
180
  :options=item.formField.extInfo.cascade
147
181
  style="width: 100%;"
148
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择时间'"
182
+ :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
149
183
  v-if="item.formField.extInfo.cascade"
150
184
  ></el-cascader>
151
- <el-cascader
185
+ <el-cascader
152
186
  v-model=item.value
153
- :options=item.formField.extInfo.cascadeDown[0].options
187
+ :options="item.formField.extInfo.cascadeDown.options"
154
188
  style="width: 100%;"
155
189
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择时间'"
156
- v-else-if="item.formField.extInfo.cascadeDown"
190
+ v-else-if="Object.prototype.toString.call(item.formField.extInfo.cascadeDown) === '[object Object]'"
157
191
  ></el-cascader>
158
- </div>
159
- <div v-if="item.formField.type==='FILE'">
160
- <div @click="checkUpload(item.fieldId,item.formField.extInfo.limitNum)" @mouseover="checkUpload(item.fieldId,item.formField.extInfo.limitNum)" style="flex: 0.75;display:flex;align-items: center;">
192
+ <el-cascader
193
+ v-model=item.value
194
+ :options=setOptions(item.formField.extInfo)
195
+ style="width: 100%;"
196
+ :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
197
+ v-else-if="item.formField.extInfo.cascadeDown.length != 0"
198
+ ></el-cascader>-->
199
+ </template>
200
+ <div v-else-if="item.formField.type==='FILE' || item.formField.type === 'IMAGE' || item.formField.type === 'ATTACHMENT' || item.formField.type === 'VIDEO'">
201
+ <div @click="checkUpload(item.fieldId,item.formField.extInfo)" @mouseover="checkUpload(item.fieldId,item.formField.extInfo)" style="flex: 0.75;display:flex;align-items: center;">
161
202
  <el-upload
162
203
  class="upload-demo"
163
204
  ref="upload"
164
- list-type="picture-card"
165
- accept="image/*"
205
+ :list-type="item.formField.type === 'IMAGE'?'picture-card':''"
206
+ :accept="acceptFieldType(item.formField.type)"
166
207
  name="file"
167
208
  action="/open/media/file/upload"
168
209
  :multiple="item.formField.extInfo&&item.formField.extInfo.limitNum&&item.formField.extInfo.limitNum>1?true:false"
169
210
  :file-list="fileListList[item.fieldId]"
170
- :limit=item.formField.extInfo.limitNum?Number(item.formField.extInfo.limitNum):1
171
- :before-upload="beforeAvatarUpload"
211
+ :limit="item.formField.extInfo.limitNum?Number(item.formField.extInfo.limitNum):(item.formField.extInfo.limit ? Number(item.formField.extInfo.limit) : 1)"
212
+ :before-upload="(file=>{return beforeAvatarUpload(file,item.formField.type)})"
172
213
  :on-exceed="exceedUpload"
173
214
  :on-remove="handleRemove"
174
215
  :http-request="aliyunOssRequest"
175
216
  :on-change="handleEditChange"
176
217
  :on-success="successUpload"
177
218
  >
178
- <i class="el-icon-plus"></i>
219
+ <i class="el-icon-plus"></i>
220
+ <!-- <el-button size="small" type="primary" v-else class="uploadBtn">点击上传</el-button>-->
179
221
  </el-upload>
180
222
  </div>
181
223
  </div>
224
+ <div v-else-if="item.formField.type == 'REF_TEMPLATE' || item.formField.type == 'REF'">
225
+ <el-select
226
+ v-model=item.value
227
+ :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
228
+ style="width: 100%"
229
+ filterable
230
+ :multiple="item.formField.extInfo && item.formField.extInfo.selectType == '多选'"
231
+ @visible-change="(visible) =>{ return refTemplateVisibleChange(visible,item) }"
232
+ collapse-tags
233
+ @change="changeRefData($event,item)"
234
+ >
235
+ <template v-for="(items,index) in refTemplateList[item.fieldId]">
236
+ <el-option
237
+ v-if="refTemplateList[item.fieldId]"
238
+ :key="index"
239
+ :label="items.name"
240
+ :value="items.id">
241
+ </el-option>
242
+ </template>
243
+ <div
244
+ @click="lodeMore(item)"
245
+ v-if="dataQuery[item.fieldId] && dataQuery[item.fieldId].hasNextPage"
246
+ style="width:100%;height:30px;display:flex;align-items: center;justify-content: center;color:#606266">
247
+ 加载更多
248
+ </div>
249
+ </el-select>
250
+ </div>
182
251
  </div>
183
252
  </div>
184
253
  </div>
185
254
  <div class="mobileFormClass" v-else style="padding: 10px 0;" :class="{notClick:disableds === true}">
186
- <div v-for="(item,index) in formFieldRelation"
187
- :key="item.formField.id"
255
+ <div v-for="(item) in formFieldRelation"
256
+ :key="item.fieldId"
188
257
  class="form-field-item"
189
- >
258
+ >
190
259
  <div v-if="item.formField.type==='INPUT'" class="form-field-item-value">
191
260
  <van-field v-model=item.value
192
261
  :label=item.formField.name
193
- :required="item.required===true"
262
+ :required="item.required || isRequiredFn(item.formField)"
194
263
  :disabled="disableds"
195
264
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请输入'"
196
265
  :maxlength="item.formField.extInfo&&item.formField.extInfo.maxNum?item.formField.extInfo.maxNum*1:1000"
@@ -212,7 +281,7 @@
212
281
  <div v-else-if="item.formField.type==='TEXTAREA'" class="form-field-item-value">
213
282
  <van-field v-model=item.value
214
283
  :label=item.formField.name
215
- :required="item.required===true"
284
+ :required="item.required || isRequiredFn(item.formField)"
216
285
  type="textarea"
217
286
  :disabled="disableds"
218
287
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请输入'"
@@ -220,8 +289,8 @@
220
289
  v-if="item.fieldId!=='workorder_description'"
221
290
  />
222
291
  <div v-if="item.fieldId==='workorder_description'" class="workorder_description">
223
- <div class="field-name" :class="item.required?'required-name':''">
224
- <span v-if="item.required" style="color: red">*</span>
292
+ <div class="field-name" :class="item.required || isRequiredFn(item.formField)?'required-name':''">
293
+ <span v-if="item.required || isRequiredFn(item.formField)" style="color: red">*</span>
225
294
  {{item.formField.name}}
226
295
  </div>
227
296
  <ckeditor
@@ -240,67 +309,93 @@
240
309
  :value=dateValue[item.fieldId]
241
310
  :label=item.formField.name
242
311
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择日期'"
243
- :required="item.required===true"
312
+ :required="item.required || isRequiredFn(item.formField)"
244
313
  @click="dateClick(item.fieldId)"
245
314
  :disabled="disableds"
246
315
  right-icon="van-icon van-icon-arrow van-cell__right-icon"
247
316
  />
248
317
  <van-calendar
249
318
  v-model="showCalendar"
250
- @confirm="onConfirmCalendar($event,dateId)"
319
+ @confirm="onConfirmCalendar($event,item)"
251
320
  />
252
321
  </div>
253
- <div v-else-if="item.formField.type==='TIME_PICKER'&&(!item.formField.extInfo.mold||item.formField.extInfo.mold==='DATA_TIME')" class="form-field-item-value">
322
+ <div v-else-if="item.formField.type==='TIME_PICKER'&&(!item.formField.extInfo.mold||item.formField.extInfo.mold==='DATA_TIME' || item.formField.extInfo.mold==='DATE_TIME' || getMoldTime(item.formField) == 'DATE_TIME')" class="form-field-item-value">
254
323
  <van-field
255
324
  readonly
256
325
  clickable
257
326
  name="datetimePicker"
258
- :required="item.required===true"
327
+ :required="item.required || isRequiredFn(item.formField)"
259
328
  :value=timeValue[item.fieldId]
260
329
  :label=item.formField.name
261
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择时间'"
262
- @click="timeClick(item.fieldId,item)"
330
+ :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
331
+ @click="timeClick(item.fieldId,item,'DATE_TIME')"
263
332
  :disabled="disableds"
264
333
  right-icon="van-icon van-icon-arrow van-cell__right-icon"
265
334
 
266
335
  />
267
- <van-popup v-model="showTimePicker" position="bottom">
336
+ <van-popup v-model="dateTimePicker" position="bottom">
268
337
  <van-datetime-picker
269
338
  v-model="currentDate"
270
339
  type="datetime"
271
- @confirm="onConfirm($event,timeId,item)"
272
- @cancel="showTimePicker = false"
340
+ @confirm="onConfirm($event,item.fieldId,item,'DATE_TIME')"
341
+ @cancel="dateTimePicker = false"
273
342
  :min-date="minDate"
274
343
  :formatter="formatter"
275
344
  :max-date="maxDate"
276
345
  />
277
346
  </van-popup>
278
347
  </div>
279
- <div v-else-if="item.formField.type==='TIME_PICKER'&&item.formField.extInfo.mold==='DATA'" class="form-field-item-value">
348
+ <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">
349
+ <van-field
350
+ readonly
351
+ clickable
352
+ name="datetimePicker"
353
+ :required="item.required || isRequiredFn(item.formField)"
354
+ :value=timeValue[item.fieldId]
355
+ :label=item.formField.name
356
+ :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
357
+ @click="timeClick(item.fieldId,item,'TIME')"
358
+ :disabled="disableds"
359
+ right-icon="van-icon van-icon-arrow van-cell__right-icon"
360
+
361
+ />
362
+ <van-popup v-model="timePicker" position="bottom">
363
+ <van-datetime-picker
364
+ v-model="currentTime"
365
+ type="time"
366
+ title="选择时间"
367
+ :min-hour="0"
368
+ :max-hour="23"
369
+ @confirm="onConfirm($event,item.fieldId,item,'TIME')"
370
+ @cancel="timePicker = false"
371
+ />
372
+ </van-popup>
373
+ </div>
374
+ <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">
280
375
  <van-field
281
376
  readonly
282
377
  clickable
283
378
  name="datetimePicker"
284
- :required="item.required===true"
379
+ :required="item.required || isRequiredFn(item.formField)"
285
380
  :value=timeValue[item.fieldId]
286
381
  :label=item.formField.name
287
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择日期'"
288
- @click="timeClick(item.fieldId,item)"
382
+ :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
383
+ @click="timeClick(item.fieldId,item,'DATE')"
289
384
  :disabled="disableds"
290
385
  right-icon="van-icon van-icon-arrow van-cell__right-icon"
291
386
 
292
387
  />
293
- <van-calendar v-model="showTimePickerd" :show-confirm="false" @confirm="onConfirm($event,timeId,item)" @cancel="showTimePickerd = false"/>
388
+ <van-calendar v-model="datePicker" :show-confirm="false" @confirm="onConfirm($event,item.fieldId,item,'DATE')" @cancel="datePicker = false"/>
294
389
  </div>
295
390
  <div v-else-if="item.formField.type==='RADIO'" class="form-field-item-other">
296
- <van-field name="radio" :label="item.formField.name" :required="item.required===true" :disabled="disableds" v-if="item.formField.extInfo.option">
391
+ <van-field name="radio" :label="item.formField.name" :required="item.required || isRequiredFn(item.formField)" :disabled="disableds" v-if="item.formField.extInfo.option">
297
392
  <template #input style="display: flex;align-items: center">
298
393
  <van-radio-group v-model=item.value direction="horizontal" :disabled="disableds">
299
394
  <van-radio v-for="(items,index) in item.formField.extInfo.option" :name=items.value :key="index">{{items.label}}</van-radio>
300
395
  </van-radio-group>
301
396
  </template>
302
397
  </van-field>
303
- <van-field name="radio" :label="item.formField.name" :required="item.required===true" :disabled="disableds" v-if="item.formField.extInfo.options">
398
+ <van-field name="radio" :label="item.formField.name" :required="item.required || isRequiredFn(item.formField)" :disabled="disableds" v-if="item.formField.extInfo.options">
304
399
  <template #input style="display: flex;align-items: center" >
305
400
  <van-radio-group v-model=item.value direction="horizontal" :disabled="disableds">
306
401
  <van-radio v-for="(items,index) in item.formField.extInfo.options" :name=items.value :key="index">{{items.label}}</van-radio>
@@ -309,7 +404,7 @@
309
404
  </van-field>
310
405
  </div>
311
406
  <div v-else-if="item.formField.type==='CHECKBOX'" class="form-field-item-other">
312
- <van-field name="checkbox" :label=item.formField.name :required="item.required===true" :disabled="disableds" v-if="item.formField.extInfo.option">
407
+ <van-field name="checkbox" :label=item.formField.name :required="item.required || isRequiredFn(item.formField)" :disabled="disableds" v-if="item.formField.extInfo.option">
313
408
  <template #input style="display: flex;align-items: center" >
314
409
  <van-checkbox-group v-model=item.value ref="checkboxGroup" direction="horizontal" :disabled="disableds">
315
410
  <van-checkbox
@@ -322,7 +417,7 @@
322
417
  </van-checkbox-group>
323
418
  </template>
324
419
  </van-field>
325
- <van-field name="checkbox" :label=item.formField.name :required="item.required===true" :disabled="disableds" v-if="item.formField.extInfo.options">
420
+ <van-field name="checkbox" :label=item.formField.name :required="item.required || isRequiredFn(item.formField)" :disabled="disableds" v-if="item.formField.extInfo.options">
326
421
  <template #input style="display: flex;align-items: center" >
327
422
  <van-checkbox-group v-model=item.value ref="checkboxGroup" direction="horizontal" :disabled="disableds">
328
423
  <van-checkbox
@@ -337,86 +432,127 @@
337
432
  </van-field>
338
433
  </div>
339
434
  <div v-else-if="item.formField.type==='SELECT' || item.formField.type==='OPTION'" class="form-field-item-value">
340
- <van-field
435
+ <template v-if="item.fieldId==='workorder_clientId' || item.fieldId === 'workorder_statusId' || item.fieldId === 'workorder_priority'">
436
+ <van-field
437
+ readonly
438
+ clickable
439
+ name="picker"
440
+ :value=selectValues[item.fieldId]
441
+ :label="item.fieldId==='workorder_clientId'?'报单人':item.formField.name"
442
+ :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
443
+ @click="selectClick(item.fieldId,'client',item)"
444
+ :required="item.required || isRequiredFn(item.formField)"
445
+ :disabled="disableds"
446
+ @click-right-icon.stop="SelectClear(item.fieldId)"
447
+ :right-icon="selectValues[item.fieldId]? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'"
448
+ />
449
+ <van-popup v-model="showPicker" position="bottom">
450
+ <van-picker
451
+ show-toolbar
452
+ :columns=selectValue
453
+ @confirm="onConfirmSelect($event,item)"
454
+ @cancel="showPicker = false"
455
+ :key="selectKey"
456
+
457
+ />
458
+ </van-popup>
459
+ </template>
460
+ <template v-else>
461
+ <van-field
462
+ readonly
463
+ clickable
464
+ name="picker"
465
+ :value="Array.isArray(item.value)?item.value.join(','):item.value"
466
+ :label=item.formField.name
467
+ :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
468
+ @click="selectClick(item.fieldId,'select',item)"
469
+ :required="item.required || isRequiredFn(item.formField)"
470
+ :disabled="disableds"
471
+ @click-right-icon.stop="SelectClear(item.fieldId)"
472
+ :right-icon="selectValues[item.fieldId]? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'"
473
+ />
474
+ <van-popup v-model="selectPicker" position="bottom" :style="{ height: '300px' }">
475
+ <select-popup
476
+ :options="item.formField.extInfo.option?item.formField.extInfo.option:item.formField.extInfo.options"
477
+ :defaultValue="defaultValue"
478
+ @onConfim="confirmSelect"
479
+ @onclose= "selectPicker = false"
480
+ :multiple="item.formField.extInfo && item.formField.extInfo.selectType ==='多选'?true:false"
481
+ ref="selectPopup"
482
+ :props="{
483
+ value:'value',
484
+ label:'label'
485
+ }"
486
+ ></select-popup>
487
+ </van-popup>
488
+ </template>
489
+ </div>
490
+ <div v-if="item.formField.type === 'REF_TEMPLATE' || item.formField.type === 'REF'" class="form-field-item-value">
491
+ <van-field
341
492
  readonly
342
493
  clickable
494
+ :value="Array.isArray(selectValues[item.fieldId])?selectValues[item.fieldId].join(','):selectValues[item.fieldId]"
495
+ :label="item.formField.name"
343
496
  name="picker"
344
- :value=selectValues[item.fieldId]
345
- :label=item.formField.name
346
497
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
347
- @click="selectClick(item.fieldId)"
348
- :required="item.required===true"
349
- :disabled="disableds"
498
+ @click="selectClick(item.fieldId,'ref',item)"
350
499
  @click-right-icon.stop="SelectClear(item.fieldId)"
351
- v-if="item.fieldId!=='workorder_clientId'"
352
- :right-icon="selectValues[item.fieldId]? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'"
353
- />
354
- <van-field
355
- readonly
356
- clickable
357
- name="picker"
358
- :value=selectValues[item.fieldId]
359
- label='报单人'
360
- :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
361
- @click="selectClick(item.fieldId)"
362
- :required="item.required===true"
500
+ :required="item.required || isRequiredFn(item.formField)"
363
501
  :disabled="disableds"
364
- @click-right-icon.stop="SelectClear(item.fieldId)"
365
- v-if="item.fieldId==='workorder_clientId'"
366
502
  :right-icon="selectValues[item.fieldId]? 'close' : 'van-icon van-icon-arrow van-cell__right-icon'"
367
- />
368
- <van-popup v-model="showPicker" position="bottom">
369
- <van-picker
370
- show-toolbar
371
- :columns=selectValue
372
- @confirm="onConfirmSelect($event,selectId)"
373
- @cancel="showPicker = false"
374
- :key="selectKey"
375
-
376
503
  />
377
- </van-popup>
378
- </div>
504
+ <van-popup v-model="refShowPicker" position="bottom" :style="{ height: '300px' }">
505
+ <select-popup
506
+ :options="refTemplateList[selectDetail.fieldId]"
507
+ :defaultValue="refDefaultValue[selectDetail.fieldId]"
508
+ @onConfim="confirmRefSelect"
509
+ @onclose= "refShowPicker = false"
510
+ :multiple="selectDetail.formField && selectDetail.formField.extInfo && selectDetail.formField.extInfo.selectType ==='多选'?true:false"
511
+ ref="selectPopup"
512
+ :props="{
513
+ value:'id',
514
+ label:'name'
515
+ }"
516
+ >
517
+ </select-popup>
518
+ </van-popup>
519
+ </div>
379
520
  <div v-else-if="item.formField.type==='CASCADER'" class="form-field-item-value">
380
521
  <van-field
381
522
  readonly
382
523
  clickable
383
524
  name="area"
384
- :value=cascadeValue[item.fieldId]
525
+ :value="checkDatas[item.fieldId] && Array.isArray(checkDatas[item.fieldId])?checkDatas[item.fieldId].map(e=>e.label).join(','):''"
385
526
  :label=item.formField.name
386
527
  :placeholder="item.formField.extInfo&&item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:'请选择'"
387
- @click="pickerClick(item.fieldId)"
388
- :required="item.required===true"
528
+ @click="openDrawer(item,'cascader')"
529
+ :required="item.required || isRequiredFn(item.formField)"
389
530
  :disabled="disableds"
390
531
  right-icon="van-icon van-icon-arrow van-cell__right-icon"
391
532
  />
392
533
 
393
- <van-popup v-model="showArea" position="bottom">
394
- <van-picker v-if="pageShow"
395
- show-toolbar
396
- :columns="column"
397
- @cancel="onCancel"
398
- @confirm="onConfirms($event,pickerId,index)"
399
- @change="onChange"
400
- :item-height="45"
401
- :key="keyValue"
402
- />
534
+ <van-popup v-model="showArea" position="bottom" :style="{ height: '400px' }">
535
+ <tree ref="drawerTree"
536
+ :dataOptions="item.formField"
537
+ @saveData="saveData"
538
+ @cancelBtn="showArea = false"
539
+ ></tree>
403
540
  </van-popup>
404
541
  </div>
405
- <div v-else-if="item.formField.type === 'FILE'" class="form-field-item-value">
406
- <div @click="checkUpload(item.fieldId,item.formField.extInfo.limitNum)" class="form-field-item-file">
407
- <div class="fileName"><span style="color: red" v-if="item.required">*</span>{{item.formField.name}}</div>
542
+ <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">
543
+ <div @click="checkUpload(item.fieldId,item.formField.extInfo)" class="form-field-item-file">
544
+ <div class="fileName"><span style="color: red" v-if="item.required || isRequiredFn(item.formField)">*</span>{{item.formField.name}}</div>
408
545
  <van-uploader
409
546
  v-model="fileListList[item.fieldId]"
410
- :before-read="beforeRead"
411
- :max-count='item.formField.extInfo&&item.formField.extInfo.limitNum?item.formField.extInfo.limitNum:1'
547
+ :before-read="(file=>{return beforeRead(file,item.formField.type)})"
548
+ :max-count='item.formField.extInfo&&item.formField.extInfo.limitNum ? item.formField.extInfo.limitNum : (item.formField.extInfo.limit ? item.formField.extInfo.limit : 1)'
412
549
  :after-read="afterRead"
413
- accept="image/*"
550
+ :accept="acceptFieldType(item.formField.type)"
414
551
  :multiple="item.formField.extInfo&&item.formField.extInfo.limitNum&&item.formField.extInfo.limitNum>1?true:false"
415
552
  >
416
553
  <div class="vant-upload--picture-card">
417
554
  <i class="el-icon-plus"></i>
418
555
  </div>
419
-
420
556
  </van-uploader>
421
557
  </div>
422
558
  </div>
@@ -444,18 +580,53 @@
444
580
  <el-dialog :visible.sync="dialogVisible">
445
581
  <img width="100%" :src="dialogImageUrl" alt="">
446
582
  </el-dialog>
447
-
583
+ <el-drawer
584
+ :withHeader="false"
585
+ :visible.sync="drawer"
586
+ size="60%"
587
+ direction="btt">
588
+ <div class="drawer-container">
589
+ <tree ref="drawerTree"
590
+ :dataOptions="detailField.formField"
591
+ @saveData="saveData"
592
+ @cancelBtn="drawer = false"
593
+ ></tree>
594
+ </div>
595
+ </el-drawer>
596
+ <el-drawer
597
+ :withHeader="false"
598
+ :visible.sync="selectPopUp"
599
+ size="40%"
600
+ direction="btt"
601
+ >
602
+ <select-popup
603
+ :options="options"
604
+ :defaultValue="defaultValue"
605
+ @onConfim="confirmSelect"
606
+ :multiple="detailField.formField.extInfo && detailField.formField.extInfo.selectType ==='多选'?true:false"
607
+ ref="selectPopup"
608
+ :props="{
609
+ value:'label',
610
+ label:'value'
611
+ }"
612
+ ></select-popup>
613
+ </el-drawer>
448
614
  </div>
449
615
  </template>
450
616
 
451
617
  <script>
452
618
  /* eslint-disable */
619
+ import { forMatTime } from "./utils/format_date";
620
+
453
621
  let that
454
622
  import {multipartUpload,ossFileUrl} from "./utils/AliyunIssUtil";
455
623
  import {MyCustomUploadAdapterPlugin} from "./utils/ckeditor";
456
624
  import MyimageUpload from './utils/plugin-image'
457
625
  import CKEDITOR from 'ckeditor'
458
626
 
627
+ import myPopup from "./myPopup.vue";
628
+ import Tree from '../components/tree'
629
+ import selectPopup from '../components/popup'
459
630
  export default {
460
631
  name: "formTemplate",
461
632
  data() {
@@ -464,11 +635,14 @@ export default {
464
635
  isCompany: false,
465
636
  checkboxGroup: [],
466
637
  currentDate: new Date(),
638
+ currentTime:"",
639
+ timePicker:false,
467
640
  timeValue: [],
468
641
  dateValue: [],
469
642
  showPicker: false,
470
- showTimePicker: false,
471
- showTimePickerd:false,
643
+ selectPicker:false,
644
+ dateTimePicker: false,
645
+ datePicker:false,
472
646
  showCalendar: false,
473
647
  radio: [],
474
648
  selectValue: [],
@@ -512,13 +686,12 @@ export default {
512
686
  copyForm: [],
513
687
  cascaderId:0,
514
688
  formShow:[],
515
-
516
689
  uploadAvatarParams: {
517
690
  token: "8c98087dfd2d48f856d8c95c09115def",
518
691
  },
519
692
  fileListList:[],
520
693
  keyValue:'',
521
- selectKey:'shuijiao',
694
+ selectKey:'',
522
695
  filedId:'',
523
696
  disabled:false,
524
697
  dialogVisible:false,
@@ -547,7 +720,21 @@ export default {
547
720
  ]
548
721
  },
549
722
  },
550
-
723
+ refShowPicker:false,
724
+ refTemplateList:{},
725
+ refList:{},
726
+ dataQuery:{},
727
+ drawer:false,
728
+ detailField:{
729
+ formField:{}
730
+ },
731
+ checkDatas:[],
732
+ selectPopUp:false,
733
+ options:[],
734
+ defaultValue:[],
735
+ timeDetailData:{},
736
+ selectDetail:{},
737
+ refDefaultValue:{}
551
738
  }
552
739
  },
553
740
  props: {
@@ -589,16 +776,59 @@ export default {
589
776
  acceptType:function () {
590
777
  return '.jpg,.jpeg,.png,.gif,.JPG,.JPEG,.PBG,.GIF'
591
778
  },
592
- formFieldRelation:function (){
779
+ formFieldRelation:function () {
593
780
  let arr = [];
594
- this.formShow.form.formFieldRelation.forEach(item=> {
595
- if (item.fieldId!=='workorder_name'&&item.display) {
781
+ let formList = []
782
+ formList = this.formShow.form && this.formShow.form.formFieldRelation
783
+ formList.forEach(item=> {
784
+ if (item.fieldId !=='workorder_name' && item.display && item.formField.type!=='CHAT_RECORD' && item.formField.type!=='CHANNEL') {
596
785
  arr.push(item);
597
786
  }
598
787
  })
599
- return arr;
788
+ arr.forEach(item=>{
789
+ this.$set(item,'relationDisplay',this.relationSet(item.formField,'dependentFieldId'))
790
+ if(item.formField.type === 'CHECKBOX'){
791
+ if(!item.value){
792
+ item.value = []
793
+ }
794
+ if(item.formField.defaultValue && (!item.value || !item.value.length)){
795
+ item.value = item.formField.defaultValue
796
+ }
797
+ }
798
+ if (item.formField.type === 'EXPLAIN'){
799
+ if (!item.value){
800
+ item.value = item.formField.extInfo.placeholder?item.formField.extInfo.placeholder:''
801
+ }
802
+ }
803
+ })
804
+ let newArr = arr.filter(item=>item.relationDisplay)
805
+ console.debug('arr',arr,newArr)
806
+ return newArr;
807
+ },
808
+ acceptFieldType(){
809
+ return (type)=>{
810
+ console.debug('type',type)
811
+ if (type == 'FILE'){
812
+ return '*'
813
+ } else if( type == 'IMAGE') {
814
+ return 'image/*'
815
+ } else if(type == 'VIDEO') {
816
+ return 'video/*'
817
+ } else {
818
+ return '*'
819
+ }
820
+ }
821
+ },
822
+ isRequiredFn(){
823
+ return function(field) {
824
+ return this.relationSet(field,'requiredDependentFieldId')
825
+ }
600
826
  }
601
-
827
+ },
828
+ components:{
829
+ myPopup,
830
+ Tree,
831
+ selectPopup
602
832
  },
603
833
  mounted() {
604
834
  this.isMobile()
@@ -626,25 +856,84 @@ export default {
626
856
  that.defaultClick()
627
857
  },
628
858
  methods: {
859
+ getMoldTime(){
860
+ let otherTime = {}
861
+ this.formList.form && this.formList.form.formFieldRelation.forEach(item=>{
862
+ if ((item.formField.type==='TIME_PICKER' || item.formField.type==='TIME_PICKER_RANGE') && item.formField.extInfo.mold==='OTHER'){
863
+ let pattern = item.formField.extInfo.pattern
864
+ let yearVal = pattern.indexOf('YEAR')!==-1
865
+ let monthVal = pattern.indexOf('MONTH')!==-1
866
+ let dayVal = pattern.indexOf('DAY')!==-1
867
+ let hourVal = pattern.indexOf('HOUR')!==-1
868
+ let minuteVal = pattern.indexOf('MINUTE')!==-1
869
+ let secondVal = pattern.indexOf('SECOND')!==-1
870
+ if ((yearVal||monthVal||dayVal)&&(!hourVal&&!minuteVal&&!secondVal)){
871
+ otherTime[item.fieldId]='DATE'
872
+ }
873
+ else if ((yearVal||monthVal||dayVal)&&(hourVal||minuteVal||secondVal)){
874
+ otherTime[item.fieldId]='DATE_TIME'
875
+ }
876
+ else if ((hourVal||minuteVal||secondVal)&&(!yearVal&&!monthVal&&!dayVal)){
877
+ otherTime[item.fieldId]='TIME'
878
+ }
879
+ }
880
+ })
881
+ return otherTime
882
+ },
883
+ setOptions(extInfo){
884
+ let options = []
885
+ console.debug('cascadeDown',extInfo)
886
+ if (extInfo.cascadeDown.options){
887
+ options = extInfo.cascadeDown.options
888
+ return options
889
+ }
890
+ else if (extInfo.cascadeDown[0]){
891
+ options = extInfo.cascadeDown[0].options
892
+ }
893
+ return options
894
+ },
629
895
  onReady(){
630
-
631
-
896
+
897
+
632
898
  },
633
- beforeRead(file){
899
+ beforeRead(file,type){
634
900
  console.debug('file',file)
635
901
  console.debug('fileType',!Array.isArray(file))
636
902
  if (!Array.isArray(file)){
637
- const isLte2M = file.size / 1024 / 1024 <= 8;
638
- const isSupportedFormat =file.type.indexOf('image')!==-1
639
- if (!isSupportedFormat){
640
- this.$message.error("只能上传图片格式");
641
- return false
903
+ if (type === 'IMAGE'){
904
+ const isLte2M = file.size / 1024 / 1024 <= 8;
905
+ const isSupportedFormat =file.type.indexOf('image')!==-1
906
+ if (!isSupportedFormat){
907
+ this.$message.error("只能上传图片格式");
908
+ return false
909
+ }
910
+ if (!isLte2M&&isSupportedFormat) {
911
+ this.$message.error("上传图片大小不能超过 8MB!");
912
+ return false
913
+ }
914
+ return true
642
915
  }
643
- if (!isLte2M&&isSupportedFormat) {
644
- this.$message.error("上传图片大小不能超过 8MB!");
645
- return false
916
+ else if (type === 'VIDEO'){
917
+ const isLte2M = file.size / 1024 / 1024 <= 100;
918
+ const isSupportedFormat =file.type.indexOf('video')!==-1
919
+ if (!isSupportedFormat){
920
+ this.$message.error("只能上传视频格式");
921
+ return false
922
+ }
923
+ if (!isLte2M&&isSupportedFormat) {
924
+ this.$message.error("上传视频大小不能超过100MB!");
925
+ return false
926
+ }
927
+ return true
928
+ }
929
+ else if (type === 'FILE' || type === 'ATTACHMENT'){
930
+ const isLte2M = file.size / 1024 / 1024 <= 100;
931
+ if (!isLte2M) {
932
+ this.$message.error("上传附件大小不能超过100MB!");
933
+ return false
934
+ }
935
+ return true
646
936
  }
647
- return true
648
937
  }
649
938
  else{
650
939
  let length = 0
@@ -653,17 +942,40 @@ export default {
653
942
  }
654
943
  if (file.length<=this.limitNum-length){
655
944
  for (let i=0;i<file.length;i++){
656
- const isLte2M = file[i].size / 1024 / 1024 <= 8;
657
- const isSupportedFormat =file[i].type.indexOf('image')!==-1
658
- if (!isSupportedFormat){
659
- this.$message.error("只能上传图片格式");
660
- return false
945
+ if (type === 'IMAGE'){
946
+ const isLte2M = file.size / 1024 / 1024 <= 8;
947
+ const isSupportedFormat =file.type.indexOf('image')!==-1
948
+ if (!isSupportedFormat){
949
+ this.$message.error("只能上传图片格式");
950
+ return false
951
+ }
952
+ if (!isLte2M&&isSupportedFormat) {
953
+ this.$message.error("上传图片大小不能超过 8MB!");
954
+ return false
955
+ }
956
+ return true
957
+ }
958
+ else if (type === 'VIDEO'){
959
+ const isLte2M = file.size / 1024 / 1024 <= 100;
960
+ const isSupportedFormat =file.type.indexOf('video')!==-1
961
+ if (!isSupportedFormat){
962
+ this.$message.error("只能上传视频格式");
963
+ return false
964
+ }
965
+ if (!isLte2M&&isSupportedFormat) {
966
+ this.$message.error("上传视频大小不能超过100MB!");
967
+ return false
968
+ }
969
+ return true
661
970
  }
662
- if (!isLte2M&&isSupportedFormat) {
663
- this.$message.error("上传图片大小不能超过 8MB!");
664
- return false
971
+ else if (type === 'FILE' || type === 'ATTACHMENT'){
972
+ const isLte2M = file.size / 1024 / 1024 <= 100;
973
+ if (!isLte2M) {
974
+ this.$message.error("上传附件大小不能超过100MB!");
975
+ return false
976
+ }
977
+ return true
665
978
  }
666
- return true
667
979
  }
668
980
  }
669
981
  else {
@@ -671,7 +983,7 @@ export default {
671
983
  if (this.limitNum){
672
984
  num = this.limitNum
673
985
  }
674
- let messageText = '仅支持上传'+num+'张图片'
986
+ let messageText = '仅支持上传'+num+''
675
987
  this.$message.error(messageText);
676
988
  return false
677
989
  }
@@ -758,88 +1070,80 @@ export default {
758
1070
  },
759
1071
  //初始化默认值
760
1072
  defaultClick() {
761
- for (let i = 0; i < this.formList.form.formFieldRelation.length; i++)
762
- {
763
- if(this.formList.form.formFieldRelation[i].formField.type ==='SELECT'||this.formList.form.formFieldRelation[i].formField.type ==='CHECKBOX' ||this.formList.form.formFieldRelation[i].formField.type==='RADIO' ||this.formList.form.formFieldRelation[i].formField.type==='OPTION')
764
- {
765
- if(this.formList.form.formFieldRelation[i].formField.extInfo && !this.formList.form.formFieldRelation[i].formField.extInfo.option)
766
- {
767
- if(this.formList.form.formFieldRelation[i].formField.extInfo.exinfo)
768
- {
769
- for (let j=0;j<this.formList.form.formFieldRelation[i].formField.extInfo.exinfo.length;j++)
770
- {
771
- this.$set(this.formList.form.formFieldRelation[i].formField.extInfo.exinfo[j],'label',this.formList.form.formFieldRelation[i].formField.extInfo.exinfo[j].value)
1073
+ for (let i = 0; i < this.formList.form.formFieldRelation.length; i++){
1074
+ let type = this.formList.form.formFieldRelation[i].formField.type
1075
+ let extInfo = this.formList.form.formFieldRelation[i].formField.extInfo
1076
+ if(type ==='SELECT' || type === 'CHECKBOX' || type === 'RADIO' || type === 'OPTION') {
1077
+ if(extInfo && !extInfo.option){
1078
+ if(extInfo.exinfo){
1079
+ for (let j=0; j < extInfo.exinfo.length; j++){
1080
+ this.$set(extInfo.exinfo[j],'label',extInfo.exinfo[j].value)
772
1081
  }
773
- this.$set(this.formList.form.formFieldRelation[i].formField.extInfo,'option',this.formList.form.formFieldRelation[i].formField.extInfo.exinfo)
1082
+ this.$set(extInfo,'option',extInfo.exinfo)
774
1083
  }
775
- if (this.formList.form.formFieldRelation[i].formField.extInfo.option){
776
- if (this.formList.form.formFieldRelation[i].formField.type === 'RADIO') {
777
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.option.length; j++) {
778
- if(!this.formList.form.formFieldRelation[i].formField.extInfo.option[j].value)
779
- {
780
- this.formList.form.formFieldRelation[i].formField.extInfo.option[j].value=this.formList.form.formFieldRelation[i].formField.extInfo.option[j].label
1084
+ if (extInfo.option){
1085
+ if (type === 'RADIO') {
1086
+ for (let j = 0; j < extInfo.option.length; j++) {
1087
+ if(!extInfo.option[j].value) {
1088
+ extInfo.option[j].value=extInfo.option[j].label
781
1089
  }
782
1090
  }
783
- if(!this.formList.form.formFieldRelation[i].value)
784
- {
785
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.option.length; j++) {
786
- if (this.formList.form.formFieldRelation[i].formField.extInfo.option[j]._default === 'true') {
787
- this.formList.form.formFieldRelation[i].value = this.formList.form.formFieldRelation[i].formField.extInfo.option[j].value
1091
+ if(!this.formList.form.formFieldRelation[i].value){
1092
+ for (let j = 0; j < extInfo.option.length; j++) {
1093
+ if (extInfo.option[j]._default === 'true') {
1094
+ this.formList.form.formFieldRelation[i].value = extInfo.option[j].value
788
1095
  }
789
1096
  }
790
1097
  }
791
1098
  }
792
- if (this.formList.form.formFieldRelation[i].formField.type === 'CHECKBOX') {
793
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.option.length; j++) {
794
- if (!this.formList.form.formFieldRelation[i].formField.extInfo.option[j].value) {
795
- this.formList.form.formFieldRelation[i].formField.extInfo.option[j].value = this.formList.form.formFieldRelation[i].formField.extInfo.option[j].label
1099
+ if (type === 'CHECKBOX') {
1100
+ for (let j = 0; j < extInfo.option.length; j++) {
1101
+ if (!extInfo.option[j].value) {
1102
+ extInfo.option[j].value = extInfo.option[j].label
796
1103
  }
797
1104
  }
798
-
799
- if (!this.formList.form.formFieldRelation[i].value||this.formList.form.formFieldRelation[i].value.length === 0)
800
- {
801
- this.formList.form.formFieldRelation[i].value=[]
802
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.option.length; j++) {
803
- if (this.formList.form.formFieldRelation[i].formField.extInfo.option[j]._default === 'true') {
804
- this.formList.form.formFieldRelation[i].value[0] = this.formList.form.formFieldRelation[i].formField.extInfo.option[j].value
1105
+ if (!this.formList.form.formFieldRelation[i].value || this.formList.form.formFieldRelation[i].value.length === 0){
1106
+ this.formList.form.formFieldRelation[i].value = []
1107
+ for (let j = 0; j < extInfo.option.length; j++) {
1108
+ if (extInfo.option[j]._default === 'true') {
1109
+ this.formList.form.formFieldRelation[i].value[0] = extInfo.option[j].value
805
1110
  }
806
1111
  }
807
1112
  }
808
1113
  }
809
1114
  }
810
-
811
1115
  }
812
1116
  else {
813
- if (this.formList.form.formFieldRelation[i].formField.extInfo && this.formList.form.formFieldRelation[i].formField.extInfo.options){
814
- if (this.formList.form.formFieldRelation[i].formField.type === 'RADIO') {
815
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.options.length; j++) {
816
- if(!this.formList.form.formFieldRelation[i].formField.extInfo.options[j].value)
1117
+ if (extInfo && extInfo.options) {
1118
+ if (type === 'RADIO') {
1119
+ for (let j = 0; j < extInfo.options.length; j++) {
1120
+ if(!extInfo.options[j].value)
817
1121
  {
818
- this.formList.form.formFieldRelation[i].formField.extInfo.options[j].value=this.formList.form.formFieldRelation[i].formField.extInfo.options[j].label
1122
+ extInfo.options[j].value=extInfo.options[j].label
819
1123
  }
820
1124
  }
821
1125
  if(!this.formList.form.formFieldRelation[i].value)
822
1126
  {
823
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.option.length; j++) {
824
- if (this.formList.form.formFieldRelation[i].formField.extInfo.options[j]._default === 'true') {
825
- this.formList.form.formFieldRelation[i].value = this.formList.form.formFieldRelation[i].formField.extInfo.options[j].value
1127
+ for (let j = 0; j < extInfo.option.length; j++) {
1128
+ if (extInfo.options[j]._default === 'true') {
1129
+ this.formList.form.formFieldRelation[i].value = extInfo.options[j].value
826
1130
  }
827
1131
  }
828
1132
  }
829
1133
  }
830
- if (this.formList.form.formFieldRelation[i].formField.type === 'CHECKBOX') {
831
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.options.length; j++) {
832
- if (this.formList.form.formFieldRelation[i].formField.extInfo.options[j].value === '') {
833
- this.formList.form.formFieldRelation[i].formField.extInfo.options[j].value = this.formList.form.formFieldRelation[i].formField.extInfo.options[j].label
1134
+ if (type === 'CHECKBOX') {
1135
+ for (let j = 0; j < extInfo.options.length; j++) {
1136
+ if (extInfo.options[j].value === '') {
1137
+ extInfo.options[j].value = extInfo.options[j].label
834
1138
  }
835
1139
  }
836
1140
 
837
- if (this.formList.form.formFieldRelation[i].value === null||this.formList.form.formFieldRelation[i].value.length === 0)
1141
+ if (!this.formList.form.formFieldRelation[i].value ||this.formList.form.formFieldRelation[i].value.length === 0)
838
1142
  {
839
1143
  this.formList.form.formFieldRelation[i].value=[]
840
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.options.length; j++) {
841
- if (this.formList.form.formFieldRelation[i].formField.extInfo.options[j]._default === 'true') {
842
- this.formList.form.formFieldRelation[i].value[0] = this.formList.form.formFieldRelation[i].formField.extInfo.options[j].value
1144
+ for (let j = 0; j < extInfo.options.length; j++) {
1145
+ if (extInfo.options[j]._default === 'true') {
1146
+ this.formList.form.formFieldRelation[i].value[0] = extInfo.options[j].value
843
1147
  }
844
1148
  }
845
1149
  }
@@ -848,8 +1152,11 @@ export default {
848
1152
  }
849
1153
 
850
1154
  }
851
- if (this.formList.form.formFieldRelation[i].formField.type ==='FILE'){
852
- if (this.formList.form.formFieldRelation[i].value!==undefined){
1155
+ if (type ==='FILE' || type == 'ATTACHMENT' || type == 'IMAGE' || type == 'VIDEO'){
1156
+ if (this.formList.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue){
1157
+ this.fileListList[this.formList.form.formFieldRelation[i].fieldId] = this.formList.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue
1158
+ }
1159
+ else if (this.formList.form.formFieldRelation[i].value){
853
1160
  if (this.formList.form.formFieldRelation[i].value===null||this.formList.form.formFieldRelation[i].value===''){
854
1161
  this.formList.form.formFieldRelation[i].value=[]
855
1162
  }
@@ -877,118 +1184,107 @@ export default {
877
1184
  }
878
1185
  }
879
1186
  }
880
-
881
-
882
-
883
1187
  }
884
-
1188
+ if (type === 'REF' || type === 'REF_TEMPLATE'){
1189
+ if (this.formList.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue){
1190
+ let name = this.formList.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue.map(item=>{
1191
+ return item.name
1192
+ })
1193
+ this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = name
1194
+ }
1195
+ }
885
1196
  }
886
- let test = []
887
1197
  for (let i = 0; i < this.formList.form.formFieldRelation.length; i++) {
888
- if (this.formList.form.formFieldRelation[i].formField.type === 'CASCADER') {
889
- test.push(this.formList.form.formFieldRelation[i])
890
- let cascader=''
891
- if(this.formList.form.formFieldRelation[i].value)
892
- {
893
- if(this.formList.form.formFieldRelation[i].value.length > 0)
894
- {
895
- for (let j = 0; j < this.formList.form.formFieldRelation[i].value.length; j++) {
896
- if (this.formList.form.formFieldRelation[i].value[j]) {
897
- cascader += this.formList.form.formFieldRelation[i].value[j] + '/'
898
- }
899
- }
900
- cascader = cascader.substr(0, cascader.length - 1)
901
-
902
- }
903
- this.cascadeValue[this.formList.form.formFieldRelation[i].fieldId]=cascader
904
- }
905
- else
906
- {
907
- this.formList.form.formFieldRelation[i].value=[]
1198
+ let type = this.formList.form.formFieldRelation[i].formField.type
1199
+ let extInfo = this.formList.form.formFieldRelation[i].formField.extInfo
1200
+ if (type === 'CASCADER') {
1201
+ let fieldValue = this.formList.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue?
1202
+ this.formList.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue:
1203
+ (this.formList.form.formFieldRelation[i].formField.extInfo.fieldValue?
1204
+ this.formList.form.formFieldRelation[i].formField.extInfo.fieldValue:[])
1205
+
1206
+ this.checkDatas[this.formList.form.formFieldRelation[i].fieldId] = fieldValue
1207
+ if (this.formList.form.formFieldRelation[i].value){
1208
+ this.formList.form.formFieldRelation[i].value = this.formList.form.formFieldRelation[i].formField.defaultValue?
1209
+ this.formList.form.formFieldRelation[i].formField.defaultValue:[];
908
1210
  }
909
- }
910
- if (this.formList.form.formFieldRelation[i].formField.type === 'DATE_PICKER')
911
- {
912
- if(this.formList.form.formFieldRelation[i].value!==null && this.formList.form.formFieldRelation[i].value!=='' )
913
- {
914
1211
 
1212
+ }
1213
+ if (type === 'DATE_PICKER') {
1214
+ if(this.formList.form.formFieldRelation[i].value!==null && this.formList.form.formFieldRelation[i].value!=='' ) {
915
1215
  this.dateValue[this.formList.form.formFieldRelation[i].fieldId]=this.formatDate(this.formList.form.formFieldRelation[i].value)
916
1216
  }
917
1217
  }
918
- if (this.formList.form.formFieldRelation[i].formField.type === 'TIME_PICKER')
919
- {
1218
+ if (type === 'TIME_PICKER') {
920
1219
  if(this.formList.form.formFieldRelation[i].value!==''&& this.formList.form.formFieldRelation[i].value!==null)
921
1220
  {
922
1221
  const dateTime = new Date(this.formList.form.formFieldRelation[i].value)
923
- this.timeValue[this.formList.form.formFieldRelation[i].fieldId]=this.addZero(dateTime.getHours()) + ':' + this.addZero(dateTime.getMinutes())
924
-
1222
+ if (!this.formList.form.formFieldRelation[i].formField.extInfo.mold ||
1223
+ this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'TIME' ||
1224
+ this.getMoldTime(this.formList.form.formFieldRelation[i].formField.formField) == 'TIME'){
1225
+ this.timeValue[this.formList.form.formFieldRelation[i].fieldId]=dateTime.Format('hh:mm')
1226
+ }
1227
+ else if (this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'DATA_TIME' ||
1228
+ this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'DATE_TIME' ||
1229
+ this.getMoldTime(this.formList.form.formFieldRelation[i].formField.formField) == 'DATE_TIME'){
1230
+ this.timeValue[this.formList.form.formFieldRelation[i].fieldId] = dateTime.Format('yyyy-MM-dd hh:mm')
1231
+ }
1232
+ else if (this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'DATA' ||
1233
+ this.formList.form.formFieldRelation[i].formField.extInfo.mold == 'DATE' ||
1234
+ this.getMoldTime(this.formList.form.formFieldRelation[i].formField.formField) == 'DATE'){
1235
+ this.timeValue[this.formList.form.formFieldRelation[i].fieldId] = dateTime.Format('yyyy-MM-dd')
1236
+ }
925
1237
  }
926
1238
  }
927
- if (this.formList.form.formFieldRelation[i].formField.type === 'SELECT' || this.formList.form.formFieldRelation[i].formField.type === 'OPTION') {
928
- if (this.formList.form.formFieldRelation[i].formField.extInfo && this.formList.form.formFieldRelation[i].formField.extInfo.option){
929
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.option.length; j++) {
930
- if (this.formList.form.formFieldRelation[i].formField.extInfo.option[j].value === '') {
931
- this.formList.form.formFieldRelation[i].formField.extInfo.option[j].value = this.formList.form.formFieldRelation[i].formField.extInfo.option[j].label
1239
+ if (type === 'SELECT' || type === 'OPTION') {
1240
+ if (extInfo && extInfo.option){
1241
+ for (let j = 0; j < extInfo.option.length; j++) {
1242
+ if (extInfo.option[j].value === '') {
1243
+ extInfo.option[j].value = extInfo.option[j].label
932
1244
  }
933
1245
  }
934
- if(this.formList.form.formFieldRelation[i].value)
935
- {
936
- for (let j=0;j<this.formList.form.formFieldRelation[i].formField.extInfo.option.length;j++)
937
- {
938
- if (this.formList.form.formFieldRelation[i].value === this.formList.form.formFieldRelation[i].formField.extInfo.option[j].value)
939
- {
940
- this.selectValues[this.formList.form.formFieldRelation[i].fieldId] =this.formList.form.formFieldRelation[i].formField.extInfo.option[j].label
1246
+ if(this.formList.form.formFieldRelation[i].value) {
1247
+ for (let j = 0; j < extInfo.option.length; j++) {
1248
+ if (this.formList.form.formFieldRelation[i].value === extInfo.option[j].value) {
1249
+ this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = extInfo.option[j].label
941
1250
  }
942
1251
  }
943
- /*this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = this.formList.form.formFieldRelation[i].value*/
944
-
945
- }
946
- else
947
- {
948
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.option.length; j++) {
949
- if (this.formList.form.formFieldRelation[i].formField.extInfo.option[j]._default === 'true') {
950
- this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = this.formList.form.formFieldRelation[i].formField.extInfo.option[j].label
951
- this.formList.form.formFieldRelation[i].value=this.formList.form.formFieldRelation[i].formField.extInfo.option[j].value
1252
+ } else {
1253
+ for (let j = 0; j < extInfo.option.length; j++) {
1254
+ if (extInfo.option[j]._default === 'true') {
1255
+ this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = extInfo.option[j].label
1256
+ this.formList.form.formFieldRelation[i].value=extInfo.option[j].value
952
1257
  }
953
1258
  }
954
1259
  }
955
- }
956
- else {
957
- if(this.formList.form.formFieldRelation[i].formField.extInfo && this.formList.form.formFieldRelation[i].formField.extInfo.option) {
958
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.options.length; j++) {
959
- if (this.formList.form.formFieldRelation[i].formField.extInfo.options[j].value === '') {
960
- this.formList.form.formFieldRelation[i].formField.extInfo.options[j].value = this.formList.form.formFieldRelation[i].formField.extInfo.options[j].label
1260
+ } else {
1261
+ if(extInfo && extInfo.option) {
1262
+ for (let j = 0; j < extInfo.options.length; j++) {
1263
+ if (extInfo.options[j].value === '') {
1264
+ extInfo.options[j].value = extInfo.options[j].label
961
1265
  }
962
1266
  }
963
1267
  }
964
- if(this.formList.form.formFieldRelation[i].value && this.formList.form.formFieldRelation[i].formField.extInfo && this.formList.form.formFieldRelation[i].formField.extInfo.option)
965
- {
966
- for (let j=0;j<this.formList.form.formFieldRelation[i].formField.extInfo.options.length;j++)
967
- {
968
- if (this.formList.form.formFieldRelation[i].value === this.formList.form.formFieldRelation[i].formField.extInfo.options[j].value)
969
- {
970
- this.selectValues[this.formList.form.formFieldRelation[i].fieldId] =this.formList.form.formFieldRelation[i].formField.extInfo.options[j].label
971
- }
1268
+ if(this.formList.form.formFieldRelation[i].value && extInfo && extInfo.option) {
1269
+ for (let j=0;j<extInfo.options.length;j++) {
1270
+ if (this.formList.form.formFieldRelation[i].value === extInfo.options[j].value) {
1271
+ this.selectValues[this.formList.form.formFieldRelation[i].fieldId] =extInfo.options[j].label
972
1272
  }
973
- /*this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = this.formList.form.formFieldRelation[i].value*/
974
-
975
1273
  }
976
- else
977
- {
978
- if(this.formList.form.formFieldRelation[i].formField.extInfo && this.formList.form.formFieldRelation[i].formField.extInfo.option) {
979
- for (let j = 0; j < this.formList.form.formFieldRelation[i].formField.extInfo.options.length; j++) {
980
- if (this.formList.form.formFieldRelation[i].formField.extInfo.options[j]._default === 'true') {
981
- this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = this.formList.form.formFieldRelation[i].formField.extInfo.options[j].label
982
- this.formList.form.formFieldRelation[i].value=this.formList.form.formFieldRelation[i].formField.extInfo.options[j].value
983
- }
1274
+ } else {
1275
+ if(extInfo && extInfo.option) {
1276
+ for (let j = 0; j < extInfo.options.length; j++) {
1277
+ if (extInfo.options[j]._default === 'true') {
1278
+ this.selectValues[this.formList.form.formFieldRelation[i].fieldId] = extInfo.options[j].label
1279
+ this.formList.form.formFieldRelation[i].value=extInfo.options[j].value
984
1280
  }
985
1281
  }
986
1282
  }
1283
+ }
987
1284
  }
988
-
989
1285
  }
990
1286
  }
991
- this.formShow=this.formList
1287
+ this.formShow = this.formList
992
1288
  },
993
1289
  addZero(i) {
994
1290
  if (i < 10) {
@@ -1025,23 +1321,41 @@ export default {
1025
1321
  this.isPhone=this.propIsPhone;
1026
1322
  this.isCompany=this.propIsCompany;
1027
1323
  }
1324
+
1028
1325
  },
1029
1326
  //时间的选择器
1030
- onConfirm(value, id,item) {
1031
- for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
1327
+ onConfirm(value, id,item,type) {
1328
+ console.debug('value',value)
1329
+ if (type == 'DATE'){
1330
+ this.datePicker = false
1331
+ this.timeDetailData.value = value;
1332
+ this.timeValue[id] =this.formatDate(value);
1333
+ }
1334
+ else if (type == 'TIME'){
1335
+ this.timePicker = false;
1336
+ this.timeValue[id] = value;
1337
+ console.debug('timeDetailData',this.timeDetailData)
1338
+ this.timeDetailData.value = forMatTime(value)
1339
+ }
1340
+ else if (type == 'DATE_TIME'){
1341
+ this.dateTimePicker = false;
1342
+ this.timeDetailData.value = value
1343
+ this.timeValue[id] =this.formatDate(value) +" "+ this.addZero(value.getHours()) + ':' + this.addZero(value.getMinutes())
1344
+ }
1345
+ /*for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
1032
1346
  if (this.formShow.form.formFieldRelation[i].fieldId=== id) {
1033
1347
  this.formShow.form.formFieldRelation[i].value = value
1034
1348
  if (!item.formField.extInfo.mold||item.formField.extInfo.mold==='DATA_TIME'){
1035
1349
  this.timeValue[id] =this.formatDate(value) +" "+ this.addZero(value.getHours()) + ':' + this.addZero(value.getMinutes())
1036
- this.showTimePicker = false;
1350
+ this.dateTimePicker = false;
1037
1351
  }
1038
1352
  else {
1039
1353
  this.timeValue[id] =this.formatDate(value)
1040
- this.showTimePickerd = false;
1354
+ this.datePicker = false;
1041
1355
  }
1042
1356
  break
1043
1357
  }
1044
- }
1358
+ }*/
1045
1359
  },
1046
1360
  //转换日期的函数
1047
1361
  formatDate(date) {
@@ -1049,22 +1363,33 @@ export default {
1049
1363
  return `${dateTime.getFullYear()}-${dateTime.getMonth() + 1}-${dateTime.getDate()}`;
1050
1364
  },
1051
1365
  //日期的选择器
1052
- onConfirmCalendar(date, id) {
1053
- for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
1366
+ onConfirmCalendar(date, item) {
1367
+ fieldId
1368
+ this.dateValue[item.fieldId] = this.formatDate(date);
1369
+ item.value = date;
1370
+ this.showCalendar = false;
1371
+ /* for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
1054
1372
  if (this.formShow.form.formFieldRelation[i].fieldId === id) {
1055
1373
  this.dateValue[id] = this.formatDate(date)
1056
1374
  this.formShow.form.formFieldRelation[i].value = date
1057
1375
  this.showCalendar = false;
1058
1376
  break
1059
1377
  }
1060
- }
1378
+ }*/
1061
1379
  },
1062
1380
  //下拉的选择器
1063
- onConfirmSelect(value, id) {
1381
+ onConfirmSelect(value, item) {
1382
+ console.log('value',value,this.selectDetail)
1383
+ this.selectValues[this.selectDetail.fieldId] = value;
1064
1384
  for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
1065
- if (this.formShow.form.formFieldRelation[i].fieldId === id) {
1066
- this.selectValues[this.formShow.form.formFieldRelation[i].fieldId] = value
1067
- if (this.formShow.form.formFieldRelation[i].formField.extInfo.option){
1385
+ if (this.formShow.form.formFieldRelation[i].fieldId === this.selectDetail.fieldId) {
1386
+ 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;
1387
+ for (let j=0;j<options.length;j++){
1388
+ if (value == options[j].label){
1389
+ this.selectDetail.value = options[j].value
1390
+ }
1391
+ }
1392
+ /*if (this.formShow.form.formFieldRelation[i].formField.extInfo.option){
1068
1393
  for (let j = 0; j < this.formShow.form.formFieldRelation[i].formField.extInfo.option.length; j++) {
1069
1394
  if(value ===this.formShow.form.formFieldRelation[i].formField.extInfo.option[j].label)
1070
1395
  {
@@ -1079,41 +1404,12 @@ export default {
1079
1404
  this.formShow.form.formFieldRelation[i].value = this.formShow.form.formFieldRelation[i].formField.extInfo.options[j].value
1080
1405
  }
1081
1406
  }
1082
- }
1083
-
1407
+ }*/
1084
1408
  this.showPicker = false;
1085
1409
  break
1086
1410
  }
1087
1411
  }
1088
1412
  },
1089
- //时间日期的选择器
1090
- /* onConfirmDateTime(date,id){
1091
- for (let i=0;i<this.formList.form.formFieldRelation.length;i++)
1092
- {
1093
-
1094
- if(this.formList.form.formFieldRelation[i].formField.id===id)
1095
- {
1096
- this.dateTimeValue[id]=this.addZero(date.getFullYear())+'-'+this.addZero(date.getMonth())+'-'+this.addZero(date.getDate())+' '+this.addZero(date.getHours())+':'+this.addZero(date.getMinutes())
1097
- this.formList.form.formFieldRelation[i].value[0]=date
1098
- this.showDateTimePicker = false;
1099
- break
1100
- }
1101
- }
1102
-
1103
- },
1104
- onConfirmDateTime1(date,id){
1105
- for (let i=0;i<this.formList.form.formFieldRelation.length;i++)
1106
- {
1107
- if(this.formList.form.formFieldRelation[i].formField.id===id)
1108
- {
1109
-
1110
- this.dateTimeValue1[id]=this.addZero(date.getFullYear())+'-'+this.addZero(date.getMonth())+'-'+this.addZero(date.getDate())+' '+this.addZero(date.getHours())+':'+this.addZero(date.getMinutes())
1111
- this.formList.form.formFieldRelation[i].value[1]=date
1112
- this.showDateTimePicker1 = false;
1113
- break
1114
- }
1115
- }
1116
- },*/
1117
1413
  //提交按钮事件
1118
1414
  submitClick() {
1119
1415
 
@@ -1121,46 +1417,56 @@ export default {
1121
1417
  {
1122
1418
  if(this.formShow.form.formFieldRelation[i].formField.type==='CASCADER')
1123
1419
  {
1124
- let cascader = this.formShow.form.formFieldRelation[i].formField.extInfo.cascade?this.formShow.form.formFieldRelation[i].formField.extInfo.cascade:this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0].options?this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0].options:[]
1420
+ let cascader = []
1421
+ if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascade){
1422
+ cascader = this.formShow.form.formFieldRelation[i].formField.extInfo.cascade
1423
+ }
1424
+ else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options){
1425
+ cascader = this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options
1426
+ }
1427
+ else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0]){
1428
+ cascader = this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0].options
1429
+ }
1125
1430
  cascader.forEach(item=>{
1126
- if(item.children!==undefined)
1127
- {
1128
- if(item.children.length===0)
1431
+ if(item.children!==undefined){
1432
+ if(item.children.length===0) {
1129
1433
  delete item.children
1130
- else {
1434
+ } else {
1131
1435
  item.children.forEach(items=>{
1132
- if(items.children)
1133
- {
1134
- if(items.children.length===0)
1436
+ if(items.children){
1437
+ if(items.children.length===0) {
1135
1438
  delete items.children
1439
+ }
1136
1440
  }
1137
1441
  })
1138
1442
  }
1139
1443
  }
1140
1444
  })
1141
1445
  }
1142
- if (this.fileListList[this.formShow.form.formFieldRelation[i].fieldId]!==undefined){
1446
+ if (this.fileListList[this.formShow.form.formFieldRelation[i].fieldId]) {
1143
1447
  let value=[]
1144
-
1145
1448
  this.fileListList[this.formShow.form.formFieldRelation[i].fieldId].forEach(item=>{
1146
- let file={}
1147
- file.name=item.name
1148
- file.url=item.url
1449
+ let file = {}
1450
+ file.name = item.name
1451
+ file.url = item.url
1149
1452
  value.push(file)
1150
1453
  })
1151
- this.formShow.form.formFieldRelation[i].value=value
1454
+ this.formShow.form.formFieldRelation[i].value = value.map(item=>{
1455
+ return item.name
1456
+ })
1457
+ this.formShow.form.formFieldRelation[i].formField.extInfo.extInfoFieldValue = value
1152
1458
  }
1153
-
1154
- if(this.formShow.form.formFieldRelation[i].display===true && this.formShow.form.formFieldRelation[i].required === true&&this.formShow.form.formFieldRelation[i].fieldId!=='workorder_name'&& this.formShow.form.formFieldRelation[i].formField.type !== 'EXPLANATION')
1155
- {
1459
+ if(this.formShow.form.formFieldRelation[i].display &&
1460
+ (this.formShow.form.formFieldRelation[i].required || this.isRequiredFn(this.formShow.form.formFieldRelation[i].formField)) &&
1461
+ this.formShow.form.formFieldRelation[i].fieldId!=='workorder_name'&&
1462
+ this.formShow.form.formFieldRelation[i].formField.type !== 'EXPLANATION') {
1156
1463
  let value = this.formShow.form.formFieldRelation[i].value && this.formShow.form.formFieldRelation[i].value.includes('\n')?this.formShow.form.formFieldRelation[i].value:'';
1157
1464
  let strVal = '';
1158
- if (value){
1465
+ if(value){
1159
1466
  strVal = value.replace(/\n/g,'');
1160
1467
  }
1161
1468
  let bool = this.formShow.form.formFieldRelation[i].value && this.formShow.form.formFieldRelation[i].value.includes('\n') && !strVal
1162
- if(!this.formShow.form.formFieldRelation[i].value || bool || (this.formShow.form.formFieldRelation[i].value && this.formShow.form.formFieldRelation[i].value.length===0))
1163
- {
1469
+ if(!this.formShow.form.formFieldRelation[i].value || bool|| (this.formShow.form.formFieldRelation[i].value&&this.formShow.form.formFieldRelation[i].value.length===0)) {
1164
1470
  this.$message.error('请完善'+ this.formShow.form.formFieldRelation[i].formField.name)
1165
1471
  return
1166
1472
  }
@@ -1185,28 +1491,30 @@ export default {
1185
1491
 
1186
1492
  },
1187
1493
  //时间的点击事件
1188
- timeClick(id,item) {
1189
- if(this.disableds === false){
1190
- for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
1191
- if (this.formShow.form.formFieldRelation[i].fieldId === id) {
1192
- this.timeId = id
1193
- if (!item.formField.extInfo.mold||item.formField.extInfo.mold==='DATA_TIME'){
1194
- this.showTimePicker = true
1195
- }
1196
- else {
1197
- this.showTimePickerd= true
1198
- }
1199
-
1200
- break
1201
- }
1202
-
1203
- }
1494
+ timeClick(id,item,type) {
1495
+ if (this.disableds){
1496
+ return
1497
+ }
1498
+ this.timeDetailData = item
1499
+ if (type == 'DATE'){
1500
+ this.datePicker = true
1501
+ }
1502
+ else if (type == 'TIME'){
1503
+ this.timePicker = true
1504
+ }
1505
+ else if (type == 'DATE_TIME'){
1506
+ this.dateTimePicker = true
1204
1507
  }
1205
-
1206
1508
  },
1207
1509
  //下拉的点击事件
1208
- selectClick(id) {
1209
- if(this.disableds === false){
1510
+ selectClick(id,type,item) {
1511
+ console.debug('111',item)
1512
+ if (this.disableds){
1513
+ return
1514
+ }
1515
+ this.selectDetail = item;
1516
+ this.defaultValue = ''
1517
+ if(type == 'client') {
1210
1518
  let selectOption
1211
1519
  this.selectValue=[]
1212
1520
  for (let i = 0; i < this.formShow.form.formFieldRelation.length; i++) {
@@ -1223,8 +1531,16 @@ export default {
1223
1531
  }
1224
1532
  this.selectId = id
1225
1533
  this.showPicker = true
1534
+ } else if (type == 'ref'){
1535
+ this.refShowPicker = true;
1536
+ this.refTemplateVisibleChange(true,item);
1537
+ this.refDefaultValue[item.fieldId] = item.value?[item.value]:[]
1538
+ } else if (type == 'select'){
1539
+ this.selectPicker = true;
1540
+ }
1541
+ if (item){
1542
+ this.detailField = item;
1226
1543
  }
1227
-
1228
1544
  },
1229
1545
  SelectClear(fieldId) {
1230
1546
  if(this.disableds === false){
@@ -1249,8 +1565,16 @@ export default {
1249
1565
  this.keyValue+=this.formShow.form.formFieldRelation[i].value[m]
1250
1566
  }
1251
1567
  }
1252
-
1253
- this.data = this.formShow.form.formFieldRelation[i].formField.extInfo.cascade?this.formShow.form.formFieldRelation[i].formField.extInfo.cascade:this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown?this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0].options:[]
1568
+ this.data = []
1569
+ if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascade){
1570
+ this.data = this.formShow.form.formFieldRelation[i].formField.extInfo.cascade
1571
+ }
1572
+ else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options){
1573
+ this.data = this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown.options
1574
+ }
1575
+ else if (this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0]){
1576
+ this.data = this.formShow.form.formFieldRelation[i].formField.extInfo.cascadeDown[0].options
1577
+ }
1254
1578
  this.column[0].values = Object.values(this.data).map(function (e) {
1255
1579
  return {text: e.value, code: e.value}
1256
1580
  })
@@ -1280,7 +1604,6 @@ export default {
1280
1604
 
1281
1605
 
1282
1606
  },
1283
-
1284
1607
  onChange(picker, values,index) {
1285
1608
  // 这里我有可能渲染的有问题,导致回调每次都修改了当前列,其他值没有修改,当前列??(当前列什么鬼呀,什么垃圾啊???) 解释一下 ↓↓
1286
1609
  // 因为vant的 van-picker 回调只会返回你修改的那一列,比如现在为 [北京,北京,东城区],你修改了省为[天津市,天津市,和平区],但是vant的change回调会得到[天津市,北京,东城区],后面两个在回调中没有修改,不知道我的渲染方法有问题还是什么问题。
@@ -1496,28 +1819,10 @@ export default {
1496
1819
  }
1497
1820
 
1498
1821
  }
1499
- /*let value=[]
1500
- for (let i=0;i<fileList.length;i++){
1501
- value[i]={}
1502
- value[i].name=fileList[i].name
1503
- if(fileList[i].response){
1504
- value[i].url=fileList[i].response.data
1505
- }
1506
- else {
1507
- value[i].url=fileList[i].url
1508
- }
1509
- }
1510
- for (let i=0;i<this.formShow.form.formFieldRelation.length;i++){
1511
- if (this.formShow.form.formFieldRelation[i].fieldId===this.filedId){
1512
- this.fileListList[this.filedId]=value
1513
- }
1514
- }*/
1515
- /*this.fileListList = [...this.fileListList]*/
1516
1822
  },
1517
1823
  handleEditChange(file,fileList){
1518
1824
  this.hideUploadEdit=fileList.length >= this.limitNum
1519
1825
  },
1520
-
1521
1826
  onUploadProgress: function (progress, point, file, videoData) {
1522
1827
  console.debug("upload video progress", progress, point);
1523
1828
  if (progress === 1) {
@@ -1530,64 +1835,321 @@ export default {
1530
1835
 
1531
1836
  }
1532
1837
  },
1533
- checkUpload(id,limitNum){
1838
+ checkUpload(id,extInfo){
1534
1839
  this.filedId=id
1535
- this.limitNum = limitNum
1840
+ this.limitNum = extInfo.limitNum?extInfo.limitNum:(extInfo.limit?extInfo.limit:1)
1536
1841
 
1537
1842
  },
1538
- beforeAvatarUpload(file){
1539
- const isLte2M = file.size / 1024 / 1024 <= 8;
1540
- const isSupportedFormat =file.type.indexOf('image')!==-1
1541
- if (!isSupportedFormat){
1542
- this.$message.error("只能上传图片格式");
1543
- return false
1544
- }
1545
- if (!isLte2M) {
1546
- this.$message.error("上传图片大小不能超过 8MB!");
1547
- return false
1548
- }
1549
- return true
1843
+ beforeAvatarUpload(file,type){
1844
+ if (type === 'IMAGE'){
1845
+ const isLte2M = file.size / 1024 / 1024 <= 8;
1846
+ const isSupportedFormat =file.type.indexOf('image')!==-1
1847
+ if (!isSupportedFormat){
1848
+ this.$message.error("只能上传图片格式");
1849
+ return false
1850
+ }
1851
+ if (!isLte2M) {
1852
+ this.$message.error("上传图片大小不能超过 8MB!");
1853
+ return false
1854
+ }
1855
+ return true
1856
+ }
1857
+ else if (type === 'VIDEO'){
1858
+ const isLte2M = file.size / 1024 / 1024 <= 100;
1859
+ const isSupportedFormat =file.type.indexOf('video')!==-1
1860
+ if (!isSupportedFormat){
1861
+ this.$message.error("只能上传视频格式");
1862
+ return false
1863
+ }
1864
+ if (!isLte2M&&isSupportedFormat) {
1865
+ this.$message.error("上传视频大小不能超过100MB!");
1866
+ return false
1867
+ }
1868
+ return true
1869
+ }
1870
+ else if (type === 'FILE' || type === 'ATTACHMENT'){
1871
+ const isLte2M = file.size / 1024 / 1024 <= 100;
1872
+ if (!isLte2M) {
1873
+ this.$message.error("上传附件大小不能超过100MB!");
1874
+ return false
1875
+ }
1876
+ return true
1877
+ }
1878
+
1550
1879
  },
1551
1880
  exceedUpload(){
1552
- this.$message.warning('上传文件数量达到上限')
1881
+ this.$message({
1882
+ message:"上传文件数量达到上限",
1883
+ duration:2000,
1884
+ type:'warning'
1885
+ })
1553
1886
  },
1554
1887
 
1555
1888
  handlePictureCardPreview(file) {
1556
1889
  this.videoFlag = true;
1557
1890
  this.videoUploadPercent = file.percentage.toFixed(0);
1558
1891
  },
1559
- },
1560
- //时间日期范围的点击事件
1561
- /* dateTimeClick(id){
1562
- for (let i=0;i<this.formList.form.formFieldRelation.length;i++)
1563
- {
1564
- if(this.formList.form.formFieldRelation[i].formField.id===id)
1565
- {
1566
- this.dateTimeId=id
1567
- this.showDateTimePicker = true
1568
- break
1892
+ refTemplateVisibleChange(visible,field) {
1893
+ console.debug('field1111',field)
1894
+ let fields = field.formField.type === 'REF' ? field.formField.extInfo.ref.field : field.formField.extInfo.ref.vars
1895
+ if (visible) {
1896
+ if (
1897
+ !this.refTemplateList[field.fieldId] || this.dataQuery[field.fieldId].hasNextPage
1898
+ ) {
1899
+ this.$set(this.refTemplateList, field.fieldId, [])
1900
+ !this.dataQuery[field.fieldId] && this.$set(this.dataQuery,field.fieldId, {
1901
+ filterId: '',
1902
+ keywords: '',
1903
+ pageInfo: {
1904
+ pageNo: 1,
1905
+ pageSize: 20
1906
+ },
1907
+ sortInfos: [],
1908
+ templateId: ''
1909
+ })
1910
+ this.getTemplateList(field.formField.extInfo.ref.source, fields, field)
1569
1911
  }
1570
1912
  }
1571
1913
  },
1572
- dateTimeClick1(id){
1573
- if(this.dateTimeValue.length === 0)
1574
- {
1575
- this.$message.error('请先选择开始日期时间')
1914
+ changeRefData(value, item) {
1915
+ console.log(value);
1916
+ console.debug('value', value, item, this.refTemplateList[item.fieldId])
1917
+ let arr = []
1918
+ if (this.refTemplateList[item.fieldId]) {
1919
+ this.refTemplateList[item.fieldId].forEach(data => {
1920
+ if(typeof value == 'string' || typeof value == 'number') {
1921
+ if(value == data.id) {
1922
+ let obj = {
1923
+ name: data.name,
1924
+ id: data.id
1925
+ }
1926
+ arr.push(data)
1927
+ }
1928
+ } else {
1929
+ if (value.indexOf(data.id) !== -1) {
1930
+ let obj = {
1931
+ name: data.name,
1932
+ id: data.id
1933
+ }
1934
+ arr.push(data)
1935
+ }
1936
+ }
1937
+ })
1576
1938
  }
1577
- else
1578
- {
1579
- for (let i=0;i<this.formList.form.formFieldRelation.length;i++)
1580
- {
1581
- if(this.formList.form.formFieldRelation[i].formField.id===id)
1582
- {
1583
- this.dateTimeId=id
1584
- this.showDateTimePicker1 = true
1585
- break
1939
+ if (!item.formField.extInfo.extInfoFieldValue){
1940
+ this.$set(item.formField.extInfo,'extInfoFieldValue',[])
1941
+ }
1942
+ item.formField.extInfo.extInfoFieldValue = arr
1943
+ console.log(arr,item);
1944
+ },
1945
+ getTemplateList(templateId, fieldId, field) {
1946
+ let url = '/order-api/data-template/data/page'
1947
+ this.dataQuery[field.fieldId].templateId = templateId
1948
+ // let dataQuery = {
1949
+ // filterId: '',
1950
+ // keywords: '',
1951
+ // pageInfo: {
1952
+ // pageNo: 1,
1953
+ // pageSize: 20
1954
+ // },
1955
+ // sortInfos: [],
1956
+ // templateId: templateId
1957
+ // }
1958
+ this.$http.post(url, this.dataQuery[field.fieldId]).then(res => {
1959
+ if (res.data.code === '0') {
1960
+ let list = res.data.data.data
1961
+ this.dataQuery[field.fieldId].hasNextPage = res.data.data.hasNextPage
1962
+ // this.isHasNext[field.id] = res.data.data.hasNextPage
1963
+ let templateList = []
1964
+ templateList = list.map(res => {
1965
+ let info = {}
1966
+ for (let key in res.fieldValues) {
1967
+ if (Array.isArray(fieldId)) {
1968
+ let vals = ''
1969
+ let values = ''
1970
+ fieldId.forEach(val => {
1971
+ vals += val
1972
+ if (res.fieldValues[val]) {
1973
+ values += res.fieldValues[val]
1974
+ }
1975
+ })
1976
+ info[vals] = values
1977
+ info.id = res.id
1978
+ info.name = values
1979
+ } else {
1980
+ if (fieldId === key) {
1981
+ info[key] = res.fieldValues[key]
1982
+ info.id = res.id
1983
+ info.name = res.fieldValues[key]
1984
+ }
1985
+ }
1986
+ }
1987
+ return info
1988
+ })
1989
+ this.$nextTick(() =>{
1990
+ this.$set(this.refTemplateList,field.fieldId,[
1991
+ ...this.refTemplateList[field.fieldId],
1992
+ ...templateList
1993
+ ])
1994
+ console.log('refTemplateList',this.refTemplateList[field.fieldId])
1995
+ })
1996
+
1997
+ }
1998
+ })
1999
+ },
2000
+ lodeMore(item) {
2001
+ this.dataQuery[item.fieldId].pageInfo.pageNo += 1
2002
+ this.refTemplateVisibleChange(true,item)
2003
+ },
2004
+ //打开级联/下拉抽屉选择
2005
+ openDrawer(field,type){
2006
+ this.detailField = field;
2007
+ console.debug('type',type)
2008
+ if (type == 'cascader' || type === 'pc_cascader'){
2009
+ if (type == 'cascader'){
2010
+ this.showArea = true;
2011
+ }
2012
+ else {
2013
+ this.drawer = true;
2014
+ }
2015
+ this.$nextTick(()=>{
2016
+ let arr = this.checkDatas[field.fieldId]?this.checkDatas[field.fieldId]:[]
2017
+ console.debug('drawerTree',this.$refs.drawerTree)
2018
+ let drawerTree = this.$refs.drawerTree
2019
+ if (drawerTree){
2020
+ drawerTree.forEach(item=>{
2021
+ item.$refs.dataTree.setCheckedNodes (arr);
2022
+ item.checked = this.checkDatas[field.fieldId] && this.checkDatas[field.fieldId][0]?this.checkDatas[field.fieldId][0].value:'';
2023
+ })
1586
2024
  }
2025
+
2026
+ })
2027
+ }
2028
+ else if (type === 'select'){
2029
+ this.options = field.formField.extInfo.option?field.formField.extInfo.option:field.formField.extInfo.options;
2030
+ this.selectPopUp = true;
2031
+ if (!this.detailField.value){
2032
+ return
2033
+ }
2034
+ if (Array.isArray(this.detailField.value)){
2035
+ this.defaultValue = this.detailField.value
1587
2036
  }
2037
+ else {
2038
+ this.defaultValue = [this.detailField.value]
2039
+ }
2040
+ console.debug('selectPopUp',this.selectPopUp,this.options)
2041
+ }
2042
+ },
2043
+ //保存级联数据
2044
+ saveData(checkList,checkDatas){
2045
+ this.$set(this.detailField,'value',checkList);
2046
+ this.checkDatas[this.detailField.fieldId] = checkDatas;
2047
+ this.$set(this.detailField.formField.extInfo,'extInfoFieldValue',checkDatas);
2048
+ console.debug('checkDatas',this.detailField.formField.extInfo,checkList)
2049
+ this.$forceUpdate();
2050
+ this.showArea = false;
2051
+ this.drawer = false;
2052
+ },
2053
+ //保存所选下拉值
2054
+ confirmSelect(option, list){
2055
+ console.debug('option',option,list)
2056
+ this.detailField.value = list;
2057
+ this.selectPopUp = false
2058
+ this.selectPicker = false
2059
+ },
2060
+ //保存ref类型值
2061
+ confirmRefSelect(option, list){
2062
+ console.debug('options',option,list)
2063
+ if (!option || !list){
2064
+ this.refShowPicker = false;
2065
+ return
2066
+ }
2067
+ if (!this.detailField.formField.extInfo.extInfoFieldValue){
2068
+ this.$set(this.detailField.formField.extInfo,'extInfoFieldValue',[])
1588
2069
  }
2070
+ this.detailField.value = list;
2071
+ let val = ''
2072
+ if (Array.isArray(option)){
2073
+ val = option.map(item=>{
2074
+ return item.name
2075
+ })
2076
+ this.detailField.formField.extInfo.extInfoFieldValue = option
2077
+ }
2078
+ else {
2079
+ val = option.name
2080
+ this.detailField.formField.extInfo.extInfoFieldValue = [option]
2081
+ }
2082
+ this.selectValues[this.detailField.fieldId] = val;
2083
+ this.refShowPicker = false;
2084
+ },
2085
+ // 一个重复的方法 兼容 状态优先级 的关联控件,
2086
+ relationSet(field,list) {
2087
+ let flag = false
2088
+ console.debug('field',field,field.extInfo && field.extInfo[list])
2089
+ // 如果在extInfo下有该字段,表示已被关联,否则根据 类型去判断 retrun true 或者false
2090
+ if(field.extInfo && field.extInfo[list] && Object.keys(field.extInfo[list]).length !== 0) {
2091
+ for (const key in field.extInfo[list]) {
2092
+ const element = field.extInfo[list][key];
2093
+ let orderFieldValue = ""
2094
+ for (let i=0;i<this.formShow.form.formFieldRelation.length;i++){
2095
+ if (key === this.formShow.form.formFieldRelation[i].fieldId || key === this.formShow.form.formFieldRelation[i].formField.workOrderFieldId){
2096
+ orderFieldValue = this.formShow.form.formFieldRelation[i].value
2097
+ break
2098
+ }
2099
+ }
2100
+ console.debug('orderFieldValue',orderFieldValue)
2101
+ if(orderFieldValue) {
2102
+ if(Array.isArray(orderFieldValue)) {
2103
+ if(Array.isArray(element)) {
2104
+ for (let index = 0; index < element.length; index++) {
2105
+ flag = orderFieldValue.some(item =>{ return item == element[index] })
2106
+ if(flag) {
2107
+ return flag
2108
+ }
2109
+ }
2110
+ } else {
2111
+ flag = orderFieldValue.some(item =>{ return item == element })
2112
+ if(flag) {
2113
+ return flag
2114
+ }
2115
+ }
2116
+ } else {
2117
+ if(Array.isArray(element)) {
2118
+ for (let index = 0; index < element.length; index++) {
2119
+ flag = element[index] == orderFieldValue
2120
+ if(flag) {
2121
+ return flag
2122
+ }
2123
+ }
2124
+ } else {
2125
+ flag = element == orderFieldValue
2126
+ if(flag) {
2127
+ return flag
2128
+ }
2129
+ }
1589
2130
 
1590
- },*/
2131
+ }
2132
+ }
2133
+ else if(list == 'dependentFieldId') {
2134
+ return flag = false
2135
+ }
2136
+ }
2137
+ } else if(list == 'dependentFieldId') {
2138
+ return flag = true
2139
+ } else if(list == 'requiredDependentFieldId') {
2140
+ return flag = false
2141
+ }
2142
+ return flag
2143
+ },
2144
+ },
2145
+ watch:{
2146
+ formFieldValus:{
2147
+ handler(value){
2148
+ console.log(value);
2149
+ },
2150
+ deep:true
2151
+ }
2152
+ }
1591
2153
 
1592
2154
 
1593
2155
 
@@ -1655,6 +2217,34 @@ export default {
1655
2217
  border-bottom-left-radius: 9px!important;
1656
2218
  border-bottom-right-radius: 9px!important;
1657
2219
  }
2220
+ .cascader-class{
2221
+ padding: 10px 16px;
2222
+ }
2223
+ .cascader-input{
2224
+ -webkit-appearance: none;
2225
+ background-image: none;
2226
+ border: 1px solid #E0E6F7;
2227
+ -webkit-box-sizing: border-box;
2228
+ box-sizing: border-box;
2229
+ color: #606266;
2230
+ display: inline-block;
2231
+ height: 40px;
2232
+ line-height: 40px;
2233
+ outline: 0;
2234
+ padding: 0 15px;
2235
+ -webkit-transition: border-color .2s cubic-bezier(.645,.045,.355,1);
2236
+ transition: border-color .2s cubic-bezier(.645,.045,.355,1);
2237
+ width: 100%;
2238
+ background-color: transparent!important;
2239
+ border-radius: 9px!important;
2240
+ cursor: pointer;
2241
+ font-size: 14px;
2242
+ }
2243
+ .cascader-name{
2244
+ color: #A9B3C6;
2245
+ font-size: 1em;
2246
+ padding-bottom: 8px;
2247
+ }
1658
2248
  }
1659
2249
  .pcFormClass{
1660
2250
  width: 400px;
@@ -1678,6 +2268,31 @@ export default {
1678
2268
  border-radius: 9px!important;
1679
2269
  padding: 9px 15px!important;
1680
2270
  }
2271
+ .upload-demo{
2272
+ background-color: #FFFFFF;
2273
+ border: 1px solid #E0E6F7;
2274
+ border-radius: 10px;
2275
+ width: 74px;
2276
+ height: 74px;
2277
+ vertical-align: top;
2278
+ cursor: pointer;
2279
+ text-align: center;
2280
+ font-size:28px;
2281
+ color:#366AFF;
2282
+ display: -webkit-box;
2283
+ align-items: center;
2284
+ justify-content: center;
2285
+ i{
2286
+ color: #366AFF;
2287
+ }
2288
+ /deep/.el-upload{
2289
+ height: 100%;
2290
+ width: 100%;
2291
+ display: flex;
2292
+ align-items: center;
2293
+ justify-content: center;
2294
+ }
2295
+ }
1681
2296
  /deep/.el-upload--picture-card{
1682
2297
  background-color: #FFFFFF;
1683
2298
  border: 1px solid #E0E6F7;
@@ -1745,6 +2360,7 @@ export default {
1745
2360
  .remPhoneClassForm{
1746
2361
  .mobileFormClass{
1747
2362
  width: calc(100vw - 110px);
2363
+ background-color: white;
1748
2364
  .form-field-item{
1749
2365
  .form-field-item-value{
1750
2366
  /deep/.van-cell{
@@ -1761,7 +2377,7 @@ export default {
1761
2377
  color: #999999!important;
1762
2378
  }
1763
2379
  .form-field-item-file{
1764
- padding: 8px;
2380
+ padding: 10px 16px;
1765
2381
  .fileName{
1766
2382
  padding-bottom: 8px;
1767
2383
  color: #A9B3C6;
@@ -1971,5 +2587,8 @@ export default {
1971
2587
  height: 14px !important;
1972
2588
  }
1973
2589
  }
1974
-
2590
+ .drawer-container{
2591
+ height: 100%;
2592
+ overflow: hidden;
2593
+ }
1975
2594
  </style>