吉安感知网项目-前端
chenyao
2 days ago a53ece5036c1fa61a63fe5f9e0cd3519210ab928
applications/task-work-order/src/views/orderView/orderManage/operatingIncome/index.vue
@@ -1,11 +1,12 @@
<!-- 运营收益 -->
<template>
  <basic-container>
    <div class="gd-table-toolbar">
      <el-button :icon="Plus" color="#4C34FF" type="primary" @click="handleAdd">新增</el-button>
      <el-button :icon="Delete" color="#4C34FF" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button>
    </div>
    <div class="gd-table-container" v-loading="loading">
      <div class="gd-table-toolbar">
        <el-button :icon="Plus" color="#4C34FF" type="primary" @click="handleAdd">新增</el-button>
        <el-button :icon="Delete" color="#ECECF4" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button>
      </div>
      <div class="gd-table-content gd-table-content-bg">
        <el-table class="gd-table" :data="tableList" @selection-change="handleSelectionChange">
          <el-table-column type="selection" width="46" />
@@ -13,11 +14,12 @@
          <el-table-column prop="operatingIncome" label="营业收入(元)" align="center"></el-table-column>
          <el-table-column prop="totalCost" label="综合总成本费用(元)" align="center"></el-table-column>
          <el-table-column prop="netProfit" label="净利润(元)" align="center"></el-table-column>
          <el-table-column prop="earnForecast" label="收益预测(元)" align="center"></el-table-column>
          <el-table-column prop="financialIrr" label="财务内部收益率(%)" align="center"></el-table-column>
          <el-table-column prop="marketSpace" label="市场空间" align="center" show-overflow-tooltip></el-table-column>
          <el-table-column prop="createTime" label="创建时间" align="center"></el-table-column>
          <el-table-column prop="nickName" label="创建人" align="center"></el-table-column>
          <el-table-column label="操作" width="180" align="center" class-name="operation-btns">
          <el-table-column label="操作" width="180" align="center" class-name="operation-btns" fixed="right">
            <template #default="scope">
              <!-- <el-button icon="el-icon-view" type="text" @click="handleDetail(scope.row)">查看</el-button> -->
              <el-link type="primary" @click="handleEdit(scope.row)">编辑</el-link>
@@ -31,39 +33,38 @@
          v-model:page-size="params.size" layout="total, prev, pager, next, sizes" :total="total" @change="getList" />
      </div>
    </div>
    <el-dialog class="gd-dialog" append-to-body v-model="isShowEditView" :title="titleTxt" :width="pxToRem(800)"
      :close-on-click-modal="false" :destroy-on-close="true" @close="handleClose">
      <el-form class="gd-dialog-form" ref="ruleFormRef" :model="editParams" :rules="rules" label-width="140px">
    <el-dialog class="gd-dialog" append-to-body v-model="isShowEditView" :title="titleTxt" :close-on-click-modal="false"
      :destroy-on-close="true" @close="handleClose">
      <el-form class="gd-dialog-form" ref="ruleFormRef" :model="editParams" :rules="rules" label-width="160px">
        <el-row>
            <el-col :span="12">
          <el-col :span="12">
            <el-form-item label="营业收入(元)" prop="operatingIncome">
              <el-input class="gd-input" v-model="editParams.operatingIncome" />
              <el-input class="gd-input" v-model="editParams.operatingIncome" placeholder="请输入" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="综合总成本费用(元)" prop="totalCost">
              <el-input class="gd-input" v-model="editParams.totalCost" />
              <el-input class="gd-input" v-model="editParams.totalCost" placeholder="请输入" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="净利润(元)" prop="netProfit">
              <el-input class="gd-input" v-model="editParams.netProfit" />
              <el-input class="gd-input" v-model="editParams.netProfit" placeholder="请输入" />
            </el-form-item>
          </el-col>
         <el-col :span="12">
          <el-col :span="12">
            <el-form-item label="收益预测(元)" prop="earnForecast">
              <el-input class="gd-input" v-model="editParams.earnForecast" placeholder="请输入" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="财务内部收益率(%)" prop="financialIrr">
              <el-input class="gd-input" v-model="editParams.financialIrr" />
              <el-input class="gd-input" v-model="editParams.financialIrr" placeholder="请输入" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="市场空间" prop="marketSpace">
              <el-input class="gd-input" v-model="editParams.marketSpace" />
              <el-input class="gd-input" v-model="editParams.marketSpace" placeholder="请输入" />
            </el-form-item>
          </el-col>
        </el-row>
@@ -79,6 +80,7 @@
  </basic-container>
</template>
<script setup>
import { Delete, Plus } from '@element-plus/icons-vue'
import { ElMessage, ElMessageBox, ElLoading } from 'element-plus'
import { operatingIncomePage, operatingIncomeUpdate, operatingIncomeAdd, operatingIncomeBatchDelete } from './operatingIncomeApi'
@@ -103,6 +105,7 @@
  operatingIncome: '',
  totalCost: '',
  netProfit: '',
  earnForecast: '',
  financialIrr: '',
  marketSpace: '',
})
@@ -147,6 +150,19 @@
      trigger: 'blur'
    }
  ],
  earnForecast: [
    { required: true, message: '请输入', trigger: 'blur' },
    {
      validator: (rule, value, callback) => {
        if (!/^\d+(\.\d+)?$/.test(value)) {
          callback(new Error('请输入有效的数字(整数或小数)'))
        } else {
          callback()
        }
      },
      trigger: 'blur'
    }
  ],
  financialIrr: [
    { required: true, message: '请输入', trigger: 'blur' },
    {