|
|
@@ -90,8 +90,11 @@
|
|
|
<el-tag v-else type="info">已移除</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作" align="center" width="100">
|
|
|
+ <el-table-column label="操作" align="center" width="150">
|
|
|
<template #default="scope">
|
|
|
+ <el-tooltip content="修改状态" placement="top">
|
|
|
+ <el-button v-has-permi="['stock:pool:edit']" link type="primary" icon="Edit" @click="handleUpdateStatus(scope.row)"></el-button>
|
|
|
+ </el-tooltip>
|
|
|
<el-tooltip content="移除" placement="top">
|
|
|
<el-button v-has-permi="['stock:pool:remove']" link type="danger" icon="Delete" @click="handleDelete(scope.row)"></el-button>
|
|
|
</el-tooltip>
|
|
|
@@ -101,12 +104,40 @@
|
|
|
|
|
|
<pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" />
|
|
|
</el-card>
|
|
|
+
|
|
|
+ <!-- 修改状态对话框 -->
|
|
|
+ <el-dialog v-model="statusDialogVisible" title="修改状态" width="400px" append-to-body>
|
|
|
+ <el-form :model="statusForm" label-width="80px">
|
|
|
+ <el-form-item label="股票名称">
|
|
|
+ <el-input v-model="statusForm.stockName" disabled />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="股票代码">
|
|
|
+ <el-input v-model="statusForm.stockCode" disabled />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="当前状态">
|
|
|
+ <el-tag v-if="statusForm.currentStatus === 2" type="success">当前有效</el-tag>
|
|
|
+ <el-tag v-else-if="statusForm.currentStatus === 1" type="warning">历史有效</el-tag>
|
|
|
+ <el-tag v-else type="info">已移除</el-tag>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="新状态">
|
|
|
+ <el-select v-model="statusForm.newStatus" placeholder="请选择状态">
|
|
|
+ <el-option label="当前有效" :value="2" />
|
|
|
+ <el-option label="历史有效" :value="1" />
|
|
|
+ <el-option label="已移除" :value="0" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <el-button @click="statusDialogVisible = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="submitStatusChange">确定</el-button>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup name="StrongPool" lang="ts">
|
|
|
import { ref, onMounted, onUnmounted, onActivated, onDeactivated, getCurrentInstance } from 'vue';
|
|
|
-import { listStockPool, removeFromPool } from '@/api/stock/pool';
|
|
|
+import { listStockPool, removeFromPool, updatePoolStatus } from '@/api/stock/pool';
|
|
|
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
|
|
|
@@ -119,6 +150,16 @@ const ids = ref<number[]>([]);
|
|
|
const multiple = ref(true);
|
|
|
const total = ref(0);
|
|
|
|
|
|
+// 修改状态对话框
|
|
|
+const statusDialogVisible = ref(false);
|
|
|
+const statusForm = ref({
|
|
|
+ id: null as number | null,
|
|
|
+ stockName: '',
|
|
|
+ stockCode: '',
|
|
|
+ currentStatus: null as number | null,
|
|
|
+ newStatus: null as number | null
|
|
|
+});
|
|
|
+
|
|
|
let refreshTimer: ReturnType<typeof setTimeout> | null = null;
|
|
|
let isPageVisible = true; // 页面是否可见
|
|
|
|
|
|
@@ -272,6 +313,34 @@ const handleDelete = async (row?: any) => {
|
|
|
await getList();
|
|
|
};
|
|
|
|
|
|
+/** 修改状态按钮 */
|
|
|
+const handleUpdateStatus = (row: any) => {
|
|
|
+ statusForm.value = {
|
|
|
+ id: row.id,
|
|
|
+ stockName: row.stockName,
|
|
|
+ stockCode: row.stockCode,
|
|
|
+ currentStatus: row.status,
|
|
|
+ newStatus: row.status
|
|
|
+ };
|
|
|
+ statusDialogVisible.value = true;
|
|
|
+};
|
|
|
+
|
|
|
+/** 提交状态修改 */
|
|
|
+const submitStatusChange = async () => {
|
|
|
+ if (statusForm.value.newStatus === statusForm.value.currentStatus) {
|
|
|
+ proxy?.$modal.msgWarning('状态未改变');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ await updatePoolStatus(statusForm.value.id!, statusForm.value.newStatus!);
|
|
|
+ proxy?.$modal.msgSuccess('状态修改成功');
|
|
|
+ statusDialogVisible.value = false;
|
|
|
+ await getList();
|
|
|
+ } catch (error) {
|
|
|
+ console.error('修改状态失败:', error);
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
/** 格式化价格 */
|
|
|
const formatPrice = (val: any) => (val != null ? Number(val).toFixed(2) : '-');
|
|
|
|