Browse Source

校区特色修改

lzw 1 tháng trước cách đây
mục cha
commit
4b7de97372

+ 804 - 915
src/views/kanBan/components/AschoolFeature.vue

@@ -1,500 +1,354 @@
 <template>
-	<div style="display: flex; flex-direction: column; gap: 20px; height: 100%">
-		<div class="top">
-			<div class="topTit">
-				<div>
-					<div>集团简介</div>
-					<div
-						style="
+    <div style="display: flex; flex-direction: column; gap: 20px; height: 100%">
+        <div class="top">
+            <div class="topTit">
+                <div>
+                    <div>集团简介</div>
+                    <div style="
 							height: 4px;
 							background-color: #0663fe;
 							width: 2rem;
 							margin-top: 6px;
-						"
-					></div>
-				</div>
-				<div>
-					<img
-						v-if="userinfo.role == 1 && userinfo.type == 1"
-						class="topTitEdit"
-						@click="editregion(0)"
-						src="../../../assets/img/bianji.svg"
-						alt=""
-					/>
-				</div>
-			</div>
-			<div class="Topbri">
-				{{ fromL.admin.CampusF ? fromL.admin.CampusF.GroupBri : "" }}
-			</div>
-		</div>
-
-		<div class="feature">
-			<div class="topTit">
-				<div>
-					<div>办学特色</div>
-					<div
-						style="
+						"></div>
+                </div>
+                <div>
+                    <img v-if="userinfo.role == 1 && userinfo.type == 1" class="topTitEdit" @click="editregion(0)"
+                        src="../../../assets/img/bianji.svg" alt="" />
+                </div>
+            </div>
+            <div class="Topbri">
+                {{ fromL.admin.CampusF ? fromL.admin.CampusF.GroupBri : "暂无简介" }}
+            </div>
+        </div>
+
+        <div class="feature">
+            <div class="topTit">
+                <div>
+                    <div>办学特色</div>
+                    <div style="
 							height: 4px;
 							background-color: #0663fe;
 							width: 2rem;
 							margin-top: 6px;
-						"
-					></div>
-				</div>
-				<div>
-					<img
-						v-if="userinfo.role == 1 && userinfo.type == 1"
-						class="topTitEdit"
-						@click="editregion(1)"
-						src="../../../assets/img/bianji.svg"
-						alt=""
-					/>
-				</div>
-			</div>
-
-			<div class="featureAll">
-				<template v-if="featureList.length">
-					<div
-						class="featureCon"
-						v-for="(i, index) in featureList"
-						:key="index"
-					>
-						<img
-							style="width: 34px; height: 34px; object-fit: contain"
-							:src="i.icon"
-							alt=""
-						/>
-						<div class="featureConTit">{{ i.name }}</div>
-
-						<el-tooltip
-							class="item"
-							effect="dark"
-							:content="i.bri"
-							placement="bottom"
-						>
-							<div class="Topbri2">{{ i.bri }}</div>
-						</el-tooltip>
-					</div>
-				</template>
-			</div>
-		</div>
-
-		<div class="feature">
-			<div class="topTit">
-				<div>
-					<div>师资力量</div>
-					<div
-						style="
+						"></div>
+                </div>
+                <div>
+                    <img v-if="userinfo.role == 1 && userinfo.type == 1" class="topTitEdit" @click="editregion(1)"
+                        src="../../../assets/img/bianji.svg" alt="" />
+                </div>
+            </div>
+
+            <div class="featureAll">
+                <template v-if="featureList.length">
+                    <div class="featureCon" v-for="(i, index) in featureList" :key="index">
+                        <img style="width: 34px; height: 34px; object-fit: contain" :src="i.icon" alt="" />
+                        <div class="featureConTit">{{ i.name }}</div>
+
+                        <el-tooltip class="item" effect="dark" :content="i.bri" placement="bottom">
+                            <div class="Topbri2">{{ i.bri }}</div>
+                        </el-tooltip>
+                    </div>
+
+                </template>
+                <div v-else>
+                    暂无数据
+                </div>
+            </div>
+        </div>
+
+        <div class="feature">
+            <div class="topTit">
+                <div>
+                    <div>师资力量</div>
+                    <div style="
 							height: 4px;
 							background-color: #0663fe;
 							width: 2rem;
 							margin-top: 6px;
-						"
-					></div>
-				</div>
-				<div>
-					<img
-						v-if="userinfo.role == 1 && userinfo.type == 1"
-						class="topTitEdit"
-						@click="editregion(2)"
-						src="../../../assets/img/bianji.svg"
-						alt=""
-					/>
-				</div>
-			</div>
-			<div class="Topbri">
-				<el-tooltip
-					class="item"
-					effect="dark"
-					:content="
-						fromL.admin.CampusF ? fromL.admin.CampusF.teacherN.teaBri : ''
-					"
-					placement="bottom"
-				>
-					<span>
-						{{ fromL.admin.CampusF ? fromL.admin.CampusF.teacherN.teaBri : "" }}
-					</span>
-				</el-tooltip>
-			</div>
-
-			<div class="featureAll">
-				<div class="featureCon2" v-for="(i, index) in teaData" :key="index">
-					<div class="featureConTit2">{{ i.bri }}</div>
-					<div class="Topbri">{{ i.name }}</div>
-				</div>
-			</div>
-		</div>
-
-		<div class="feature">
-			<div class="topTit">
-				<div>
-					<div>特色应用</div>
-					<div
-						style="
+						"></div>
+                </div>
+                <div>
+                    <img v-if="userinfo.role == 1 && userinfo.type == 1" class="topTitEdit" @click="editregion(2)"
+                        src="../../../assets/img/bianji.svg" alt="" />
+                </div>
+            </div>
+            <div class="Topbri">
+                <el-tooltip class="item" effect="dark" :content="fromL.admin.CampusF ? fromL.admin.CampusF.teacherN.teaBri : '暂无数据'
+                    " placement="bottom">
+                    <span>
+                        {{ fromL.admin.CampusF ? fromL.admin.CampusF.teacherN.teaBri : "暂无简介" }}
+                    </span>
+                </el-tooltip>
+            </div>
+
+            <div class="featureAll" v-if="teaData.length">
+                <div class="featureCon2" v-for="(i, index) in teaData" :key="index">
+                    <div class="featureConTit2">{{ i.bri }}</div>
+                    <div class="Topbri">{{ i.name }}</div>
+                </div>
+            </div>
+            <div v-else>
+                暂无数据
+            </div>
+        </div>
+
+        <div class="feature">
+            <div class="topTit">
+                <div>
+                    <div>特色应用</div>
+                    <div style="
 							height: 4px;
 							background-color: #0663fe;
 							width: 2rem;
 							margin-top: 6px;
