SanHQin 6 månader sedan
förälder
incheckning
f956a698d1

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.8d1a265b7b26c73c684d629972c8da7b.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.161e82026ac2ae03ab6f.js></script><script type=text/javascript src=./static/js/vendor.de15001ce66f032e9274.js></script><script type=text/javascript src=./static/js/app.69706854e7a3fd34c07d.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.39f3cde26942a7b6fdd9d0867b570074.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.161e82026ac2ae03ab6f.js></script><script type=text/javascript src=./static/js/vendor.de15001ce66f032e9274.js></script><script type=text/javascript src=./static/js/app.326c5e74b1744504f8ce.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/static/css/app.39f3cde26942a7b6fdd9d0867b570074.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/static/css/app.39f3cde26942a7b6fdd9d0867b570074.css.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/static/js/app.326c5e74b1744504f8ce.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/static/js/app.326c5e74b1744504f8ce.js.map


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
dist/static/js/manifest.161e82026ac2ae03ab6f.js.map


+ 1 - 0
src/assets/icon/appStore/arrow.svg

@@ -0,0 +1 @@
+<svg t="1736317821638" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4274" width="200" height="200"><path d="M512 693.333333c-14.933333 0-29.866667-4.266667-40.533333-14.933333l-277.33333399-234.666667c-27.733333-23.466667-29.866667-64-8.53333301-89.6 23.466667-27.733333 64-29.866667 89.6-8.53333299L512 546.133333l236.8-200.53333299c27.733333-23.466667 68.266667-19.19999999 89.6 8.53333299 23.466667 27.733333 19.19999999 68.266667-8.53333301 89.6l-277.33333399 234.666667c-10.666667 10.666667-25.6 14.933333-40.533333 14.933333z" fill="#A2A2A2" p-id="4275"></path></svg>

+ 26 - 7
src/components/pages/appStore/dialog/selectAppDialog.vue

@@ -22,13 +22,13 @@
               style="margin-right: 10px;"
               placeholder="请输入应用名称"
               @keyup.enter.native="getData"
-              clearable
-            />
-            <el-button
-              type="primary"
-              icon="el-icon-search"
-              @click="getData"
-            ></el-button>
+            >
+            <i
+                slot="suffix"
+                class="searchInputIcon el-icon-search"
+                @click="getData"
+              ></i>
+          </el-input>
         </div>
 
         <div class="b_list">
@@ -262,6 +262,10 @@ export default {
   color: #0354D7;
 }
 
