11wqe1 1 هفته پیش
والد
کامیت
2a697e74ec

+ 2 - 2
src/components/schoolArea.vue

@@ -88,10 +88,10 @@ export default {
 .allView {
 	display: flex;
 	width: 230px;
-	height: 54px;
+	gap: 8px;
 	font-size: 18px;
 	align-items: center;
-	padding: 16px;
+	padding: 0 16px;
 	box-sizing: border-box;
 }
 .primarySch {

+ 106 - 100
src/views/kanBan/components/AschoolFeature.vue

@@ -194,130 +194,136 @@
 				</div>
 			</div>
 
-			<div
-				style="display: flex; flex-direction: column; gap: 10px"
-				v-for="(item, index) in CampusF.appList"
-				:key="index + 'b'"
-			>
-				<div style="display: flex; justify-content: space-between">
-					<div></div>
-					<div
-						v-if="userinfo.rrole == 1 || (userinfo.role == 1 && userinfo.organizeid == schId)"
-						style="
-							display: flex;
-							justify-content: space-between;
-							gap: 10px;
-							align-items: center;
-						"
-					>
-						<img
-							@click="(isBtn = 3), editFea(index)"
-							class="topTitEdit"
-							:src="
-								editIndex == index
-									? require('../../../assets/kanban/bz.svg')
-									: require('../../../assets/kanban/feaB.svg')
-							"
-							alt=""
-						/>
-						<img
-							@click="(isBtn = 3), delFe(index)"
-							class="topTitEdit"
-							src="../../../assets/kanban/delK.svg"
-							alt=""
-						/>
-					</div>
-				</div>
-
-				<div>
-					<div style="display: flex; justify-content: space-between; gap: 30px">
-						<!-- 左边区域 -->
+			<template v-if="CampusF.appList.length">
+				<div
+					style="display: flex; flex-direction: column; gap: 10px"
+					v-for="(item, index) in CampusF.appList"
+					:key="index + 'b'"
+				>
+					<div style="display: flex; justify-content: space-between">
+						<div></div>
 						<div
-							class="diaFea"
-							@click="openNewWindow(item)"
+							v-if="userinfo.rrole == 1 || (userinfo.role == 1 && userinfo.organizeid == schId)"
 							style="
-								height: 122px;
-								width: 30%;
-								min-width: 200px;
-								max-width: 300px;
-								cursor: pointer;
+								display: flex;
+								justify-content: space-between;
+								gap: 10px;
+								align-items: center;
 							"
 						>
 							<img
-								v-if="editIndex == index"
-								style="
-									border: 1px #0663fe solid;
-									padding: 3px;
-									box-sizing: border-box;
+								@click="(isBtn = 3), editFea(index)"
+								class="topTitEdit"
+								:src="
+									editIndex == index
+										? require('../../../assets/kanban/bz.svg')
+										: require('../../../assets/kanban/feaB.svg')
 								"
-								class="diaFeaImgT"
-								@click="uploadisBtn(3, index)"
-								:src="item.setIcon ? item.setIcon : item.json.icon"
 								alt=""
 							/>
 							<img
-								v-else
-								class="diaFeaImgT"
-								:src="item.setIcon ? item.setIcon : item.json.icon"
+								@click="(isBtn = 3), delFe(index)"
+								class="topTitEdit"
+								src="../../../assets/kanban/delK.svg"
 								alt=""
 							/>
-
-							<div class="AppStoreConTit">{{ item.name }}</div>
 						</div>
+					</div>
 
-						<!-- 右边区域 -->
-						<div style="flex: 1">
-							<div class="AppStoreConBri" v-if="item.detailWri">
-								<el-input
+					<div>
+						<div style="display: flex; justify-content: space-between; gap: 30px">
+							<!-- 左边区域 -->
+							<div
+								class="diaFea"
+								@click="openNewWindow(item)"
+								style="
+									height: 122px;
+									width: 30%;
+									min-width: 200px;
+									max-width: 300px;
+									cursor: pointer;
+								"
+							>
+								<img
 									v-if="editIndex == index"
-									:style="{
-										border: editIndex == index ? '1px dashed #9747FF !important' : '',
-									}"
-									resize="none"
-									style="border-radius: 10px; height: 100%"
-									type="textarea"
-									placeholder="请输入内容"
-									v-model="item.detailWri"
-								>
-								</el-input>
-								<div v-else style="font-weight: 600">{{ item.detailWri }}</div>
+									style="
+										border: 1px #0663fe solid;
+										padding: 3px;
+										box-sizing: border-box;
+									"
+									class="diaFeaImgT"
+									@click="uploadisBtn(3, index)"
+									:src="item.setIcon ? item.setIcon : item.json.icon"
+									alt=""
+								/>
+								<img
+									v-else
+									class="diaFeaImgT"
+									:src="item.setIcon ? item.setIcon : item.json.icon"
+									alt=""
+								/>
+
+								<div class="AppStoreConTit">{{ item.name }}</div>
 							</div>
 
-							<div class="AppStoreConBri" v-else>
-								<el-input
-									v-if="editIndex == index"
-									resize="none"
-									:style="{
-										border: editIndex == index ? '1px dashed #9747FF !important' : '',
-									}"
-									style="border-radius: 10px"
-									type="textarea"
-									placeholder="请输入内容"
-									v-model="item.detail"
-								>
-								</el-input>
+							<!-- 右边区域 -->
+							<div style="flex: 1">
+								<div class="AppStoreConBri" v-if="item.detailWri">
+									<el-input
+										v-if="editIndex == index"
+										:style="{
+											border: editIndex == index ? '1px dashed #9747FF !important' : '',
+										}"
+										resize="none"
+										style="border-radius: 10px; height: 100%"
+										type="textarea"
+										placeholder="请输入内容"
+										v-model="item.detailWri"
+									>
+									</el-input>
+									<div v-else style="font-weight: 600">{{ item.detailWri }}</div>
+								</div>
 
