13404089107
2025-05-12 6653b094e739ae3ffdd61ee94b69744e3ea945b1
对接口
3个文件已修改
3个文件已添加
271 ■■■■ 已修改文件
laboratory/src/components/chooseProject/index.vue 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/components/chooseProject/servce.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/views/reportLibrary/feasibilityStudy/add.vue 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/views/reportLibrary/feasibilityStudy/components/approval/index.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/views/reportLibrary/feasibilityStudy/index.vue 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/views/reportLibrary/feasibilityStudy/service.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
laboratory/src/components/chooseProject/index.vue
New file
@@ -0,0 +1,118 @@
<template>
    <div>
        <el-dialog title="选择项目组" :visible.sync="show" width="80%" @open="open" @close="$emit('close')">
            <TableCustom :queryForm="form" :total="total" :height="null">
                <template #search>
                    <el-form :model="form" label-width="140px" inline>
                        <el-form-item label="项目组名称:">
                            <el-input v-model="form.teamName" placeholder="请输入"></el-input>
                        </el-form-item>
                        <el-form-item label="项目负责人:">
                            <el-input v-model="form.personCharge" placeholder="请输入"></el-input>
                        </el-form-item>
                        <el-form-item label="创建日期:">
                            <el-date-picker v-model="form.date" type="daterange" range-separator="至"
                                start-placeholder="开始日期" end-placeholder="结束日期"
                                value-format="yyyy-MM-dd"></el-date-picker>
                        </el-form-item>
                        <el-form-item label="" class="search-btn-box">
                            <el-button type="default" @click="resetForm">重置</el-button>
                            <el-button type="primary" @click="handleSearch">查询</el-button>
                        </el-form-item>
                    </el-form>
                </template>
                <template #tableCustom>
                    <Table ref="memberTable" :height="null" :row-key="row => row.id" :data="tableData" :total="0"
                        highlight-current-row @current-change="handleCurrentChange">
                        <!-- <el-table-column type="selection" width="55" /> -->
                        <el-table-column prop="teamName" label="项目组名称"></el-table-column>
                        <el-table-column prop="personCharge" label="项目负责人"></el-table-column>
                        <el-table-column prop="staffName" label="项目组成员"></el-table-column>
                        <el-table-column prop="createTime" label="创建时间"></el-table-column>
                    </Table>
                </template>
            </TableCustom>
            <span slot="footer" class="select-member-footer">
                <el-button @click="$emit('close')">取 消</el-button>
                <el-button type="primary" @click="submitData">确 定</el-button>
            </span>
        </el-dialog>
    </div>
</template>
<script>
import { getDataList } from './servce'
export default {
    props: {
        show: {
            type: Boolean,
            default: false
        },
        selectedData: {
            type: Object,
            default: () => ({})
        }
    },
    data() {
        return {
            form: {
                date: '',
                personCharge: '',
                pageNum: 1,
                pageSize: 10,
                startTime: '',
                endTime: '',
                teamName: '',
            },
            selectData: [],
            tableData: [],
            total: 0
        }
    },
    methods: {
        open() {
            getDataList({ ...this.form }).then(res => {
                console.log('/////////////', res);
                this.tableData = res.data.records || []
                this.total = res.data.total || 0
                if (this.selectedData && this.selectedData.id) {
                    this.selectData = this.selectedData
                    this.$nextTick(() => {
                        const row = this.tableData.find(item => item.id === this.selectedData.id)
                        if (row) {
                            this.$refs.memberTable.toggleRowSelection(row, true)
                        }
                    })
                }
            })
        },
        resetForm() {
            this.form = {
                date: '',
                personCharge: '',
                pageNum: 1,
                pageSize: 10,
                startTime: '',
                endTime: '',
                teamName: '',
            }
            this.handleSearch()
        },
        handleSearch() {
            console.log('shuju',this.form);
            this.open()
        },
        submitData(){
            this.$emit('submit',this.selectData)
        },
        handleCurrentChange(val) {
            this.selectData = val;
        },
    }
}
</script>
<style lang="less" scoped></style>
laboratory/src/components/chooseProject/servce.js
New file
@@ -0,0 +1,6 @@
import axios from '@/utils/request';
// 添加项目课题方案
export function getDataList(data) {
  return axios.post('/api/t-project-team/pageList', { ...data })
}
laboratory/src/views/reportLibrary/feasibilityStudy/add.vue
@@ -12,12 +12,12 @@
                </div>
            </div>
            <Table :height="null" :queryForm="queryForm" :total="0">
            <Table :height="null" :data="tableData" :queryForm="queryForm" :total="0">
                <template>
                    <el-table-column prop="name" label="项目组名称" />
                    <el-table-column prop="age" label="项目负责人" />
                    <el-table-column prop="age" label="项目组成员" />
                    <el-table-column prop="age" label="创建时间" />
                    <el-table-column prop="teamName" label="项目组名称" />
                    <el-table-column prop="personCharge" label="项目负责人" />
                    <el-table-column prop="staffName" label="项目组成员" />
                    <el-table-column prop="createTime" label="创建时间" />
                </template>
            </Table>
            <el-form ref="form" :model="form" :rules="rules" inline label-position="top" style="margin-top: 38px">
