|
|
@@ -8,7 +8,7 @@
|
|
8
|
8
|
<span class="card-title">基础信息</span>
|
|
9
|
9
|
</div>
|
|
10
|
10
|
</template>
|
|
11
|
|
- <page-add @dataChange="getWorkBasicData" ref="pageModalRef" :defaultInfo="defaultInfo"
|
|
|
11
|
+ <page-add @dataChange="getWorkBasicData" :key="componentKey" ref="pageModalRef" :defaultInfo="defaultInfo"
|
|
12
|
12
|
:modalConfig="modalConfigRef"></page-add>
|
|
13
|
13
|
</el-card>
|
|
14
|
14
|
<!-- 问卷配置 -->
|
|
|
@@ -41,6 +41,12 @@
|
|
41
|
41
|
祝您生活愉快!<el-tag type="danger" @click="questionHandle">问卷</el-tag>
|
|
42
|
42
|
</div>
|
|
43
|
43
|
</div>
|
|
|
44
|
+ <div class="templateBox" v-if="workBasicData.way === '1'">
|
|
|
45
|
+ <div class="template-title">问卷信息</div>
|
|
|
46
|
+ <div v-if="questionnaire" class="questionnaire">
|
|
|
47
|
+ <fill-out :surveyId="questionnaire" :userId="'1'"></fill-out>
|
|
|
48
|
+ </div>
|
|
|
49
|
+ </div>
|
|
44
|
50
|
</el-col>
|
|
45
|
51
|
</el-row>
|
|
46
|
52
|
</el-card>
|
|
|
@@ -110,11 +116,11 @@
|
|
110
|
116
|
</el-select>
|
|
111
|
117
|
</el-form-item>
|
|
112
|
118
|
<el-form-item label="匹配方式" label-width="200px">
|
|
113
|
|
- <el-select v-model="matchingMethod" placeholder="请选择匹配方式" @change="changeSelect3" style="width: 240px">
|
|
|
119
|
+ <el-select v-model="matchingMethod" placeholder="请选择匹配方式" style="width: 240px">
|
|
114
|
120
|
<el-option v-for="item in matchMode" :key="item.value" :label="item.title" :value="item.value"/>
|
|
115
|
121
|
</el-select>
|
|
116
|
122
|
</el-form-item>
|
|
117
|
|
- <el-form-item label="周期" label-width="200px" v-if="matchingMethod === '2'">
|
|
|
123
|
+ <el-form-item label="周期" label-width="200px">
|
|
118
|
124
|
<el-select v-model="cycle" placeholder="请选择周期" style="width: 240px">
|
|
119
|
125
|
<el-option v-for="item in periodData" :key="item.value" :label="item.title" :value="item.value" />
|
|
120
|
126
|
</el-select>
|
|
|
@@ -212,7 +218,7 @@
|
|
212
|
218
|
filterable
|
|
213
|
219
|
remote
|
|
214
|
220
|
reserve-keyword
|
|
215
|
|
- placeholder="Please enter a keyword"
|
|
|
221
|
+ placeholder="请选择坐席"
|
|
216
|
222
|
:remote-method="remoteMethod"
|
|
217
|
223
|
:loading="loading"
|
|
218
|
224
|
style="width: 240px"
|
|
|
@@ -240,6 +246,8 @@
|
|
240
|
246
|
import moment from 'moment';
|
|
241
|
247
|
|
|
242
|
248
|
import PageAdd from '@/components/page-add';
|
|
|
249
|
+import fillOut from '@/views/main/questionnaireManagement/fillOut';
|
|
|
250
|
+
|
|
243
|
251
|
import seatList from './cpns/seatList/seatList';
|
|
244
|
252
|
import patientList from './cpns/patientList/patientList';
|
|
245
|
253
|
import { modalConfig } from './config/modal.config';
|
|
|
@@ -260,8 +268,8 @@ const props = defineProps({
|
|
260
|
268
|
default: () => ({}),
|
|
261
|
269
|
},
|
|
262
|
270
|
planId: {
|
|
263
|
|
- type: String,
|
|
264
|
|
- default: ''
|
|
|
271
|
+ type: Number,
|
|
|
272
|
+ default: 0
|
|
265
|
273
|
},
|
|
266
|
274
|
isdetil:{
|
|
267
|
275
|
type: String,
|
|
|
@@ -278,6 +286,7 @@ const { proxy } = getCurrentInstance();
|
|
278
|
286
|
const downLoadUrl = new URL('@/assets/downLoad/template.xlsx', import.meta.url).href
|
|
279
|
287
|
const router = useRoute();
|
|
280
|
288
|
const isdetil = ref('')
|
|
|
289
|
+const componentKey = ref(0)
|
|
281
|
290
|
const loading = ref(false)
|
|
282
|
291
|
const seatSelectvalue = ref()
|
|
283
|
292
|
const rangeSeatData = ref([])
|
|
|
@@ -306,7 +315,7 @@ const filterObjData = ref({
|
|
306
|
315
|
const filterLongData = ref([])
|
|
307
|
316
|
const filterData = ref([])
|
|
308
|
317
|
const screenData = ref([])
|
|
309
|
|
-
|
|
|
318
|
+const state = ref(Number(router.query.planState || 0));
|
|
310
|
319
|
|
|
311
|
320
|
const formData = ref({});
|
|
312
|
321
|
const workBasicData = ref({});
|
|
|
@@ -332,9 +341,6 @@ const centerDialogVisibleQues = ref(false)
|
|
332
|
341
|
const planId = ref(Number(router.query.planId || 0));
|
|
333
|
342
|
const planDetailObj = ref({})
|
|
334
|
343
|
|
|
335
|
|
-function changeSelect3(data) {
|
|
336
|
|
- console.log(data)
|
|
337
|
|
-}
|
|
338
|
344
|
onMounted(() => {
|
|
339
|
345
|
initMethod(props);
|
|
340
|
346
|
});
|
|
|
@@ -377,8 +383,6 @@ function handleSeatTrue() {
|
|
377
|
383
|
}
|
|
378
|
384
|
});
|
|
379
|
385
|
if (planId.value) {
|
|
380
|
|
- console.log(seatSelectvalue.value)
|
|
381
|
|
- console.log(newAway);
|
|
382
|
386
|
newAway.forEach(element => {
|
|
383
|
387
|
const params = {
|
|
384
|
388
|
plId:planId.value,
|
|
|
@@ -412,6 +416,7 @@ function questionHandle() {
|
|
412
|
416
|
centerDialogVisibleQues.value = true
|
|
413
|
417
|
}
|
|
414
|
418
|
const modalConfigRef = computed(() => {
|
|
|
419
|
+
|
|
415
|
420
|
// 随访类型
|
|
416
|
421
|
const processorTypeItem = modalConfig.formItems.find((item) => item.field === 'type');
|
|
417
|
422
|
processorTypeItem.options = followType;
|
|
|
@@ -428,7 +433,6 @@ const modalConfigRef = computed(() => {
|
|
428
|
433
|
// 工单基础信息
|
|
429
|
434
|
const getWorkBasicData = (item) => {
|
|
430
|
435
|
workBasicData.value = item;
|
|
431
|
|
- console.log(workBasicData.value)
|
|
432
|
436
|
};
|
|
433
|
437
|
defineExpose({
|
|
434
|
438
|
getWorkBasicData,
|
|
|
@@ -454,8 +458,7 @@ const handleConfirmClick = () => {
|
|
454
|
458
|
formData.value.patientsNumRule =patientsNumRule.value
|
|
455
|
459
|
formData.value.patientsNum = patientsNum.value
|
|
456
|
460
|
formData.value.screen = JSON.stringify(filterResultData.value)
|
|
457
|
|
- console.log(formData.value)
|
|
458
|
|
- if (planId.value) {
|
|
|
461
|
+ if (planId.value && !state.value) {
|
|
459
|
462
|
formData.value.plId = planId.value
|
|
460
|
463
|
editPageData('/SfPlan/sfPlan', formData.value).then((data) => {
|
|
461
|
464
|
proxy.$modal.msgSuccess('编辑成功!');
|
|
|
@@ -463,9 +466,9 @@ const handleConfirmClick = () => {
|
|
463
|
466
|
} else{
|
|
464
|
467
|
createPageData('/SfPlan/sfPlan', formData.value).then((data) => {
|
|
465
|
468
|
proxy.$modal.msgSuccess('新增成功!');
|
|
|
469
|
+ cleanForm()
|
|
466
|
470
|
})
|
|
467
|
471
|
}
|
|
468
|
|
-
|
|
469
|
472
|
// editPageData('/order/workorder', formData.value).then((data) => {})
|
|
470
|
473
|
}
|
|
471
|
474
|
});
|
|
|
@@ -473,10 +476,11 @@ const handleConfirmClick = () => {
|
|
473
|
476
|
|
|
474
|
477
|
function getPlanDetail(planId) {
|
|
475
|
478
|
getPageDetail("/SfPlan/sfPlan/"+planId).then((res)=>{
|
|
476
|
|
- console.log(res.data)
|
|
477
|
479
|
if (res.data) {
|
|
478
|
480
|
planDetailObj.value = res.data
|
|
479
|
|
- defaultInfo.value.name = planDetailObj.value.name
|
|
|
481
|
+ if (!state.value) {
|
|
|
482
|
+ defaultInfo.value.name = planDetailObj.value.name
|
|
|
483
|
+ }
|
|
480
|
484
|
defaultInfo.value.type = planDetailObj.value.type.toString()
|
|
481
|
485
|
defaultInfo.value.way = planDetailObj.value.way.toString()
|
|
482
|
486
|
defaultInfo.value.executionMethod = planDetailObj.value.executionMethod
|
|
|
@@ -498,13 +502,11 @@ function getPlanDetail(planId) {
|
|
498
|
502
|
cycle.value = planDetailObj.value.cycle.toString()
|
|
499
|
503
|
|
|
500
|
504
|
executionTime.value = converTime(planDetailObj.value.executionTime)
|
|
501
|
|
- patientsNumRule.value = planDetailObj.value.patientsNumRule.toString()
|
|
|
505
|
+ patientsNumRule.value = planDetailObj.value.patientsNumRule && planDetailObj.value.patientsNumRule.toString()
|
|
502
|
506
|
patientsNum.value = planDetailObj.value.patientsNum
|
|
503
|
507
|
screenData.value = JSON.parse(planDetailObj.value.screen)
|
|
504
|
508
|
if (screenData.value.length>0) {
|
|
505
|
|
- console.log(screenData.value)
|
|
506
|
509
|
filterData.value = []
|
|
507
|
|
- console.log(filterData.value);
|
|
508
|
510
|
screenData.value.forEach(ele => {
|
|
509
|
511
|
const obj = {
|
|
510
|
512
|
officeItem:{
|
|
|
@@ -524,7 +526,6 @@ function getPlanDetail(planId) {
|
|
524
|
526
|
}
|
|
525
|
527
|
filterData.value.push(obj)
|
|
526
|
528
|
});
|
|
527
|
|
- console.log(filterData.value);
|
|
528
|
529
|
}
|
|
529
|
530
|
// defaultInfo.value = planDetailObj.value.name
|
|
530
|
531
|
// defaultInfo.value = planDetailObj.value.name
|
|
|
@@ -534,7 +535,28 @@ function getPlanDetail(planId) {
|
|
534
|
535
|
|
|
535
|
536
|
})
|
|
536
|
537
|
}
|
|
537
|
|
-
|
|
|
538
|
+function cleanForm() {
|
|
|
539
|
+ componentKey.value += 1
|
|
|
540
|
+ // defaultInfo.value.name =''
|
|
|
541
|
+ // defaultInfo.value.type =''
|
|
|
542
|
+ // defaultInfo.value.way =''
|
|
|
543
|
+ // defaultInfo.value.executionMethod =''
|
|
|
544
|
+ // defaultInfo.value.indate =[]
|
|
|
545
|
+ // defaultInfo.value.describes =''
|
|
|
546
|
+ questionnaire.value = ''
|
|
|
547
|
+ message.value = ''
|
|
|
548
|
+ questionnaireMsg.value = ''
|
|
|
549
|
+ quesIput.value = ''
|
|
|
550
|
+ allocation.value = ''
|
|
|
551
|
+ seatListData.value = []
|
|
|
552
|
+ cycle.value = ''
|
|
|
553
|
+ executionTime.value = ''
|
|
|
554
|
+ patientsNumRule.value = ''
|
|
|
555
|
+ patientsNum.value = ''
|
|
|
556
|
+ screenData.value = ''
|
|
|
557
|
+ deduplication.value = ''
|
|
|
558
|
+ matchingMethod.value = ''
|
|
|
559
|
+}
|
|
538
|
560
|
const converTime = (arr) => {
|
|
539
|
561
|
const _arr = arr.split(":");
|
|
540
|
562
|
let result = new Date(2010, 10, 10, Number(_arr[0]), Number(_arr[1]), Number(_arr[2]))
|
|
|
@@ -560,8 +582,6 @@ function getPlanSeatList(plId) {
|
|
560
|
582
|
seatResultData.value.push(obj)
|
|
561
|
583
|
seatListData.value.push(obj)
|
|
562
|
584
|
});
|
|
563
|
|
- console.log(seatDataList.value)
|
|
564
|
|
- console.log(seatListData.value)
|
|
565
|
585
|
// res.data.forEach(ele => {
|
|
566
|
586
|
// seatListData.value.push(ele.userName?ele.userName:ele.usercode)
|
|
567
|
587
|
// });
|
|
|
@@ -716,8 +736,18 @@ const [pageModalRef, defaultInfo] = usePageModal(newCallback, editCallback);
|
|
716
|
736
|
.templateBox {
|
|
717
|
737
|
font-size: 14px;
|
|
718
|
738
|
line-height: 32px;
|
|
|
739
|
+ .template-title {
|
|
|
740
|
+ margin-bottom: 15px;
|
|
|
741
|
+ }
|
|
719
|
742
|
|
|
720
|
|
- .template-title {}
|
|
|
743
|
+ .questionnaire{
|
|
|
744
|
+ height: 600px;
|
|
|
745
|
+ scrollbar-width: none; /* firefox */
|
|
|
746
|
+ -ms-overflow-style: none; /* IE 10+ */
|
|
|
747
|
+ overflow-x: hidden;
|
|
|
748
|
+ overflow-y: auto;
|
|
|
749
|
+ }
|
|
|
750
|
+
|
|
721
|
751
|
}
|
|
722
|
752
|
|
|
723
|
753
|
.questionBox {
|