无人机管理后台前端(已迁走)
chenyao
2025-09-16 4fe62764d85ef9621c5691f3224548b066f2cc9c
feat:更新日志管理和运营
2 files modified
127 ■■■■ changed files
src/views/flightLog/flightLog.vue 75 ●●●●● patch | view | raw | blame | history
src/views/operatingIncome/operatingIncome.vue 52 ●●●●● patch | view | raw | blame | history
src/views/flightLog/flightLog.vue
@@ -4,9 +4,8 @@
    <div class="search-box">
      <el-form :model="params" inline>
        <el-form-item label="日期:">
          <!-- <el-picker v-model="params.start_time" type="date" placeholder="开始日期" value-format="yyyy-MM-dd"></el-picker> -->
          <el-date-picker
            v-model="params.start_time"
            v-model="rangTime"
            type="daterange"
            range-separator="至"
            start-placeholder="开始日期"
@@ -36,6 +35,18 @@
        <el-table-column prop="end_time" label="结束时间" align="center">
          <template #default="scope">
            {{ timeFormatConvert(scope.row.end_time) }}
          </template>
        </el-table-column>
        <el-table-column prop="end_time" label="标签" align="center">
          <template #default="scope">
            <el-select v-model="scope.row.states">
              <el-option
                v-for="item in labelList"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              ></el-option>
            </el-select>
          </template>
        </el-table-column>
                <el-table-column label="操作" width="200" align="center">