-						"
-					></div>
-				</div>
-				<div>
-					<img
-						v-if="userinfo.role == 1 && userinfo.type == 1"
-						class="topTitEdit"
-						@click="editregion(4)"
-						src="../../../assets/img/bianji.svg"
-						alt=""
-					/>
-				</div>
-			</div>
-
-			<div class="AppStoreList">
-				<template v-if="fromL.admin.CampusF">
-					<div
-						class="AppStore"
-						v-for="(i, index) in CampusF.appList"
-						:key="index"
-                        @click="openNewWindow(i)"
-					>
-						<!-- <img style="width: 24px;" src="../../../assets/img/bianji.svg" alt=""> -->
-						<div class="AppStoreCon">
-							<img
-								style="
+						"></div>
+                </div>
+                <div>
+                    <img v-if="userinfo.role == 1 && userinfo.type == 1" class="topTitEdit" @click="editregion(4)"
+                        src="../../../assets/img/bianji.svg" alt="" />
+                </div>
+            </div>
+
+            <div class="AppStoreList" :class="{ 'AppStoreList2': CampusF.appList.length === 0 }">
+                <template v-if="CampusF.appList.length">
+                    <div class="AppStore" v-for="(i, index) in CampusF.appList" :key="index" @click="openNewWindow(i)">
+                        <!-- <img style="width: 24px;" src="../../../assets/img/bianji.svg" alt=""> -->
+                        <div class="AppStoreCon">
+                            <img style="
 									width: 32px;
 									height: 32px;
 									margin-bottom: 10px;
 									object-fit: contain;
-								"
-								:src="i.setIcon ? i.setIcon : i.json.icon"
-								alt=""
-							/>
-							<div class="AppStoreConTit">{{ i.name }}</div>
-							<el-tooltip
-								class="item"
-								effect="dark"
-								:content="i.detail"
-								placement="bottom"
-							>
-								<div class="AppStoreConBri">{{ i.detail }}</div>
-							</el-tooltip>
-						</div>
-					</div>
-				</template>
-
-				<div
-					class="AppStore"
-					v-if="userinfo.role == 1 && userinfo.type == 1"
-					@click="editregion(3)"
-				>
-					<!-- <div style="height: 24px;"></div> -->
-					<div class="AppAdd">
-						<img src="../../../assets/img/add.svg" alt="" />
-					</div>
-				</div>
-			</div>
-		</div>
-
-		<!-- 修改校区特色弹框 -->
-		<el-dialog
-			title="编辑"
-			:visible.sync="editVisible"
-			close-on-click-modal
-			class="Fedialog"
-			:before-close="handleClose"
-		>
-			<el-input
-				v-if="isBtn === 0"
-				type="textarea"
-				:rows="4"
-				placeholder="请输入内容"
-				v-model="CampusF.GroupBri"
-			>
-			</el-input>
-
-			<el-table
-				:data="CampusF.feature"
-				v-if="isBtn === 1"
-				stripe
-				border
-				style="width: 100%"
-			>
-				<el-table-column label="icon" min-width="200" show-overflow-tooltip>
-					<template slot-scope="scope">
-						<img
-							style="height: 30px; width: 30px; object-fit: cover"
-							:src="scope.row.icon"
-							alt=""
-						/>
-					</template>
-				</el-table-column>
-
-				<el-table-column label="标题" min-width="200" show-overflow-tooltip>
-					<template slot-scope="scope">{{
-						scope.row.name ? scope.row.name : "-"
-					}}</template>
-				</el-table-column>
-
-				<el-table-column label="简介" min-width="200" show-overflow-tooltip>
-					<template slot-scope="scope">{{
-						scope.row.bri ? scope.row.bri : "-"
-					}}</template>
-				</el-table-column>
-
-				<el-table-column label="修改" min-width="200" show-overflow-tooltip>
-					<template slot-scope="scope">
-						<button
-							@click="editRunS(scope.$index, scope.row, 0)"
-							style="
+								" :src="i.setIcon ? i.setIcon : i.json.icon" alt="" />
+                            <div class="AppStoreConTit">{{ i.name }}</div>
+                            <el-tooltip class="item" effect="dark" :content="i.detail" placement="bottom">
+                                <div class="AppStoreConBri">{{ i.detail }}</div>
+                            </el-tooltip>
+                        </div>
+                    </div>
+                </template>
+                <div v-else>
+                    暂无数据
+                </div>
+                <div class="AppStore" v-if="userinfo.role == 1 && userinfo.type == 1" @click="editregion(3)"
+                    :style="{ maxWidth: CampusF.appList.length === 0 ? '301px' : 'auto' }">
+                    <!-- <div style="height: 24px;"></div> -->
+                    <div class="AppAdd">
+                        <img src="../../../assets/img/add.svg" alt="" />
+                    </div>
+                </div>
+            </div>
+        </div>
+
+        <!-- 修改校区特色弹框 -->
+        <el-dialog :title=editTitle :visible.sync="editVisible" close-on-click-modal class="Fedialog"
+            :before-close="handleClose">
+            <el-input v-if="isBtn === 0" type="textarea" :rows="4" placeholder="请输入内容" v-model="CampusF.GroupBri">
+            </el-input>
+
+            <el-table :data="CampusF.feature" v-if="isBtn === 1" stripe border style="width: 100%">
+                <el-table-column label="icon" min-width="200" show-overflow-tooltip>
+                    <template slot-scope="scope">
+                        <img style="height: 30px; width: 30px; object-fit: cover" :src="scope.row.icon" alt="" />
+                    </template>
+                </el-table-column>
+
+                <el-table-column label="标题" min-width="200" show-overflow-tooltip>
+                    <template slot-scope="scope">{{
+                        scope.row.name ? scope.row.name : "-"
+                    }}</template>
+                </el-table-column>
+
+                <el-table-column label="简介" min-width="200" show-overflow-tooltip>
+                    <template slot-scope="scope">{{
+                        scope.row.bri ? scope.row.bri : "-"
+                    }}</template>
+                </el-table-column>
+
+                <el-table-column label="修改" min-width="200" show-overflow-tooltip>
+                    <template slot-scope="scope">
+                        <button @click="editRunS(scope.$index, scope.row, 0)" style="
 								color: #308fff;
 								background: none;
 								border: none;
 								cursor: pointer;
 								margin-left: 25px;
-							"
-						>
-							修改
-						</button>
-						<button
-							v-if="CampusF.feature.length > 1"
-							@click="delFe(scope.$index, 0)"
-							style="
+							">
+                            修改
+                        </button>
+                        <button v-if="CampusF.feature.length > 1" @click="delFe(scope.$index, 0)" style="
 								color: red;
 								background: none;
 								border: none;
 								cursor: pointer;
 								margin-left: 25px;
-							"
-						>
-							删除
-						</button>
-						<button
-							v-if="scope.$index == CampusF.feature.length - 1"
-							@click="addCon(0)"
-							style="
+							">
+                            删除
+                        </button>
+                        <button v-if="scope.$index == CampusF.feature.length - 1" @click="addCon(0)" style="
 								color: #308fff;
 								background: none;
 								border: none;
 								cursor: pointer;
 								margin-left: 25px;