-								<div v-else style="font-weight: 600">{{ item.detail }}</div>
+								<div class="AppStoreConBri" v-else>
+									<el-input
+										v-if="editIndex == index"
+										resize="none"
+										:style="{
+											border: editIndex == index ? '1px dashed #9747FF !important' : '',
+										}"
+										style="border-radius: 10px"
+										type="textarea"
+										placeholder="请输入内容"
+										v-model="item.detail"
+									>
+									</el-input>
+
+									<div v-else style="font-weight: 600">{{ item.detail }}</div>
+								</div>
 							</div>
 						</div>
-					</div>
 
-					<div class="diaBtn" style="padding: 0" v-if="editIndex == index">
-						<div style="color: #000" @click="feaClo(index)">取消</div>
-						<div
-							style="background: #fff"
-							:style="{
-								border:
-									editBtnType == 1 ? '1px #9747FF solid' : '1px #0663fe solid',
-								color: editBtnType == 1 ? '#9747FF' : '#0663fe',
-							}"
-							@click="setJsonL(index)"
-						>
-							保存
+						<div class="diaBtn" style="padding: 0" v-if="editIndex == index">
+							<div style="color: #000" @click="feaClo(index)">取消</div>
+							<div
+								style="background: #fff"
+								:style="{
+									border:
+										editBtnType == 1 ? '1px #9747FF solid' : '1px #0663fe solid',
+									color: editBtnType == 1 ? '#9747FF' : '#0663fe',
+								}"
+								@click="setJsonL(index)"
+							>
+								保存
+							</div>
 						</div>
 					</div>
 				</div>
+			</template>
+			<div v-else>
+				暂无应用
 			</div>
+
 			<div v-if="userinfo.rrole == 1 || (userinfo.role == 1 && userinfo.organizeid == schId)" class="FedialogJIa" style="display: flex" @click="lookMore()">
 				<div style="width: 100%; border: 1px #000 dashed; cursor: pointer">
 					<img src="../../../assets/kanban/jia.svg" alt="" />

+ 15 - 6
src/views/kanBan/components/dataBoardNew/AIApp/chartList/ParetoChart.vue