+.b_l_item:hover .b_l_i_message>span{
+  color: #000000B8;
+}
+
 .b_l_i_icon{
   width: 80px;
   height: 80px;
@@ -274,11 +278,15 @@ export default {
 .b_l_i_icon>img{
   width: 100%;
   height: 100%;
+  border: 1px solid #E7E7E7;
+  border-radius: 4px;
 }
 
 .b_l_i_icon>svg{
   width: 100%;
   height: 100%;
+  border: 1px solid #E7E7E7;
+  border-radius: 4px;
 }
 
 .b_l_i_message{
@@ -304,4 +312,15 @@ export default {
   overflow: hidden;
   text-overflow: ellipsis;
 }
+
+.searchInputIcon {
+  width: 20px;
+  height: 20px;
+  position: relative;
+  top: 10px;
+  right: 5px;
+  font-size: 19px;
+  cursor: pointer;
+  color: #666666;
+}
 </style>

+ 311 - 21
src/components/pages/appStore/views/appManagement.vue

@@ -2,7 +2,7 @@
   <div class="appManagement">
     <div class="ac_left">
       <div class="find">
-        <img src="../../../../assets/icon/appStore/find_icon.svg">
+        <img src="../../../../assets/icon/appStore/find_icon.svg" />
         <span>发现</span>
       </div>
       <saveCard
@@ -12,7 +12,13 @@
         :type="1"
         @saveClick="openApp"
       />
-      <saveCard title="收藏"   :icon="require('../../../../assets/icon/appStore/collect_icon.svg')":data="collect" :type="0" @saveClick="openApp" />
+      <saveCard
+        title="收藏"
+        :icon="require('../../../../assets/icon/appStore/collect_icon.svg')"
+        :data="collect"
+        :type="0"
+        @saveClick="openApp"
+      />
     </div>
     <div class="ac_right">
       <div class="ac_header">
@@ -116,7 +122,6 @@
               style="width: 250px;margin-right: 10px;"
               placeholder="请输入应用名称"
               @keyup.enter.native="getData"
-
             >
               <i
                 slot="suffix"
@@ -136,7 +141,12 @@
       </div>
 
       <div class="ac_content">
-        <div class="ac_c_item" v-for="(item, index) in dataList" :key="item.id">
+        <div
+          class="ac_c_item"
+          v-if="showType !== '' && !getDataLoading"
+          v-for="(item, index) in dataList"
+          :key="item.id"
+        >
           <div class="ac_c_i_top" @click="openApp(item)">
             <div class="ac_c_i_t_left">
               <img v-if="item.json.icon" :src="item.json.icon" />
@@ -331,6 +341,230 @@
             </div>
           </div>
         </div>
+
+        <div class="ac_c_typeCard" v-if="showType == ''">
+          <div class="ac_c_tc_item" v-for="(item2, index) in typeList">
+            <div class="ac_c_tc_i_top">
+              <div>{{ item2.name }}</div>
+
+              <span @click="item2.open = !item2.open"
+                >查看更多
+                <img
+                  :style="`transform: rotate(${item2.open ? '0' : '90'}deg);`"
+                  src="../../../../assets/icon/appStore/arrow.svg"
+                />
+              </span>
+            </div>
+            <div class="ac_c_tc_i_bottom" v-show="item2.open">
+              <div
+                class="ac_c_item"
+                v-if="item.type === item2.id"
+                v-for="(item, index) in dataList"
+                :key="item.id"
+              >
+                <div class="ac_c_i_top" @click="openApp(item)">
+                  <div class="ac_c_i_t_left">
+                    <img v-if="item.json.icon" :src="item.json.icon" />
+                    <svg
+                      v-else
+                      t="1732605901531"
+                      class="icon"
+                      viewBox="0 0 1024 1024"
+                      version="1.1"
+                      xmlns="http://www.w3.org/2000/svg"
+                      p-id="4275"
+                      width="200"
+                      height="200"
+                    >
+                      <path
+                        d="M179.2 153.6a51.2 51.2 0 0 0-51.2 51.2v128a51.2 51.2 0 0 0 51.2 51.2h128a51.2 51.2 0 0 0 51.2-51.2V204.8a51.2 51.2 0 0 0-51.2-51.2H179.2z m0-102.4h128a153.6 153.6 0 0 1 153.6 153.6v128a153.6 153.6 0 0 1-153.6 153.6H179.2a153.6 153.6 0 0 1-153.6-153.6V204.8a153.6 153.6 0 0 1 153.6-153.6z m0 614.4a51.2 51.2 0 0 0-51.2 51.2v128a51.2 51.2 0 0 0 51.2 51.2h128a51.2 51.2 0 0 0 51.2-51.2V716.8a51.2 51.2 0 0 0-51.2-51.2H179.2z m0-102.4h128a153.6 153.6 0 0 1 153.6 153.6v128a153.6 153.6 0 0 1-153.6 153.6H179.2a153.6 153.6 0 0 1-153.6-153.6V716.8a153.6 153.6 0 0 1 153.6-153.6z m611.84-403.4048a51.2 51.2 0 0 0-72.3968 0L646.144 232.2432a51.2 51.2 0 0 0 0 72.3968l72.448 72.3968a51.2 51.2 0 0 0 72.3968 0l72.3968-72.3968a51.2 51.2 0 0 0 0-72.3968L791.04 159.744z m72.3968-72.3968l72.3968 72.3968a153.6 153.6 0 0 1 0 217.2416l-72.3968 72.3968a153.6 153.6 0 0 1-217.2416 0l-72.3968-72.3968a153.6 153.6 0 0 1 0-217.2416l72.3968-72.3968a153.6 153.6 0 0 1 217.2416 0zM699.7504 896a51.2 51.2 0 0 1 0 102.4A162.1504 162.1504 0 0 1 537.6 836.2496v-110.8992A162.1504 162.1504 0 0 1 699.7504 563.2h110.8992a162.1504 162.1504 0 0 1 162.1504 162.1504v8.448a51.2 51.2 0 0 1-102.4 0v-8.448c0-33.024-26.7264-59.7504-59.7504-59.7504h-110.8992c-33.024 0-59.7504 26.7264-59.7504 59.7504v110.8992c0 33.024 26.7264 59.7504 59.7504 59.7504z"
+                        fill="#2C6DD2"
+                        p-id="4276"
+                      ></path>
+                      <path
+                        d="M791.4496 160a51.2 51.2 0 0 0-72.3968 0l-72.448 72.3968a51.2 51.2 0 0 0 0 72.3968l72.448 72.3968a51.2 51.2 0 0 0 72.3968 0l72.3968-72.3968a51.2 51.2 0 0 0 0-72.3968l-72.3968-72.3968z"
+                        fill="#20C997"
+                        p-id="4277"
+                      ></path>
+                    </svg>
+                  </div>
+                  <div class="ac_c_i_t_right">
+                    <div class="ac_c_i_t_r_top">
+                      <el-tooltip
+                        class="item"
+                        effect="light"
+                        :content="item.name"
+                        placement="top"
+                      >
+                        <span>{{ item.name }}</span>
+                      </el-tooltip>
+
+                      <div class="ac_c_i_t_popover" v-if="showMenu(item)">
+                        <div
+                          class="ac_c_i_t_p_box"
+                          v-if="editAppCard === item.id"
+                          v-click-outside="handleBlur"
+                        >
+                          <div
+                            @click.stop="copyApp(item)"
+                            v-if="item.json && item.json.copy === '1'"
+                          >
+                            <img
+                              src="../../../../assets/icon/appStore/copy.svg"
+                              alt=""
+                            />
+                            <span>复制</span>
+                          </div>
+                          <div
+                            @click.stop="updateApp(item)"
+                            v-if="item.userid === userId"
+                          >
+                            <img
+                              src="../../../../assets/icon/appStore/edit.svg"
+                              alt=""
+                            />
+                            <span>修改</span>
+                          </div>
+                          <div
+                            @click.stop="delApp(item)"
+                            v-if="item.userid === userId"
+                          >
+                            <img
+                              src="../../../../assets/icon/appStore/del.svg"
+                              alt=""
+                            />
+                            <span>删除</span>
+                          </div>
+                        </div>
+                        <svg
+                          t="1732786015570"
+                          @click.stop="updateCard(item.id)"
+                          :style="
+                            `transform: rotate(${
+                              editAppCard === item.id ? '0deg' : '90deg'
+                            });background-color:${
+                              editAppCard === item.id ? '#F3F7FD' : '#fff'
+                            }`
+                          "
+                          class="icon"
+                          viewBox="0 0 1024 1024"
+                          version="1.1"
+                          xmlns="http://www.w3.org/2000/svg"
+                          p-id="9199"
+                          width="200"
+                          height="200"
+                        >
+                          <path
+                            d="M192 443.733333c-38.4 0-68.266667 29.866667-68.266667 68.266667 0 38.4 29.866667 68.266667 68.266667 68.266667s68.266667-29.866667 68.266667-68.266667c0-38.4-29.866667-68.266667-68.266667-68.266667zM512 443.733333c-38.4 0-68.266667 29.866667-68.266667 68.266667 0 38.4 29.866667 68.266667 68.266667 68.266667s68.266667-29.866667 68.266667-68.266667c0-38.4-29.866667-68.266667-68.266667-68.266667zM832 443.733333c-38.4 0-68.266667 29.866667-68.266667 68.266667 0 38.4 29.866667 68.266667 68.266667 68.266667s68.266667-29.866667 68.266667-68.266667c0-38.4-34.133333-68.266667-68.266667-68.266667z"
+                            fill="#111111"
+                            p-id="9200"
+                          ></path>
+                        </svg>
+                      </div>
+                    </div>
+                    <div class="ac_c_i_t_r_center">
+                      <span>@{{ item.username }}</span>
+                      <div v-if="item.label === 'workflow'">
+                        <img
+                          src="../../../../assets/icon/appStore/workflow.svg"
+                          alt=""
+                        />
+                        工作流
+                      </div>
+                      <div v-if="item.label === 'agent'">
+                        <img
+                          src="../../../../assets/icon/appStore/agent.svg"
+                          alt=""
+                        />
+                        智能体
+                      </div>
+                    </div>
+                    <div class="ac_c_i_t_r_bottom">
+                      {{ item.detail }}
+                    </div>
+                  </div>
+                </div>
+                <div class="ac_c_i_bottom">
+                  <div class="ac_c_i_b_left">
+                    <el-tooltip
+                      class="item"
+                      effect="light"
+                      content="被复制数"
+                      placement="top"
+                    >
+                      <div>
+                        <img
+                          src="../../../../assets/icon/appStore/user_copy.svg"
+                        />
+                        <span>{{ item.copyCount }}</span>
+                      </div>
+                    </el-tooltip>
+                    <el-tooltip
+                      class="item"
+                      effect="light"
+                      :content="item.likeId ? '取消点赞' : '点赞'"
+                      placement="top"
+                    >
+                      <div>
+                        <img
+                          :src="
+                            require('../../../../assets/icon/appStore/praise_default.svg')
+                          "
+                          v-if="!item.likeId"
+                          style="cursor: pointer;"
+                          @click="praiseFn(item, 0)"
+                        />
+                        <img
+                          :src="
+                            require('../../../../assets/icon/appStore/praise_active.svg')
+                          "
+                          v-else
+                          style="cursor: pointer;"
+                          @click="praiseFn(item, 1)"
+                        />
+                        <span>{{ item.likeCount }}</span>
+                      </div>
+                    </el-tooltip>
+                    <el-tooltip
+                      class="item"
+                      effect="light"
+                      :content="item.collectId ? '取消收藏' : '收藏'"
+                      placement="top"
+                    >
+                      <div>
+                        <img
+                          src="../../../../assets/icon/appStore/collect_default.svg"
+                          v-if="!item.collectId"
+                          style="cursor: pointer;"
+                          @click="collectFn(item, 0)"
+                        />
+                        <img
+                          src="../../../../assets/icon/appStore/collect_active.svg"
+                          v-else
+                          style="cursor: pointer;"
+                          @click="collectFn(item, 1)"
+                        />
+                        <span>{{ item.collectCount }}</span>
+                      </div>
+                    </el-tooltip>
+                  </div>
+                  <div class="ac_c_i_b_right" v-if="item.json.status">
+                    <span
+                      class="ac_c_i_b_r_type2"
+                      v-if="item.json.status === '1'"
+                      >测试</span
+                    >
+                    <span
+                      class="ac_c_i_b_r_type1"
+                      v-if="item.json.status === '2'"
+                      >稳定</span
+                    >
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
         <!-- <div
           class="ac_c_item"
           v-for="(item, index) in dataList"
@@ -743,7 +977,7 @@ export default {
         this.ajax
           .post(this.$store.state.api + "insert_appStore", params)
           .then(res => {
-            if (res.data == 1) {
+            if (res.data[0][0]["id"]) {
               this.$message.success("添加成功");
               this.$refs.addAppDialogRef.close(true);
               this.getData();
@@ -835,6 +1069,11 @@ export default {
         .then(res => {
           let data = res.data[0];
           if (data.length > 0) {
+            data.forEach(i => {
+              if (i.open == undefined) {
+                i.open = true;
+              }
+            });
             this.typeList = data;
           }
         })
@@ -1142,25 +1381,25 @@ export default {
   overflow: auto;
 }
 
-.ac_left>.find{
+.ac_left > .find {
   width: 100%;
   height: 45px;
   background-color: #fff;
-  border-radius:10px ;
-  border: 1px solid #F3F7FD;
+  border-radius: 10px;
+  border: 1px solid #f3f7fd;
   box-sizing: border-box;
   padding: 0 20px;
   display: flex;
   align-items: center;
   /* box-shadow: 2px 2px 4px 0px #1D39830A; */
-  box-shadow: 0px 0px 4px 2px #1D39830A;
+  box-shadow: 0px 0px 4px 2px #1d39830a;
   margin-bottom: 10px;
   font-weight: bold;
   font-size: 16px;
-  color: #000000E5;
+  color: #000000e5;
 }
 
-.ac_left>.find>img{
+.ac_left > .find > img {
   width: 22px;
   height: 22px;
   margin-right: 10px;
@@ -1308,6 +1547,11 @@ export default {
   padding-bottom: 10px;
 }
 
+.ac_c_typeCard {
+  width: 100%;
+  height: auto;
+}
+
 .ac_c_item {
   width: calc(100% / 4 - (15px * 4) / 4);
   height: 250px;
@@ -1395,28 +1639,35 @@ export default {
 .ac_c_i_t_left {
   width: 100px;
   min-width: 100px;
-  height: 100%;
+  height: 100px;
   box-sizing: border-box;
   display: flex;
   align-items: flex-start;
   box-sizing: border-box;
   padding: 10px;
+  margin-right: 10px;
 }
 
 .ac_c_i_t_left > svg {
   width: 100%;
   height: auto;
+  border: 1px solid #e7e7e7;
+  border-radius: 4px;
+  box-sizing: border-box;
 }
 
 .ac_c_i_t_left > img {
   width: 100%;
   object-fit: cover;
   height: 80px;
+  border: 1px solid #e7e7e7;
+  border-radius: 4px;
+  box-sizing: border-box;
 }
 
 .ac_c_i_t_right {
   flex: 1;
-  width: calc(100% - 100px);
+  width: calc(100% - 100px - 10px);
   height: 100%;
   display: flex;
   flex-direction: column;
@@ -1432,7 +1683,6 @@ export default {
   align-items: flex-end;
   justify-content: space-between;
   position: relative;
-  font-size: 1.3em;
   font-weight: bold;
   box-sizing: border-box;
   padding-bottom: 2px;
@@ -1444,6 +1694,7 @@ export default {
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
+  font-size: 24px;
 }
 
 .ac_c_i_t_popover {
@@ -1509,6 +1760,7 @@ export default {
   display: flex;
   justify-content: space-between;
   align-items: center;
+  margin: 5px 0;
 }
 
 .ac_c_i_t_r_center > span {
@@ -1516,6 +1768,7 @@ export default {
   max-width: calc(100% - 80px);
   white-space: nowrap;
   overflow: hidden;
+  font-size: 20px;
   color: #00000066;
   text-overflow: ellipsis;
 }
@@ -1526,7 +1779,7 @@ export default {
   display: flex;
   align-items: center;
   justify-content: center;
-  font-size: 0.8em;
+  font-size: 16px;
   background-color: #f3f3f3;
   color: #00000066;
   border-radius: 3px;
@@ -1540,21 +1793,21 @@ export default {
 
 .ac_c_i_t_r_bottom {
   max-width: 100%;
-  max-height: calc(100% - 30px - 40px - 20px);
-  margin-top: 10px;
+  max-height: calc(100% - 30px - 40px - 20px - 10px + 5px);
+  margin-top: 5px;
   margin-bottom: 10px;
+  font-size: 18px;
   color: #00000099;
   display: -webkit-box;
   -webkit-box-orient: vertical;
-  -webkit-line-clamp: 5;
+  -webkit-line-clamp: 4;
   overflow: hidden;
   text-overflow: ellipsis;
 }
 
 .ac_c_i_bottom {
   width: 100%;
-  height: 40px;
-  padding-top: 10px;
+  height: 50px;
   box-sizing: border-box;
   border-top: solid 2px #e7e7e7;
   display: flex;
@@ -1592,7 +1845,7 @@ export default {
   display: flex;
   align-items: center;
   width: 70px;
-  height: 100%;
+  height: 70%;
   justify-content: flex-end;
 }
 
@@ -1625,6 +1878,43 @@ export default {
   cursor: pointer;
 }
 
+.ac_c_tc_item {
+  width: 100%;
+  height: auto;
+}
+
+.ac_c_tc_i_top {
+  width: 100%;
+  height: 40px;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  margin-bottom: 20px;
+  box-sizing: border-box;
+  padding: 0 20px;
+  /* background-color: red; */
+}
+
+.ac_c_tc_i_top > div {
+  font-size: 20px;
+}
+
+.ac_c_tc_i_top > span {
+  display: flex;
+  align-items: center;
+  color: #a2a2a2;
+  font-size: 16px;
+  cursor: pointer;
+}
+
+.ac_c_tc_i_top > span > img {
+  width: 18px;
+  height: 18px;
+  margin-left: 5px;
+  transform: rotate(90deg);
+  transition: 0.3s;
+}
+
 /* .ac_c_i_top {
   width: 100%;
   height: 50px;

+ 10 - 8
src/components/pages/classroomObservation/components/messageArea.vue

@@ -1175,22 +1175,24 @@ export default {
         return Promise.all(promises).then(res => {
           this.dialogTagList.splice(_index, 1);
           this.$message.success("删除分析分组成功");
+          this.dataList = this.dataList.filter(i=>!data.groupId.includes(i.id))
+          this.bmData.jsonData.dialogTagList = this.dialogTagList;
           this.saveData(this.bmData);
         });
       } else {
         this.dialogTagList.splice(_index, 1);
         this.$message.success("删除分析分组成功");
+        this.bmData.jsonData.dialogTagList = this.dialogTagList;
         return this.saveData(this.bmData);
       }
     },
     delAnalysisItem2(id) {
       return new Promise(resolve => {
-        let _index = this.dataList.findIndex(i => i.id == id);
-        if (_index > -1) {
-          let _data = this.dataList[_index];
+        let delData = this.dataList.find(i => i.id === id);
+        if (delData) {
           let params = {
-            id: _data.id,
-            type: _data.Type,
+            id: delData.id,
+            type: delData.Type,
             tid: this.tid
           };
           this.ajax
@@ -1199,7 +1201,7 @@ export default {
               params
             )
             .then(res => {
-              this.dataList.splice(_index, 1);
+              // this.dataList.splice(_index, 1);
               resolve();
             })
             .catch(e => {
@@ -1315,7 +1317,7 @@ export default {
 				this.isDrag = false;
 				this.loading = false;
 				// this.$message.success("更换成功")
-				return 
+				return
 			}
 
 			let _copyData = JSON.parse(JSON.stringify(this.dataList));
@@ -1323,7 +1325,7 @@ export default {
 			_copyData = _copyData.filter(i=>!(i.Type==0&&i.tIndex==2));
 
 			let _result = _copyData.map(i=>({id:i.id,tIndex:i.tIndex,Type:i.Type}));
-			
+
 			let params = {
 				data:JSON.stringify(_result)
 			}

Vissa filer visades inte eftersom för många filer har ändrats