hejianhao
2025-04-01 dee2680e88ea7a43a025d36ae9bb4e17e3e87020
Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory
1个文件已删除
1个文件已修改
1 文件已重命名
1个文件已添加
173 ■■■■ 已修改文件
src/router/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/approvalPlan/list.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataManagement/approvalPlan/list.vue 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataManagement/dispatching/list.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js
@@ -81,7 +81,7 @@
                            title: "项目课题方案审批",
                            keepAlive: true,
                        },
                        component: () => import("../views/approvalPlan/list.vue"),
                        component: () => import("../views/dataManagement/approvalPlan/list.vue"),
                    },
                    {
                        path: "/dispatching",
@@ -89,7 +89,7 @@
                            title: "实验调度管理",
                            keepAlive: true,
                        },
                        component: () => import("../views/dispatching/list.vue"),
                        component: () => import("../views/dataManagement/dispatching/list.vue"),
                    },
                ],
            }
src/views/approvalPlan/list.vue
File was deleted
src/views/dataManagement/approvalPlan/list.vue
New file
@@ -0,0 +1,152 @@
<template>
  <div class="list">
    <TableCustom :queryForm="form" :tableData="tableData" :total="total">
      <template #search>
        <el-form :model="form" label-width="140px" inline>
          <el-form-item label="项目课题方案名称:">
            <el-input v-model="form.planName" placeholder="请输入"></el-input>
          </el-form-item>
          <el-form-item label="项目课题方案编号:">
            <el-input v-model="form.planCode" placeholder="请输入"></el-input>
          </el-form-item>
          <el-form-item label="创建人:">
            <el-input v-model="form.creator" placeholder="请输入"></el-input>
          </el-form-item>
          <el-form-item label="创建时间:">
            <el-date-picker
              v-model="form.createTime"
              type="daterange"
              range-separator="至"
              start-placeholder="开始日期"
              end-placeholder="结束日期"
              value-format="yyyy-MM-dd"
            ></el-date-picker>
          </el-form-item>
          <el-form-item label="审批人:">
            <el-input v-model="form.approver" placeholder="请输入"></el-input>
          </el-form-item>
          <el-form-item label="">
            <el-button type="default" @click="resetForm">重置</el-button>
            <el-button type="primary" @click="handleSearch">查询</el-button>
          </el-form-item>
        </el-form>
      </template>
      <template #setting>
        <div class="tableTitle">
          <div class="title">项目课题方案列表</div>
        </div>
      </template>
      <template #table>
          <el-table-column prop="planCode" label="项目课题方案编号"></el-table-column>
          <el-table-column prop="planName" label="项目课题方案名称"></el-table-column>
          <el-table-column prop="stage" label="项目阶段"></el-table-column>
          <el-table-column prop="creator" label="创建人"></el-table-column>
          <el-table-column prop="createTime" label="创建日期"></el-table-column>
          <el-table-column prop="status" label="审批状态">
            <template slot-scope="scope">
              <el-tag :type="getStatusType(scope.row.status)">
                {{ getStatusText(scope.row.status) }}
              </el-tag>
            </template>
          </el-table-column>
          <el-table-column prop="approver" label="审批人"></el-table-column>
          <el-table-column prop="approveTime" label="审批时间"></el-table-column>
          <el-table-column label="操作" width="150">
            <template slot-scope="scope">
              <el-button
                v-if="scope.row.status === 'pending'"
                type="text"
                @click="handleApprove(scope.row)"
              >审批</el-button>
              <el-button
                type="text"
                @click="handleDetail(scope.row)"
              >详情</el-button>
            </template>
          </el-table-column>
      </template>
    </TableCustom>
  </div>
</template>
<script>
export default {
  name: "ProjectList",
  data() {
    return {
      form: {
        planName: "",
        planCode: "",
        creator: "",
        createTime: [],
        approver: "",
        status: ""
      },
      tableData: [],
      total: 0
    };
  },
  methods: {
    resetForm() {
      this.form = {
        planName: "",
        planCode: "",
        creator: "",
        createTime: [],
        approver: "",
        status: ""
      };
    },
    handleSearch() {
      // 实现查询逻辑
      console.log('查询条件:', this.form);
    },
    getStatusType(status) {
      const statusMap = {
        pending: 'warning',
        rejected: 'danger',
        approved: 'success',
        archived: 'info'
      };
      return statusMap[status] || 'info';
    },
    getStatusText(status) {
      const statusMap = {
        pending: '待审批',
        rejected: '已驳回',
        approved: '已通过',
        archived: '已封存'
      };
      return statusMap[status] || '未知';
    },
    handleApprove(row) {
      // 实现审批逻辑
      console.log('审批数据:', row);
    },
    handleDetail(row) {
      // 实现查看详情逻辑
      console.log('查看详情:', row);
    }
  }
};
</script>
<style scoped lang="less">
.list {
  height: 100%;
}
.tableTitle {
  display: flex;
  padding-bottom: 20px;
  .title {
    background: #ffffff;
    border-radius: 8px 8px 0px 0px;
    border: 1px solid #049c9a;
    padding: 16px 29px;
    font-weight: bold;
    font-size: 18px;
    color: #049c9a;
    width: unset;
  }
}
</style>
src/views/dataManagement/dispatching/list.vue