| | |
| | | <!-- 运营收益 --> |
| | | <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" /> |
| | |
| | | <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> |
| | |
| | | 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> |
| | |
| | | </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' |
| | | |
| | |
| | | operatingIncome: '', |
| | | totalCost: '', |
| | | netProfit: '', |
| | | earnForecast: '', |
| | | financialIrr: '', |
| | | marketSpace: '', |
| | | }) |
| | |
| | | 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' }, |
| | | { |