@@ -88,10 +99,13 @@
import { downloadXls } from '@/utils/util';
const total = ref(0)
let rangTime = ref([])
const params = ref({
  // workspaceId: '6566662f-17c5-44f1-89d2-f09b37b81794',
  isFavorite: false,
  page: '1',
  page_size: '10',
  startTime: '',
  endTime: '',
});
let tableList = ref([])
@@ -113,6 +127,21 @@
  remark: ''
})
let labelList = ref([
  {
    value: '1',
    label: '标签1'
  },
  {
    value: '2',
    label: '标签2'
  },
  {
    value: '3',
    label: '标签3'
  },
])
function timeFormatConvert(time) {
  const date = new Date(time);
  return date.toLocaleString();
@@ -120,7 +149,7 @@
function cancelSearch() {
  params.value = {
    workspaceId: '',
    isFavorite: false,
    page: '1',
    page_size: '10',
  }
@@ -128,42 +157,36 @@
}
function getList() {
  params.value.startTime = rangTime.value[0] ? rangTime.value[0].getTime() : ''
  params.value.endTime = rangTime.value[1]? rangTime.value[1].getTime() : ''
  getHistoryTrack(params.value).then(res => {
    tableList.value = res.data.data.list || []
    total.value = res.data.data.pagination.total || 0
  })
}
// function handleDetail(row) {
//   isShowView.value = true
//   rowView.value = row
// }
// function handleDelete(row) {
//   console.log(row)
// }
// function handleAdd(row) {
//   isShowEditView.value = true
//   // editParams.value = { ...row }
// }
function handleAll() {
  tabType.value = '全部'
}
function handleStartList() {
  params.value.isFavorite = true
  tabType.value = '收藏'
  params.value.page = 1
  getList()
}
async function submit(formValidate) {
  if (!formValidate) return
  await formValidate.validate((valid, fields) => {
    if (valid) {
      algorithmManageEdit(editParams.value).then(res => {
        isShowEditView.value = false
        getList()
      })
    }
  })
}
// async function submit(formValidate) {
//   if (!formValidate) return
//   await formValidate.validate((valid, fields) => {
//     if (valid) {
//       algorithmManageEdit(editParams.value).then(res => {
//         isShowEditView.value = false
//         getList()
//       })
//     }
//   })
// }
// 收藏
function handleStar(row) {
src/views/operatingIncome/operatingIncome.vue
@@ -41,19 +41,6 @@
                @size-change="handleSizeChange" @current-change="handleCurrentChange" />
        </div>
  </div>
  <!-- <el-dialog class="ztzf-dialog" append-to-body v-model="isShowView" title="查看"
        :width="pxToRem(600)" :close-on-click-modal="false" :destroy-on-close="true">
        <div class="content">
      <table class="view-table" border>
        <tr>
          <td class="label">空域类型</td>
          <td class="value">{{ rowView.model_name }}</td>
          <td class="label">创建时间</td>
          <td class="value">{{ rowView.alg_type }}</td>
        </tr>
      </table>
    </div>
    </el-dialog> -->
  <el-dialog class="ztzf-dialog" append-to-body v-model="isShowEditView" :title="txtTitle"
        :width="pxToRem(800)" :close-on-click-modal="false" :destroy-on-close="true" @close="handleClose">
        <div class="content-edit">
@@ -61,17 +48,17 @@
        <el-form-item label="营业收入" prop="operating_income">
          <el-input v-model="editParams.operating_income" />
        </el-form-item>
        <el-form-item label="综合总成本费用">
        <el-form-item label="综合总成本费用" prop="total_cost">
          <el-input v-model="editParams.total_cost" />
        </el-form-item>
        <el-form-item label="净利润">
        <el-form-item label="净利润" prop="net_profit">
          <el-input v-model="editParams.net_profit" />
        </el-form-item>
        <el-form-item label="财务内部收益率">
        <el-form-item label="财务内部收益率" prop="financial_irr">
          <el-input v-model="editParams.financial_irr" />
        </el-form-item>
        <el-form-item label="市场空间">
          <el-input v-model="editParams.market_space" />
        <el-form-item label="市场空间" prop="market_space" style="width: 716px;">
          <el-input v-model="editParams.market_space"  />
        </el-form-item>
        <div class="btns">
          <el-button v-if="titleTxt === '新增'" type="primary" @click="submit(ruleFormRef)"><el-icon><CirclePlus /></el-icon>确认</el-button>
@@ -121,7 +108,7 @@
    }
  ],
  total_cost: [
    { required: false, message: '请输入综合总成本费用', trigger: 'blur' },
    { required: true, message: '请输入综合总成本费用', trigger: 'blur' },
    {
      validator: (rule, value, callback) => {
        if (!/^\d+(\.\d+)?$/.test(value)) {
@@ -134,7 +121,7 @@
    }
  ],
  net_profit: [
    { required: false, message: '请输入净利润', trigger: 'blur' },
    { required: true, message: '请输入净利润', trigger: 'blur' },
    {
      validator: (rule, value, callback) => {
        if (!/^\d+(\.\d+)?$/.test(value)) {
@@ -147,7 +134,7 @@
    }
  ],
  financial_irr: [
    { required: false, message: '请输入财务内部收益率', trigger: 'blur' },
    { required: true, message: '请输入财务内部收益率', trigger: 'blur' },
    {
      validator: (rule, value, callback) => {
        if (!/^\d+(\.\d+)?$/.test(value)) {
@@ -159,15 +146,10 @@
      trigger: 'blur'
    }
  ],
  market_space: [
    { required: true, message: '请输入市场空间', trigger: 'blur' },
  ],
})
function cancelSearch() {
  params.value = {
    algName: '',
    algTypeCode: '',
  }
  getList()
}
function getList() {
  operatingIncomePage(params.value).then(res => {
@@ -175,10 +157,6 @@
    total.value = res.data.data.total || 0
  })
}
// function handleDetail(row) {
//   isShowView.value = true
//   rowView.value = row
// }
function handleEdit(row) {
  titleTxt.value = '编辑'
  isShowEditView.value = true
@@ -339,12 +317,14 @@
.content-edit {
  .el-form {
    .el-form-item {
      width: 300px;
      width: 320px;
      :deep(.el-form-item__label) {
        width: 120px;
        width: 140px;
      }
    }
    // .el-form-item:last-child {
    //   width: 640px;
    // }
    .btns {
        display: flex;
        justify-content: center