SanHQin 3 månader sedan
förälder
incheckning
dcc861941b

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.5826b412055a62f688ca9cfa8c70a2c9.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.179961f56ae37a6a10b4.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.132ff5d726e389b7513018d8136e0aed.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.9e776ddbd5e8fbdb74b4.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.132ff5d726e389b7513018d8136e0aed.css


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


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


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


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


+ 4 - 4
src/components/pages/appStore/dialog/addAppDialog.vue

@@ -131,12 +131,12 @@
           </el-form-item>
 
 
-					<!-- <el-form-item label="权限设置"  style="display: flex;flex-direction: column;align-items: flex-start;">
+					<el-form-item label="权限设置"  style="display: flex;flex-direction: column;align-items: flex-start;">
 						<el-radio-group v-model="form.json.copy" style="display: flex;flex-direction: column;">
               <el-radio label="0" class="radioItem">仅体验(用户仅能使用,不可查看设置内容)</el-radio>
               <el-radio label="1" class="radioItem">允许其他用户复制并进行二次创作</el-radio>
             </el-radio-group>
-          </el-form-item> -->
+          </el-form-item>
         </el-form>
       </div>
       <div class="bfd_bottom">
@@ -367,8 +367,8 @@ export default {
 .addNewAppDialog >>> .el-dialog {
   min-width: 700px;
 
-  /* height: 900px; */
-	height: 780px;
+  height: 900px;
+	/* height: 780px; */
   box-shadow: 0px 0 8px 0px #555555;
   border-radius: 8px;
   background-color: #fff;

+ 6 - 0
src/components/pages/appStore/dialog/saveCard.vue

@@ -133,6 +133,12 @@ export default {
 	height: 100%;
 }
 
+.s_box>div>div>span>>>svg{
+	width: 100%;
+	height: 100%;
+}
+
+
 .s_box>div>span{
 	max-width: calc(100% - 30px);
 	overflow: hidden;

+ 2 - 2
src/components/pages/appStore/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="appCenter">
-    <appManagement v-if="showCard === 0" ref="appManagementRef" @changeShowCard="changeShowCard"/>
-		<workSpace v-if="showCard === 1" ref="workSpaceRef" @changeShowCard="changeShowCard"/>
+    <appManagement v-show="showCard === 0" ref="appManagementRef" @changeShowCard="changeShowCard"/>
+		<workSpace v-show="showCard === 1" ref="workSpaceRef" @changeShowCard="changeShowCard"/>
   </div>
 </template>
 

+ 129 - 23
src/components/pages/appStore/views/appManagement.vue

@@ -9,8 +9,9 @@
     <div class="ac_right">
       <div class="ac_header">
         <div class="ac_h_top">
-          <span>应用管理</span>
-          <!-- <span>知识库</span> -->
+					<span>应用管理</span>
+          <!-- <span class="ac_h_t_active">应用管理</span>
+          <span @click="changeShowPage(1)">工作空间</span> -->
           <el-button
             type="primary"
             size="small"
@@ -20,11 +21,28 @@
             >添加应用</el-button
           >
         </div>
+				<!-- <div class="ac_h_banner">
+					<img src="https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/default%2Fae42534d-ee90-4bb1-8ef9-d344ee27b8241733733277828.jpg" alt="banner图">
+				</div> -->
         <div class="ac_h_bottom">
-          <div class="ac_h_b_selectList">
+          <div class="ac_h_b_typeList">
+            <span
+              :class="{ ac_h_b_typeList_active: showType === '' }"
+              @click="changeType('')"
+              >全部</span
+            >
+            <span
+              v-for="item in typeList"
+              :key="item.id"
+              :class="{ ac_h_b_typeList_active: showType === item.id }"
+              @click="changeType(item.id)"
+              >{{ item.name }}</span
+            >
+          </div>
+					<div class="ac_h_b_selectList">
             <el-input
               v-model="searchText"
-              style="width: 200px;"
+              style="width: 200px;margin-right: 10px;"
               placeholder="请输入应用名称"
               @keyup.enter.native="getData"
             />
@@ -48,21 +66,6 @@
             ></el-button>
             <el-button type="primary" @click="resetData">重置</el-button>
           </div>
-
-          <div class="ac_h_b_typeList">
-            <span
-              :class="{ ac_h_b_typeList_active: showType === '' }"
-              @click="changeType('')"
-              >全部</span
-            >
-            <span
-              v-for="item in typeList"
-              :key="item.id"
-              :class="{ ac_h_b_typeList_active: showType === item.id }"
-              @click="changeType(item.id)"
-              >{{ item.name }}</span
-            >
-          </div>
         </div>
       </div>
 
@@ -121,7 +124,9 @@
                 
 								<div @click.stop="cancelCollectApp(item)"  v-if="collect.map(i=>i.id).includes(item.id)">取消收藏</div>
                 <div @click.stop="collectApp(item)" v-else>收藏</div>
-								<div @click.stop="updateApp(item)" v-if="item.userid == userId">修改</div>
+								<div @click.stop="copyApp(item)" v-if="item.json && item.json.copy==='1'">复制</div>
+								<div @click.stop="updateApp(item)" v-if="item.userid === userId">修改</div>
+								<div @click.stop="delApp(item)" v-if="item.userid === userId">删除</div>
               </div>
               <svg
                 t="1732786015570"
@@ -301,6 +306,44 @@ export default {
 			this.editAppCard = null;
 			this.insertSave(item,0)
 		},
+		//复制app
+		copyApp(item){
+			this.$confirm(`确定复制《${item.name}》这个应用吗?`,"复制",{
+				confirmButtonText:"确定",
+				cancelButtonText:"取消",
+				type:"warning"
+			}).then(()=>{
+				let params = [
+          {
+            name: `${item.name}_copy`, //app名称
+            userid: this.userId, //创建的用户ID
+            label: item.label, //app标签
+            detail: item.detail, //app简介
+            url: item.url, //app链接
+            type: item.type, //app类型
+            juri: "1", //app权限 1:我的 2:组织 3:所有人
+            stand: "cn", //语言
+            json: JSON.stringify(item.json) //其他信息
+          }
+        ];
+				this.ajax
+          .post(this.$store.state.api + "insert_appStore", params)
+          .then(res => {
+            if (res.data == 1) {
+              this.$message.success("复制成功");
+              this.getData();
+            } else {
+              this.$message.error("复制失败");
+            }
+          })
+          .catch(err => {
+            console.log(err);
+            this.$message.error("复制失败");
+          });
+			}).catch(_=>{
+				console.log("取消复制")
+			})
+		},
 		// 取消收藏
 		cancelCollectApp(item){
 			this.editAppCard = null;
@@ -502,6 +545,34 @@ export default {
 				if(type===0)this.$message.error("收藏失败")
 			})
 
+		},
+		delApp(item){
+			this.$confirm(`确定要删除《${item.name}》这个应用吗,删除后无法找回!`, `确定删除应用`, {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning'
+			}).then(() => {
+				let params = [{
+					uid: this.userId,
+					aid: item.id
+				}];
+				this.ajax.post(this.$store.state.api + "delete_appStore", params).then(res => {
+					if (res.data) {
+						this.$message.success("删除成功");
+						this.getData();
+					} else {
+						this.$message.error("删除失败");
+					}
+				}).catch(err => {
+					console.log(err);
+					this.$message.error("删除失败");
+				});
+			}).catch(() => {
+				console.log("取消删除");
+			});
+		},
+		changeShowPage(newPage){
+			this.$emit("changeShowCard",newPage)
 		}
   },
   mounted() {
@@ -569,21 +640,54 @@ export default {
 
 .ac_h_top > span {
   font-size: 26px;
+	position: relative;
+	margin-right: 25px;
+	cursor: pointer;
+}
+
+.ac_h_t_active::after{
+	content: "";
+	position: absolute;
+	width: 100%;
+	height: 3px;
+	border-radius: 4px;
+	background-color: #409EFF;
+	left: 0;
+	bottom: -5px;
+}
+
+.ac_h_banner{
+	width: 100%;
+	height: 200px;
+	border-radius: 5px;
+	overflow: hidden;
+	box-sizing: border-box;
+	padding: 10px;
+}
+
+.ac_h_banner>img{
+	width: 100%;
+	height: 100%;
+	object-fit:cover;
+	border-radius: 5px;
 }
 
 .ac_h_bottom {
   width: 100%;
   height: auto;
-  padding: 10px 0 20px 0;
+  padding: 10px 15px 10px 15px;
+	box-sizing: border-box;
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
 }
 
 .ac_h_b_typeList {
-  width: 100%;
+  width: calc(100% - 400px);
   height: auto;
   display: flex;
   flex-wrap: wrap;
   box-sizing: border-box;
-  padding: 0 15px;
 }
 
 .ac_h_b_typeList > span {
@@ -601,6 +705,8 @@ export default {
 .ac_h_b_selectList {
   margin-left: 15px;
   margin-bottom: 10px;
+	display: flex;
+	align-items: center;
 }
 
 .ac_content {

+ 29 - 55
src/components/pages/appStore/views/workSpace.vue

@@ -2,61 +2,9 @@
   <div class="workSpace">
     <div class="ac_header">
       <div class="ac_h_top">
-        <span>应用管理</span>
-        <!-- <span>知识库</span> -->
-        <!-- <el-button
-          type="primary"
-          size="small"
-          icon="el-icon-plus"
-          style="position: absolute;right: 15px;"
-          @click="addApp"
-          >添加应用</el-button
-        > -->
+        <span @click="changeShowPage(0)">应用管理</span>
+				<span class="ac_h_t_active">工作空间</span>
       </div>
-      <!-- <div class="ac_h_bottom">
-        <div class="ac_h_b_selectList">
-          <el-input
-            v-model="searchText"
-            style="width: 200px;"
-            placeholder="请输入应用名称"
-            @keyup.enter.native="getData"
-          />
-          <el-select
-            v-model="selectJuri"
-            placeholder="请选择"
-            @change="changeSelectType"
-          >
-            <el-option
-              v-for="item in selectList"
-              :key="item.index"
-              :label="item.label"
-              :value="item.index"
-            ></el-option>
-          </el-select>
-          <el-button
-            type="primary"
-            style="margin-left: 10px;"
-            icon="el-icon-search"
-            @click="getData"
-          ></el-button>
-          <el-button type="primary" @click="resetData">重置</el-button>
-        </div>
-
-        <div class="ac_h_b_typeList">
-          <span
-            :class="{ ac_h_b_typeList_active: showType === '' }"
-            @click="changeType('')"
-            >全部</span
-          >
-          <span
-            v-for="item in typeList"
-            :key="item.id"
-            :class="{ ac_h_b_typeList_active: showType === item.id }"
-            @click="changeType(item.id)"
-            >{{ item.name }}</span
-          >
-        </div>
-      </div> -->
     </div>
 		<div class="ac_content">
 
@@ -65,7 +13,18 @@
 </template>
 
 <script>
-export default {};
+export default {
+	data(){
+		return{
+
+		}
+	},
+	methods:{
+		changeShowPage(newPage){
+			this.$emit("changeShowCard",newPage)
+		}
+	}
+};
 </script>
 
 <style scoped>
@@ -97,10 +56,25 @@ export default {};
   padding: 0 15px;
   border-bottom: 1px solid #eeeeee;
   position: relative;
+	padding-left: 315px;
 }
 
 .ac_h_top > span {
   font-size: 26px;
+	position: relative;
+	margin-right: 25px;
+	cursor: pointer;
+}
+
+.ac_h_t_active::after{
+	content: "";
+	position: absolute;
+	width: 100%;
+	height: 3px;
+	border-radius: 4px;
+	background-color: #409EFF;
+	left: 0;
+	bottom: -5px;
 }
 
 .ac_h_bottom {

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