From 7bbf9b23bcd3f2bbf54aa62476cd2c4e7ea88aaa Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Tue, 21 Oct 2025 15:08:25 +0800
Subject: [PATCH] 1

---
 src/views/modules/ico/components/listAddOrUpdate.vue |   97 ++++++++++++++++++++++++------------------------
 1 files changed, 49 insertions(+), 48 deletions(-)

diff --git a/src/views/modules/ico/components/listAddOrUpdate.vue b/src/views/modules/ico/components/listAddOrUpdate.vue
index 94b8c34..bc5b16d 100644
--- a/src/views/modules/ico/components/listAddOrUpdate.vue
+++ b/src/views/modules/ico/components/listAddOrUpdate.vue
@@ -1,18 +1,7 @@
 <template>
-  <el-dialog
-    :title="title"
-    :visible.sync="visible"
-    width="800px"
-    :append-to-body="true"
-    @close="handClose"
-  >
-    <el-form
-      :model="dataForm"
-      :rules="dataRule"
-      ref="dataForm"
-      @keyup.enter.native="dataFormSubmit()"
-      label-width="250px"
-    >
+  <el-dialog :title="title" :visible.sync="visible" width="800px" :append-to-body="true" @close="handClose">
+    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
+      label-width="250px">
       <el-form-item label="币种名称" prop="name">
         <el-input type="string" v-model="dataForm.name"></el-input>
       </el-form-item>
@@ -86,62 +75,50 @@
       </el-form-item>
 
       <el-form-item label="申购开始时间" prop="startDate">
-        <el-date-picker
-          v-model="dataForm.startDate"
-          type="datetime"
-          placeholder="选择日期"
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
-        >
+        <el-date-picker v-model="dataForm.startDate" type="datetime" placeholder="选择日期" format="yyyy-MM-dd HH:mm:ss"
+          value-format="yyyy-MM-dd HH:mm:ss">
         </el-date-picker>
       </el-form-item>
 
       <el-form-item label="申购结束时间" prop="endDate">
-        <el-date-picker
-          v-model="dataForm.endDate"
-          type="datetime"
-          placeholder="选择日期"
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
-        >
+        <el-date-picker v-model="dataForm.endDate" type="datetime" placeholder="选择日期" format="yyyy-MM-dd HH:mm:ss"
+          value-format="yyyy-MM-dd HH:mm:ss">
         </el-date-picker>
       </el-form-item>
 
       <el-form-item label="上市开始时间" prop="marketDate">
-        <el-date-picker
-          v-model="dataForm.marketDate"
-          type="datetime"
-          placeholder="选择日期"
-          format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss"
-        >
+        <el-date-picker v-model="dataForm.marketDate" type="datetime" placeholder="选择日期" format="yyyy-MM-dd HH:mm:ss"
+          value-format="yyyy-MM-dd HH:mm:ss">
         </el-date-picker>
       </el-form-item>
 
       <el-form-item label="货币图片地址" prop="imgUrl">
-        <el-input type="string" v-model="dataForm.imgUrl"></el-input>
+        <!-- <el-input type="string" v-model="dataForm.imgUrl"></el-input> -->
+        <el-upload class="avatar-uploader" :action="$http.adornUrl('/api/uploadFile')"
+          :headers="{ Authorization: $cookie.get('Authorization') }" :show-file-list="false"
+          :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"
+          :data="{ moduleName: 'icon', fileName: dataForm.symbolData }">
+          <img v-if="dataForm.imgUrl" :src="dataForm.imgUrl" class="avatar" />
+          <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+        </el-upload>
       </el-form-item>
 
       <el-form-item label="是否开放合约交易" prop="isContractTrading">
         <el-select v-model="dataForm.isContractTrading" placeholder="请选择">
-          <el-option
-            v-for="i in options"
-            :key="i.value"
-            :label="i.label"
-            :value="i.value"
-          ></el-option>
+          <el-option v-for="i in options" :key="i.value" :label="i.label" :value="i.value"></el-option>
         </el-select>
       </el-form-item>
 
       <el-form-item label="是否预支付" prop="isPayDown">
         <el-select v-model="dataForm.isPayDown" placeholder="请选择">
-          <el-option
-            v-for="i in options"
-            :key="i.value"
-            :label="i.label"
-            :value="i.value"
-          ></el-option>
+          <el-option v-for="i in options" :key="i.value" :label="i.label" :value="i.value"></el-option>
         </el-select>
+      </el-form-item>
+
+      <el-form-item label="进度" prop="progressRate">
+        <el-input type="number" v-model="dataForm.progressRate">
+          <el-button slot="append" >%</el-button>
+        </el-input>
       </el-form-item>
     </el-form>
     <span slot="footer" class="dialog-footer">
@@ -152,6 +129,7 @@
 </template>
 <script>
 import { Debounce } from "@/utils/debounce";
+import MulPicUpload from '@/components/mul-pic-upload'
 import { encrypt } from "@/utils/crypto";
 export default {
   data() {
@@ -184,6 +162,7 @@
         imgUrl: "", //货币图片地址
         isContractTrading: "", //是否开放合约交易
         isPayDown: "", //是否预支付
+        progressRate: "", //进度
       },
       options: [
         {
@@ -224,12 +203,16 @@
         endDate: [{ required: true, message: "请输入", trigger: "blur" }],
         marketDate: [{ required: true, message: "请输入", trigger: "blur" }],
         imgUrl: [{ required: true, message: "请输入", trigger: "blur" }],
+        progressRate: [{ required: true, message: "请输入", trigger: "blur" }],
         isContractTrading: [
           { required: true, message: "请选择", trigger: "blur" },
         ],
         isPayDown: [{ required: true, message: "请选择", trigger: "blur" }],
       },
     };
+  },
+  components: {
+    MulPicUpload,
   },
   computed: {
     mainTabs: {
@@ -287,6 +270,24 @@
         this.$refs["dataForm"].clearValidate(); // 清除表单验证
       });
     },
+    handleAvatarSuccess(res, file) {
+      console.log("handleAvatarSuccess = " + JSON.stringify(res));
+      this.dataForm.imgUrl = URL.createObjectURL(file.raw); //显示地址
+
+      if (res.code == 0) {
+        this.dataForm.imgUrl = res.data.httpUrl; //接口传递
+        console.log(this.dataForm.imgUrl);
+      } else {
+        this.$message.error(res.msg);
+      }
+    },
+    beforeAvatarUpload(file) {
+      const isLt2M = file.size / 1024 / 1024 < 10;
+      if (!isLt2M) {
+        this.$message.error("上传图片大小不能超过 10MB!");
+      }
+      return isLt2M;
+    },
     // 表单提交
     dataFormSubmit: Debounce(function () {
       console.log(this.dataForm.safePassword);

--
Gitblit v1.9.3