Browse Source

Merge branch 'min' of ssh://101.201.226.163:50022/TALL/plugin-store into min

min
song 4 years ago
parent
commit
244bca2c2c
  1. 2
      src/apis/business.js
  2. 33
      src/components/listPlugin.vue
  3. 20
      src/components/listTable.vue
  4. 4
      src/views/index-list/business-detail.vue
  5. 2
      src/views/index-list/business-list.vue

2
src/apis/business.js

@ -27,4 +27,4 @@ export const queryIdBusiness = params => http.post(`${business}/queryIdBusiness`
export const delRelevance = params => http.post(`${business}/delRelevance`, params);
// 删除业务
export const delBusiness = params => http.post(`${business}/business/del`, params);
export const delBusiness = params => http.post(`${business}/del`, params);

33
src/components/listPlugin.vue

@ -21,7 +21,16 @@
<span>{{ list.authorName || '无' }}</span>
</div>
<div class="mt-6">
<el-button type="primary" v-if="showConfig">移除</el-button>
<el-popconfirm
title="确定要移除该插件吗?"
confirm-button-text="确定"
cancel-button-text="再想想"
@confirm="deleteRelevance(list)"
>
<template #reference>
<el-button type="primary" v-if="showConfig">移除</el-button>
</template>
</el-popconfirm>
<el-button type="primary" disabled>下载源代码</el-button>
<el-button type="primary" disabled>下载示例代码</el-button>
<!-- 添加到业务弹框 -->
@ -58,8 +67,9 @@
</template>
<script lang="ts" setup="true">
import { defineProps, reactive, watchEffect } from 'vue';
import { queryBusiness } from '@/apis/business.js';
import { defineProps, reactive, watchEffect, defineEmits } from 'vue';
import { ElMessage } from 'element-plus';
import { queryBusiness, delRelevance } from '@/apis/business.js';
const data = reactive({
currentPage: 1,
@ -71,8 +81,11 @@ const data = reactive({
const props = defineProps({
lists: { default: () => [], type: Array },
showConfig: { default: false, type: Boolean },
businessId: { default: '', type: String },
});
const emit = defineEmits(['queryPluginOfBusiness']);
watchEffect(() => {
if (props.lists && props.lists.length) {
data.listArray = [];
@ -133,6 +146,20 @@ function collapseVisible(index) {
}
});
}
/**
* 移除业务下的插件
*/
async function deleteRelevance(list) {
try {
const params = { param: { businessPluginId: list.businessPluginId } };
await delRelevance(params);
ElMessage.success('删除成功');
emit('queryPluginOfBusiness', props.businessId);
} catch (error) {
ElMessage.success(error || '删除失败');
}
}
</script>
<style scoped>

20
src/components/listTable.vue

@ -22,7 +22,12 @@
<el-table-column prop="createTime" :formatter="changeDate" label="创建日期" sortable></el-table-column>
<el-table-column label="操作" key="slot">
<template #default="scope">
<el-popconfirm title="确定删除这条业务吗?" confirm-button-text="确定" cancel-button-text="再想想" @confirm="deleteBusiness">
<el-popconfirm
title="确定删除这条业务吗?"
confirm-button-text="确定"
cancel-button-text="再想想"
@confirm="deleteBusiness(scope.row)"
>
<template #reference>
<el-button type="text" size="small">删除</el-button>
</template>
@ -41,9 +46,11 @@
<script setup>
import { useRouter } from 'vue-router';
import { defineProps } from 'vue';
import { defineProps, defineEmits } from 'vue';
import { useStore } from 'vuex';
import time from 'utils/time';
import { ElMessage } from 'element-plus';
import { delBusiness } from '@/apis/business.js';
const router = useRouter();
const store = useStore();
@ -55,6 +62,8 @@ defineProps({
showConfig: { default: false, type: Boolean },
});
const emit = defineEmits(['handleQueryBusiness']);
function change(row) {
console.log('row: ', row);
}
@ -73,10 +82,15 @@ function changeDate(row) {
* 删除业务
* @param {String} businessId
*/
function deleteBusiness() {
async function deleteBusiness(row) {
try {
// async await
const params = { param: { businessId: row.id } };
await delBusiness(params);
emit('handleQueryBusiness');
ElMessage.success('删除成功');
} catch (error) {
ElMessage.error(error || '删除失败');
console.error('error: ', error);
}
}

4
src/views/index-list/business-detail.vue

@ -40,7 +40,7 @@
</template>
</el-popover>
</div>
<listPlugin :lists="data.lists" :showConfig="true" />
<listPlugin :lists="data.lists" :showConfig="true" :businessId="data.businessId" @queryPluginOfBusiness="queryPluginOfBusiness" />
<Pagination
:currentPage="data.currentPage"
:pageSize="data.pageSize"
@ -78,6 +78,7 @@ const data = reactive({
pluginLists: [],
isLastPage: false,
pageNum: 1,
businessId: '',
});
function handleSizeChange(val) {
@ -146,6 +147,7 @@ async function queryPluginOfBusiness(businessId) {
const routeValue = router.currentRoute.value;
const id = routeValue && routeValue.query && routeValue.query.id ? routeValue.query.id : '';
data.businessId = id;
queryPluginOfBusiness(id);
handleQueryIdBusiness(id);

2
src/views/index-list/business-list.vue

@ -4,7 +4,7 @@
<div class="py-6">
<el-button type="primary" icon="el-icon-plus" @click="openPage">创建业务</el-button>
</div>
<listTable :lists="data.lists" />
<listTable :lists="data.lists" @handleQueryBusiness="handleQueryBusiness" />
<Pagination
:currentPage="data.currentPage"
:pageSize="data.pageSize"

Loading…
Cancel
Save