|
@@ -57,10 +57,21 @@
|
|
|
<span v-if="item.label==='agent'">智能体</span>
|
|
|
<span v-if="item.label==='workflow'">工作流</span>
|
|
|
</div>
|
|
|
- <div class="ac_c_i_t_popover" v-if="item.userid == userinfo.userid">
|
|
|
+ <div class="ac_c_i_t_popover" v-if="showMenu(item)">
|
|
|
<svg t="1732786015570" @click.stop="showCard(item.id)" 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 class="popoverBox" v-if="showCardId===item.id">
|
|
|
- <span @click="editAppFn(item)">编辑</span>
|
|
|
+ <div v-if="item.userid===userinfo.userid" @click="editAppFn(item)">
|
|
|
+ <img src="../../assets/images/appStore/edit.svg">
|
|
|
+ <span>编辑</span>
|
|
|
+ </div>
|
|
|
+ <div v-if="item.json && item.json.copy==='1'" @click="copyAppFn(item)">
|
|
|
+ <img src="../../assets/images/appStore/copy.svg">
|
|
|
+ <span>复制</span>
|
|
|
+ </div>
|
|
|
+ <div v-if="item.userid===userinfo.userid" @click="deleteAppFn(item)">
|
|
|
+ <img src="../../assets/images/appStore/del.svg">
|
|
|
+ <span>删除</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -79,8 +90,9 @@
|
|
|
|
|
|
<script>
|
|
|
import { mapGetters } from 'vuex'
|
|
|
-import { getStoreType, getStore,addApp,editApp } from '@/api/appStore';
|
|
|
+import { getStoreType, getStore,addApp,editApp,insertSave,deleteApp } from '@/api/appStore';
|
|
|
import appStorePopup from './components/appStorePopup.vue';
|
|
|
+import { Dialog,Toast } from 'vant';
|
|
|
const clickOutside = {
|
|
|
bind(el, binding) {
|
|
|
// 在元素上绑定一个点击事件监听器
|
|
@@ -128,7 +140,19 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
- ...mapGetters(['userinfo'])
|
|
|
+ ...mapGetters(['userinfo']),
|
|
|
+ showMenu(){
|
|
|
+ return (data)=>{
|
|
|
+ let _result = false;
|
|
|
+ if(data && this.userinfo.userid){
|
|
|
+ if(data.userid === this.userinfo.userid || (data.json && data.json.copy === "1")){
|
|
|
+ _result = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
getData() {
|
|
@@ -204,6 +228,88 @@ export default {
|
|
|
njson: data.json
|
|
|
}})
|
|
|
},
|
|
|
+ copyAppFn(item){
|
|
|
+ Dialog.confirm({
|
|
|
+ title:"复制应用",
|
|
|
+ message:`确定复制《${item.name}》这个应用吗?`
|
|
|
+ }).then(_=>{
|
|
|
+ let params = [
|
|
|
+ {
|
|
|
+ name:`${item.name}_copy`,
|
|
|
+ userid:this.userinfo.userid,
|
|
|
+ label:item.label,
|
|
|
+ detail:item.detail,
|
|
|
+ url:item.url,
|
|
|
+ type:item.type,
|
|
|
+ juri:"1",
|
|
|
+ stand:"cn",
|
|
|
+ json:JSON.stringify(item.json)
|
|
|
+ }
|
|
|
+ ]
|
|
|
+
|
|
|
+ addApp(params).then(res=>{
|
|
|
+ if(res==1){
|
|
|
+ this.insertSaveFn(item,3)
|
|
|
+ Toast.success("已复制到我的列表")
|
|
|
+ }else{
|
|
|
+ this.$toast.fail("复制失败")
|
|
|
+ }
|
|
|
+ this.getData()
|
|
|
+ }).catch(e=>{
|
|
|
+ console.log(e);
|
|
|
+ this.$toast.fail("复制失败")
|
|
|
+ })
|
|
|
+ }).catch(_=>{
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
+ deleteAppFn(item){
|
|
|
+ Dialog.confirm({
|
|
|
+ title:"删除应用",
|
|
|
+ message:`确定删除《${item.name}》这个应用吗?`
|
|
|
+ }).then(_=>{
|
|
|
+ let params = [{
|
|
|
+ uid:this.userinfo.userid,
|
|
|
+ aid:item.id
|
|
|
+ }]
|
|
|
+ deleteApp(params).then(res=>{
|
|
|
+ if(res==1){
|
|
|
+ this.$toast.success("删除应用成功")
|
|
|
+
|
|
|
+ }else{
|
|
|
+ this.$toast.fail("删除应用失败")
|
|
|
+ }
|
|
|
+ this.getData()
|
|
|
+ }).catch(e=>{
|
|
|
+ console.log(e)
|
|
|
+ this.$toast.fail("删除应用失败")
|
|
|
+ })
|
|
|
+
|
|
|
+ }).catch(_=>{
|
|
|
+ console.log("取消删除")
|
|
|
+ })
|
|
|
+ },
|
|
|
+ insertSaveFn(item,type){
|
|
|
+ return new Promise(resolve=>{
|
|
|
+ let params = [{
|
|
|
+ uid:this.userinfo.userid,
|
|
|
+ type:type,
|
|
|
+ aid:item.id,
|
|
|
+ json:""
|
|
|
+ }]
|
|
|
+ insertSave(params).then(res=>{
|
|
|
+ if(res){
|
|
|
+ resolve(1)
|
|
|
+ }else{
|
|
|
+ resolve(0)
|
|
|
+ }
|
|
|
+ }).catch(e=>{
|
|
|
+ console.log(e)
|
|
|
+ resolve(0)
|
|
|
+ })
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
appStorePopupSuccess(data,type){
|
|
|
if (type === 1) {
|
|
|
//添加
|
|
@@ -503,15 +609,20 @@ export default {
|
|
|
top:calc(100% - 5px)
|
|
|
}
|
|
|
|
|
|
-.popoverBox>span{
|
|
|
+.popoverBox>div{
|
|
|
display: flex;
|
|
|
justify-content: center;
|
|
|
align-items: center;
|
|
|
padding:5px 10px;
|
|
|
+}
|
|
|
|
|
|
+.popoverBox>div>img{
|
|
|
+ width: 12px;
|
|
|
+ height: 12px;
|
|
|
+ margin-right: 4px;
|
|
|
}
|
|
|
|
|
|
-.popoverBox>span:hover{
|
|
|
+.popoverBox>div:hover{
|
|
|
color: #409eff;
|
|
|
}
|
|
|
</style>
|