@@ -27,9 +27,9 @@
                        <div>报告编号</div>
                    </div>
                </div>
                <form-item prop="name" style="margin-top: 38px">
                    <el-input v-model="form.name" style="width: 100%;" placeholder="请输入报告编号" />
                </form-item>
                <el-form-item prop="reportCode" style="margin-top: 38px">
                    <el-input v-model="form.reportCode" style="width: 100%;" placeholder="请输入报告编号" />
                </el-form-item>
                <div class="header-title" style="width: 100%;">
                    <div class="header-title-left">
@@ -37,9 +37,9 @@
                        <div>报告名称</div>
                    </div>
                </div>
                <form-item prop="name" style="margin-top: 38px">
                    <el-input v-model="form.name" style="width: 100%;" placeholder="请输入报告编号" />
                </form-item>
                <el-form-item prop="reportName" style="margin-top: 38px">
                    <el-input v-model="form.reportName" style="width: 100%;" placeholder="请输入报告编号" />
                </el-form-item>
                <div class="header-title" style="width: 100%;">
                    <div class="header-title-left">
@@ -47,35 +47,40 @@
                        <div>报告正文</div>
                    </div>
                </div>
                <form-item prop="name" style="margin-top: 38px">
                    <ai-editor v-model="form.name" style="width: 100%;" placeholder="请输入报告编号" />
                </form-item>
                <el-form-item prop="reportText" style="margin-top: 38px">
                    <ai-editor v-model="form.reportText" style="width: 100%;" placeholder="请输入报告编号" />
                </el-form-item>
                <div class="header-title" style="width: 100%;">
                    <div class="header-title-left">
                        <img src="@/assets/public/headercard.png" />
                        <div>附件</div>
                        <div class="noRequire">附件</div>
                    </div>
                </div>
                <form-item prop="name" style="margin-top: 38px">
                <el-form-item prop="name" style="margin-top: 38px">
                    <el-upload action="https://jsonplaceholder.typicode.com/posts/" :file-list="fileList">
                        <el-button size="small" type="primary">点击上传</el-button>
                    </el-upload>
                </form-item>
                </el-form-item>
                <div class="end-btn" style="margin-top: 38px">
                    <el-button type="primary">发送</el-button>
                    <el-button type="default">存草稿</el-button>
                    <el-button type="primary" @click="submit">发送</el-button>
                    <el-button type="default" @clice="save">存草稿</el-button>
                </div>
            </el-form>
        </Card>
        <chooseProject @submit="getProjectData" :show="showChoose" @close="showChoose = false"></chooseProject>
    </div>