@@ -49,7 +49,7 @@ export default {
     chartData:{
         handler(val) {                
             if (val.length) {
-                this.rawData = JSON.parse(JSON.stringify(val))
+                this.rawData = JSON.parse(JSON.stringify(val))                
                 this.initChart();
             }
         },
@@ -57,12 +57,12 @@ export default {
         immediate: true  // 组件创建时立即执行
     }
   },
-  mounted() {
-    // this.rawData = JSON.parse(JSON.stringify(this.chartData))
-    // this.initChart();
-    window.addEventListener('resize', this.handleResize);
+  // mounted() {
+  //   // this.rawData = JSON.parse(JSON.stringify(this.chartData))
+  //   // this.initChart();
+  //   window.addEventListener('resize', this.handleResize);
     
-  },
+  // },
   beforeDestroy() {
     window.removeEventListener('resize', this.handleResize);
     this.chart && this.chart.dispose();
@@ -109,6 +109,15 @@ export default {
               color: '#5470c6'
             }
           },
+          {
+              name: '复制数量',
+              type: 'line',
+              yAxisIndex: 1,
+              data: this.rawData.map(e=> e.copy_count),
+              lineStyle: {
+                  color: '#ff0000' // 也可以在这里设置线条颜色
+              }
+          },
           {
             name: '累计百分比',
             type: 'line',

+ 10 - 10
src/views/kanBan/components/dataBoardNew/teaing/chartList/aidedDesign.vue

@@ -69,13 +69,13 @@ export default {
         tooltip: {
           trigger: 'item'
         },
-        grid: {
-          top: '10%', // 调整图表的上边距
-          // left: '3%',
-          // right: '4%',
-          // bottom: '3%',
-          containLabel: true
-        },
+        // grid: {
+        //   top: '5%', // 调整图表的上边距
+        //   // left: '3%',
+        //   // right: '4%',
+        //   // bottom: '3%',
+        //   containLabel: true
+        // },
         legend: {
           bottom:'0%',
           left:'5%',
@@ -85,7 +85,7 @@ export default {
           {
             name: '模式分类',
             type: 'pie',
-            center: ['50%', '40%'], // 调整饼图的中心位置
+            center: ['50%', '33%'], // 调整饼图的中心位置
             radius: ['0%', '30%'],
             label: {
               show: false,
@@ -101,7 +101,7 @@ export default {
           {
             name: '学科分类',
             type: 'pie',
-            center: ['50%', '40%'], // 调整饼图的中心位置
+            center: ['50%', '33%'], // 调整饼图的中心位置
             radius: ['40%', '60%'],
             label: {
               show: false
@@ -130,6 +130,6 @@ export default {
 <style scoped>
 .chart-container {
   width: 100%;
-  height: 400px;
+  height: 100%;
 }
 </style>

+ 1 - 1
src/views/kanBan/components/dataBoardNew/teaing/index.vue

@@ -194,7 +194,7 @@ export default {
   width: 100%;
   display: grid;
   grid-template-columns: repeat(3, 1fr);  /* 3列网格 */
-  min-height: 480px;
+  height: 500px;
   gap: 20px;  /* 间距 */
 }
 .footCon{

+ 8 - 6
src/views/kanBan/index.vue

@@ -45,7 +45,7 @@
             </div>
             
             <div class="mainArea">
-                <div v-if="(isActive === 1 || isActive === 2) && userinfo.role == 1 && schList.length">
+                <div v-if="(isActive === 1 || isActive === 2) && schList.length">
                     <schoolArea :schId="schId" :schOrg="schOrg" :schList="schList" @cutSch="cutSch"/>
                 </div>
 
@@ -166,10 +166,12 @@ export default {
             this.$ajax
                 .post(API_CONFIG.baseUrl, params)
                 .then((res) => {
-                    let data = JSON.parse(res.data[0][0].json).admin.school.list
-                    console.log('res',data);
-
-                    this.schList = data
+                    console.log('res',res);
+                    if (res.data != 0) {
+                        let data = JSON.parse(res.data[0][0].json).admin.school.list
+                        this.schList = data
+                    }
+                    
                 })
                 .catch((err) => {
                     console.log(err);
@@ -203,7 +205,7 @@ export default {
         }
 
         // 查询组织pid
-        if (this.userinfo.org && !this.fromL.admin.school.list[0]) {
+        if (this.userinfo.org && !this.fromL.admin.school.list.length) {
             this.getSchoolList()
         }