|
@@ -1,368 +1,412 @@
|
|
|
<template>
|
|
|
- <div class="analysisItem" v-loading="loading">
|
|
|
- <div class="ai-header">
|
|
|
- <div class="ai-h-left" @click.stop="changeOpenItem(!openItem)">
|
|
|
- <span
|
|
|
- :class="['ai-h-l-icon', openItem ? 'ai-h-l-iconActive' : '']"
|
|
|
- ></span>
|
|
|
- <span class="ai-h-l-text">{{ data.jsonData.name }}</span>
|
|
|
- </div>
|
|
|
- <div class="ai-h-right">
|
|
|
- <!-- <span class="ai-h-r-icon1" @click.stop="backLeft()"></span> -->
|
|
|
- <!-- <span class="ai-h-r-icon2" @click.stop="backRight()"></span> -->
|
|
|
- <!-- <span class="ai-h-r-icon3" @click.stop="editBtn()"></span> -->
|
|
|
- <span v-if="!openItem" class="ai-h-r-icon4" @click.stop="delBtn()"></span>
|
|
|
- <span v-if="openItem" class="ai-h-r-icon1" @click.stop="backLeft()"></span>
|
|
|
- <span v-if="openItem" class="ai-h-r-icon2" @click.stop="backRight()"></span>
|
|
|
- <span v-if="openItem" class="ai-h-r-icon3" @click.stop="editBtn()"></span>
|
|
|
- <!-- <span class="ai-h-r-icon4" @click.stop="delBtn()"></span> -->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="ai-main" v-if="openItem" >
|
|
|
- <!-- <div class="a-m-title">
|
|
|
+ <div class="analysisItem">
|
|
|
+ <div class="ai-header">
|
|
|
+ <div class="ai-h-left" @click.stop="changeOpenItem(!openItem)">
|
|
|
+ <span
|
|
|
+ :class="['ai-h-l-icon', openItem ? 'ai-h-l-iconActive' : '']"
|
|
|
+ ></span>
|
|
|
+ <span class="ai-h-l-text">{{ data.jsonData.name }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="ai-h-right">
|
|
|
+ <!-- <span class="ai-h-r-icon1" @click.stop="backLeft()"></span> -->
|
|
|
+ <!-- <span class="ai-h-r-icon2" @click.stop="backRight()"></span> -->
|
|
|
+ <span
|
|
|
+ :class="loading ? 'text1' : 'text2'"
|
|
|
+ style="width: 100px"
|
|
|
+ v-if="loadNum == 1"
|
|
|
+ >{{ loading ? "优化中..." : "优化完成" }}
|
|
|
+ </span>
|
|
|
+ <span
|
|
|
+ v-if="loadNum != 1 && !openItem"
|
|
|
+ class="ai-h-r-icon4"
|
|
|
+ @click.stop="delBtn()"
|
|
|
+ ></span>
|
|
|
+ <span
|
|
|
+ v-if="loadNum != 1 && openItem"
|
|
|
+ class="ai-h-r-icon1"
|
|
|
+ @click.stop="backLeft()"
|
|
|
+ ></span>
|
|
|
+ <span
|
|
|
+ v-if="loadNum != 1 && openItem"
|
|
|
+ class="ai-h-r-icon2"
|
|
|
+ @click.stop="backRight()"
|
|
|
+ ></span>
|
|
|
+ <span
|
|
|
+ v-if="loadNum != 1 && openItem"
|
|
|
+ class="ai-h-r-icon3"
|
|
|
+ @click.stop="editBtn()"
|
|
|
+ ></span>
|
|
|
+ <!-- <span class="ai-h-r-icon4" @click.stop="delBtn()"></span> -->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="ai-main" v-if="openItem">
|
|
|
+ <!-- <div class="a-m-title">
|
|
|
<span></span>
|
|
|
<div>{{ data.title }}分析</div>
|
|
|
</div> -->
|
|
|
|
|
|
- <div class="a-m-brief">
|
|
|
- <mdView :text="data.jsonData.result"/>
|
|
|
- <!-- {{ data.jsonData.result }} -->
|
|
|
- </div>
|
|
|
- <div v-for="(item,index) in data.jsonData.dataFileList" :key="item.uid">
|
|
|
- <div v-if="imgTypeList.includes(checkFileType(item.url))">
|
|
|
- <img style="max-width: 100%;" :src="item.url" alt="" />
|
|
|
- </div>
|
|
|
- <div v-else-if="checkFileType(item.url)=='md'">
|
|
|
- <mdView :url="item.url"/>
|
|
|
- </div>
|
|
|
- <div v-else-if="checkFileType(item.url)=='json'">
|
|
|
- <pieChart :url="item.url"/>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="a-m-brief">
|
|
|
+ <mdView :text="data.jsonData.result" />
|
|
|
+ <!-- {{ data.jsonData.result }} -->
|
|
|
+ </div>
|
|
|
+ <div v-for="(item, index) in data.jsonData.dataFileList" :key="item.uid">
|
|
|
+ <div v-if="imgTypeList.includes(checkFileType(item.url))">
|
|
|
+ <img style="max-width: 100%;" :src="item.url" alt="" />
|
|
|
+ </div>
|
|
|
+ <div v-else-if="checkFileType(item.url) == 'md'">
|
|
|
+ <mdView :url="item.url" />
|
|
|
+ </div>
|
|
|
+ <div v-else-if="checkFileType(item.url) == 'json'">
|
|
|
+ <pieChart :url="item.url" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div v-for="(item,index) in data.jsonData.fileList" :key="item.uid">
|
|
|
- <div v-if="imgTypeList.includes(checkFileType(item.url))">
|
|
|
- <img style="max-width: 100%;" :src="item.url" alt="" />
|
|
|
- </div>
|
|
|
- <div v-else-if="checkFileType(item.url)=='md'">
|
|
|
- <mdView :url="item.url"/>
|
|
|
- </div>
|
|
|
- <div v-else-if="checkFileType(item.url)=='json'">
|
|
|
- <pieChart :url="item.url"/>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div v-for="(item, index) in data.jsonData.fileList" :key="item.uid">
|
|
|
+ <div v-if="imgTypeList.includes(checkFileType(item.url))">
|
|
|
+ <img style="max-width: 100%;" :src="item.url" alt="" />
|
|
|
+ </div>
|
|
|
+ <div v-else-if="checkFileType(item.url) == 'md'">
|
|
|
+ <mdView :url="item.url" />
|
|
|
+ </div>
|
|
|
+ <div v-else-if="checkFileType(item.url) == 'json'">
|
|
|
+ <pieChart :url="item.url" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import mdView from './mdView.vue';
|
|
|
-import pieChart from './pieChart.vue';
|
|
|
+import mdView from "./mdView.vue";
|
|
|
+import pieChart from "./pieChart.vue";
|
|
|
export default {
|
|
|
- emits:["delItem","editItem"],
|
|
|
- components:{
|
|
|
- mdView,
|
|
|
- pieChart
|
|
|
- },
|
|
|
- props: {
|
|
|
- data: {
|
|
|
- type: Object,
|
|
|
- default: () => {
|
|
|
- return {};
|
|
|
- },
|
|
|
- },
|
|
|
- index:{
|
|
|
- type:Number,
|
|
|
- default:0
|
|
|
- },
|
|
|
- tid:{
|
|
|
- type:String,
|
|
|
- require:true,
|
|
|
- },
|
|
|
- fileId:{
|
|
|
- type:String,
|
|
|
- require:true,
|
|
|
- }
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- openItem: false,
|
|
|
- loading:false,
|
|
|
- imgTypeList:[
|
|
|
- "png",
|
|
|
- "jpg",
|
|
|
- "jpeg",
|
|
|
- "bmp",
|
|
|
- "gif",
|
|
|
- "webp",
|
|
|
- "psd",
|
|
|
- "svg",
|
|
|
- "tiff",
|
|
|
- ]
|
|
|
- };
|
|
|
- },
|
|
|
- computed:{
|
|
|
- checkFileType(){
|
|
|
- return (url)=>{
|
|
|
- return url.split('.').pop();
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- changeOpenItem(newValue) {
|
|
|
- this.openItem = newValue;
|
|
|
- },
|
|
|
- backLeft() {
|
|
|
- this.$message.info("回退左");
|
|
|
- },
|
|
|
- backRight() {
|
|
|
- this.$message.info("回退右");
|
|
|
- },
|
|
|
- editBtn() {
|
|
|
- console.log("👇")
|
|
|
- this.loading = true;
|
|
|
- let assistant_id = {
|
|
|
- "课堂观察": { value: "8ab07d41-e143-11ee-aaca-12e77c4cb76b", type: 0 },
|
|
|
- "教学阶段九事件分析": {
|
|
|
- value: "5e0466b3-0075-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 0,
|
|
|
- },
|
|
|
- "OMO智慧课堂分析": {
|
|
|
- value: "4cc367c1-0076-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 0,
|
|
|
- },
|
|
|
- "布鲁姆问题分类": {
|
|
|
- value: "eac63117-00a7-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 0,
|
|
|
- },
|
|
|
- "麦卡锡问题分类": {
|
|
|
- value: "18545cf7-0125-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 0,
|
|
|
- },
|
|
|
- "学生回答统计": {
|
|
|
- value: "2c6ede88-0125-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 0,
|
|
|
- },
|
|
|
- "课堂活动类型": {
|
|
|
- value: "41d2d2d4-0125-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 1,
|
|
|
- },
|
|
|
- "素养目标分析": {
|
|
|
- value: "b13a98de-0125-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 1,
|
|
|
- },
|
|
|
- "科学教育目标分析": {
|
|
|
- value: "d6cd48ab-0125-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 1,
|
|
|
- },
|
|
|
- "5E课程改编": {
|
|
|
- value: "f757826e-0125-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 2,
|
|
|
- },
|
|
|
- "5EX课程改编": {
|
|
|
- value: "0b6b08b7-0126-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 2,
|
|
|
- },
|
|
|
- "UTOP课程观察":{
|
|
|
- value: "8e3a389b-014f-11ef-aaca-12e77c4cb76b",
|
|
|
- type: 3,
|
|
|
- },
|
|
|
- "RST模型":{
|
|
|
- value:"e649112e-0150-11ef-aaca-12e77c4cb76b",
|
|
|
- type:3,
|
|
|
- },
|
|
|
- "RTOP模型":{
|
|
|
- value:"68265b18-0151-11ef-aaca-12e77c4cb76b",
|
|
|
- type:3,
|
|
|
- },
|
|
|
- "课堂质量评价":{
|
|
|
- value:"25e53379-0152-11ef-aaca-12e77c4cb76b",
|
|
|
- type:3,
|
|
|
- },
|
|
|
- "SCOP课堂观察":{
|
|
|
- value:"d0c76d35-0152-11ef-aaca-12e77c4cb76b",
|
|
|
- type:3,
|
|
|
- },
|
|
|
- "RTOP课堂观察":{
|
|
|
- value:"2ace7ff6-0154-11ef-aaca-12e77c4cb76b",
|
|
|
- type:3
|
|
|
- }
|
|
|
- };
|
|
|
- let file_ids = {
|
|
|
- '03':["file-E8SvjCHbmhmjKczRWr11OuHx"],
|
|
|
- '04':["file-r5phg4I2oFqly4WpW7oOOTnA"],
|
|
|
- }
|
|
|
- let parm = {
|
|
|
- assistant_id:assistant_id[this.data.jsonData.name]?assistant_id[this.data.jsonData.name].value:null,
|
|
|
- message: "请使用代码解析器获取文件,帮我根据要求完整的分析,输出请按照要求。",
|
|
|
- session_name: new Date().getTime(),
|
|
|
- userId:"1cf9dc4b-d95f-11ea-af4c-52540005ab01",
|
|
|
- file_ids:this.fileId?[this.fileId]:file_ids[this.tid],
|
|
|
- }
|
|
|
+ emits: ["delItem", "editItem"],
|
|
|
+ components: {
|
|
|
+ mdView,
|
|
|
+ pieChart
|
|
|
+ },
|
|
|
+ props: {
|
|
|
+ data: {
|
|
|
+ type: Object,
|
|
|
+ default: () => {
|
|
|
+ return {};
|
|
|
+ }
|
|
|
+ },
|
|
|
+ index: {
|
|
|
+ type: Number,
|
|
|
+ default: 0
|
|
|
+ },
|
|
|
+ tid: {
|
|
|
+ type: String,
|
|
|
+ require: true
|
|
|
+ },
|
|
|
+ fileId: {
|
|
|
+ type: String,
|
|
|
+ require: true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ openItem: false,
|
|
|
+ loading: false,
|
|
|
+ loadNum: 0,
|
|
|
+ text1: "text1",
|
|
|
+ text2: "text2",
|
|
|
+ imgTypeList: [
|
|
|
+ "png",
|
|
|
+ "jpg",
|
|
|
+ "jpeg",
|
|
|
+ "bmp",
|
|
|
+ "gif",
|
|
|
+ "webp",
|
|
|
+ "psd",
|
|
|
+ "svg",
|
|
|
+ "tiff"
|
|
|
+ ]
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ checkFileType() {
|
|
|
+ return url => {
|
|
|
+ return url.split(".").pop();
|
|
|
+ };
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ changeOpenItem(newValue) {
|
|
|
+ if (this.loading == true && this.loadNum != 0)
|
|
|
+ return this.$message("请稍后...");
|
|
|
+ this.loadNum = 0;
|
|
|
+ this.openItem = newValue;
|
|
|
+ },
|
|
|
+ backLeft() {
|
|
|
+ this.$message.info("回退左");
|
|
|
+ },
|
|
|
+ backRight() {
|
|
|
+ this.$message.info("回退右");
|
|
|
+ },
|
|
|
+ editBtn() {
|
|
|
+ console.log("👇");
|
|
|
+ this.loading = true;
|
|
|
+ this.openItem = false;
|
|
|
+ this.loadNum = 1;
|
|
|
+ let assistant_id = {
|
|
|
+ 课堂观察: { value: "8ab07d41-e143-11ee-aaca-12e77c4cb76b", type: 0 },
|
|
|
+ 教学阶段九事件分析: {
|
|
|
+ value: "5e0466b3-0075-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 0
|
|
|
+ },
|
|
|
+ OMO智慧课堂分析: {
|
|
|
+ value: "4cc367c1-0076-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 0
|
|
|
+ },
|
|
|
+ 布鲁姆问题分类: {
|
|
|
+ value: "eac63117-00a7-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 0
|
|
|
+ },
|
|
|
+ 麦卡锡问题分类: {
|
|
|
+ value: "18545cf7-0125-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 0
|
|
|
+ },
|
|
|
+ 学生回答统计: {
|
|
|
+ value: "2c6ede88-0125-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 0
|
|
|
+ },
|
|
|
+ 课堂活动类型: {
|
|
|
+ value: "41d2d2d4-0125-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 1
|
|
|
+ },
|
|
|
+ 素养目标分析: {
|
|
|
+ value: "b13a98de-0125-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 1
|
|
|
+ },
|
|
|
+ 科学教育目标分析: {
|
|
|
+ value: "d6cd48ab-0125-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 1
|
|
|
+ },
|
|
|
+ "5E课程改编": {
|
|
|
+ value: "f757826e-0125-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 2
|
|
|
+ },
|
|
|
+ "5EX课程改编": {
|
|
|
+ value: "0b6b08b7-0126-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 2
|
|
|
+ },
|
|
|
+ UTOP课程观察: {
|
|
|
+ value: "8e3a389b-014f-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 3
|
|
|
+ },
|
|
|
+ RST模型: {
|
|
|
+ value: "e649112e-0150-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 3
|
|
|
+ },
|
|
|
+ RTOP模型: {
|
|
|
+ value: "68265b18-0151-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 3
|
|
|
+ },
|
|
|
+ 课堂质量评价: {
|
|
|
+ value: "25e53379-0152-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 3
|
|
|
+ },
|
|
|
+ SCOP课堂观察: {
|
|
|
+ value: "d0c76d35-0152-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 3
|
|
|
+ },
|
|
|
+ RTOP课堂观察: {
|
|
|
+ value: "2ace7ff6-0154-11ef-aaca-12e77c4cb76b",
|
|
|
+ type: 3
|
|
|
+ }
|
|
|
+ };
|
|
|
+ let file_ids = {
|
|
|
+ "03": ["file-E8SvjCHbmhmjKczRWr11OuHx"],
|
|
|
+ "04": ["file-r5phg4I2oFqly4WpW7oOOTnA"]
|
|
|
+ };
|
|
|
+ let parm = {
|
|
|
+ assistant_id: assistant_id[this.data.jsonData.name]
|
|
|
+ ? assistant_id[this.data.jsonData.name].value
|
|
|
+ : null,
|
|
|
+ message:
|
|
|
+ "请使用代码解析器获取文件,帮我根据要求完整的分析,输出请按照要求。",
|
|
|
+ session_name: new Date().getTime(),
|
|
|
+ userId: "1cf9dc4b-d95f-11ea-af4c-52540005ab01",
|
|
|
+ file_ids: this.fileId ? [this.fileId] : file_ids[this.tid]
|
|
|
+ };
|
|
|
|
|
|
- if(!parm.assistant_id){
|
|
|
- this.loading = false;
|
|
|
- return this.$message.error("未找到对应的AI助手")
|
|
|
- }
|
|
|
+ if (!parm.assistant_id) {
|
|
|
+ this.loading = false;
|
|
|
+ return this.$message.error("未找到对应的AI助手");
|
|
|
+ }
|
|
|
|
|
|
- this.ajax.post("https://gpt4.cocorobo.cn/ai_agent_park_chat",parm).then(res=>{
|
|
|
- console.log("👇👇")
|
|
|
- let _data = res.data.FunctionResponse;
|
|
|
- if(!_data.message || _data.message.indexOf('由于我无法直接访问您上传的文件内容')>-1){
|
|
|
- this.loading = false;
|
|
|
- return this.$message.error("AI无法识别优化")
|
|
|
- }
|
|
|
- let _copyData = JSON.parse(JSON.stringify(this.data))
|
|
|
- _copyData.jsonData.result = _data.message;
|
|
|
- _copyData.jsonData.dataFileList = [];
|
|
|
- _copyData.jsonData.fileList = [];
|
|
|
- _copyData.json_data = JSON.stringify(_copyData.jsonData)
|
|
|
- this.$emit("editItem",this.data.id,_copyData);
|
|
|
- let pram2 = {
|
|
|
- id: _copyData.id,
|
|
|
- json_data: _copyData.json_data,
|
|
|
- };
|
|
|
- this.ajax
|
|
|
- .post(
|
|
|
- "https://gpt4.cocorobo.cn/update_classroom_observation",
|
|
|
- pram2
|
|
|
- )
|
|
|
- this.loading = false;
|
|
|
- }).catch(err=>{
|
|
|
- this.$message.error("AI无法识别优化")
|
|
|
- this.loading = false;
|
|
|
- })
|
|
|
- // this.$emit
|
|
|
- // setTimeout(()=>{
|
|
|
- // this.loading = false;
|
|
|
- // this.$emit("editItem", this.data);
|
|
|
- // },1000)
|
|
|
- },
|
|
|
- delBtn() {
|
|
|
- this.$confirm("确定删除?", "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "error",
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- this.$emit("delItem", this.data.id)
|
|
|
- })
|
|
|
- },
|
|
|
- },
|
|
|
+ this.ajax
|
|
|
+ .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", parm)
|
|
|
+ .then(res => {
|
|
|
+ console.log("👇👇");
|
|
|
+ let _data = res.data.FunctionResponse;
|
|
|
+ if (
|
|
|
+ !_data.message ||
|
|
|
+ _data.message.indexOf("由于我无法直接访问您上传的文件内容") > -1
|
|
|
+ ) {
|
|
|
+ this.loading = false;
|
|
|
+ return this.$message.error("AI无法识别优化");
|
|
|
+ }
|
|
|
+ let _copyData = JSON.parse(JSON.stringify(this.data));
|
|
|
+ _copyData.jsonData.result = _data.message;
|
|
|
+ _copyData.jsonData.dataFileList = [];
|
|
|
+ _copyData.jsonData.fileList = [];
|
|
|
+ _copyData.json_data = JSON.stringify(_copyData.jsonData);
|
|
|
+ this.$emit("editItem", this.data.id, _copyData);
|
|
|
+ let pram2 = {
|
|
|
+ id: _copyData.id,
|
|
|
+ json_data: _copyData.json_data,
|
|
|
+ };
|
|
|
+ this.ajax
|
|
|
+ .post(
|
|
|
+ "https://gpt4.cocorobo.cn/update_classroom_observation",
|
|
|
+ pram2
|
|
|
+ )
|
|
|
+ this.loading = false;
|
|
|
+ this.loadNum = 0;
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ this.$message.error("AI无法识别优化");
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ // this.$emit
|
|
|
+ // setTimeout(()=>{
|
|
|
+ // this.loading = false;
|
|
|
+ // this.$emit("editItem", this.data);
|
|
|
+ // },1000)
|
|
|
+ },
|
|
|
+ delBtn() {
|
|
|
+ this.$confirm("确定删除?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "error"
|
|
|
+ }).then(() => {
|
|
|
+ this.$emit("delItem", this.data.id);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
.analysisItem {
|
|
|
- width: 100%;
|
|
|
- height: auto;
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
|
|
|
- margin: 11.7px 0px;
|
|
|
+ margin: 11.7px 0px;
|
|
|
|
|
|
- padding-right: 10px;
|
|
|
- box-sizing: border-box;
|
|
|
+ padding-right: 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+.text1 {
|
|
|
+ color: rgba(54, 129, 252, 1);
|
|
|
+}
|
|
|
+.text2 {
|
|
|
+ color: rgba(23, 196, 105, 1);
|
|
|
}
|
|
|
.ai-header {
|
|
|
- width: 100%;
|
|
|
- height: 50px;
|
|
|
- display: flex;
|
|
|
- background-color: white;
|
|
|
- border-radius: 5px;
|
|
|
+ width: 100%;
|
|
|
+ height: 50px;
|
|
|
+ display: flex;
|
|
|
+ background-color: white;
|
|
|
+ border-radius: 5px;
|
|
|
}
|
|
|
.ai-h-left {
|
|
|
- flex: 1;
|
|
|
- height: 100%;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- box-sizing: border-box;
|
|
|
- padding: 0 10px;
|
|
|
- cursor: pointer;
|
|
|
+ flex: 1;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ box-sizing: border-box;
|
|
|
+ padding: 0 10px;
|
|
|
+ cursor: pointer;
|
|
|
}
|
|
|
|
|
|
.ai-h-l-icon {
|
|
|
- width: 16px;
|
|
|
- height: 16px;
|
|
|
- background: url("../../../../assets/icon/classroomObservation/right.png")
|
|
|
- no-repeat;
|
|
|
- background-size: 100% 100%;
|
|
|
- margin-right: 10px;
|
|
|
- transition: 0.3s;
|
|
|
+ width: 16px;
|
|
|
+ height: 16px;
|
|
|
+ background: url("../../../../assets/icon/classroomObservation/right.png")
|
|
|
+ no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ margin-right: 10px;
|
|
|
+ transition: 0.3s;
|
|
|
}
|
|
|
|
|
|
.ai-h-l-iconActive {
|
|
|
- transform: rotate(90deg);
|
|
|
+ transform: rotate(90deg);
|
|
|
}
|
|
|
.ai-h-l-text {
|
|
|
- font-size: 18px;
|
|
|
+ font-size: 18px;
|
|
|
}
|
|
|
|
|
|
.ai-h-right {
|
|
|
- width: auto;
|
|
|
- height: 100%;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-around;
|
|
|
- position: relative;
|
|
|
+ width: auto;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-around;
|
|
|
+ position: relative;
|
|
|
}
|
|
|
|
|
|
.ai-h-right > span {
|
|
|
- width: 18px;
|
|
|
- height: 18px;
|
|
|
- background-size: 100% 100%;
|
|
|
- margin: 0 10px;
|
|
|
- cursor: pointer;
|
|
|
+ width: 18px;
|
|
|
+ height: 18px;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ margin: 0 10px;
|
|
|
+ cursor: pointer;
|
|
|
}
|
|
|
|
|
|
.ai-h-r-icon1 {
|
|
|
- background: url("../../../../assets/icon/classroomObservation/back.png");
|
|
|
- /* 镜像 */
|
|
|
- transform: scaleX(-1);
|
|
|
+ background: url("../../../../assets/icon/classroomObservation/back.png");
|
|
|
+ /* 镜像 */
|
|
|
+ transform: scaleX(-1);
|
|
|
}
|
|
|
|
|
|
.ai-h-r-icon2 {
|
|
|
- background: url("../../../../assets/icon/classroomObservation/back.png");
|
|
|
+ background: url("../../../../assets/icon/classroomObservation/back.png");
|
|
|
}
|
|
|
|
|
|
.ai-h-r-icon3 {
|
|
|
- background: url("../../../../assets/icon/classroomObservation/edit.png");
|
|
|
- /* background: url("../../../../assets/icon/classroomObservation/del.png"); */
|
|
|
- /* display: none; */
|
|
|
+ background: url("../../../../assets/icon/classroomObservation/edit.png");
|
|
|
+ /* background: url("../../../../assets/icon/classroomObservation/del.png"); */
|
|
|
+ /* display: none; */
|
|
|
}
|
|
|
|
|
|
.ai-header:hover .ai-h-r-icon4 {
|
|
|
- display: block;
|
|
|
+ display: block;
|
|
|
}
|
|
|
|
|
|
.ai-h-r-icon4 {
|
|
|
- background: url("../../../../assets/icon/classroomObservation/del.png");
|
|
|
- /* position: absolute; */
|
|
|
- /* right: -40px; */
|
|
|
- display: none;
|
|
|
+ background: url("../../../../assets/icon/classroomObservation/del.png");
|
|
|
+ /* position: absolute; */
|
|
|
+ /* right: -40px; */
|
|
|
+ display: none;
|
|
|
}
|
|
|
|
|
|
.analysisItem:hover .ai-h-r-icon4 {
|
|
|
- display: block;
|
|
|
+ display: block;
|
|
|
}
|
|
|
|
|
|
.ai-main {
|
|
|
- width: 100%;
|
|
|
- height: auto;
|
|
|
- background-color: white;
|
|
|
- border-radius: 0 0 5px 5px;
|
|
|
- overflow: auto;
|
|
|
- box-sizing: border-box;
|
|
|
- padding: 10px 20px;
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ background-color: white;
|
|
|
+ border-radius: 0 0 5px 5px;
|
|
|
+ overflow: auto;
|
|
|
+ box-sizing: border-box;
|
|
|
+ padding: 10px 20px;
|
|
|
}
|
|
|
|
|
|
.a-m-brief {
|
|
|
- font-size: 16px;
|
|
|
- /* 斜体 */
|
|
|
- /* font-style: italic; */
|
|
|
- margin-bottom: 10px;
|
|
|
+ font-size: 16px;
|
|
|
+ /* 斜体 */
|
|
|
+ /* font-style: italic; */
|
|
|
+ margin-bottom: 10px;
|
|
|
}
|
|
|
|
|
|
td,
|
|
|
th {
|
|
|
- padding: 10px;
|
|
|
+ padding: 10px;
|
|
|
}
|
|
|
</style>
|