</template>
<script>
import { Card } from 'element-ui';
import AiEditor from '@/components/AiEditor'
import chooseProject from '@/components/chooseProject'
export default {
    components: { AiEditor },
    components: {
        AiEditor,
        chooseProject
    },
    data() {
        return {
            form: {
@@ -89,6 +94,7 @@
                approver: "",
                approveTime: ""
            },
            tableData: [],
            fileList: [], // 附件列表
            showChoose: false,
            radio1: 1,
@@ -99,7 +105,24 @@
            }
        }
    }
    },
    methods: {
        //获取选择项目组数据
        getProjectData(data) {
            console.log('4458454', data);
            this.tableData = [data]
            this.$forceUpdate()
            console.log('dsadasdsad', this.tableData);
            this.showChoose = false
        },
        submit(){
        },
        save(){
        },
    },
}
</script>
@@ -138,6 +161,13 @@
            }
        }
        .noRequire:before {
            content: unset;
            // color: #f56c6c;
            // margin-right: 4px;
        }
        span {
            flex-shrink: 0;
            font-weight: bold;
laboratory/src/views/reportLibrary/feasibilityStudy/components/approval/index.vue
@@ -12,8 +12,8 @@
                                <div>所属项目组</div>
                            </div>
                        </div>
                        <Table :height="null" :queryForm="queryForm" :total="0" @currentChange="handleCurrentChange"
                            @sizeChange="handleSizeChange">
                        <Table :height="null" :total="0" @handleCurrentChange="handleCurrentChange"
                            @handleSizeChange="handleSizeChange">
                            <template>
                                <el-table-column prop="name" label="项目组名称" />
                                <el-table-column prop="age" label="项目负责人" />
@@ -183,6 +183,15 @@
                status: "rejected",
            });
        },
        handleCurrentChange(page) {
            this.form.pageNum = page
            this.getList()
        },
        handleSizeChange(size) {
            this.form.pageSize = size
            this.getList()
        },
    },
};
</script>
laboratory/src/views/reportLibrary/feasibilityStudy/index.vue
@@ -10,18 +10,18 @@
                <p>2、在可行研究阶段,工艺开发升级,重新规划工艺研究路线,则以新规划的工艺路线方案来设定课题。</p>
            </div>
        </el-card>
        <TableCustom :queryForm="queryForm" :total="total" @currentChange="handleCurrentChange"
            @sizeChange="handleSizeChange">
        <TableCustom :tableData="tableData" :total="total" @handleCurrentChange="handleCurrentChanges"
            @handleSizeChange="handleSizeChanges">
            <template #search>
                <el-form :model="form" label-width="auto" inline>
                    <el-form-item label="所属项目组:">
                        <el-input v-model="form.name" placeholder="请输入"></el-input>
                        <el-input v-model="form.teamName" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="报告名称:">
                        <el-input v-model="form.name" placeholder="请输入"></el-input>
                        <el-input v-model="form.reportName" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="报告编号:">
                        <el-input v-model="form.name" placeholder="请输入"></el-input>
                        <el-input v-model="form.reportCode" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="创建日期:">
                        <el-date-picker v-model="form.date" type="daterange" range-separator="至"
@@ -54,19 +54,19 @@
            </template>
            <template #table>
                <el-table-column prop="name" label="所属项目组" />
                <el-table-column prop="age" label="报告编号" />
                <el-table-column prop="age" label="报告名称" />
                <el-table-column prop="age" label="创建人" />
                <el-table-column prop="age" label="创建时间" />
                <el-table-column prop="age" label="状态">
                <el-table-column prop="teamName" label="所属项目组" />
                <el-table-column prop="reportCode" label="报告编号" />
                <el-table-column prop="reportName" label="报告名称" />
                <el-table-column prop="createBy" label="创建人" />
                <el-table-column prop="createTime" label="创建时间" />
                <el-table-column prop="status" label="状态">
                    <template #default="{ row }">
                        <el-tag v-if="row.status == 1" type="success">待审核</el-tag>
                        <el-tag v-else-if="row.status == 0" type="success">已通过</el-tag>
                        <el-tag v-else type="danger">已驳回</el-tag>
                    </template>
                </el-table-column>
                <el-table-column prop="age" label="操作">
                <el-table-column prop="options" label="操作">
                    <template #default="{ row }">
                        <el-button type="text">审核</el-button>
                        <el-button type="text">详情</el-button>
@@ -84,6 +84,7 @@
<script>
import Approval from './components/approval'
import { getDataList } from './service'
export default {
    name: 'ProjectList',
@@ -101,13 +102,27 @@
            showApproval: false,
            changeStatusTitle: '',
            changeStatusTip: '',
            queryForm: {
            tableData:[],
            form: {
                pageSize: 10,
                pageNum: 1
                pageNum: 1,
                teamName:'',
                status:'',
                startTime:'',
                reportType:1,
                reportName:'',
                reportCode:'',
                endTime:'',
                date:''
            },
            total: 0
        }
    },
    mounted() {
        this.getList()
    },
    methods: {
        handleAddProject() {
            this.$router.push('/reportLibrary/add')
@@ -136,15 +151,20 @@
            this.changeStatusTip = ''
            this.getList()
        },
        handleCurrentChange(page) {
            this.queryForm.pageNum = page
        handleCurrentChanges(page) {
            this.form.pageNum = page
            this.getList()
        },
        handleSizeChange(size) {
            this.queryForm.pageSize = size
        handleSizeChanges(size) {
            this.form.pageSize = size
            this.getList()
        },
        getList() {
            getDataList(this.form).then(res => {
                console.log('sdasdasdqweqw',res);
                this.tableData = res.records || []
                this.total = res.total || 0
            })
        }
    }
laboratory/src/views/reportLibrary/feasibilityStudy/service.js
New file
@@ -0,0 +1,6 @@
import axios from '@/utils/request';
// 添加项目课题方案
export function getDataList(data) {
  return axios.post('/api/t-feasibility-study-report/pageList', { ...data })
}