-							"
-						>
-							添加
-						</button>
-					</template>
-				</el-table-column>
-			</el-table>
-
-			<div class="ea_appList" v-if="isBtn === 2">
-				<el-input
-					style="margin-bottom: 10px"
-					type="textarea"
-					:rows="2"
-					resize="none"
-					placeholder="请输入描述"
-					v-model="CampusF.teacherN.teaBri"
-				>
-				</el-input>
-				<el-table
-					:data="CampusF.teacherN.list"
-					stripe
-					border
-					style="width: 100%"
-				>
-					<el-table-column label="标题" min-width="200" show-overflow-tooltip>
-						<template slot-scope="scope">
-							{{ scope.row.name ? scope.row.name : "-" }}
-						</template>
-					</el-table-column>
-
-					<el-table-column label="简介" min-width="200" show-overflow-tooltip>
-						<template slot-scope="scope">{{
-							scope.row.bri ? scope.row.bri : "-"
-						}}</template>
-					</el-table-column>
-
-					<el-table-column label="修改" min-width="200" show-overflow-tooltip>
-						<template slot-scope="scope">
-							<button
-								@click="editRunS(scope.$index, scope.row, 1)"
-								style="
+							">
+                            添加
+                        </button>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+            <div class="ea_appList" v-if="isBtn === 2">
+                <el-input style="margin-bottom: 10px" type="textarea" :rows="2" resize="none" placeholder="请输入描述"
+                    v-model="CampusF.teacherN.teaBri">
+                </el-input>
+                <el-table :data="CampusF.teacherN.list" stripe border style="width: 100%">
+                    <el-table-column label="标题" min-width="200" show-overflow-tooltip>
+                        <template slot-scope="scope">
+                            {{ scope.row.name ? scope.row.name : "-" }}
+                        </template>
+                    </el-table-column>
+
+                    <el-table-column label="简介" min-width="200" show-overflow-tooltip>
+                        <template slot-scope="scope">{{
+                            scope.row.bri ? scope.row.bri : "-"
+                        }}</template>
+                    </el-table-column>
+
+                    <el-table-column label="修改" min-width="200" show-overflow-tooltip>
+                        <template slot-scope="scope">
+                            <button @click="editRunS(scope.$index, scope.row, 1)" style="
 									color: #308fff;
 									background: none;
 									border: none;
 									cursor: pointer;
 									margin-left: 25px;
-								"
-							>
-								修改
-							</button>
-
-							<button
-								v-if="CampusF.teacherN.list.length > 1"
-								@click="delFe(scope.$index, 1)"
-								style="
+								">
+                                修改
+                            </button>
+
+                            <button v-if="CampusF.teacherN.list.length > 1" @click="delFe(scope.$index, 1)" style="
 									color: red;
 									background: none;
 									border: none;
 									cursor: pointer;
 									margin-left: 25px;
-								"
-							>
-								删除
-							</button>
-
-							<button
-								v-if="scope.$index == CampusF.teacherN.list.length - 1"
-								@click="addCon(1)"
-								style="
+								">
+                                删除
+                            </button>
+
+                            <button v-if="scope.$index == CampusF.teacherN.list.length - 1" @click="addCon(1)" style="
 									color: #308fff;
 									background: none;
 									border: none;
 									cursor: pointer;
 									margin-left: 25px;
-								"
-							>
-								添加
-							</button>
-						</template>
-					</el-table-column>
-				</el-table>
-			</div>
-
-			<div class="ea_appList" v-if="isBtn === 3">
-				<div
-					style="
+								">
+                                添加
+                            </button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+            </div>
+
+            <div class="ea_appList" v-if="isBtn === 3" v-loading="appLoading">
+                <div style="
 						display: grid;
 						grid-template-columns: repeat(3, minmax(0, 1fr));
 						gap: 20px;
