|
@@ -3,15 +3,17 @@ |
|
@@ -3,15 +3,17 @@ |
|
3
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
3
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
|
4
|
<el-form-item :label="$t('meet.meeting_id')" prop="meetingId">
|
4
|
<el-form-item :label="$t('meet.meeting_id')" prop="meetingId">
|
|
5
|
<el-input v-model="queryParams.meetingId" :placeholder="$t('meet.meeting_id_P')" clearable
|
5
|
<el-input v-model="queryParams.meetingId" :placeholder="$t('meet.meeting_id_P')" clearable
|
|
6
|
- @keyup.enter.native="handleQuery" maxlength="20" />
|
6
|
+ @keyup.enter.native="handleQuery" maxlength="20"/>
|
|
7
|
</el-form-item>
|
7
|
</el-form-item>
|
|
8
|
<el-form-item :label="$t('meet.meeting_name')" prop="meetingName">
|
8
|
<el-form-item :label="$t('meet.meeting_name')" prop="meetingName">
|
|
9
|
<el-input v-model="queryParams.meetingName" :placeholder="$t('meet.meeting_name_P')" clearable
|
9
|
<el-input v-model="queryParams.meetingName" :placeholder="$t('meet.meeting_name_P')" clearable
|
|
10
|
- @keyup.enter.native="handleQuery" maxlength="50" />
|
10
|
+ @keyup.enter.native="handleQuery" maxlength="50"/>
|
|
11
|
</el-form-item>
|
11
|
</el-form-item>
|
|
12
|
<el-form-item>
|
12
|
<el-form-item>
|
|
13
|
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('meet.query')
|
|
|
|
14
|
- }}</el-button>
|
13
|
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{
|
|
|
|
14
|
+ $t('meet.query')
|
|
|
|
15
|
+ }}
|
|
|
|
16
|
+ </el-button>
|
|
15
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('meet.reset') }}</el-button>
|
17
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('meet.reset') }}</el-button>
|
|
16
|
</el-form-item>
|
18
|
</el-form-item>
|
|
17
|
</el-form>
|
19
|
</el-form>
|
|
@@ -19,49 +21,57 @@ |
|
@@ -19,49 +21,57 @@ |
|
19
|
<el-row :gutter="10" class="mb8">
|
21
|
<el-row :gutter="10" class="mb8">
|
|
20
|
<el-col :span="1.5">
|
22
|
<el-col :span="1.5">
|
|
21
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
23
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
22
|
- v-hasPermi="['xvisit:meeting:add']">{{ $t('meet.add') }}</el-button>
|
24
|
+ v-hasPermi="['xvisit:meeting:add']">{{ $t('meet.add') }}
|
|
|
|
25
|
+ </el-button>
|
|
23
|
</el-col>
|
26
|
</el-col>
|
|
24
|
</el-row>
|
27
|
</el-row>
|
|
25
|
|
28
|
|
|
26
|
<el-table v-loading="loading" :data="meetingList" @selection-change="handleSelectionChange">
|
29
|
<el-table v-loading="loading" :data="meetingList" @selection-change="handleSelectionChange">
|
|
27
|
- <el-table-column :label="$t('meet.meeting_id')" align="center" prop="meetingId" fixed="left" />
|
|
|
|
28
|
- <el-table-column :label="$t('meet.meeting_name')" align="center" prop="meetingName" fixed="left" />
|
|
|
|
29
|
- <el-table-column :label="$t('meet.meeting_stime')" align="center" prop="meetingStime" >
|
30
|
+ <el-table-column :label="$t('meet.meeting_id')" align="center" prop="meetingId" fixed="left" width="100px"/>
|
|
|
|
31
|
+ <el-table-column :label="$t('meet.meeting_name')" align="center" prop="meetingName" fixed="left" width="100px"/>
|
|
|
|
32
|
+ <el-table-column :label="$t('meet.meeting_stime')" align="center" prop="meetingStime" width="100px">
|
|
30
|
<template slot-scope="scope">
|
33
|
<template slot-scope="scope">
|
|
31
|
<span>{{ parseTime(scope.row.meetingStime, '{y}-{m}-{d}') }}</span>
|
34
|
<span>{{ parseTime(scope.row.meetingStime, '{y}-{m}-{d}') }}</span>
|
|
32
|
</template>
|
35
|
</template>
|
|
33
|
</el-table-column>
|
36
|
</el-table-column>
|
|
34
|
- <el-table-column :label="$t('meet.meeting_etime')" align="center" prop="meetingEtime" >
|
37
|
+ <el-table-column :label="$t('meet.meeting_etime')" align="center" prop="meetingEtime" width="100px">
|
|
35
|
<template slot-scope="scope">
|
38
|
<template slot-scope="scope">
|
|
36
|
<span>{{ parseTime(scope.row.meetingEtime, '{y}-{m}-{d}') }}</span>
|
39
|
<span>{{ parseTime(scope.row.meetingEtime, '{y}-{m}-{d}') }}</span>
|
|
37
|
</template>
|
40
|
</template>
|
|
38
|
</el-table-column>
|
41
|
</el-table-column>
|
|
39
|
- <el-table-column :label="$t('meet.meeting_place')" align="center" prop="meetingPlace" />
|
|
|
|
40
|
- <el-table-column :label="$t('meet.meeting_leader')" align="center" prop="meetingLeader" />
|
|
|
|
41
|
- <el-table-column :label="$t('meet.leader_telephone')" align="center" prop="leaderTelephone" />
|
|
|
|
42
|
- <el-table-column :label="$t('meet.leader_email')" align="center" prop="leaderEmail" />
|
42
|
+ <el-table-column :label="$t('meet.meeting_place')" align="center" prop="meetingPlace" width="100px"/>
|
|
|
|
43
|
+ <el-table-column :label="$t('meet.meeting_leader')" align="center" prop="meetingLeader" width="100px"/>
|
|
|
|
44
|
+ <el-table-column :label="$t('meet.leader_telephone')" align="center" prop="leaderTelephone" width="120px"/>
|
|
|
|
45
|
+ <el-table-column :label="$t('meet.leader_email')" align="center" prop="leaderEmail" width="180px"/>
|
|
43
|
|
46
|
|
|
44
|
- <el-table-column :label="$t('meet.meeting_subject')" align="center" prop="meetingSubject" />
|
|
|
|
45
|
|
47
|
|
|
46
|
- <el-table-column :label="$t('meet.meeting_charge')" align="center" prop="meetingCharge">
|
48
|
+ <el-table-column :label="$t('meet.meeting_subject')" align="center" width="100px">
|
|
|
|
49
|
+ <template #default="{ row }">
|
|
|
|
50
|
+ <span :title="row.meetingSubject || ''">
|
|
|
|
51
|
+ {{ row.meetingSubject | truncate }}
|
|
|
|
52
|
+ </span>
|
|
|
|
53
|
+ </template>
|
|
|
|
54
|
+ </el-table-column>
|
|
|
|
55
|
+
|
|
|
|
56
|
+ <el-table-column :label="$t('meet.meeting_charge')" align="center" prop="meetingCharge" width="100px">
|
|
47
|
<template #default="scope">
|
57
|
<template #default="scope">
|
|
48
|
<el-tag v-if="scope.row.meetingCharge == '0'">不要</el-tag>
|
58
|
<el-tag v-if="scope.row.meetingCharge == '0'">不要</el-tag>
|
|
49
|
<el-tag v-else-if="scope.row.meetingCharge == '1'">要</el-tag>
|
59
|
<el-tag v-else-if="scope.row.meetingCharge == '1'">要</el-tag>
|
|
50
|
</template>
|
60
|
</template>
|
|
51
|
</el-table-column>
|
61
|
</el-table-column>
|
|
52
|
- <el-table-column :label="$t('meet.meeting_charge_info')" align="center" prop="meetingChargeInfo" />
|
|
|
|
53
|
- <el-table-column :label="$t('meet.meeting_charge_bank')" align="center" prop="meetingChargeBank" />
|
62
|
+ <el-table-column :label="$t('meet.meeting_charge_info')" align="center" prop="meetingChargeInfo" width="100px"/>
|
|
|
|
63
|
+ <el-table-column :label="$t('meet.meeting_charge_bank')" align="center" prop="meetingChargeBank" width="100px"/>
|
|
54
|
<el-table-column :label="$t('meet.qr_code_pic')" align="center" prop="qrCodePic" width="100">
|
64
|
<el-table-column :label="$t('meet.qr_code_pic')" align="center" prop="qrCodePic" width="100">
|
|
55
|
<template slot-scope="scope">
|
65
|
<template slot-scope="scope">
|
|
56
|
- <image-preview :src="scope.row.qrCodePic" :width="50" :height="50" />
|
66
|
+ <image-preview :src="scope.row.qrCodePic" :width="50" :height="50"/>
|
|
57
|
</template>
|
67
|
</template>
|
|
58
|
</el-table-column>
|
68
|
</el-table-column>
|
|
59
|
- <el-table-column :label="$t('meet.meeting_dues')" align="center" prop="meetingDues" />
|
69
|
+ <el-table-column :label="$t('meet.meeting_dues')" align="center" prop="meetingDues" width="100px"/>
|
|
60
|
|
70
|
|
|
61
|
<!-- <el-table-column :label="$t('meet.meeting_robot')" align="center" prop="meetingRobot" /> -->
|
71
|
<!-- <el-table-column :label="$t('meet.meeting_robot')" align="center" prop="meetingRobot" /> -->
|
|
62
|
- <el-table-column :label="$t('meet.meeting_print')" align="center" prop="meetingPrint" />
|
|
|
|
63
|
- <el-table-column :label="$t('meet.meeting_reg_site')" align="center" prop="meetingRegSite" />
|
|
|
|
64
|
- <el-table-column :label="$t('meet.meeting_info_flg')" align="center" prop="meetingInfoFlg">
|
72
|
+ <el-table-column :label="$t('meet.meeting_print')" align="center" prop="meetingPrint" width="100px"/>
|
|
|
|
73
|
+ <el-table-column :label="$t('meet.meeting_reg_site')" align="center" prop="meetingRegSite" width="100px"/>
|
|
|
|
74
|
+ <el-table-column :label="$t('meet.meeting_info_flg')" align="center" prop="meetingInfoFlg" width="100px">
|
|
65
|
|
75
|
|
|
66
|
<template #default="scope">
|
76
|
<template #default="scope">
|
|
67
|
<el-tag v-if="scope.row.meetingInfoFlg == '0'">不可</el-tag>
|
77
|
<el-tag v-if="scope.row.meetingInfoFlg == '0'">不可</el-tag>
|
|
@@ -69,9 +79,9 @@ |
|
@@ -69,9 +79,9 @@ |
|
69
|
</template>
|
79
|
</template>
|
|
70
|
</el-table-column>
|
80
|
</el-table-column>
|
|
71
|
|
81
|
|
|
72
|
- <el-table-column :label="$t('meet.meeting_info_site')" align="center" prop="meetingInfoSite" />
|
82
|
+ <el-table-column :label="$t('meet.meeting_info_site')" align="center" prop="meetingInfoSite" width="100px"/>
|
|
73
|
<!-- <el-table-column :label="$t('meet.meeting_para')" align="center" prop="meetingPara" /> -->
|
83
|
<!-- <el-table-column :label="$t('meet.meeting_para')" align="center" prop="meetingPara" /> -->
|
|
74
|
- <el-table-column :label="$t('meet.meeting_check')" align="center" prop="meetingCheck">
|
84
|
+ <el-table-column :label="$t('meet.meeting_check')" align="center" prop="meetingCheck" width="100px">
|
|
75
|
|
85
|
|
|
76
|
<template #default="scope">
|
86
|
<template #default="scope">
|
|
77
|
<el-tag v-if="scope.row.meetingCheck == '0'">顔</el-tag>
|
87
|
<el-tag v-if="scope.row.meetingCheck == '0'">顔</el-tag>
|
|
@@ -82,20 +92,42 @@ |
|
@@ -82,20 +92,42 @@ |
|
82
|
</template>
|
92
|
</template>
|
|
83
|
</el-table-column>
|
93
|
</el-table-column>
|
|
84
|
|
94
|
|
|
85
|
- <el-table-column :label="$t('meet.meeting_config')" align="center" prop="meetingConfig">
|
95
|
+ <el-table-column :label="$t('meet.meeting_config')" align="center" prop="meetingConfig" width="100px">
|
|
86
|
<template #default="scope">
|
96
|
<template #default="scope">
|
|
87
|
- <!-- <el-tag v-if="scope.row.meetingConfig == '0'">0</el-tag>
|
|
|
|
88
|
- <el-tag v-else-if="scope.row.meetingConfig == '1'">1</el-tag> -->
|
|
|
|
89
|
- <div v-if="scope.row.meetingConfig"> <!-- 新增条件判断 -->
|
|
|
|
90
|
- <el-tag v-for="item in formatConfig(scope.row.meetingConfig)" :key="item.value">
|
97
|
+ <div v-if="scope.row.meetingConfig" class="config-tags-wrapper">
|
|
|
|
98
|
+ <!-- 显示前3个配置项 -->
|
|
|
|
99
|
+ <el-tag
|
|
|
|
100
|
+ v-for="(item, index) in formatConfig(scope.row.meetingConfig).slice(0, 3)"
|
|
|
|
101
|
+ :key="item.value"
|
|
|
|
102
|
+ class="config-tag"
|
|
|
|
103
|
+ >
|
|
91
|
{{ item.text }}
|
104
|
{{ item.text }}
|
|
92
|
</el-tag>
|
105
|
</el-tag>
|
|
93
|
- </div>
|
|
|
|
94
|
|
106
|
|
|
|
|
107
|
+ <!-- 超过3个时显示 +N,并在下方弹出全部配置 -->
|
|
|
|
108
|
+ <el-tag
|
|
|
|
109
|
+ v-if="formatConfig(scope.row.meetingConfig).length > 3"
|
|
|
|
110
|
+ class="more-tag"
|
|
|
|
111
|
+ >
|
|
|
|
112
|
+ <el-popover
|
|
|
|
113
|
+ placement="bottom"
|
|
|
|
114
|
+ trigger="hover"
|
|
|
|
115
|
+ popper-class="white-popover"
|
|
|
|
116
|
+ width="auto"
|
|
|
|
117
|
+ >
|
|
|
|
118
|
+ <template #reference>
|
|
|
|
119
|
+ <span>+{{ formatConfig(scope.row.meetingConfig).length - 3 }}</span>
|
|
|
|
120
|
+ </template>
|
|
|
|
121
|
+ <div class="all-configs">
|
|
|
|
122
|
+ {{ getAllConfigText(scope.row.meetingConfig) }}
|
|
|
|
123
|
+ </div>
|
|
|
|
124
|
+ </el-popover>
|
|
|
|
125
|
+ </el-tag>
|
|
|
|
126
|
+ </div>
|
|
95
|
</template>
|
127
|
</template>
|
|
96
|
</el-table-column>
|
128
|
</el-table-column>
|
|
97
|
|
129
|
|
|
98
|
- <el-table-column :label="$t('meet.meeting_logo_flg')" align="center" prop="meetingLogoFlg">
|
130
|
+ <el-table-column :label="$t('meet.meeting_logo_flg')" align="center" prop="meetingLogoFlg" width="100px">
|
|
99
|
|
131
|
|
|
100
|
<template #default="scope">
|
132
|
<template #default="scope">
|
|
101
|
<el-tag v-if="scope.row.meetingLogoFlg == '0'">不要</el-tag>
|
133
|
<el-tag v-if="scope.row.meetingLogoFlg == '0'">不要</el-tag>
|
|
@@ -105,11 +137,11 @@ |
|
@@ -105,11 +137,11 @@ |
|
105
|
|
137
|
|
|
106
|
<el-table-column :label="$t('meet.meeting_logo')" align="center" prop="meetingLogo" width="100">
|
138
|
<el-table-column :label="$t('meet.meeting_logo')" align="center" prop="meetingLogo" width="100">
|
|
107
|
<template slot-scope="scope">
|
139
|
<template slot-scope="scope">
|
|
108
|
- <image-preview :src="scope.row.meetingLogo" :width="50" :height="50" />
|
140
|
+ <image-preview :src="scope.row.meetingLogo" :width="50" :height="50"/>
|
|
109
|
</template>
|
141
|
</template>
|
|
110
|
</el-table-column>
|
142
|
</el-table-column>
|
|
111
|
|
143
|
|
|
112
|
- <el-table-column :label="$t('meet.meeting_bg_flg')" align="center" prop="meetingBgFlg">
|
144
|
+ <el-table-column :label="$t('meet.meeting_bg_flg')" align="center" prop="meetingBgFlg" width="100px">
|
|
113
|
|
145
|
|
|
114
|
<template #default="scope">
|
146
|
<template #default="scope">
|
|
115
|
<el-tag v-if="scope.row.meetingBgFlg == '0'">不要</el-tag>
|
147
|
<el-tag v-if="scope.row.meetingBgFlg == '0'">不要</el-tag>
|
|
@@ -120,11 +152,11 @@ |
|
@@ -120,11 +152,11 @@ |
|
120
|
|
152
|
|
|
121
|
<el-table-column :label="$t('meet.meeting_bg')" align="center" prop="meetingBg" width="100">
|
153
|
<el-table-column :label="$t('meet.meeting_bg')" align="center" prop="meetingBg" width="100">
|
|
122
|
<template slot-scope="scope">
|
154
|
<template slot-scope="scope">
|
|
123
|
- <image-preview :src="scope.row.meetingBg" :width="50" :height="50" />
|
155
|
+ <image-preview :src="scope.row.meetingBg" :width="50" :height="50"/>
|
|
124
|
</template>
|
156
|
</template>
|
|
125
|
</el-table-column>
|
157
|
</el-table-column>
|
|
126
|
|
158
|
|
|
127
|
- <el-table-column :label="$t('meet.meeting_way_flg')" align="center" prop="meetingWayFlg">
|
159
|
+ <el-table-column :label="$t('meet.meeting_way_flg')" align="center" prop="meetingWayFlg" width="100px">
|
|
128
|
<template #default="scope">
|
160
|
<template #default="scope">
|
|
129
|
<el-tag v-if="scope.row.meetingWayFlg == '0'">不要</el-tag>
|
161
|
<el-tag v-if="scope.row.meetingWayFlg == '0'">不要</el-tag>
|
|
130
|
<el-tag v-else-if="scope.row.meetingWayFlg == '1'">要</el-tag>
|
162
|
<el-tag v-else-if="scope.row.meetingWayFlg == '1'">要</el-tag>
|
|
@@ -134,18 +166,18 @@ |
|
@@ -134,18 +166,18 @@ |
|
134
|
|
166
|
|
|
135
|
<el-table-column :label="$t('meet.meeting_way')" align="center" prop="meetingWay" width="100">
|
167
|
<el-table-column :label="$t('meet.meeting_way')" align="center" prop="meetingWay" width="100">
|
|
136
|
<template slot-scope="scope">
|
168
|
<template slot-scope="scope">
|
|
137
|
- <image-preview :src="scope.row.meetingWay" :width="50" :height="50" />
|
169
|
+ <image-preview :src="scope.row.meetingWay" :width="50" :height="50"/>
|
|
138
|
</template>
|
170
|
</template>
|
|
139
|
</el-table-column>
|
171
|
</el-table-column>
|
|
140
|
|
172
|
|
|
141
|
- <el-table-column :label="$t('meet.meeting_seat_flg')" align="center" prop="meetingSeatFlg">
|
173
|
+ <el-table-column :label="$t('meet.meeting_seat_flg')" align="center" prop="meetingSeatFlg" width="100px">
|
|
142
|
<template #default="scope">
|
174
|
<template #default="scope">
|
|
143
|
<el-tag v-if="scope.row.meetingSeatFlg == '0'">不要</el-tag>
|
175
|
<el-tag v-if="scope.row.meetingSeatFlg == '0'">不要</el-tag>
|
|
144
|
<el-tag v-else-if="scope.row.meetingSeatFlg == '1'">要</el-tag>
|
176
|
<el-tag v-else-if="scope.row.meetingSeatFlg == '1'">要</el-tag>
|
|
145
|
</template>
|
177
|
</template>
|
|
146
|
</el-table-column>
|
178
|
</el-table-column>
|
|
147
|
|
179
|
|
|
148
|
- <el-table-column :label="$t('meet.meeting_chat_flg')" align="center" prop="meetingChatFlg">
|
180
|
+ <el-table-column :label="$t('meet.meeting_chat_flg')" align="center" prop="meetingChatFlg" width="100px">
|
|
149
|
<template #default="scope">
|
181
|
<template #default="scope">
|
|
150
|
<el-tag v-if="scope.row.meetingChatFlg == '0'">不要</el-tag>
|
182
|
<el-tag v-if="scope.row.meetingChatFlg == '0'">不要</el-tag>
|
|
151
|
<el-tag v-else-if="scope.row.meetingChatFlg == '1'">要</el-tag>
|
183
|
<el-tag v-else-if="scope.row.meetingChatFlg == '1'">要</el-tag>
|
|
@@ -155,17 +187,32 @@ |
|
@@ -155,17 +187,32 @@ |
|
155
|
|
187
|
|
|
156
|
<el-table-column :label="$t('meet.meeting_chat')" align="center" prop="meetingChat" width="100">
|
188
|
<el-table-column :label="$t('meet.meeting_chat')" align="center" prop="meetingChat" width="100">
|
|
157
|
<template slot-scope="scope">
|
189
|
<template slot-scope="scope">
|
|
158
|
- <image-preview :src="scope.row.meetingWay" :width="50" :height="50" />
|
190
|
+ <image-preview :src="scope.row.meetingWay" :width="50" :height="50"/>
|
|
159
|
</template>
|
191
|
</template>
|
|
160
|
</el-table-column>
|
192
|
</el-table-column>
|
|
161
|
|
193
|
|
|
162
|
- <el-table-column :label="$t('meet.memo')" align="center" prop="memo" />
|
|
|
|
163
|
- <el-table-column :label="$t('meet.act')" align="center" class-name="small-padding fixed-width" fixed="right">
|
194
|
+<!-- <el-table-column :label="$t('meet.memo')" align="center" prop="memo" width="100px"/>-->
|
|
|
|
195
|
+
|
|
|
|
196
|
+ <el-table-column :label="$t('meet.memo')" align="center" width="100px">
|
|
|
|
197
|
+ <template #default="{ row }">
|
|
|
|
198
|
+ <span :title="row.memo || ''">
|
|
|
|
199
|
+ {{ row.memo | truncate }}
|
|
|
|
200
|
+ </span>
|
|
|
|
201
|
+ </template>
|
|
|
|
202
|
+ </el-table-column>
|
|
|
|
203
|
+
|
|
|
|
204
|
+
|
|
|
|
205
|
+
|
|
|
|
206
|
+
|
|
|
|
207
|
+ <el-table-column :label="$t('meet.act')" align="center" class-name="small-padding fixed-width" fixed="right"
|
|
|
|
208
|
+ width="120px">
|
|
164
|
<template slot-scope="scope">
|
209
|
<template slot-scope="scope">
|
|
165
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
210
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
|
166
|
- v-hasPermi="['xvisit:meeting:edit']">{{ $t('meet.edit') }}</el-button>
|
211
|
+ v-hasPermi="['xvisit:meeting:edit']">{{ $t('meet.edit') }}
|
|
|
|
212
|
+ </el-button>
|
|
167
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
213
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
|
168
|
- v-hasPermi="['xvisit:meeting:remove']">{{ $t('meet.del') }}</el-button>
|
214
|
+ v-hasPermi="['xvisit:meeting:remove']">{{ $t('meet.del') }}
|
|
|
|
215
|
+ </el-button>
|
|
169
|
|
216
|
|
|
170
|
<!-- <el-button size="mini" type="text" icon="el-icon-user" @click="handleAuthUser(scope.row)"
|
217
|
<!-- <el-button size="mini" type="text" icon="el-icon-user" @click="handleAuthUser(scope.row)"
|
|
171
|
v-hasPermi="['xvisit:meeting:edit']">{{ $t('meet.add2') }}</el-button> -->
|
218
|
v-hasPermi="['xvisit:meeting:edit']">{{ $t('meet.add2') }}</el-button> -->
|
|
@@ -174,178 +221,330 @@ |
|
@@ -174,178 +221,330 @@ |
|
174
|
</el-table>
|
221
|
</el-table>
|
|
175
|
|
222
|
|
|
176
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
223
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
|
177
|
- @pagination="getList" />
|
224
|
+ @pagination="getList"/>
|
|
178
|
|
225
|
|
|
179
|
<!-- 添加或修改会议对话框 -->
|
226
|
<!-- 添加或修改会议对话框 -->
|
|
180
|
- <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
|
|
|
|
181
|
- <el-form ref="form" :model="form" :rules="rules" label-width="200px">
|
|
|
|
182
|
- <el-form-item :label="$t('meet.meeting_id')" prop="meetingId">
|
|
|
|
183
|
- <el-input v-model="form.meetingId" :placeholder="$t('meet.meeting_id_P')" :disabled="condition"
|
|
|
|
184
|
- maxlength="20" />
|
|
|
|
185
|
- </el-form-item>
|
|
|
|
186
|
- <el-form-item :label="$t('meet.meeting_name')" prop="meetingName">
|
|
|
|
187
|
- <el-input v-model="form.meetingName" :placeholder="$t('meet.meeting_name_P')" maxlength="50" />
|
|
|
|
188
|
- </el-form-item>
|
|
|
|
189
|
- <el-form-item :label="$t('meet.meeting_stime')" prop="meetingStime">
|
|
|
|
190
|
- <el-date-picker v-model="form.meetingStime" type="date" :placeholder="$t('meet.meeting_stime_P')"
|
|
|
|
191
|
- format="yyyy-MM-dd" :picker-options="pickerOptionsS" value-format="yyyy-MM-dd">
|
|
|
|
192
|
- </el-date-picker>
|
|
|
|
193
|
- </el-form-item>
|
|
|
|
194
|
- <el-form-item :label="$t('meet.meeting_etime')" prop="meetingEtime">
|
|
|
|
195
|
- <el-date-picker v-model="form.meetingEtime" type="date" :placeholder="$t('meet.meeting_etime_P')"
|
|
|
|
196
|
- format="yyyy-MM-dd" :picker-options="pickerOptionsE" value-format="yyyy-MM-dd">
|
|
|
|
197
|
- </el-date-picker>
|
|
|
|
198
|
- </el-form-item>
|
|
|
|
199
|
-
|
|
|
|
200
|
- <el-form-item :label="$t('meet.meeting_leader')" prop="meetingLeader">
|
|
|
|
201
|
- <el-input v-model="form.meetingLeader" :placeholder="$t('meet.meeting_leader_P')" maxlength="20" />
|
|
|
|
202
|
- </el-form-item>
|
|
|
|
203
|
- <el-form-item :label="$t('meet.leader_telephone')" prop="leaderTelephone">
|
|
|
|
204
|
- <el-input v-model="form.leaderTelephone" :placeholder="$t('meet.leader_telephone_P')" maxlength="11" />
|
|
|
|
205
|
- </el-form-item>
|
|
|
|
206
|
- <el-form-item :label="$t('meet.leader_email')" prop="leaderEmail">
|
|
|
|
207
|
- <el-input v-model="form.leaderEmail" :placeholder="$t('meet.leader_email_P')" maxlength="50" />
|
|
|
|
208
|
- </el-form-item>
|
|
|
|
209
|
-
|
|
|
|
210
|
- <el-form-item :label="$t('meet.meeting_subject')" prop="meetingSubject">
|
|
|
|
211
|
- <el-input v-model="form.meetingSubject" type="textarea" :placeholder="$t('meet.meeting_subject_P')" />
|
|
|
|
212
|
- </el-form-item>
|
|
|
|
213
|
-
|
|
|
|
214
|
- <el-form-item :label="$t('meet.meeting_place')" prop="meetingPlace">
|
|
|
|
215
|
- <el-input v-model="form.meetingPlace" :placeholder="$t('meet.meeting_place_P')" maxlength="100" />
|
|
|
|
216
|
- </el-form-item>
|
|
|
|
217
|
- <!-- <el-form-item :label="$t('meet.meeting_robot')" prop="meetingRobot">
|
|
|
|
218
|
- <el-input v-model="form.meetingRobot" placeholder="$t('meet.meeting_robot_P')" />
|
|
|
|
219
|
- </el-form-item> -->
|
|
|
|
220
|
- <el-form-item :label="$t('meet.meeting_print')" prop="meetingPrint">
|
|
|
|
221
|
- <el-input v-model="form.meetingPrint" :placeholder="$t('meet.meeting_print_P')" />
|
|
|
|
222
|
- </el-form-item>
|
|
|
|
223
|
-
|
|
|
|
224
|
-
|
|
|
|
225
|
- <el-form-item :label="$t('meet.meeting_charge')" prop="meetingCharge">
|
|
|
|
226
|
- <!-- <el-input v-model="form.meetingCharge" :placeholder="$t('meet.meeting_charge_P')" /> -->
|
|
|
|
227
|
- <el-select v-model="form.meetingCharge" clearable>
|
|
|
|
228
|
- <el-option v-for="item in dataB" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
|
229
|
- </el-select>
|
|
|
|
230
|
- </el-form-item>
|
|
|
|
231
|
-
|
|
|
|
232
|
-
|
|
|
|
233
|
- <el-form-item :label="$t('meet.meeting_dues')" prop="meetingDues" v-if="form.meetingCharge === '1'">
|
|
|
|
234
|
- <el-input v-model="form.meetingDues" :placeholder="$t('meet.meeting_dues_P')" maxlength="10" />
|
|
|
|
235
|
- </el-form-item>
|
|
|
|
236
|
-
|
|
|
|
237
|
- <el-form-item :label="$t('meet.qr_code_pic')" prop="qrCodePic" v-if="form.meetingCharge === '1'">
|
|
|
|
238
|
- <image-upload v-model="form.qrCodePic" />
|
|
|
|
239
|
- </el-form-item>
|
|
|
|
240
|
-
|
|
|
|
241
|
-
|
|
|
|
242
|
- <el-form-item :label="$t('meet.meeting_charge_info')" prop="meetingChargeInfo" v-if="form.meetingCharge === '1'">
|
|
|
|
243
|
- <el-input v-model="form.meetingChargeInfo" :placeholder="$t('meet.meeting_charge_info_P')" />
|
|
|
|
244
|
- </el-form-item>
|
|
|
|
245
|
- <el-form-item :label="$t('meet.meeting_charge_bank')" prop="meetingChargeBank" v-if="form.meetingCharge === '1'">
|
|
|
|
246
|
- <el-input v-model="form.meetingChargeBank" :placeholder="$t('meet.meeting_charge_bank_P')" />
|
|
|
|
247
|
- </el-form-item>
|
|
|
|
248
|
-
|
|
|
|
249
|
-
|
|
|
|
250
|
- <el-form-item :label="$t('meet.meeting_reg_site')" prop="meetingRegSite">
|
|
|
|
251
|
- <el-input v-model="form.meetingRegSite" :placeholder="$t('meet.meeting_reg_site_P')" />
|
|
|
|
252
|
- </el-form-item>
|
|
|
|
253
|
- <el-form-item :label="$t('meet.meeting_info_flg')" prop="meetingInfoFlg">
|
|
|
|
254
|
- <!-- <el-input v-model="form.meetingInfoFlg" :placeholder="$t('meet.meeting_info_flg_P')" /> -->
|
|
|
|
255
|
-
|
|
|
|
256
|
- <el-select v-model="form.meetingInfoFlg" clearable>
|
|
|
|
257
|
- <el-option v-for="item in dataC" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
|
258
|
- </el-select>
|
|
|
|
259
|
-
|
|
|
|
260
|
-
|
|
|
|
261
|
- </el-form-item>
|
|
|
|
262
|
- <el-form-item :label="$t('meet.meeting_info_site')" prop="meetingInfoSite">
|
|
|
|
263
|
- <el-input v-model="form.meetingInfoSite" :placeholder="$t('meet.meeting_info_site_P')" />
|
|
|
|
264
|
- </el-form-item>
|
|
|
|
265
|
- <!-- <el-form-item :label="$t('meet.meeting_para')" prop="meetingPara">
|
|
|
|
266
|
- <el-input v-model="form.meetingPara" placeholder="$t('meet.meeting_para_P')" />
|
|
|
|
267
|
- </el-form-item> -->
|
|
|
|
268
|
- <el-form-item :label="$t('meet.meeting_check')" prop="meetingCheck">
|
|
|
|
269
|
- <span slot="label">
|
|
|
|
270
|
- <el-tooltip :content="$t('meet.meeting_check1')" placement="top">
|
|
|
|
271
|
- <i class="el-icon-question"></i>
|
|
|
|
272
|
- </el-tooltip>
|
|
|
|
273
|
- {{ $t('meet.meeting_check') }}
|
|
|
|
274
|
- </span>
|
|
|
|
275
|
- <!-- <el-input v-model="form.meetingCheck" :placeholder="$t('meet.meeting_check_P')" /> -->
|
|
|
|
276
|
-
|
|
|
|
277
|
-
|
|
|
|
278
|
- <el-select v-model="form.meetingCheck" clearable>
|
|
|
|
279
|
- <el-option v-for="item in dataA" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
|
280
|
- </el-select>
|
|
|
|
281
|
-
|
|
|
|
282
|
-
|
|
|
|
283
|
- </el-form-item>
|
|
|
|
284
|
- <el-form-item :label="$t('meet.meeting_config')" prop="meetingConfig">
|
|
|
|
285
|
-
|
|
|
|
286
|
- <span slot="label">
|
|
|
|
287
|
- <el-tooltip :content="$t('meet.meeting_config1')" placement="top">
|
|
|
|
288
|
- <i class="el-icon-question"></i>
|
|
|
|
289
|
- </el-tooltip>
|
|
|
|
290
|
- {{ $t('meet.meeting_config') }}
|
|
|
|
291
|
- </span>
|
|
|
|
292
|
- <!-- <el-input v-model="form.meetingConfig" :placeholder="$t('meet.meeting_config_P')" /> -->
|
|
|
|
293
|
-
|
|
|
|
294
|
- <el-select v-model="form.meetingConfig" clearable multiple>
|
|
|
|
295
|
- <el-option v-for="item in dataE" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
|
296
|
- </el-select>
|
|
|
|
297
|
-
|
|
|
|
298
|
- </el-form-item>
|
|
|
|
299
|
- <el-form-item :label="$t('meet.meeting_logo_flg')" prop="meetingLogoFlg">
|
|
|
|
300
|
- <!-- <el-input v-model="form.meetingLogoFlg" :placeholder="$t('meet.meeting_logo_flg_P')" /> -->
|
|
|
|
301
|
-
|
|
|
|
302
|
- <el-select v-model="form.meetingLogoFlg" clearable>
|
|
|
|
303
|
- <el-option v-for="item in dataB" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
|
304
|
- </el-select>
|
|
|
|
305
|
-
|
|
|
|
306
|
- </el-form-item>
|
|
|
|
307
|
- <el-form-item :label="$t('meet.meeting_logo')" prop="meetingLogo" v-if="form.meetingLogoFlg === '1'">
|
|
|
|
308
|
- <image-upload v-model="form.meetingLogo" />
|
|
|
|
309
|
- </el-form-item>
|
|
|
|
310
|
- <el-form-item :label="$t('meet.meeting_bg_flg')" prop="meetingBgFlg">
|
|
|
|
311
|
- <!-- <el-input v-model="form.meetingBgFlg" :placeholder="$t('meet.meeting_bg_flg_P')" /> -->
|
|
|
|
312
|
- <el-select v-model="form.meetingBgFlg" clearable>
|
|
|
|
313
|
- <el-option v-for="item in dataB" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
|
314
|
- </el-select>
|
|
|
|
315
|
- </el-form-item>
|
|
|
|
316
|
- <el-form-item :label="$t('meet.meeting_bg')" prop="meetingBg" v-if="form.meetingBgFlg === '1'">
|
|
|
|
317
|
- <image-upload v-model="form.meetingBg" />
|
|
|
|
318
|
- </el-form-item>
|
|
|
|
319
|
- <el-form-item :label="$t('meet.meeting_way_flg')" prop="meetingWayFlg">
|
|
|
|
320
|
- <!-- <el-input v-model="form.meetingWayFlg" :placeholder="$t('meet.meeting_way_flg_P')" /> -->
|
|
|
|
321
|
- <el-select v-model="form.meetingWayFlg" clearable>
|
|
|
|
322
|
- <el-option v-for="item in dataB" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
|
323
|
- </el-select>
|
|
|
|
324
|
- </el-form-item>
|
|
|
|
325
|
- <el-form-item :label="$t('meet.meeting_way')" prop="meetingWay" v-if="form.meetingWayFlg === '1'">
|
|
|
|
326
|
- <image-upload v-model="form.meetingWay" />
|
|
|
|
327
|
- </el-form-item>
|
|
|
|
328
|
- <el-form-item :label="$t('meet.meeting_seat_flg')" prop="meetingSeatFlg">
|
|
|
|
329
|
- <!-- <el-input v-model="form.meetingSeatFlg" :placeholder="$t('meet.meeting_seat_flg_P')" /> -->
|
|
|
|
330
|
- <el-select v-model="form.meetingSeatFlg" clearable>
|
|
|
|
331
|
- <el-option v-for="item in dataD" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
|
332
|
- </el-select>
|
|
|
|
333
|
- </el-form-item>
|
|
|
|
334
|
-
|
|
|
|
335
|
- <el-form-item :label="$t('meet.meeting_chat_flg')" prop="meetingChatFlg">
|
|
|
|
336
|
- <!-- <el-input v-model="form.meetingChatFlg" :placeholder="$t('meet.meeting_chat_flg')" /> -->
|
|
|
|
337
|
- <el-select v-model="form.meetingChatFlg" clearable>
|
|
|
|
338
|
- <el-option v-for="item in dataB" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
|
339
|
- </el-select>
|
|
|
|
340
|
- </el-form-item>
|
|
|
|
341
|
- <el-form-item :label="$t('meet.meeting_chat')" prop="meetingChat" v-if="form.meetingChatFlg === '1'">
|
|
|
|
342
|
- <image-upload v-model="form.meetingChat" />
|
|
|
|
343
|
- </el-form-item>
|
|
|
|
344
|
-
|
|
|
|
345
|
- <el-form-item :label="$t('meet.memo')" prop="memo">
|
|
|
|
346
|
- <el-input v-model="form.memo" :placeholder="$t('meet.memo_P')" maxlength="200" />
|
|
|
|
347
|
- </el-form-item>
|
227
|
+
|
|
|
|
228
|
+ <el-dialog :title="title" :visible.sync="open" width="50%" append-to-body >
|
|
|
|
229
|
+ <div style=" max-height: 65vh;">
|
|
|
|
230
|
+<!-- <el-row>-->
|
|
|
|
231
|
+<!-- <el-col :xs="24" :sm="24" :md="12" :lg="12">-->
|
|
|
|
232
|
+<!-- <el-form-item>-->
|
|
|
|
233
|
+<!-- <el-checkbox v-model="open" @change="handleOpenChange">{{ $t('meet.meeting_invite') }}</el-checkbox>-->
|
|
|
|
234
|
+<!-- </el-form-item>-->
|
|
|
|
235
|
+<!-- </el-col>-->
|
|
|
|
236
|
+<!-- </el-row>-->
|
|
|
|
237
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="120px" class="responsive-form">
|
|
|
|
238
|
+ <el-tabs v-model="activeTab" type="card">
|
|
|
|
239
|
+ <!-- 基本信息标签页 -->
|
|
|
|
240
|
+ <el-tab-pane :label="$t('tab.basic')" name="basic">
|
|
|
|
241
|
+ <div style="overflow-y: auto; overflow-x: hidden; max-height: 60vh;">
|
|
|
|
242
|
+ <el-row :gutter="20">
|
|
|
|
243
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
244
|
+ <el-form-item :label="$t('meet.meeting_id')" prop="meetingId">
|
|
|
|
245
|
+ <el-input v-model="form.meetingId" :placeholder="$t('meet.meeting_id_P')" :disabled="condition"
|
|
|
|
246
|
+ maxlength="20"/>
|
|
|
|
247
|
+ </el-form-item>
|
|
|
|
248
|
+ </el-col>
|
|
|
|
249
|
+
|
|
|
|
250
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
251
|
+ <el-form-item :label="$t('meet.meeting_name')" prop="meetingName">
|
|
|
|
252
|
+ <el-input v-model="form.meetingName" :placeholder="$t('meet.meeting_name_P')" maxlength="50"/>
|
|
|
|
253
|
+ </el-form-item>
|
|
|
|
254
|
+ </el-col>
|
|
|
|
255
|
+
|
|
|
|
256
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
257
|
+ <el-form-item :label="$t('meet.meeting_stime')" prop="meetingStime">
|
|
|
|
258
|
+ <el-date-picker
|
|
|
|
259
|
+ v-model="form.meetingStime"
|
|
|
|
260
|
+ type="date"
|
|
|
|
261
|
+ :placeholder="$t('meet.meeting_stime_P')"
|
|
|
|
262
|
+ format="yyyy-MM-dd"
|
|
|
|
263
|
+ :picker-options="pickerOptionsS"
|
|
|
|
264
|
+ value-format="yyyy-MM-dd"
|
|
|
|
265
|
+ style="width: 100%"
|
|
|
|
266
|
+ />
|
|
|
|
267
|
+ </el-form-item>
|
|
|
|
268
|
+ </el-col>
|
|
|
|
269
|
+
|
|
|
|
270
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
271
|
+ <el-form-item :label="$t('meet.meeting_etime')" prop="meetingEtime">
|
|
|
|
272
|
+ <el-date-picker
|
|
|
|
273
|
+ v-model="form.meetingEtime"
|
|
|
|
274
|
+ type="date"
|
|
|
|
275
|
+ :placeholder="$t('meet.meeting_etime_P')"
|
|
|
|
276
|
+ format="yyyy-MM-dd"
|
|
|
|
277
|
+ :picker-options="pickerOptionsE"
|
|
|
|
278
|
+ value-format="yyyy-MM-dd"
|
|
|
|
279
|
+ style="width: 100%"
|
|
|
|
280
|
+ />
|
|
|
|
281
|
+ </el-form-item>
|
|
|
|
282
|
+ </el-col>
|
|
|
|
283
|
+
|
|
|
|
284
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
285
|
+ <el-form-item :label="$t('meet.leader_email')" prop="leaderEmail">
|
|
|
|
286
|
+ <el-input v-model="form.leaderEmail" :placeholder="$t('meet.leader_email_P')" maxlength="50"/>
|
|
|
|
287
|
+ </el-form-item>
|
|
|
|
288
|
+ </el-col>
|
|
|
|
289
|
+
|
|
|
|
290
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
291
|
+ <el-form-item :label="$t('meet.meeting_place')" prop="meetingPlace">
|
|
|
|
292
|
+ <el-input v-model="form.meetingPlace" :placeholder="$t('meet.meeting_place_P')" maxlength="100"/>
|
|
|
|
293
|
+ </el-form-item>
|
|
|
|
294
|
+ </el-col>
|
|
|
|
295
|
+
|
|
|
|
296
|
+
|
|
|
|
297
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
298
|
+ <el-form-item :label="$t('meet.meeting_leader')" prop="meetingLeader">
|
|
|
|
299
|
+ <el-input v-model="form.meetingLeader" :placeholder="$t('meet.meeting_leader_P')" maxlength="20"/>
|
|
|
|
300
|
+ </el-form-item>
|
|
|
|
301
|
+ </el-col>
|
|
|
|
302
|
+
|
|
|
|
303
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
304
|
+ <el-form-item :label="$t('meet.leader_telephone')" prop="leaderTelephone">
|
|
|
|
305
|
+ <el-input v-model="form.leaderTelephone" :placeholder="$t('meet.leader_telephone_P')" maxlength="11"/>
|
|
|
|
306
|
+ </el-form-item>
|
|
|
|
307
|
+ </el-col>
|
|
|
|
308
|
+
|
|
|
|
309
|
+
|
|
|
|
310
|
+
|
|
|
|
311
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
312
|
+ <el-form-item :label="$t('meet.meeting_print')" prop="meeting_print">
|
|
|
|
313
|
+ <el-input v-model="form.meetingPrint" :placeholder="$t('meet.meeting_print')" maxlength="50"/>
|
|
|
|
314
|
+ </el-form-item>
|
|
|
|
315
|
+ </el-col>
|
|
|
|
316
|
+
|
|
|
|
317
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
318
|
+ <el-form-item :label="$t('meet.meeting_seat_flg')" prop="meetingSeatFlg">
|
|
|
|
319
|
+ <el-select v-model="form.meetingSeatFlg" clearable style="width: 100%">
|
|
|
|
320
|
+ <el-option v-for="item in dataD" :key="item.value" :label="item.label"
|
|
|
|
321
|
+ :value="item.value"></el-option>
|
|
|
|
322
|
+ </el-select>
|
|
|
|
323
|
+ </el-form-item>
|
|
|
|
324
|
+ </el-col>
|
|
|
|
325
|
+
|
|
|
|
326
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
327
|
+ <el-form-item :label="$t('meet.meeting_chat_flg')" prop="meetingChatFlg">
|
|
|
|
328
|
+ <el-select v-model="form.meetingChatFlg" clearable style="width: 100%">
|
|
|
|
329
|
+ <el-option v-for="item in dataB" :key="item.value" :label="item.label"
|
|
|
|
330
|
+ :value="item.value"></el-option>
|
|
|
|
331
|
+ </el-select>
|
|
|
|
332
|
+ </el-form-item>
|
|
|
|
333
|
+ </el-col>
|
|
|
|
334
|
+
|
|
|
|
335
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" v-if="form.meetingChatFlg === '1'">
|
|
|
|
336
|
+ <el-form-item :label="$t('meet.meeting_chat')" prop="meetingChat">
|
|
|
|
337
|
+ <image-upload v-model="form.meetingChat"/>
|
|
|
|
338
|
+ </el-form-item>
|
|
|
|
339
|
+ </el-col>
|
|
|
|
340
|
+
|
|
|
|
341
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24">
|
|
|
|
342
|
+ <el-form-item :label="$t('meet.memo')" prop="memo">
|
|
|
|
343
|
+ <el-input v-model="form.memo" :placeholder="$t('meet.memo_P')" maxlength="200" type="textarea" style="height: 80px"/>
|
|
|
|
344
|
+ </el-form-item>
|
|
|
|
345
|
+ </el-col>
|
|
|
|
346
|
+ </el-row>
|
|
|
|
347
|
+ </div>
|
|
|
|
348
|
+ </el-tab-pane>
|
|
|
|
349
|
+ <!-- 报名信息标签页 -->
|
|
|
|
350
|
+ <el-tab-pane :label="$t('tab.signup')" name="signup">
|
|
|
|
351
|
+ <div style="overflow-y: auto; overflow-x: hidden; max-height: 60vh;">
|
|
|
|
352
|
+ <el-row :gutter="20">
|
|
|
|
353
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12">
|
|
|
|
354
|
+ <el-form-item :label="$t('meet.meeting_check')" prop="meetingCheck">
|
|
|
|
355
|
+ <span slot="label">
|
|
|
|
356
|
+ <el-tooltip :content="$t('meet.meeting_check1')" placement="top">
|
|
|
|
357
|
+ <i class="el-icon-question"></i>
|
|
|
|
358
|
+ </el-tooltip>
|
|
|
|
359
|
+ {{ $t('meet.meeting_check') }}
|
|
|
|
360
|
+ </span>
|
|
|
|
361
|
+ <el-select
|
|
|
|
362
|
+ v-model="form.meetingCheck"
|
|
|
|
363
|
+ clearable
|
|
|
|
364
|
+ style="width: 100%"
|
|
|
|
365
|
+ @change="handleMeetingCheckChange">
|
|
|
|
366
|
+ <el-option
|
|
|
|
367
|
+ v-for="item in dataA"
|
|
|
|
368
|
+ :key="item.value"
|
|
|
|
369
|
+ :label="item.label"
|
|
|
|
370
|
+ :value="item.value">
|
|
|
|
371
|
+ </el-option>
|
|
|
|
372
|
+ </el-select>
|
|
|
|
373
|
+ </el-form-item>
|
|
|
|
374
|
+ </el-col>
|
|
|
|
375
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24">
|
|
|
|
376
|
+ <el-form-item :label="$t('meet.meeting_config')" prop="meetingConfig">
|
|
|
|
377
|
+ <el-checkbox-group
|
|
|
|
378
|
+ v-model="meetingConfig"
|
|
|
|
379
|
+ class="checkbox-group-grid"
|
|
|
|
380
|
+ >
|
|
|
|
381
|
+ <el-row :gutter="20">
|
|
|
|
382
|
+ <el-col
|
|
|
|
383
|
+ v-for="item in dataE"
|
|
|
|
384
|
+ :key="item.value"
|
|
|
|
385
|
+ :xs="24" :sm="8" :md="8" :lg="8"
|
|
|
|
386
|
+ >
|
|
|
|
387
|
+ <div class="checkbox-item">
|
|
|
|
388
|
+ <el-checkbox
|
|
|
|
389
|
+ :label="item.value"
|
|
|
|
390
|
+ :disabled="isConfigDisabled(item.value)">
|
|
|
|
391
|
+ {{ item.label }}
|
|
|
|
392
|
+ </el-checkbox>
|
|
|
|
393
|
+ </div>
|
|
|
|
394
|
+ </el-col>
|
|
|
|
395
|
+ </el-row>
|
|
|
|
396
|
+ </el-checkbox-group>
|
|
|
|
397
|
+ </el-form-item>
|
|
|
|
398
|
+ </el-col>
|
|
|
|
399
|
+ </el-row>
|
|
|
|
400
|
+ </div>
|
|
|
|
401
|
+ </el-tab-pane>
|
|
|
|
402
|
+ <!-- 收费信息标签页 -->
|
|
|
|
403
|
+ <el-tab-pane :label="$t('tab.fee')" name="fee">
|
|
|
|
404
|
+ <div style="overflow-y: auto; overflow-x: hidden; max-height: 60vh;">
|
|
|
|
405
|
+ <el-row :gutter="20">
|
|
|
|
406
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
407
|
+ <el-form-item :label="$t('meet.meeting_charge')" prop="meetingCharge">
|
|
|
|
408
|
+ <el-select v-model="form.meetingCharge" clearable style="width: 100%">
|
|
|
|
409
|
+ <el-option v-for="item in dataB" :key="item.value" :label="item.label"
|
|
|
|
410
|
+ :value="item.value"></el-option>
|
|
|
|
411
|
+ </el-select>
|
|
|
|
412
|
+ </el-form-item>
|
|
|
|
413
|
+ </el-col>
|
|
|
|
414
|
+
|
|
|
|
415
|
+ <template v-if="form.meetingCharge === '1'">
|
|
|
|
416
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
417
|
+ <el-form-item :label="$t('meet.meeting_dues')" prop="meetingDues">
|
|
|
|
418
|
+ <el-input v-model="form.meetingDues" :placeholder="$t('meet.meeting_dues_P')" maxlength="10"/>
|
|
|
|
419
|
+ </el-form-item>
|
|
|
|
420
|
+ </el-col>
|
|
|
|
421
|
+
|
|
|
|
422
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24">
|
|
|
|
423
|
+ <el-form-item :label="$t('meet.qr_code_pic')" prop="qrCodePic">
|
|
|
|
424
|
+ <image-upload v-model="form.qrCodePic"/>
|
|
|
|
425
|
+ </el-form-item>
|
|
|
|
426
|
+ </el-col>
|
|
|
|
427
|
+
|
|
|
|
428
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12">
|
|
|
|
429
|
+ <el-form-item :label="$t('meet.meeting_charge_info')" prop="meetingChargeInfo">
|
|
|
|
430
|
+ <el-input v-model="form.meetingChargeInfo" :placeholder="$t('meet.meeting_charge_info_P')"/>
|
|
|
|
431
|
+ </el-form-item>
|
|
|
|
432
|
+ </el-col>
|
|
|
|
433
|
+
|
|
|
|
434
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12">
|
|
|
|
435
|
+ <el-form-item :label="$t('meet.meeting_charge_bank')" prop="meetingChargeBank">
|
|
|
|
436
|
+ <el-input v-model="form.meetingChargeBank" :placeholder="$t('meet.meeting_charge_bank_P')"/>
|
|
|
|
437
|
+ </el-form-item>
|
|
|
|
438
|
+ </el-col>
|
|
|
|
439
|
+ </template>
|
|
|
|
440
|
+ </el-row>
|
|
|
|
441
|
+ </div>
|
|
|
|
442
|
+ </el-tab-pane>
|
|
|
|
443
|
+ <!-- 会议邀请标签页 -->
|
|
|
|
444
|
+ <el-tab-pane :label="$t('tab.invitation')" name="invitation">
|
|
|
|
445
|
+ <div style="overflow-y: auto; overflow-x: hidden; max-height: 60vh;">
|
|
|
|
446
|
+ <el-row :gutter="20">
|
|
|
|
447
|
+
|
|
|
|
448
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24">
|
|
|
|
449
|
+ <el-form-item :label="$t('meet.meeting_subject')" prop="meetingSubject">
|
|
|
|
450
|
+ <div v-if="open" ref="editor" class="quill-editor-container"></div>
|
|
|
|
451
|
+ </el-form-item>
|
|
|
|
452
|
+ </el-col>
|
|
|
|
453
|
+
|
|
|
|
454
|
+
|
|
|
|
455
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" style="margin-top: 8%" v-if="isUpdate">
|
|
|
|
456
|
+ <el-form-item :label="$t('meet.meeting_info_site')" prop="meetingInfoSite">
|
|
|
|
457
|
+ <el-input
|
|
|
|
458
|
+ v-model="form.meetingInfoSite"
|
|
|
|
459
|
+ readonly>
|
|
|
|
460
|
+ <i
|
|
|
|
461
|
+ slot="suffix"
|
|
|
|
462
|
+ class="el-icon-document-copy copy-icon"
|
|
|
|
463
|
+ @click="handleCopy(form.meetingInfoSite, $t('meet.meeting_info_site'))">
|
|
|
|
464
|
+ </i>
|
|
|
|
465
|
+ </el-input>
|
|
|
|
466
|
+ </el-form-item>
|
|
|
|
467
|
+ </el-col>
|
|
|
|
468
|
+
|
|
|
|
469
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" style="margin-top: 8%" v-if="isUpdate">
|
|
|
|
470
|
+ <el-form-item :label="$t('meet.meeting_reg_site')" prop="meetingRegSite">
|
|
|
|
471
|
+ <el-input
|
|
|
|
472
|
+ v-model="form.meetingRegSite"
|
|
|
|
473
|
+ readonly>
|
|
|
|
474
|
+ <i
|
|
|
|
475
|
+ slot="suffix"
|
|
|
|
476
|
+ class="el-icon-document-copy copy-icon"
|
|
|
|
477
|
+ @click="handleCopy(form.meetingRegSite, $t('meet.meeting_reg_site'))">
|
|
|
|
478
|
+ </i>
|
|
|
|
479
|
+ </el-input>
|
|
|
|
480
|
+ </el-form-item>
|
|
|
|
481
|
+ </el-col>
|
|
|
|
482
|
+
|
|
|
|
483
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :style="{ marginTop: isUpdate ? '0%' : '8%' }">
|
|
|
|
484
|
+ <el-form-item :label="$t('meet.meeting_info_flg')" prop="meetingInfoFlg">
|
|
|
|
485
|
+ <el-select v-model="form.meetingInfoFlg" clearable style="width: 100%">
|
|
|
|
486
|
+ <el-option v-for="item in dataC" :key="item.value" :label="item.label"
|
|
|
|
487
|
+ :value="item.value"></el-option>
|
|
|
|
488
|
+ </el-select>
|
|
|
|
489
|
+ </el-form-item>
|
|
|
|
490
|
+ </el-col>
|
|
|
|
491
|
+ </el-row>
|
|
|
|
492
|
+ </div>
|
|
|
|
493
|
+ </el-tab-pane>
|
|
|
|
494
|
+ <!-- 机器人界面标签页 -->
|
|
|
|
495
|
+ <el-tab-pane :label="$t('tab.robot')" name="robot">
|
|
|
|
496
|
+ <div style="overflow-y: auto; overflow-x: hidden; max-height: 60vh;">
|
|
|
|
497
|
+ <el-row :gutter="20">
|
|
|
|
498
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
499
|
+ <el-form-item :label="$t('meet.meeting_logo_flg')" prop="meetingLogoFlg">
|
|
|
|
500
|
+ <el-select v-model="form.meetingLogoFlg" clearable style="width: 100%">
|
|
|
|
501
|
+ <el-option v-for="item in dataB" :key="item.value" :label="item.label"
|
|
|
|
502
|
+ :value="item.value"></el-option>
|
|
|
|
503
|
+ </el-select>
|
|
|
|
504
|
+ </el-form-item>
|
|
|
|
505
|
+ </el-col>
|
|
|
|
506
|
+
|
|
|
|
507
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" v-if="form.meetingLogoFlg === '1'">
|
|
|
|
508
|
+ <el-form-item :label="$t('meet.meeting_logo')" prop="meetingLogo">
|
|
|
|
509
|
+ <image-upload v-model="form.meetingLogo"/>
|
|
|
|
510
|
+ </el-form-item>
|
|
|
|
511
|
+ </el-col>
|
|
|
|
512
|
+
|
|
|
|
513
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
514
|
+ <el-form-item :label="$t('meet.meeting_bg_flg')" prop="meetingBgFlg">
|
|
|
|
515
|
+ <el-select v-model="form.meetingBgFlg" clearable style="width: 100%">
|
|
|
|
516
|
+ <el-option v-for="item in dataB" :key="item.value" :label="item.label"
|
|
|
|
517
|
+ :value="item.value"></el-option>
|
|
|
|
518
|
+ </el-select>
|
|
|
|
519
|
+ </el-form-item>
|
|
|
|
520
|
+ </el-col>
|
|
|
|
521
|
+
|
|
|
|
522
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" v-if="form.meetingBgFlg === '1'">
|
|
|
|
523
|
+ <el-form-item :label="$t('meet.meeting_bg')" prop="meetingBg">
|
|
|
|
524
|
+ <image-upload v-model="form.meetingBg"/>
|
|
|
|
525
|
+ </el-form-item>
|
|
|
|
526
|
+ </el-col>
|
|
|
|
527
|
+
|
|
|
|
528
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12">
|
|
|
|
529
|
+ <el-form-item :label="$t('meet.meeting_way_flg')" prop="meetingWayFlg">
|
|
|
|
530
|
+ <el-select v-model="form.meetingWayFlg" clearable style="width: 100%">
|
|
|
|
531
|
+ <el-option v-for="item in dataB" :key="item.value" :label="item.label"
|
|
|
|
532
|
+ :value="item.value"></el-option>
|
|
|
|
533
|
+ </el-select>
|
|
|
|
534
|
+ </el-form-item>
|
|
|
|
535
|
+ </el-col>
|
|
|
|
536
|
+
|
|
|
|
537
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" v-if="form.meetingWayFlg === '1'">
|
|
|
|
538
|
+ <el-form-item :label="$t('meet.meeting_way')" prop="meetingWay">
|
|
|
|
539
|
+ <image-upload v-model="form.meetingWay"/>
|
|
|
|
540
|
+ </el-form-item>
|
|
|
|
541
|
+ </el-col>
|
|
|
|
542
|
+ </el-row>
|
|
|
|
543
|
+ </div>
|
|
|
|
544
|
+ </el-tab-pane>
|
|
|
|
545
|
+ </el-tabs>
|
|
348
|
</el-form>
|
546
|
</el-form>
|
|
|
|
547
|
+ </div>
|
|
349
|
<div slot="footer" class="dialog-footer">
|
548
|
<div slot="footer" class="dialog-footer">
|
|
350
|
<el-button type="primary" @click="submitForm">{{ $t('meet.submit') }}</el-button>
|
549
|
<el-button type="primary" @click="submitForm">{{ $t('meet.submit') }}</el-button>
|
|
351
|
<el-button @click="cancel">{{ $t('meet.cancel') }}</el-button>
|
550
|
<el-button @click="cancel">{{ $t('meet.cancel') }}</el-button>
|
|
@@ -358,12 +557,12 @@ |
|
@@ -358,12 +557,12 @@ |
|
358
|
<el-table :data="visitList" @selection-change="handleSelectionChange2" height="260px">
|
557
|
<el-table :data="visitList" @selection-change="handleSelectionChange2" height="260px">
|
|
359
|
<el-table-column type="selection" width="55"></el-table-column>
|
558
|
<el-table-column type="selection" width="55"></el-table-column>
|
|
360
|
<el-table-column :label="$t('visit.attendee_id')" align="center" prop="attendeeId"
|
559
|
<el-table-column :label="$t('visit.attendee_id')" align="center" prop="attendeeId"
|
|
361
|
- :show-overflow-tooltip="true" />
|
|
|
|
362
|
- <el-table-column :label="$t('visit.name')" align="center" prop="name" :show-overflow-tooltip="true" />
|
560
|
+ :show-overflow-tooltip="true"/>
|
|
|
|
561
|
+ <el-table-column :label="$t('visit.name')" align="center" prop="name" :show-overflow-tooltip="true"/>
|
|
363
|
|
562
|
|
|
364
|
</el-table>
|
563
|
</el-table>
|
|
365
|
<pagination v-show="total2 > 0" :total="total2" :page.sync="queryParams2.pageNum"
|
564
|
<pagination v-show="total2 > 0" :total="total2" :page.sync="queryParams2.pageNum"
|
|
366
|
- :limit.sync="queryParams2.pageSize" @pagination="getList2" />
|
565
|
+ :limit.sync="queryParams2.pageSize" @pagination="getList2"/>
|
|
367
|
</el-row>
|
566
|
</el-row>
|
|
368
|
<div slot="footer" class="dialog-footer">
|
567
|
<div slot="footer" class="dialog-footer">
|
|
369
|
<el-button type="primary" @click="handleSelectUser">{{ $t('meet.submit') }}</el-button>
|
568
|
<el-button type="primary" @click="handleSelectUser">{{ $t('meet.submit') }}</el-button>
|
|
@@ -374,6 +573,8 @@ |
|
@@ -374,6 +573,8 @@ |
|
374
|
</template>
|
573
|
</template>
|
|
375
|
|
574
|
|
|
376
|
<script>
|
575
|
<script>
|
|
|
|
576
|
+import Quill from "quill";
|
|
|
|
577
|
+import "quill/dist/quill.snow.css";
|
|
377
|
import {
|
578
|
import {
|
|
378
|
listMeeting,
|
579
|
listMeeting,
|
|
379
|
getMeeting,
|
580
|
getMeeting,
|
|
@@ -391,6 +592,9 @@ import { |
|
@@ -391,6 +592,9 @@ import { |
|
391
|
} from "@/api/xvisit/meetingattendance";
|
592
|
} from "@/api/xvisit/meetingattendance";
|
|
392
|
|
593
|
|
|
393
|
export default {
|
594
|
export default {
|
|
|
|
595
|
+ props: {
|
|
|
|
596
|
+ value: String // 接收父组件 v-model 传值
|
|
|
|
597
|
+ },
|
|
394
|
name: "Meeting",
|
598
|
name: "Meeting",
|
|
395
|
data() {
|
599
|
data() {
|
|
396
|
|
600
|
|
|
@@ -440,6 +644,9 @@ export default { |
|
@@ -440,6 +644,9 @@ export default { |
|
440
|
};
|
644
|
};
|
|
441
|
|
645
|
|
|
442
|
return {
|
646
|
return {
|
|
|
|
647
|
+ activeTab: 'basic',
|
|
|
|
648
|
+ isUpdate: false,
|
|
|
|
649
|
+ quill: null,
|
|
443
|
// 遮罩层
|
650
|
// 遮罩层
|
|
444
|
loading: true,
|
651
|
loading: true,
|
|
445
|
// 选中数组
|
652
|
// 选中数组
|
|
@@ -467,41 +674,55 @@ export default { |
|
@@ -467,41 +674,55 @@ export default { |
|
467
|
meetingName: null,
|
674
|
meetingName: null,
|
|
468
|
},
|
675
|
},
|
|
469
|
// 表单参数
|
676
|
// 表单参数
|
|
470
|
- form: {},
|
|
|
|
471
|
- // 表单校验
|
677
|
+ form: {
|
|
|
|
678
|
+ meetingConfig: []
|
|
|
|
679
|
+ },
|
|
|
|
680
|
+ meetingConfig: [],
|
|
472
|
rules: {
|
681
|
rules: {
|
|
473
|
meetingId: [{
|
682
|
meetingId: [{
|
|
474
|
required: true,
|
683
|
required: true,
|
|
475
|
message: this.$t('meet.meeting_id_R'),
|
684
|
message: this.$t('meet.meeting_id_R'),
|
|
476
|
- trigger: "blur"
|
685
|
+ trigger: "blur",
|
|
|
|
686
|
+ tab: 'basic' // 添加标签页标识
|
|
477
|
}],
|
687
|
}],
|
|
478
|
meetingName: [{
|
688
|
meetingName: [{
|
|
479
|
required: true,
|
689
|
required: true,
|
|
480
|
message: this.$t('meet.meeting_name_R'),
|
690
|
message: this.$t('meet.meeting_name_R'),
|
|
481
|
- trigger: "blur"
|
691
|
+ trigger: "blur",
|
|
|
|
692
|
+ tab: 'basic'
|
|
|
|
693
|
+ }],
|
|
|
|
694
|
+ meetingCheck: [{
|
|
|
|
695
|
+ required: true,
|
|
|
|
696
|
+ message: this.$t('meet.meeting_check'),
|
|
|
|
697
|
+ trigger: "blur",
|
|
|
|
698
|
+ tab: 'signup'
|
|
482
|
}],
|
699
|
}],
|
|
483
|
-
|
|
|
|
484
|
leaderEmail: [{
|
700
|
leaderEmail: [{
|
|
|
|
701
|
+ required: true,
|
|
485
|
type: "email",
|
702
|
type: "email",
|
|
486
|
message: this.$t('visit.email_R'),
|
703
|
message: this.$t('visit.email_R'),
|
|
487
|
- trigger: ["blur", "change"]
|
704
|
+ trigger: ["blur", "change"],
|
|
|
|
705
|
+ tab: 'basic'
|
|
488
|
}],
|
706
|
}],
|
|
489
|
leaderTelephone: [{
|
707
|
leaderTelephone: [{
|
|
490
|
pattern: /\d{11}$/,
|
708
|
pattern: /\d{11}$/,
|
|
491
|
message: this.$t('visit.phone_number_R'),
|
709
|
message: this.$t('visit.phone_number_R'),
|
|
492
|
- trigger: "blur"
|
710
|
+ trigger: "blur",
|
|
|
|
711
|
+ tab: 'basic'
|
|
493
|
}],
|
712
|
}],
|
|
494
|
-
|
|
|
|
495
|
meetingStime: [{
|
713
|
meetingStime: [{
|
|
|
|
714
|
+ required: true,
|
|
496
|
validator: validateStartDatetime,
|
715
|
validator: validateStartDatetime,
|
|
497
|
- trigger: "change"
|
716
|
+ trigger: "change",
|
|
|
|
717
|
+ tab: 'basic'
|
|
498
|
}],
|
718
|
}],
|
|
499
|
meetingEtime: [{
|
719
|
meetingEtime: [{
|
|
|
|
720
|
+ required: true,
|
|
500
|
validator: validateEndDatetime,
|
721
|
validator: validateEndDatetime,
|
|
501
|
- trigger: "change"
|
722
|
+ trigger: "change",
|
|
|
|
723
|
+ tab: 'basic'
|
|
502
|
}],
|
724
|
}],
|
|
503
|
},
|
725
|
},
|
|
504
|
-
|
|
|
|
505
|
pickerOptionsS: {
|
726
|
pickerOptionsS: {
|
|
506
|
disabledDate: (time) => { //设置禁用范围
|
727
|
disabledDate: (time) => { //设置禁用范围
|
|
507
|
if (this.form.meetingEtime) {
|
728
|
if (this.form.meetingEtime) {
|
|
@@ -686,7 +907,6 @@ export default { |
|
@@ -686,7 +907,6 @@ export default { |
|
686
|
memo: null,
|
907
|
memo: null,
|
|
687
|
},
|
908
|
},
|
|
688
|
total2: 0,
|
909
|
total2: 0,
|
|
689
|
-
|
|
|
|
690
|
title2: "",
|
910
|
title2: "",
|
|
691
|
open2: false,
|
911
|
open2: false,
|
|
692
|
meetId: "",
|
912
|
meetId: "",
|
|
@@ -701,12 +921,146 @@ export default { |
|
@@ -701,12 +921,146 @@ export default { |
|
701
|
this.getList();
|
921
|
this.getList();
|
|
702
|
},
|
922
|
},
|
|
703
|
|
923
|
|
|
704
|
- computed: {
|
|
|
|
705
|
-
|
924
|
+ computed: {},
|
|
|
|
925
|
+ filters: {
|
|
|
|
926
|
+ truncate(text, maxLength = 20) {
|
|
|
|
927
|
+ if (!text) return '';
|
|
|
|
928
|
+ return text.length > maxLength ? text.slice(0, maxLength) + '...' : text;
|
|
|
|
929
|
+ }
|
|
706
|
},
|
930
|
},
|
|
707
|
-
|
|
|
|
708
|
methods: {
|
931
|
methods: {
|
|
|
|
932
|
+ handleMeetingCheckChange(value) {
|
|
|
|
933
|
+ // 根据选择的验证方式自动设置必选配置项
|
|
|
|
934
|
+ // 顔认证(0):必须选中氏名(1)、Eメール(5)、会社名(6)、業種(8)、写真(15)
|
|
|
|
935
|
+ // 名前(1)/QRコード(3)/認証コード(4):必须选中氏名(1)、Eメール(5)、会社名(6)、業種(8)
|
|
|
|
936
|
+ // 携帯電話番号(2):必须选中氏名(1)、電話番号(4)、Eメール(5)、会社名(6)、業種(8)
|
|
|
|
937
|
+ if (value === '0') {
|
|
|
|
938
|
+ // 顔认证必须选中1,5,6,8,15
|
|
|
|
939
|
+ this.meetingConfig = [...new Set([
|
|
|
|
940
|
+ ...this.meetingConfig,
|
|
|
|
941
|
+ '1', '5', '6', '8', '15'
|
|
|
|
942
|
+ ])];
|
|
|
|
943
|
+ } else if (value === '1' || value === '3' || value === '4') {
|
|
|
|
944
|
+ // 名前/QRコード/認証コード必须选中1,5,6,8
|
|
|
|
945
|
+ this.meetingConfig = [...new Set([
|
|
|
|
946
|
+ ...this.meetingConfig,
|
|
|
|
947
|
+ '1', '5', '6', '8'
|
|
|
|
948
|
+ ])];
|
|
|
|
949
|
+ } else if (value === '2') {
|
|
|
|
950
|
+ // 携帯電話番号必须选中1,4,5,6,8
|
|
|
|
951
|
+ this.meetingConfig = [...new Set([
|
|
|
|
952
|
+ ...this.meetingConfig,
|
|
|
|
953
|
+ '1', '4', '5', '6', '8'
|
|
|
|
954
|
+ ])];
|
|
|
|
955
|
+ }
|
|
|
|
956
|
+ },
|
|
|
|
957
|
+
|
|
|
|
958
|
+ isConfigDisabled(value) {
|
|
|
|
959
|
+ // 根据当前选择的验证方式判断哪些配置项是必选的且不可取消
|
|
|
|
960
|
+ const requiredConfigs = this.getRequiredConfigs();
|
|
|
|
961
|
+ return requiredConfigs.includes(value);
|
|
|
|
962
|
+ },
|
|
709
|
|
963
|
|
|
|
|
964
|
+ getRequiredConfigs() {
|
|
|
|
965
|
+ // 根据当前验证方式返回必选的配置项
|
|
|
|
966
|
+ if (!this.form.meetingCheck) return [];
|
|
|
|
967
|
+
|
|
|
|
968
|
+ if (this.form.meetingCheck === '0') {
|
|
|
|
969
|
+ return ['1', '5', '6', '8', '15'];
|
|
|
|
970
|
+ } else if (this.form.meetingCheck === '1' ||
|
|
|
|
971
|
+ this.form.meetingCheck === '3' ||
|
|
|
|
972
|
+ this.form.meetingCheck === '4') {
|
|
|
|
973
|
+ return ['1', '5', '6', '8'];
|
|
|
|
974
|
+ } else if (this.form.meetingCheck === '2') {
|
|
|
|
975
|
+ return ['1', '4', '5', '6', '8'];
|
|
|
|
976
|
+ }
|
|
|
|
977
|
+ return [];
|
|
|
|
978
|
+ },
|
|
|
|
979
|
+ handleCopy(text, label) {
|
|
|
|
980
|
+ if (!text) {
|
|
|
|
981
|
+ this.$message.warning(this.$t('common.empty_content'));
|
|
|
|
982
|
+ return;
|
|
|
|
983
|
+ }
|
|
|
|
984
|
+ navigator.clipboard.writeText(text).then(() => {
|
|
|
|
985
|
+ this.$message.success(`${label} ${this.$t('common.copy_success')}`);
|
|
|
|
986
|
+ }).catch(err => {
|
|
|
|
987
|
+ console.error('复制失败:', err);
|
|
|
|
988
|
+ const textarea = document.createElement('textarea');
|
|
|
|
989
|
+ textarea.value = text;
|
|
|
|
990
|
+ document.body.appendChild(textarea);
|
|
|
|
991
|
+ textarea.select();
|
|
|
|
992
|
+ try {
|
|
|
|
993
|
+ document.execCommand('copy');
|
|
|
|
994
|
+ this.$message.success(`${label} ${this.$t('common.copy_success')}`);
|
|
|
|
995
|
+ } catch (e) {
|
|
|
|
996
|
+ this.$message.error(this.$t('common.copy_failed'));
|
|
|
|
997
|
+ }
|
|
|
|
998
|
+ document.body.removeChild(textarea);
|
|
|
|
999
|
+ });
|
|
|
|
1000
|
+ },
|
|
|
|
1001
|
+ initEditor() {
|
|
|
|
1002
|
+ this.$nextTick(() => {
|
|
|
|
1003
|
+ if (!this.$refs.editor) {
|
|
|
|
1004
|
+ console.error('Quill container not found');
|
|
|
|
1005
|
+ return;
|
|
|
|
1006
|
+ }
|
|
|
|
1007
|
+
|
|
|
|
1008
|
+ // 清理旧编辑器(正确方式)
|
|
|
|
1009
|
+ if (this.quill) {
|
|
|
|
1010
|
+ this.quill.off('text-change');
|
|
|
|
1011
|
+ // 保留容器结构,只移除Quill添加的类
|
|
|
|
1012
|
+ this.$refs.editor.classList.remove('ql-container');
|
|
|
|
1013
|
+ this.$refs.editor.classList.remove('ql-snow');
|
|
|
|
1014
|
+ this.$refs.editor.innerHTML = ''; // 保留空容器
|
|
|
|
1015
|
+ this.quill = null;
|
|
|
|
1016
|
+ }
|
|
|
|
1017
|
+
|
|
|
|
1018
|
+ // 重新创建容器结构
|
|
|
|
1019
|
+ const editorContainer = this.$refs.editor;
|
|
|
|
1020
|
+ editorContainer.innerHTML = `
|
|
|
|
1021
|
+ <div class="ql-container ql-snow" >
|
|
|
|
1022
|
+ <div class="ql-editor" ></div>
|
|
|
|
1023
|
+ </div>
|
|
|
|
1024
|
+ `;
|
|
|
|
1025
|
+
|
|
|
|
1026
|
+ const toolbarOptions = [
|
|
|
|
1027
|
+ ['bold', 'italic', 'underline', 'strike'],
|
|
|
|
1028
|
+ ['blockquote', 'code-block'],
|
|
|
|
1029
|
+ [{'header': 1}, {'header': 2}],
|
|
|
|
1030
|
+ [{'list': 'ordered'}, {'list': 'bullet'}],
|
|
|
|
1031
|
+ [{'script': 'sub'}, {'script': 'super'}],
|
|
|
|
1032
|
+ [{'indent': '-1'}, {'indent': '+1'}],
|
|
|
|
1033
|
+ [{'direction': 'rtl'}],
|
|
|
|
1034
|
+ [{'color': []}, {'background': []}],
|
|
|
|
1035
|
+ [{'align': []}],
|
|
|
|
1036
|
+ ['clean']
|
|
|
|
1037
|
+ ];
|
|
|
|
1038
|
+
|
|
|
|
1039
|
+ this.quill = new Quill(editorContainer.querySelector('.ql-container'), {
|
|
|
|
1040
|
+ modules: {
|
|
|
|
1041
|
+ // toolbar: editorContainer.querySelector('.ql-toolbar')
|
|
|
|
1042
|
+ toolbar: toolbarOptions
|
|
|
|
1043
|
+ },
|
|
|
|
1044
|
+ theme: 'snow',
|
|
|
|
1045
|
+ placeholder: this.$t('meet.meeting_subject_P') || '请输入会议主题'
|
|
|
|
1046
|
+ });
|
|
|
|
1047
|
+
|
|
|
|
1048
|
+ // 设置初始内容
|
|
|
|
1049
|
+ if (this.form.meetingSubject) {
|
|
|
|
1050
|
+ this.quill.root.innerHTML = this.form.meetingSubject;
|
|
|
|
1051
|
+ }
|
|
|
|
1052
|
+
|
|
|
|
1053
|
+ // 监听内容变化
|
|
|
|
1054
|
+ this.quill.on('text-change', () => {
|
|
|
|
1055
|
+ this.form.meetingSubject = this.quill.root.innerHTML;
|
|
|
|
1056
|
+ });
|
|
|
|
1057
|
+ });
|
|
|
|
1058
|
+
|
|
|
|
1059
|
+ },
|
|
|
|
1060
|
+ getAllConfigText(config) {
|
|
|
|
1061
|
+ const configItems = this.formatConfig(config);
|
|
|
|
1062
|
+ return configItems.map(item => item.text).join(', ');
|
|
|
|
1063
|
+ },
|
|
710
|
formatConfig(configStr) {
|
1064
|
formatConfig(configStr) {
|
|
711
|
const configMap = {
|
1065
|
const configMap = {
|
|
712
|
|
1066
|
|
|
@@ -773,7 +1127,7 @@ export default { |
|
@@ -773,7 +1127,7 @@ export default { |
|
773
|
};
|
1127
|
};
|
|
774
|
|
1128
|
|
|
775
|
return configStr.split(',').map(num => {
|
1129
|
return configStr.split(',').map(num => {
|
|
776
|
- return configMap[Number(num)] || { value: num, text: `未知类型${num}` };
|
1130
|
+ return configMap[Number(num)] || {value: num, text: `未知类型${num}`};
|
|
777
|
});
|
1131
|
});
|
|
778
|
},
|
1132
|
},
|
|
779
|
|
1133
|
|
|
@@ -782,7 +1136,7 @@ export default { |
|
@@ -782,7 +1136,7 @@ export default { |
|
782
|
getList() {
|
1136
|
getList() {
|
|
783
|
this.loading = true;
|
1137
|
this.loading = true;
|
|
784
|
listMeeting(this.queryParams).then(response => {
|
1138
|
listMeeting(this.queryParams).then(response => {
|
|
785
|
- console.log(response)
|
1139
|
+ console.log("response", response);
|
|
786
|
this.meetingList = response.rows;
|
1140
|
this.meetingList = response.rows;
|
|
787
|
this.total = response.total;
|
1141
|
this.total = response.total;
|
|
788
|
this.loading = false;
|
1142
|
this.loading = false;
|
|
@@ -791,6 +1145,10 @@ export default { |
|
@@ -791,6 +1145,10 @@ export default { |
|
791
|
|
1145
|
|
|
792
|
// 取消按钮
|
1146
|
// 取消按钮
|
|
793
|
cancel() {
|
1147
|
cancel() {
|
|
|
|
1148
|
+ if (this.quill) {
|
|
|
|
1149
|
+ this.quill.off('text-change');
|
|
|
|
1150
|
+ this.quill = null;
|
|
|
|
1151
|
+ }
|
|
794
|
this.open = false;
|
1152
|
this.open = false;
|
|
795
|
this.reset();
|
1153
|
this.reset();
|
|
796
|
},
|
1154
|
},
|
|
@@ -836,6 +1194,7 @@ export default { |
|
@@ -836,6 +1194,7 @@ export default { |
|
836
|
meetingChatFlg: null,
|
1194
|
meetingChatFlg: null,
|
|
837
|
meetingChat: null
|
1195
|
meetingChat: null
|
|
838
|
};
|
1196
|
};
|
|
|
|
1197
|
+ this.meetingConfig = []
|
|
839
|
this.resetForm("form");
|
1198
|
this.resetForm("form");
|
|
840
|
},
|
1199
|
},
|
|
841
|
|
1200
|
|
|
@@ -865,30 +1224,50 @@ export default { |
|
@@ -865,30 +1224,50 @@ export default { |
|
865
|
/** 新增按钮操作 */
|
1224
|
/** 新增按钮操作 */
|
|
866
|
handleAdd() {
|
1225
|
handleAdd() {
|
|
867
|
this.reset();
|
1226
|
this.reset();
|
|
|
|
1227
|
+ this.isUpdate = false;
|
|
|
|
1228
|
+ this.activeTab = 'basic';
|
|
868
|
this.open = true;
|
1229
|
this.open = true;
|
|
869
|
this.title = this.$t('meet.add_title');
|
1230
|
this.title = this.$t('meet.add_title');
|
|
870
|
this.sts = 0;
|
1231
|
this.sts = 0;
|
|
871
|
this.condition = false;
|
1232
|
this.condition = false;
|
|
|
|
1233
|
+ this.$nextTick(() => {
|
|
|
|
1234
|
+ this.initEditor();
|
|
|
|
1235
|
+ });
|
|
872
|
},
|
1236
|
},
|
|
873
|
|
1237
|
|
|
874
|
/** 修改按钮操作 */
|
1238
|
/** 修改按钮操作 */
|
|
875
|
handleUpdate(row) {
|
1239
|
handleUpdate(row) {
|
|
876
|
this.reset();
|
1240
|
this.reset();
|
|
|
|
1241
|
+ this.isUpdate = true;
|
|
|
|
1242
|
+ this.activeTab = 'basic';
|
|
877
|
this.sts = 1;
|
1243
|
this.sts = 1;
|
|
878
|
this.condition = true;
|
1244
|
this.condition = true;
|
|
879
|
- const meetingId = row.meetingId || this.ids
|
1245
|
+ const meetingId = row.meetingId || this.ids;
|
|
880
|
getMeeting(meetingId).then(response => {
|
1246
|
getMeeting(meetingId).then(response => {
|
|
881
|
this.form = response.data;
|
1247
|
this.form = response.data;
|
|
882
|
- this.form.meetingConfig = response.data.meetingConfig ? response.data.meetingConfig.split(',') : []
|
1248
|
+ this.meetingConfig = response.data.meetingConfig ? response.data.meetingConfig.split(',') : [];
|
|
883
|
this.open = true;
|
1249
|
this.open = true;
|
|
884
|
this.title = this.$t('meet.add_title');
|
1250
|
this.title = this.$t('meet.add_title');
|
|
|
|
1251
|
+
|
|
|
|
1252
|
+ this.$nextTick(() => {
|
|
|
|
1253
|
+ this.initEditor();
|
|
|
|
1254
|
+ });
|
|
885
|
});
|
1255
|
});
|
|
886
|
},
|
1256
|
},
|
|
887
|
|
1257
|
|
|
888
|
/** 提交按钮 */
|
1258
|
/** 提交按钮 */
|
|
889
|
submitForm() {
|
1259
|
submitForm() {
|
|
890
|
- this.$refs["form"].validate(valid => {
|
1260
|
+ this.$refs["form"].validate((valid,errorFields )=> {
|
|
891
|
if (valid) {
|
1261
|
if (valid) {
|
|
|
|
1262
|
+ if (this.quill) {
|
|
|
|
1263
|
+ this.form.meetingSubject = this.quill.root.innerHTML;
|
|
|
|
1264
|
+ }
|
|
|
|
1265
|
+ if (this.form.meetingSubject === '<p><br></p>') {
|
|
|
|
1266
|
+ this.form.meetingSubject = ''
|
|
|
|
1267
|
+ }
|
|
|
|
1268
|
+ this.form.meetingConfig = this.meetingConfig.join(",")
|
|
|
|
1269
|
+ this.form.meetingRegSite = 'http://invite.meeting.zgftlm.com/static/register.html?meetingId=' + this.form.meetingId + '&lang=zh'
|
|
|
|
1270
|
+ this.form.meetingInfoSite = 'http://invite.meeting.zgftlm.com/static/personnelList.html?meetingId=' + this.form.meetingId + '&lang=zh'
|
|
892
|
if (this.sts == 1 && this.form.meetingId != null) {
|
1271
|
if (this.sts == 1 && this.form.meetingId != null) {
|
|
893
|
|
1272
|
|
|
894
|
let originalTimeString1 = this.form.meetingStime;
|
1273
|
let originalTimeString1 = this.form.meetingStime;
|
|
@@ -922,7 +1301,7 @@ export default { |
|
@@ -922,7 +1301,7 @@ export default { |
|
922
|
let modifiedTime2 = `${year2}-${month2}-${day2} ${hours2}:${minutes2}:${seconds2}`;
|
1301
|
let modifiedTime2 = `${year2}-${month2}-${day2} ${hours2}:${minutes2}:${seconds2}`;
|
|
923
|
|
1302
|
|
|
924
|
this.form.meetingEtime = modifiedTime2
|
1303
|
this.form.meetingEtime = modifiedTime2
|
|
925
|
- this.form.meetingConfig = this.form.meetingConfig.join(',')
|
1304
|
+ // this.form.meetingConfig = this.form.meetingConfig.join(',')
|
|
926
|
|
1305
|
|
|
927
|
updateMeeting(this.form).then(response => {
|
1306
|
updateMeeting(this.form).then(response => {
|
|
928
|
this.$modal.msgSuccess(this.$t('meet.edit_msg'));
|
1307
|
this.$modal.msgSuccess(this.$t('meet.edit_msg'));
|
|
@@ -974,6 +1353,28 @@ export default { |
|
@@ -974,6 +1353,28 @@ export default { |
|
974
|
}
|
1353
|
}
|
|
975
|
});
|
1354
|
});
|
|
976
|
}
|
1355
|
}
|
|
|
|
1356
|
+ } else {
|
|
|
|
1357
|
+ // 验证失败,找到第一个错误字段对应的标签页
|
|
|
|
1358
|
+ if (errorFields) {
|
|
|
|
1359
|
+ const firstErrorField = Object.keys(errorFields)[0];
|
|
|
|
1360
|
+ console.log("this.rules[firstErrorField]",this.rules[firstErrorField])
|
|
|
|
1361
|
+ const firstErrorRule = this.rules[firstErrorField][0];
|
|
|
|
1362
|
+ if (firstErrorRule.tab) {
|
|
|
|
1363
|
+ this.activeTab = firstErrorRule.tab;
|
|
|
|
1364
|
+
|
|
|
|
1365
|
+ // 滚动到错误字段
|
|
|
|
1366
|
+ this.$nextTick(() => {
|
|
|
|
1367
|
+ const errorElement = this.$refs.form.$el.querySelector('.is-error');
|
|
|
|
1368
|
+ if (errorElement) {
|
|
|
|
1369
|
+ errorElement.scrollIntoView({
|
|
|
|
1370
|
+ behavior: 'smooth',
|
|
|
|
1371
|
+ block: 'center'
|
|
|
|
1372
|
+ });
|
|
|
|
1373
|
+ }
|
|
|
|
1374
|
+ });
|
|
|
|
1375
|
+ }
|
|
|
|
1376
|
+ }
|
|
|
|
1377
|
+ return false;
|
|
977
|
}
|
1378
|
}
|
|
978
|
});
|
1379
|
});
|
|
979
|
},
|
1380
|
},
|
|
@@ -986,7 +1387,8 @@ export default { |
|
@@ -986,7 +1387,8 @@ export default { |
|
986
|
}).then(() => {
|
1387
|
}).then(() => {
|
|
987
|
this.getList();
|
1388
|
this.getList();
|
|
988
|
this.$modal.msgSuccess(this.$t('meet.del_msg'));
|
1389
|
this.$modal.msgSuccess(this.$t('meet.del_msg'));
|
|
989
|
- }).catch(() => { });
|
1390
|
+ }).catch(() => {
|
|
|
|
1391
|
+ });
|
|
990
|
},
|
1392
|
},
|
|
991
|
|
1393
|
|
|
992
|
getList2() {
|
1394
|
getList2() {
|
|
@@ -1051,8 +1453,121 @@ export default { |
|
@@ -1051,8 +1453,121 @@ export default { |
|
1051
|
this.open2 = false;
|
1453
|
this.open2 = false;
|
|
1052
|
}
|
1454
|
}
|
|
1053
|
});
|
1455
|
});
|
|
1054
|
- }
|
1456
|
+ },
|
|
|
|
1457
|
+
|
|
1055
|
|
1458
|
|
|
|
|
1459
|
+ },
|
|
|
|
1460
|
+ mounted() {
|
|
|
|
1461
|
+ this.$nextTick(() => {
|
|
|
|
1462
|
+ this.initEditor(); // 确保 DOM 已渲染
|
|
|
|
1463
|
+ });
|
|
|
|
1464
|
+ },
|
|
|
|
1465
|
+ watch: {
|
|
|
|
1466
|
+ value(newVal) {
|
|
|
|
1467
|
+ if (this.quill && newVal !== this.quill.root.innerHTML) {
|
|
|
|
1468
|
+ this.quill.root.innerHTML = newVal
|
|
|
|
1469
|
+ }
|
|
|
|
1470
|
+ }
|
|
|
|
1471
|
+ },
|
|
|
|
1472
|
+ beforeDestroy() {
|
|
|
|
1473
|
+ if (this.quill) {
|
|
|
|
1474
|
+ this.quill.off('text-change')
|
|
|
|
1475
|
+ }
|
|
1056
|
}
|
1476
|
}
|
|
1057
|
};
|
1477
|
};
|
|
1058
|
</script>
|
1478
|
</script>
|
|
|
|
1479
|
+<style scoped>
|
|
|
|
1480
|
+/* 容器样式 */
|
|
|
|
1481
|
+.quill-editor-container {
|
|
|
|
1482
|
+ height: 300px;
|
|
|
|
1483
|
+}
|
|
|
|
1484
|
+
|
|
|
|
1485
|
+/* 确保编辑器填充容器 */
|
|
|
|
1486
|
+.quill-editor-container .ql-container {
|
|
|
|
1487
|
+ height: calc(100% - 42px); /* 减去工具栏高度 */
|
|
|
|
1488
|
+ border-bottom-left-radius: 4px;
|
|
|
|
1489
|
+ border-bottom-right-radius: 4px;
|
|
|
|
1490
|
+}
|
|
|
|
1491
|
+
|
|
|
|
1492
|
+/* 工具栏样式 */
|
|
|
|
1493
|
+.quill-editor-container .ql-toolbar {
|
|
|
|
1494
|
+ border-top-left-radius: 4px;
|
|
|
|
1495
|
+ border-top-right-radius: 4px;
|
|
|
|
1496
|
+ border: 1px solid #dcdfe6;
|
|
|
|
1497
|
+}
|
|
|
|
1498
|
+
|
|
|
|
1499
|
+.quill-editor-container .ql-container {
|
|
|
|
1500
|
+ border: 1px solid #dcdfe6;
|
|
|
|
1501
|
+ border-top: none;
|
|
|
|
1502
|
+}
|
|
|
|
1503
|
+
|
|
|
|
1504
|
+
|
|
|
|
1505
|
+/* 确保每项等高对齐 */
|
|
|
|
1506
|
+.checkbox-group-grid .el-row {
|
|
|
|
1507
|
+ display: flex;
|
|
|
|
1508
|
+ flex-wrap: wrap;
|
|
|
|
1509
|
+}
|
|
|
|
1510
|
+
|
|
|
|
1511
|
+.checkbox-group-grid .el-col {
|
|
|
|
1512
|
+ display: flex;
|
|
|
|
1513
|
+}
|
|
|
|
1514
|
+
|
|
|
|
1515
|
+.checkbox-item {
|
|
|
|
1516
|
+ width: 100%;
|
|
|
|
1517
|
+ padding: 8px;
|
|
|
|
1518
|
+ height: 100%;
|
|
|
|
1519
|
+ display: flex;
|
|
|
|
1520
|
+ align-items: center; /* 垂直居中 */
|
|
|
|
1521
|
+}
|
|
|
|
1522
|
+
|
|
|
|
1523
|
+/* 修复Element UI复选框的默认边距 */
|
|
|
|
1524
|
+.checkbox-item .el-checkbox {
|
|
|
|
1525
|
+ margin: 0;
|
|
|
|
1526
|
+ width: 100%;
|
|
|
|
1527
|
+}
|
|
|
|
1528
|
+
|
|
|
|
1529
|
+/* 确保标签文字不换行 */
|
|
|
|
1530
|
+.checkbox-item .el-checkbox__label {
|
|
|
|
1531
|
+ white-space: nowrap;
|
|
|
|
1532
|
+ overflow: hidden;
|
|
|
|
1533
|
+ text-overflow: ellipsis;
|
|
|
|
1534
|
+}
|
|
|
|
1535
|
+
|
|
|
|
1536
|
+
|
|
|
|
1537
|
+/* 白色背景的弹出框 */
|
|
|
|
1538
|
+.white-popover {
|
|
|
|
1539
|
+ background: white !important;
|
|
|
|
1540
|
+ color: #333 !important;
|
|
|
|
1541
|
+ border: 1px solid #dcdfe6 !important;
|
|
|
|
1542
|
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !important;
|
|
|
|
1543
|
+}
|
|
|
|
1544
|
+
|
|
|
|
1545
|
+/* 弹出框内容样式 */
|
|
|
|
1546
|
+.all-configs {
|
|
|
|
1547
|
+ padding: 4px 6px;
|
|
|
|
1548
|
+ line-height: 1;
|
|
|
|
1549
|
+}
|
|
|
|
1550
|
+
|
|
|
|
1551
|
+/* 标签容器 */
|
|
|
|
1552
|
+.config-tags-wrapper {
|
|
|
|
1553
|
+ display: flex;
|
|
|
|
1554
|
+ flex-wrap: wrap;
|
|
|
|
1555
|
+ gap: 4px;
|
|
|
|
1556
|
+}
|
|
|
|
1557
|
+
|
|
|
|
1558
|
+/* 普通标签样式 */
|
|
|
|
1559
|
+.config-tag {
|
|
|
|
1560
|
+ margin-right: 4px;
|
|
|
|
1561
|
+}
|
|
|
|
1562
|
+
|
|
|
|
1563
|
+/* +N 标签样式 */
|
|
|
|
1564
|
+.more-tag {
|
|
|
|
1565
|
+ cursor: pointer;
|
|
|
|
1566
|
+ background-color: #f4f4f5;
|
|
|
|
1567
|
+ color: #909399;
|
|
|
|
1568
|
+}
|
|
|
|
1569
|
+.ql-toolbar.ql-snow {
|
|
|
|
1570
|
+ padding: 2px 4px !important;
|
|
|
|
1571
|
+ height: 16px !important;
|
|
|
|
1572
|
+}
|
|
|
|
1573
|
+</style> |