From b4dd0687c7285f3be32860adccfa523a62bfd4c6 Mon Sep 17 00:00:00 2001
From: 李 <344137771@qq.com>
Date: Fri, 05 Jun 2026 11:19:37 +0800
Subject: [PATCH] 1
---
src/views/modules/us-spots/pick-update.vue | 195 ++++++++++++++++++++++++++----------------------
1 files changed, 107 insertions(+), 88 deletions(-)
diff --git a/src/views/modules/us-spots/pick-update.vue b/src/views/modules/us-spots/pick-update.vue
index ae2ba5b..c2f2ae4 100644
--- a/src/views/modules/us-spots/pick-update.vue
+++ b/src/views/modules/us-spots/pick-update.vue
@@ -1,6 +1,6 @@
<template>
<el-dialog
- title="订单场控"
+ title="订单调整"
:close-on-click-modal="false"
:visible.sync="visible"
append-to-body
@@ -11,131 +11,150 @@
:model="dataForm"
:rules="dataRule"
ref="dataForm"
- @keyup.enter.native="dataFormSubmit()"
label-width="120px"
>
-
- <el-form-item label="场控选择" prop="symbol">
+ <el-form-item label="当前方向">
+ <span>{{ currentDirectionLabel }}</span>
+ </el-form-item>
+ <el-form-item label="修改方向">
<el-select
- class="speacSelect"
- v-model="options.value"
- placeholder="请选择"
- @change="changeVal()"
+ class="speacSelect"
+ v-model="directionValue"
+ placeholder="请选择买涨/买跌"
+ clearable
>
<el-option
- v-for="item in options"
+ v-for="item in directionOptions"
:key="item.value"
:label="item.label"
:value="item.value"
- >
- </el-option>
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="场控选择">
+ <el-select
+ class="speacSelect"
+ v-model="profitLossValue"
+ placeholder="请选择盈利/亏损"
+ clearable
+ >
+ <el-option
+ v-for="item in profitLossOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
- <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
+ <el-button type="primary" :loading="submitting" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>
<script>
-import { treeDataTranslate } from "@/utils";
import { Debounce } from "@/utils/debounce";
-import { encrypt } from "@/utils/crypto";
+
export default {
data() {
return {
visible: false,
- menuList: [],
- id:'',
- row: "",
- options: [
- {
- value: "profit",
- label: "盈利",
- },
- {
- value: "loss",
- label: "亏损",
- }
+ submitting: false,
+ orderNo: "",
+ currentDirection: "",
+ directionValue: "",
+ profitLossValue: "",
+ directionOptions: [
+ { value: "buy", label: "买涨" },
+ { value: "sell", label: "买跌" },
],
- langug: [], // 语言
- dataForm: {
- closeTimeTs: "",
- openTimeTs: "",
- high: "",
- low: "",
- turnover: "",
- uuid: "",
- },
-
- dataRule: {
- // sorted: [{ required: true, message: "排序不能为空", trigger: "blur" }],
- },
- tempKey: -666666, // 临时key, 用于解决tree半选中状态项不能传给后台接口问题. # 待优化
+ profitLossOptions: [
+ { value: "profit", label: "盈利" },
+ { value: "loss", label: "亏损" },
+ ],
+ dataForm: {},
+ dataRule: {},
};
},
+ computed: {
+ currentDirectionLabel() {
+ if (this.currentDirection === "buy") {
+ return "买涨";
+ }
+ if (this.currentDirection === "sell") {
+ return "买跌";
+ }
+ return "-";
+ },
+ },
methods: {
- init(id) {
- this.id = id || ''
+ init(orderNo, direction) {
+ this.orderNo = orderNo || "";
+ this.currentDirection = direction || "";
+ this.directionValue = "";
+ this.profitLossValue = "";
this.visible = true;
},
- changeVal(val) {
- this.$forceUpdate();
- },
handClose() {
- this.$data.dataForm = JSON.parse(
- JSON.stringify(this.$options.data().dataForm)
- );
- this.$nextTick(() => {
- this.$refs["dataForm"].clearValidate(); // 清除表单验证
- });
- this.langug.value = "";
- this.options.value = "";
+ this.orderNo = "";
+ this.currentDirection = "";
+ this.directionValue = "";
+ this.profitLossValue = "";
+ this.submitting = false;
},
- // 表单提交
dataFormSubmit: Debounce(function () {
- this.$refs["dataForm"].validate((valid) => {
- if (valid) {
- this.$http({
- // 修改
- url: this.$http.adornUrl(`/normal/adminFuturesOrderAction!/orderProfitLoss.action`),
- method: "get",
- params: this.$http.adornParams(Object.assign({
- orderNo:this.id,
- profitLoss:this.options.value,
- })),
- }).then(({ data }) => {
- if (data.code == 0) {
- this.$message({
- message: "操作成功",
- type: "success",
- duration: 1500,
- onClose: () => {
- this.visible = false;
- this.$emit("refreshDataList");
- },
- });
- } else {
- this.$message({
- message: data.msg,
- type: "error",
- duration: 1500,
- onClose: () => {
- this.visible = false;
- },
- });
- }
- });
+ if (!this.directionValue && !this.profitLossValue) {
+ this.$message.warning("请至少选择一项修改内容");
+ return;
+ }
+ this.submitting = true;
+ const tasks = [];
+ if (this.directionValue && this.directionValue !== this.currentDirection) {
+ tasks.push(
+ this.$http({
+ url: this.$http.adornUrl(`/normal/adminFuturesOrderAction!/orderDirection.action`),
+ method: "get",
+ params: this.$http.adornParams({
+ orderNo: this.orderNo,
+ direction: this.directionValue,
+ }),
+ })
+ );
+ }
+ if (this.profitLossValue) {
+ tasks.push(
+ this.$http({
+ url: this.$http.adornUrl(`/normal/adminFuturesOrderAction!/orderProfitLoss.action`),
+ method: "get",
+ params: this.$http.adornParams({
+ orderNo: this.orderNo,
+ profitLoss: this.profitLossValue,
+ }),
+ })
+ );
+ }
+ Promise.all(tasks)
+ .then((results) => {
+ const failed = results.find((res) => res.data.code !== 0);
+ if (failed) {
+ this.$message.error(failed.data.msg || "操作失败");
+ return;
}
+ this.$message.success("操作成功");
+ this.visible = false;
+ this.$emit("refreshDataList");
+ })
+ .finally(() => {
+ this.submitting = false;
});
}),
},
};
</script>
<style scoped>
-.speacSelect{
+.speacSelect {
width: 400px;
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3