-					"
-				>
-					<div
-						class="appItem"
-						v-for="item in allApp(appList)"
-						:key="item.id"
-						:class="{ appActive: isSel(item) }"
-						@click="toggleSelection(item)"
-					>
-						<div class="ai_left">
-							<el-image
-								style="width: 100%; height: 100%; cursor: pointer"
-								:src="item.setIcon ? item.setIcon : item.json.icon"
-								fit="cover"
-							></el-image>
-						</div>
-						<div class="ai_right">
-							<div>{{ item.name }}</div>
-							<div class="ai_r_btn"></div>
-							<span>{{ item.detail }}</span>
-						</div>
-					</div>
-				</div>
-			</div>
-
-			<div class="ea_appList" v-if="isBtn === 4">
-				<el-table
-					:data="CampusF.appList"
-					v-if="isBtn === 4"
-					stripe
-					border
-					style="width: 100%"
-				>
-					<el-table-column label="icon" min-width="200" show-overflow-tooltip>
-						<template slot-scope="scope">
-							<img
-								style="height: 30px; width: 30px; object-fit: cover"
-								:src="
-									scope.row.setIcon ? scope.row.setIcon : scope.row.json.icon
-								"
-								alt=""
-							/>
-						</template>
-					</el-table-column>
-
-					<el-table-column label="icon" min-width="200" show-overflow-tooltip>
-						<template slot-scope="scope">
-							{{ scope.row.name }}
-						</template>
-					</el-table-column>
-					<el-table-column label="icon" min-width="200" show-overflow-tooltip>
-						<template slot-scope="scope">
-							{{ scope.row.detail }}
-						</template>
-					</el-table-column>
-					<el-table-column label="操作" min-width="200" show-overflow-tooltip>
-						<template slot-scope="scope">
-							<button
-								@click="editRunS(scope.$index, scope.row, 2)"
-								style="
+					">
+                    <div class="appItem" v-for="item in allApp(appList)" :key="item.id"
+                        :class="{ appActive: isSel(item) }" @click="toggleSelection(item)">
+                        <div class="ai_left">
+                            <el-image style="width: 100%; height: 100%; cursor: pointer"
+                                :src="item.setIcon ? item.setIcon : item.json.icon" fit="cover"></el-image>
+                        </div>
+                        <div class="ai_right">
+                            <div>{{ item.name }}</div>
+                            <div class="ai_r_btn"></div>
+                            <span>{{ item.detail }}</span>
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+            <div class="ea_appList" v-if="isBtn === 4">
+                <el-table :data="CampusF.appList" v-if="isBtn === 4" stripe border style="width: 100%">
+                    <el-table-column label="icon" min-width="200" show-overflow-tooltip>
+                        <template slot-scope="scope">
+                            <img style="height: 30px; width: 30px; object-fit: cover" :src="scope.row.setIcon ? scope.row.setIcon : scope.row.json.icon
+                                " alt="" />
+                        </template>
+                    </el-table-column>
+
+                    <el-table-column label="名称" min-width="200" show-overflow-tooltip>
+                        <template slot-scope="scope">
+                            {{ scope.row.name }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="简介" min-width="200" show-overflow-tooltip>
+                        <template slot-scope="scope">
+                            {{ scope.row.detail }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="操作" min-width="200" show-overflow-tooltip>
+                        <template slot-scope="scope">
+                            <button @click="editRunS(scope.$index, scope.row, 2)" style="
 									color: #308fff;
 									background: none;
 									border: none;
 									cursor: pointer;
 									margin-left: 25px;
-								"
-							>
-								修改
-							</button>
-							<button
-								v-if="fromL.admin.CampusF.appList.length > 1"
-								@click="delFe(scope.$index, 2)"
-								style="
+								">
+                                修改
+                            </button>
+                            <button v-if="fromL.admin.CampusF.appList.length > 1" @click="delFe(scope.$index, 2)" style="
 									color: red;
 									background: none;
 									border: none;
 									cursor: pointer;
 									margin-left: 25px;
-								"
-							>
-								删除
-							</button>
-
-							<!-- 上移按钮 -->
-							<button
-								v-if="scope.$index != 0"
-								@click="moveUp(scope.$index)"
-								style="
+								">
+                                删除
+                            </button>
+
+                            <!-- 上移按钮 -->
+                            <button v-if="scope.$index != 0" @click="moveUp(scope.$index)" style="
 									color: #308fff;
 									background: none;
 									border: none;
 									cursor: pointer;
 									margin-left: 10px;
-								"
-							>
-								上移
-							</button>
-
-							<!-- 下移按钮 -->
-							<button
-								v-if="scope.$index != CampusF.appList.length - 1"
-								@click="moveDown(scope.$index)"
-								style="
+								">
+                                上移
+                            </button>
+
+                            <!-- 下移按钮 -->
+                            <button v-if="scope.$index != CampusF.appList.length - 1" @click="moveDown(scope.$index)"
+                                style="
 									color: #308fff;
 									background: none;
 									border: none;
 									cursor: pointer;
 									margin-left: 10px;
-								"
-							>
-								下移
-							</button>
-						</template>
-					</el-table-column>
-				</el-table>
-			</div>
-
-			<span slot="footer" class="dialog-footer">
-				<el-button @click="handleClose">取 消</el-button>
-				<!-- 添加特色应用按钮 -->
-				<el-button v-if="isBtn === 3" type="primary" @click="getNewApp"
-					>确定</el-button
-				>
-				<el-button v-else type="primary" @click="setJson">确 定</el-button>
-			</span>
-		</el-dialog>
-
-		<addCampusDialog ref="addCampusDialogRef" @success="addCampusSuccess" />
-	</div>
+								">
+                                下移
+                            </button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+            </div>
+
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="handleClose">取 消</el-button>
+                <!-- 添加特色应用按钮 -->
+                <el-button v-if="isBtn === 3" type="primary" @click="getNewApp">确定</el-button>
+                <el-button v-else type="primary" @click="setJson">确 定</el-button>
+            </span>
+        </el-dialog>
+
+        <addCampusDialog ref="addCampusDialogRef" @success="addCampusSuccess" />
+    </div>
 </template>
 
 <script>
@@ -507,601 +361,636 @@ import axios from "@/common/axios.config"; // 引入 axios 配置实例
 import store from "../../../store";
 
 export default {
-	mixins: [myMixin],
-
-	components: {
-		addCampusDialog,
-	},
-	data() {
-		return {
-			featureApp: [],
-			// 判断弹框是添加还是编辑
-			editTtype: 0,
-			// 添加与编辑弹框显示
-			editVisible: false,
-
-			loading: false,
-
-			// 判断点击的哪个部分的编辑按钮
-			isBtn: -1,
-
-			// 所有应用列表
-			appList: [],
-
-			// 页面校区特色数据
-			CampusF: [],
-
-			// 储存选择特色应用
-			selectedItem: [],
-
-			// 修改校区特色信息
-			CampusData: "",
-			CampusType: 0,
-			// 0 办学特色 1 师资力量
-			CampusNum: 0,
-		};
-	},
-	computed: {
-		...mapGetters(["fromL", "userinfo"]),
-		featureList() {
-			if (this.fromL.admin.CampusF) {
-				return this.fromL.admin.CampusF.feature; // 从 Vuex 的 fromL 中获取 featureList
-			} else {
-				return [];
-			}
-		},
-		teaData() {
-			if (this.fromL.admin.CampusF) {
-				return this.fromL.admin.CampusF.teacherN.list; // 从 Vuex 的 fromL 中获取 teaData
-			} else {
-				return [];
-			}
-		},
-		allApp() {
-			return function (val) {
-				const difference = val.filter(
-					(item1) =>
-						!this.CampusF.appList.some((item2) => item1.id === item2.id)
-				);
-				return difference;
-			};
-		},
-		isSel() {
-			return function (val) {
-				let res5 = this.selectedItem.some(function (item) {
-					return item.id == val.id;
-				});
-				return res5;
-			};
-		},
-	},
-	methods: {
-		// 点击区块编辑
-		async editregion(type) {
-			if (type == 3) this.getAppData();
-			this.isBtn = type;
-			this.editVisible = true;
-		},
-		handleClose() {
-			this.editVisible = false;
-			this.isBtn = -1;
-			this.appList = [];
-
-			// 修改校区特色信息
-			this.CampusData = "";
-			this.CampusType = 0;
-			// 0 办学特色 1 师资力量
-			this.CampusNum = 0;
-
-			if (this.fromL.admin.CampusF) {
-				this.CampusF = JSON.parse(JSON.stringify(this.fromL.admin.CampusF));
-			}
-		},
-		// 上移
-		moveUp(index) {
-			if (index > 0) {
-				const list = this.CampusF.appList;
-				const temp = list[index];
-				this.$set(list, index, list[index - 1]);
-				this.$set(list, index - 1, temp);
-			}
-		},
-
-		// 下移
-		moveDown(index) {
-			const list = this.CampusF.appList;
-			if (index < list.length - 1) {
-				const temp = list[index];
-				this.$set(list, index, list[index + 1]);
-				this.$set(list, index + 1, temp);
-			}
-		},
-		//  0 办学特色 1 师资力量
-		addCon(type) {
-			this.CampusType = type;
-
-			// this.CampusF.feature.push({bri:'',icon:'',name:''})
+    mixins: [myMixin],
+
+    components: {
+        addCampusDialog,
+    },
+    data() {
+        return {
+            featureApp: [],
+            // 判断弹框是添加还是编辑
+            editTtype: 0,
+            // 添加与编辑弹框显示
+            editVisible: false,
+
+            loading: false,
+            appLoading: false,
+
+            // 判断点击的哪个部分的编辑按钮
+            isBtn: -1,
+
+            // 所有应用列表
+            appList: [],
+
+            // 页面校区特色数据
+            CampusF: [],
+
+            // 储存选择特色应用
+            selectedItem: [],
+
+            // 修改校区特色信息
+            CampusData: "",
+            CampusType: 0,
+            // 0 办学特色 1 师资力量
+            CampusNum: 0,
+        };
+    },
+    computed: {
+        ...mapGetters(["fromL", "userinfo"]),
+        featureList() {
+            if (this.fromL.admin.CampusF) {
+                return this.fromL.admin.CampusF.feature; // 从 Vuex 的 fromL 中获取 featureList
+            } else {
+                return [];
+            }
+        },
+        teaData() {
+            if (this.fromL.admin.CampusF) {
+                return this.fromL.admin.CampusF.teacherN.list; // 从 Vuex 的 fromL 中获取 teaData
+            } else {
+                return [];
+            }
+        },
+        allApp() {
+            return function (val) {
+                const difference = val.filter(
+                    (item1) =>
+                        !this.CampusF.appList.some((item2) => item1.id === item2.id)
+                );
+                return difference;
+            };
+        },
+        isSel() {
+            return function (val) {
+                let res5 = this.selectedItem.some(function (item) {
+                    return item.id == val.id;
+                });
+                return res5;
+            };
+        },
+        editTitle() {
+            if (this.isBtn == 0) return "编辑集团简介";
+            else if (this.isBtn == 1) return "编辑办学特色";
+            else if (this.isBtn == 2) return "编辑师资力量";
+            else if (this.isBtn == 3) return "添加特色应用";
+            else if (this.isBtn == 4) return "编辑特色应用";
+            else return ""; // 默认值
+        },
+    },
+    methods: {
+        // 点击区块编辑
+        async editregion(type) {
+            if (type == 3) this.getAppData();
+            this.isBtn = type;
+            this.editVisible = true;
+            this.appLoading = true;
+        },
+        handleClose() {
+            this.editVisible = false;
+            this.isBtn = -1;
+            this.appList = [];
+
+            // 修改校区特色信息
+            this.CampusData = "";
+            this.CampusType = 0;
+            // 0 办学特色 1 师资力量
+            this.CampusNum = 0;
+
+            if (this.fromL.admin.CampusF) {
+                this.CampusF = JSON.parse(JSON.stringify(this.fromL.admin.CampusF));
+            }
+        },
+        // 上移
+        moveUp(index) {
+            if (index > 0) {
+                const list = this.CampusF.appList;
+                const temp = list[index];
+                this.$set(list, index, list[index - 1]);
+                this.$set(list, index - 1, temp);
+            }
+        },
+
+        // 下移
+        moveDown(index) {
+            const list = this.CampusF.appList;
+            if (index < list.length - 1) {
+                const temp = list[index];
+                this.$set(list, index, list[index + 1]);
+                this.$set(list, index + 1, temp);
+            }
+        },
+        //  0 办学特色 1 师资力量
+        addCon(type) {
+            this.CampusType = type;
+
+            // this.CampusF.feature.push({bri:'',icon:'',name:''})
             if (type == 0) {
                 this.CampusNum = this.CampusF.feature.length;
-                this.$refs.addCampusDialogRef.open({ bri: "", icon: "", name: "" }, type);
+                this.$refs.addCampusDialogRef.open({ bri: "", icon: "", name: "" },
+                    type,
+                    "添加办学特色"
+                );
             } else {
                 this.CampusNum = this.CampusF.teacherN.list.length;
-                this.$refs.addCampusDialogRef.open({ bri: "", name: "" }, 1);
+                this.$refs.addCampusDialogRef.open({ bri: "", name: "" },
+                    1,
+                    "添加师资力量"
+                );
             }
-		},
-		// // 添加师资力量
-		// add2() {
-		// 	this.CampusType = 1;
-		// 	this.$refs.addCampusDialogRef.open({ bri: "", name: "" }, 1);
-
-		// 	// this.CampusF.teacherN.list.push()
-		// },
-		// 修改办学特色
-		editRunS(index, val, type) {
-			this.CampusData = val;
-			this.CampusType = type;
-			this.CampusNum = index;
-			this.$refs.addCampusDialogRef.open(val, type);
-		},
-		//修改 0 办学特色 1 师资力量 2 特色应用
-		addCampusSuccess(val) {
-			console.log("val", val);
-			console.log("CampusType", this.CampusType);
-
-			if (this.CampusType == 0) {
-				this.CampusF.feature.splice(this.CampusNum, 1, val.item);
-			} else if (this.CampusType == 1) {
-				this.CampusF.teacherN.list.splice(this.CampusNum, 1, val.item);
-			} else {
-				this.CampusF.appList.splice(this.CampusNum, 1, val.item);
-			}
-		},
-		// 删除办学特色
-		delFe(index, type) {
-			if (type == 0) {
-				this.CampusF.feature.splice(index, 1);
-			} else if (type == 1) {
-				this.CampusF.teacherN.list.splice(index, 1);
-			} else {
-				this.CampusF.appList.splice(index, 1);
-			}
-		},
-		moveApp() {},
-		getAppData() {
-			return new Promise((resolve) => {
-				let params = [
-					{
-						functionName: "select_schUsuallyApp",
-						userid: "",
-						stand: "cn",
-					},
-				];
-				this.loading = true;
-				this.$ajax
-					.post(API_CONFIG.baseUrl, params)
-					.then((res) => {
-						let _data = res.data;
-						let _list = _data[0];
-						_list.forEach((i) => {
-							i.json = JSON.parse(i.json);
-						});
-						this.appList = _list;
-						// console.log('_list', _list);
-
-						// this.loading = false;
-						resolve(_list);
-					})
-					.catch((err) => {
-						console.log(err);
-						// this.loading = false;
-						this.$message.error("获取应用数据失败");
-						// this.close();
-					});
-			});
-		},
-		toggleSelection(item) {
-			const index = this.selectedItem.findIndex((user) => user.id === item.id);
-
-			if (index == -1) {
-				this.selectedItem.push(item);
-			} else {
-				this.selectedItem.splice(index, 1);
-			}
-		},
-
-		// 添加选中的应用
-		getNewApp() {
-			if (this.selectedItem.length == 0) {
-				this.$message.warning("请先选择一个应用!");
-				return;
-			}
-
-			this.CampusF.appList = [...this.CampusF.appList, ...this.selectedItem];
-
-			this.selectedItem = []; // 清空选中状态
-			this.editVisible = false;
-			this.setJson();
-		},
+        },
+        // // 添加师资力量
+        // add2() {
+        // 	this.CampusType = 1;
+        // 	this.$refs.addCampusDialogRef.open({ bri: "", name: "" }, 1);
+
+        // 	// this.CampusF.teacherN.list.push()
+        // },
+        // 修改办学特色
+        editRunS(index, val, type) {
+            this.CampusData = val;
+            this.CampusType = type;
+            this.CampusNum = index;
+            this.$refs.addCampusDialogRef.open(val, type);
+        },
+        //修改 0 办学特色 1 师资力量 2 特色应用
+        addCampusSuccess(val) {
+            console.log("val", val);
+            console.log("CampusType", this.CampusType);
+
+            if (this.CampusType == 0) {
+                this.CampusF.feature.splice(this.CampusNum, 1, val.item);
+            } else if (this.CampusType == 1) {
+                this.CampusF.teacherN.list.splice(this.CampusNum, 1, val.item);
+            } else {
+                this.CampusF.appList.splice(this.CampusNum, 1, val.item);
+            }
+        },
+        // 删除办学特色
+        delFe(index, type) {
+            this.$confirm('确定要删除吗?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning',
+            })
+                .then(() => {
+                    // 用户点击“确定”后执行删除操作
+                    if (type == 0) {
+                        this.CampusF.feature.splice(index, 1);
+                    } else if (type == 1) {
+                        this.CampusF.teacherN.list.splice(index, 1);
+                    } else {
+                        this.CampusF.appList.splice(index, 1);
+                    }
+                    this.$message.success('删除成功!');
+                })
+                .catch(() => {
+                    // 用户点击“取消”后执行的操作
+                    this.$message.error('已取消删除');
+                });
+        },
+        moveApp() { },
+        getAppData() {
+            return new Promise((resolve) => {
+                let params = [
+                    {
+                        functionName: "select_schUsuallyApp",
+                        userid: "",
+                        stand: "cn",
+                    },
+                ];
+                this.loading = true;
+                this.$ajax
+                    .post(API_CONFIG.baseUrl, params)
+                    .then((res) => {
+                        let _data = res.data;
+                        let _list = _data[0];
+                        _list.forEach((i) => {
+                            i.json = JSON.parse(i.json);
+                        });
+                        this.appList = _list;
+                        this.appLoading = false;
+                        // console.log('_list', _list);
+
+                        // this.loading = false;
+                        resolve(_list);
+                    })
+                    .catch((err) => {
+                        console.log(err);
+                        // this.loading = false;
+                        this.$message.error("获取应用数据失败");
+                        // this.close();
+                    });
+            });
+        },
+        toggleSelection(item) {
+            const index = this.selectedItem.findIndex((user) => user.id === item.id);
+
+            if (index == -1) {
+                this.selectedItem.push(item);
+            } else {
+                this.selectedItem.splice(index, 1);
+            }
+        },
+
+        // 添加选中的应用
+        getNewApp() {
+            if (this.selectedItem.length == 0) {
+                this.$message.warning("请先选择一个应用!");
+                return;
+            }
+
+            this.CampusF.appList = [...this.CampusF.appList, ...this.selectedItem];
+
+            this.selectedItem = []; // 清空选中状态
+            this.editVisible = false;
+            this.setJson();
+        },
         openNewWindow(val) {
             console.log(val);
-            this.addOp3('1', "", {id :val.id,name:val.name ,type:this.prefixL + "appstoreOpen" }, "success")
+            this.addOp3('1', "", { id: val.id, name: val.name, type: this.prefixL + "appstoreOpen" }, "success")
 
             // // 基本用法:打开指定 URL
             window.open(val.url, "_blank");
         },
-		// 提交
-		setJson() {
-			this.loading = true;
+        // 提交
+        setJson() {
+            this.loading = true;
 
-			let _form = JSON.parse(JSON.stringify(this.fromL));
+            let _form = JSON.parse(JSON.stringify(this.fromL));
 
-			_form.desktop.list = _form.desktop.list.map((i) => i.id);
+            _form.desktop.list = _form.desktop.list.map((i) => i.id);
 
-			_form.admin.index.list = _form.admin.index.list.map((i) => i.id);
+            _form.admin.index.list = _form.admin.index.list.map((i) => i.id);
 
-			_form.admin.sidebar.list.forEach((i, index) => {
-				if (i.children) {
-					_form.admin.sidebar.list[index].children = i.children.map(
-						(i) => i.id
-					);
-				} else {
-					_form.admin.sidebar.list[index] = i.id;
-				}
-			});
+            _form.admin.sidebar.list.forEach((i, index) => {
+                if (i.children) {
+                    _form.admin.sidebar.list[index].children = i.children.map(
+                        (i) => i.id
+                    );
+                } else {
+                    _form.admin.sidebar.list[index] = i.id;
+                }
+            });
 
-			_form.admin.cocoFlow = _form.admin.cocoFlow
-				? _form.admin.cocoFlow.map((i) => {return { id: i.id, setIcon: i.setIcon }}) : [];
+            _form.admin.cocoFlow = _form.admin.cocoFlow
+                ? _form.admin.cocoFlow.map((i) => { return { id: i.id, setIcon: i.setIcon } }) : [];
 
-			_form.admin.cocoFlow2 = _form.admin.cocoFlow2
-				? _form.admin.cocoFlow2.map((i) => { return { id: i.id, setIcon: i.setIcon }}): [];
+            _form.admin.cocoFlow2 = _form.admin.cocoFlow2
+                ? _form.admin.cocoFlow2.map((i) => { return { id: i.id, setIcon: i.setIcon } }) : [];
 
             _form.admin.CampusF = JSON.parse(JSON.stringify(this.CampusF));
 
-			_form.admin.CampusF.appList = _form.admin.CampusF.appList.length
-				? _form.admin.CampusF.appList.map((i) => {return { id: i.id, setIcon: i.setIcon }}) : [];
-
-			console.log("_form", _form);
-			let params = [
-				{
-					functionName: "update_orgOroid_json_byId",
-					id: this.userinfo.organizeid,
-					ujson: JSON.stringify(_form),
-					type: "school",
-				},
-			];
-			axios
-				.post(API_CONFIG.baseUrl, params)
-				.then(async (res) => {
-					let _data = res.data;
-					if (_data == 1) {
-						this.$message.success("修改权限成功");
-						// this.$emit("getData");
-
-						await store.dispatch("user/getschPerInfo");
-
-						// await addOp({
-						// 	uid: this.userid,
-						// 	cid: this.data.id,
-						// 	type: "user_op",
-						// 	content: `修改了${this.data.name}的权限设置`,
-						// });
-						this.handleClose();
-
-						this.addOp3(
-							"1",
-							"",
-							{
-								uid: this.userinfo.userid,
-								cid: this.userinfo.organizeid,
-								type: "user_op",
-								content: `修改了${this.userinfo.schoolName}的权限设置`,
-							},
-							"success"
-						);
-					} else {
-						this.$message.error("修改权限失败");
-					}
-					this.loading = false;
-				})
-				.catch((err) => {
-					console.log(err);
-					this.loading = false;
-					this.$message.error("修改权限失败");
-
-					this.addOp3(
-						"1",
-						"",
-						{
-							uid: this.userid,
-							cid: this.data.id,
-							type: "user_op",
-							content: `修改了${this.data.name}的权限设置`,
-						},
-						err
-					);
-				});
-		},
-	},
-	mounted() {
-		if (this.fromL.admin.CampusF) {
-			this.CampusF = JSON.parse(JSON.stringify(this.fromL.admin.CampusF));
-		} else {
-			this.CampusF = {
-				GroupBri: "暂无简介",
-				feature: [
-					{
-						bri: "暂无简介",
-						icon: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/tese1745913146000.svg",
-						name: "默认标题",
-					},
-				],
-				teacherN: {
-					teaBri: "暂无简介",
-					list: [{ bri: "默认标题", name: "暂无数据" }],
-				},
-				appList: [],
-			};
-		}
-		console.log("CampusF", this.CampusF.appList);
-	},
+            _form.admin.CampusF.appList = _form.admin.CampusF.appList.length
+                ? _form.admin.CampusF.appList.map((i) => { return { id: i.id, setIcon: i.setIcon } }) : [];
+
+            console.log("_form", _form);
+            let params = [
+                {
+                    functionName: "update_orgOroid_json_byId",
+                    id: this.userinfo.organizeid,
+                    ujson: JSON.stringify(_form),
+                    type: "school",
+                },
+            ];
+            axios
+                .post(API_CONFIG.baseUrl, params)
+                .then(async (res) => {
+                    let _data = res.data;
+                    if (_data == 1) {
+                        this.$message.success("修改权限成功");
+                        // this.$emit("getData");
+
+                        await store.dispatch("user/getschPerInfo");
+
+                        // await addOp({
+                        // 	uid: this.userid,
+                        // 	cid: this.data.id,
+                        // 	type: "user_op",
+                        // 	content: `修改了${this.data.name}的权限设置`,
+                        // });
+                        this.handleClose();
+
+                        this.addOp3(
+                            "1",
+                            "",
+                            {
+                                uid: this.userinfo.userid,
+                                cid: this.userinfo.organizeid,
+                                type: "user_op",
+                                content: `修改了${this.userinfo.schoolName}的权限设置`,
+                            },
+                            "success"
+                        );
+                    } else {
+                        this.$message.error("修改权限失败");
+                    }
+                    this.loading = false;
+                })
+                .catch((err) => {
+                    console.log(err);
+                    this.loading = false;
+                    this.$message.error("修改权限失败");
+
+                    this.addOp3(
+                        "1",
+                        "",
+                        {
+                            uid: this.userid,
+                            cid: this.data.id,
+                            type: "user_op",
+                            content: `修改了${this.data.name}的权限设置`,
+                        },
+                        err
+                    );
+                });
+        },
+    },
+    mounted() {
+        if (this.fromL.admin.CampusF) {
+            this.CampusF = JSON.parse(JSON.stringify(this.fromL.admin.CampusF));
+        } else {
+            this.CampusF = {
+                GroupBri: "暂无简介",
+                feature: [
+                    {
+                        bri: "暂无简介",
+                        icon: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/tese1745913146000.svg",
+                        name: "默认标题",
+                    },
+                ],
+                teacherN: {
+                    teaBri: "暂无简介",
+                    list: [{ bri: "默认标题", name: "暂无数据" }],
+                },
+                appList: [],
+            };
+        }
+        console.log("CampusF", this.CampusF.appList);
+    },
 };
 </script>
 
 <style scoped>
 .top {
-	height: 159px;
-	padding: 36px 27px;
-	box-sizing: border-box;
-	display: flex;
-	flex-direction: column;
-	background: #fff;
-	border-radius: 12px;
-	justify-content: space-between;
+    height: 159px;
+    padding: 36px 27px;
+    box-sizing: border-box;
+    display: flex;
+    flex-direction: column;
+    background: #fff;
+    border-radius: 12px;
+    justify-content: space-between;
 }
 
 .topTit {
-	font-family: PingFang SC;
-	font-weight: 600;
-	font-size: 18px;
-	line-height: 22px;
-	color: #0663fe;
-	display: flex;
-	height: 36px;
-	justify-content: space-between;
+    font-family: PingFang SC;
+    font-weight: 600;
+    font-size: 18px;
+    line-height: 22px;
+    color: #0663fe;
+    display: flex;
+    height: 36px;
+    justify-content: space-between;
 }
 
 .topTit .topTitEdit {
-	cursor: pointer;
+    cursor: pointer;
 }
 
 .Topbri {
-	font-family: PingFang SC;
-	font-weight: 400;
-	font-size: 14px;
-	line-height: 22px;
-	color: #000;
+    font-family: PingFang SC;
+    font-weight: 400;
+    font-size: 14px;
+    line-height: 22px;
+    color: #000;
 }
 
 .Topbri2 {
-	font-family: PingFang SC;
-	font-weight: 400;
-	font-size: 14px;
-	color: #000;
-	display: -webkit-box;
-	-webkit-line-clamp: 2;
-	-webkit-box-orient: vertical;
-	overflow: hidden;
-	text-overflow: ellipsis;
+    font-family: PingFang SC;
+    font-weight: 400;
+    font-size: 14px;
+    color: #000;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    -webkit-box-orient: vertical;
+    overflow: hidden;
+    text-overflow: ellipsis;
 }
 
 .feature {
-	width: 100%;
-	padding: 36px 27px;
-	border-radius: 12px;
-	box-sizing: border-box;
-	background: #eeeeee;
-	display: flex;
-	flex-direction: column;
-	gap: 20px;
-	justify-content: space-between;
+    width: 100%;
+    padding: 36px 27px;
+    border-radius: 12px;
+    box-sizing: border-box;
+    background: #eeeeee;
+    display: flex;
+    flex-direction: column;
+    gap: 20px;
+    justify-content: space-between;
 }
 
 .featureCon {
-	background: #ffffff;
-	width: 100%;
-	height: 211px;
-	display: flex;
-	flex-direction: column;
-	justify-content: center;
-	border-radius: 12px;
-	padding: 40px 20px;
-	align-items: center;
-	box-sizing: border-box;
-	gap: 18px;
+    background: #ffffff;
+    width: 100%;
+    height: 211px;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    border-radius: 12px;
+    padding: 40px 20px;
+    align-items: center;
+    box-sizing: border-box;
+    gap: 18px;
 }
 
 .featureAll {
-	grid-template-columns: repeat(4, 1fr);
-	display: grid;
-	gap: 20px;
+    grid-template-columns: repeat(4, 1fr);
+    display: grid;
+    gap: 20px;
 }
 
 .featureCon2 {
-	background: #ffffff;
-	width: 100%;
-	height: 94px;
-	display: flex;
-	flex-direction: column;
-	justify-content: center;
-	border-radius: 12px;
-	padding: 40px 20px;
-	align-items: center;
-	box-sizing: border-box;
-	gap: 10px;
+    background: #ffffff;
+    width: 100%;
+    height: 94px;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    border-radius: 12px;
+    padding: 40px 20px;
+    align-items: center;
+    box-sizing: border-box;
+    gap: 10px;
 }
 
 .featureConTit {
-	font-family: PingFang SC;
-	font-weight: 600;
-	font-size: 18px;
-	line-height: 22px;
-	color: #000;
+    font-family: PingFang SC;
+    font-weight: 600;
+    font-size: 18px;
+    line-height: 22px;
+    color: #000;
 }
 
 .featureConTit2 {
-	font-family: PingFang SC;
-	font-weight: 600;
-	font-size: 20px;
-	line-height: 22px;
-	color: #0663fe;
+    font-family: PingFang SC;
+    font-weight: 600;
+    font-size: 20px;
+    line-height: 22px;
+    color: #0663fe;
 }
 
 .AppStoreList {
-	display: grid;
-	grid-template-columns: repeat(auto-fit, minmax(20%, 1fr));
-	gap: 20px;
+    display: grid;
+    grid-template-columns: repeat(auto-fit, minmax(20%, 1fr));
+    gap: 20px;
+}
+
+.AppStoreList2 {
+    display: flex;
+    flex-direction: column;
 }
 
 .AppStore {
-	display: flex;
-	flex-direction: column;
-	gap: 10px;
-	min-height: 171px;
-	min-width: 100px;
+    display: flex;
+    flex-direction: column;
+    gap: 10px;
+    min-height: 171px;
+    min-width: 100px;
     cursor: pointer;
 }
 
 .AppStoreCon {
-	border-radius: 10px;
-	padding: 17px 17px;
-	height: 100%;
-	box-sizing: border-box;
-	background: #fff;
+    border-radius: 10px;
+    padding: 17px 17px;
+    height: 100%;
+    box-sizing: border-box;
+    background: #fff;
 }
 
 .AppAdd {
-	height: 100%;
-	border-radius: 10px;
-	padding: 17px 17px;
-	box-sizing: border-box;
-	border: 1px dashed #000000;
-	background: #e5e5e5;
-	display: flex;
-	justify-content: center;
-	align-items: center;
+    height: 171px;
+    border-radius: 10px;
+    padding: 17px 17px;
+    box-sizing: border-box;
+    border: 1px dashed #000000;
+    background: #e5e5e5;
+    display: flex;
+    justify-content: center;
+    align-items: center;
 }
 
 .AppStoreConTit {
-	font-family: PingFang SC;
-	font-weight: 500;
-	font-size: 16px;
-	margin-bottom: 5px;
-	display: -webkit-box;
-	-webkit-line-clamp: 2;
-	-webkit-box-orient: vertical;
-	overflow: hidden;
-	text-overflow: ellipsis;
+    font-family: PingFang SC;
+    font-weight: 500;
+    font-size: 16px;
+    margin-bottom: 5px;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    -webkit-box-orient: vertical;
+    overflow: hidden;
+    text-overflow: ellipsis;
 }
 
 .AppStoreConBri {
-	font-family: PingFang SC;
-	font-weight: 300;
-	font-size: 14px;
-	color: #969ba3;
-	display: -webkit-box;
-	-webkit-line-clamp: 2;
-	-webkit-box-orient: vertical;
-	overflow: hidden;
-	text-overflow: ellipsis;
+    font-family: PingFang SC;
+    font-weight: 300;
+    font-size: 14px;
+    color: #969ba3;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    -webkit-box-orient: vertical;
+    overflow: hidden;
+    text-overflow: ellipsis;
 }
 
 .AppStoreBri {
-	font-family: PingFang SC;
-	font-size: 10px;
-	color: #969ba3;
+    font-family: PingFang SC;
+    font-size: 10px;
+    color: #969ba3;
 }
 
 .appItem {
-	height: 100px;
-	background-color: white;
-	box-sizing: border-box;
-	border: solid 1px #f3f4f6;
-	padding: 10px;
-	border-radius: 8px;
-	cursor: pointer;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	transition: 0.3s;
+    height: 100px;
+    background-color: white;
+    box-sizing: border-box;
+    border: solid 1px #f3f4f6;
+    padding: 10px;
+    border-radius: 8px;
+    cursor: pointer;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    transition: 0.3s;
 }
 
 .appActive {
-	border-color: #409eff;
-	box-shadow: 0px 6px 30px 5px #00000015;
+    border-color: #409eff;
+    box-shadow: 0px 6px 30px 5px #00000015;
 }
 
 .appItem:hover {
-	box-shadow: 0px 6px 30px 5px #00000015;
+    box-shadow: 0px 6px 30px 5px #00000015;
 }
 
 .ai_left {
-	width: 80px;
-	height: 80px;
-	box-sizing: border-box;
-	padding: 10px;
-	margin-right: 10px;
+    width: 80px;
+    height: 80px;
+    box-sizing: border-box;
+    padding: 10px;
+    margin-right: 10px;
 }
 
 .ai_right {
-	width: calc(100% - 80px - 10px);
-	position: relative;
+    width: calc(100% - 80px - 10px);
+    position: relative;
 }
 
-.ai_right > div {
-	max-width: calc(100% - 50px);
-	font-weight: bold;
-	overflow: hidden;
-	white-space: nowrap;
-	text-overflow: ellipsis;
-	font-size: 16px;
-	color: #000;
-	margin-bottom: 10px;
+.ai_right>div {
+    max-width: calc(100% - 50px);
+    font-weight: bold;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    font-size: 16px;
+    color: #000;
+    margin-bottom: 10px;
 }
 
-.ai_right > span {
-	font-size: 14px;
-	color: #00000099;
-	display: -webkit-box;
-	-webkit-box-orient: vertical;
-	-webkit-line-clamp: 2;
-	overflow: hidden;
-	text-overflow: ellipsis;
+.ai_right>span {
+    font-size: 14px;
+    color: #00000099;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+    overflow: hidden;
+    text-overflow: ellipsis;
 }
 
-.Fedialog >>> .el-dialog {
-	width: 60% !important;
-	min-width: 1000px;
-	overflow: hidden;
-	margin-top: 10vh !important;
+.Fedialog>>>.el-dialog {
+    width: 60% !important;
+    min-width: 1000px;
+    overflow: hidden;
+    margin-top: 10vh !important;
 }
 
-.Fedialog >>> .el-dialog__header {
-	padding: 15px 20px;
-	background: #454545;
+.Fedialog>>>.el-dialog__header {
+    padding: 15px 20px;
+    background: #454545;
 }
 
-.Fedialog >>> .el-dialog__body {
-	max-height: 70vh;
-	/* 内容区域最大高度为视口高度的 70% */
-	overflow-y: auto;
-	/* 当内容超出时显示滚动条 */
-	padding: 20px;
-	/* 添加内边距 */
-	box-sizing: border-box;
-	/* 确保 padding 不影响宽度计算 */
+.Fedialog>>>.el-dialog__body {
+    max-height: 70vh;
+    /* 内容区域最大高度为视口高度的 70% */
+    overflow-y: auto;
+    /* 当内容超出时显示滚动条 */
+    padding: 20px;
+    /* 添加内边距 */
+    box-sizing: border-box;
+    /* 确保 padding 不影响宽度计算 */
 }
 
-.Fedialog >>> .el-dialog__title {
-	color: #fff;
+.Fedialog>>>.el-dialog__title {
+    color: #fff;
 }
 </style>

+ 11 - 10
src/views/kanBan/components/addCampusDialog.vue

@@ -67,24 +67,24 @@ export default {
 			},
 			form2:{},
 			type: null,
+			title: "",
 		};
 	},
 	computed: {
 		dialogTitle() {
-			if (this.type === 0) {
-				return '编辑办学特色';
-			} else if (this.type === 1) {
-				return '编辑师资力量';
-			} else if (this.type === 2) {
-				return '编辑特色应用';
-			} else {
-				return '未知类型'; // 默认值
-			}
+			return this.title || (this.type === 0
+            ? "修改办学特色"
+            : this.type === 1
+            ? "修改师资力量"
+            : this.type === 2
+            ? "修改特色应用"
+            : "");
 		},
 	},
 	methods: {
-		open(data, type) {
+		open(data, type, title = "") {
 			this.type = type;
+			this.title = title;
 
 			// 根据 type 处理图片字段
 			if (type === 2) {
@@ -107,6 +107,7 @@ export default {
 				icon: "",
 				bri: "",
 			};
+			this.title = "";
 		},
 		submit() {
 			if (this.type == 0) {