老师我学完课程,找了个工作,公司安排的项目任务看不懂

老师我学完课程,找了个工作,公司安排的项目任务看不懂

http://img1.sycdn.imooc.com//climg/60dbf509097632e919020917.jpg


http://img1.sycdn.imooc.com//climg/60dbf52709b1974518350924.jpg

我要做的页面,差不多就是这样。


现在的雏形是这样:

http://img1.sycdn.imooc.com//climg/60dbf58f0914040d18530792.jpg


自动生成的代码是这样

<template>

    <div class="full-content">

        <div class="table-content">

            <!-- 搜索区域 -->

            <vt-filter

                :data="filterInfo.data"

                :field-list="filterInfo.fieldList"

                :list-type-info="filterInfo.listTypeInfo"

                @handleSearch="handleSearch"

                @handleReset="handleReset"

            />

            <!-- 操作区域 -->

            <vt-deploy

                :col-list="tableInfo.columns"

                @handleRefresh="handleRefresh"

                @updateColList="updateColList"

            />

            <!-- 表格区域 -->

            <vt-table-plus

                ref="VtTablePlus"

                :key="componentKey"

                :sn-visible="true"

                :data="tableInfo.data"

                :columns="tableInfo.columns"

                :loading="tableInfo.loading"

                :pagination="pagination"

                @handleSelect="handleSelect"

                @handleSizeChange="handleSizeChange"

                @handleCurrentChange="handleCurrentChange"

            />

        </div>

    </div>

</template>



<script>

/**

@author user<E-mail@vtstar.net>

@desc 业务内容

@date 2021-02-02

*/

import { filterInfotableInfo } from './data';


export default {

    name: '',

    components: {

    },

    data() {

        return {

            /**

             * filter

             */

            filterData: {},

            filterInfo: _.cloneDeep({ ...filterInfo }),

            /**

             * table

             */

            componentKey: true,

            tableInfo: _.cloneDeep({ ...tableInfo }),

            selectData: [], //table被选中数据

            pagination: {}

        }

    },

    mounted() {

    },

    methods: {

        /**

         * table

         */

        // getData

        getTableList() {

            let query = {

                pageNum: this.pagination.pageNum,

                pageSize: this.pagination.pageSize,

                ...this.filterData,

            }

            if (Array.isArray(this?.filterData?.applyTime)) {

                query.applyTimeBegin = this?.filterData?.applyTime?.[0] || null

                query.applyTimeEnd = this?.filterData?.applyTime?.[1] || null

            }

            delete query.applyTime

            this.$service(

                'GET',

                this.$global.bus + '/api/apply/page',

                query

            ).then(res => {

                this.pagination.total = res.total

                this.tableInfo.data = _.cloneDeep(res.list)

            })

        },

        //表格选择变化触发

        handleSelect(data) {

            this.selectData = _.cloneDeep(data)

        },

        /**

         * deploy

         */

        handleAdd() {

            this.$refs.AddForDialog.visible = true

        },

        handleView() {

            this.$refs.ViewForDialog.visible = true

            this.$refs.ViewForDialog.id = this.selectData[0].id

        },

        handleCancel() {

            this.$refs.ViewForDialog.visible = false

        },

        handleEdit() {

            this.$refs.EditForDialog.visible = true

            this.$refs.EditForDialog.id = this.selectData[0].id

        },

        handlewithdraw() {

            if (this.selectData && this.selectData.length > 0) {

                this.$confirm("是否撤回此次提交?""提示", {

                    confirmButtonText: "确定",

                    cancelButtonText: "取消",

                    type: "warning",

                }).then(async () => {

                    try {

                        let query = {

                            idList: this.selectData.map(item => item.id)

                        }

                        await this.$service(

                            "PUT",

                            this.$global.bus + `/api/apply/revert`,

                            query

                        )

                        this.$message.success("撤回成功")

                        await this.getTableList()

                    } catch (err) {

                        throw err;

                    }

                })

            }

        },

        handleReceive() {

            if (this.selectData && this.selectData.length > 0) {

                this.$confirm("确认收到奖补""提示", {

                    confirmButtonText: "确定",

                    cancelButtonText: "取消",

                    type: "warning",

                }).then(async () => {

                    try {

                        let query = {

                            idList: this.selectData.map(item => item.id)

                        }

                        await this.$service(

                            "PUT",

                            this.$global.bus + `/api/apply/confirm`,

                            query

                        )

                        this.$message.success("已收到奖补")

                        await this.getTableList()

                    } catch (err) {

                        throw err;

                    }

                })

            }

        },

        // delete

        handleDel() {

            if (this.selectData && this.selectData.length > 0) {

                this.$confirm("此操作将永久删除数据, 是否继续?""提示", {

                    confirmButtonText: "确定",

                    cancelButtonText: "取消",

                    type: "warning",

                }).then(async () => {

                    try {

                        let query = {

                            idList: this.selectData.map(item => item.id)

                        }

                        await this.$service(

                            "DELETE",

                            this.$global.bus + `/api/apply/del`,

                            query

                        )

                        this.$message.success("删除成功")

                        await this.getTableList()

                    } catch (err) {

                        throw err;

                    }

                })

            }

        },

        handleProgress() {

            this.$refs.ViewForProcess.visible = true;

            this.$refs.ViewForProcess.id = this.selectData[0].id;

        },

        /**

         * filter

         */

        getApplyStatusList() {

            this.$service(

                'POST',

                this.$global.bus + '/api/base/enum/{type}',

                {type: 1}

            ).then(res => {

                this.filterInfo.listTypeInfo.applyStatusList = res.statusList.map(item => {

                    item.name = item.desc

                    return item

                })

            })

        },

        handleCurrentChange(){},

        handleSizeChange(){},

        updateColList() {},

        handleRefresh(){},

        handleSearch(){},

        handleReset(){}

    },

}

</script>



<style lang='scss' scoped >

</style>

http://img1.sycdn.imooc.com//climg/60dbf5ca097b65b702150270.jpg


我该怎么去开发代码呢? 什么样的思路和步骤呢?

怎么获取数据?

可以指导一下吗?老师


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2021-06-30 14:50:31

同学你好,解答如下:

1、进入新公司第一件并不是写代码,而是捋顺项目。要把项目的目录结构、组件与页面的对应关系等内容捋清楚。可以根据路由,先看和首页相关的组件有哪些;再根据跳转关系,看其他页面的组件。

页面、组件对应关系看清楚后,再根据路由,去看某一个页面的具体代码。

2、可以先看几个页面的代码,体会一下其他人是怎么写代码的。看代码的过程中,你会获取到一些关键的信息,比如项目中使用了什么插件发送了ajax请求,以及怎么使用的;哪些功能是被封装过的,这些功能,能实现什么样的效果,参数是什么。

3、看不懂的内容,可以问同事,因为他们对项目会非常熟悉,也能给你很多关键的信息。不会写的内容,可以搜索,从网上的资料中获取灵感。

4、获取数据,可以使用axios,咱们的项目中,有大量使用axios发送请求的代码,可以参考一下:

http://img1.sycdn.imooc.com//climg/60dc11d2094247ea06900297.jpg

也可以看看项目中,使用了什么,然后按照项目中的代码,改写即可。

5、刚入职新公司,看不懂项目很正常,但是要用心的去琢磨、去研究、去问(虚心好学)。关于具体的代码,老师无法提供具体的帮助,只能靠同学自己尝试去写、去解决。

实际开发中,最重要的就是“面对问题、解决问题”的能力,这需要一点点锻炼,不能急。不要轻易否定自己,只要你去思考、去琢磨,总能找到思路和灵感的。

祝学习愉快!

  • 提问者 xiao白做大事 #1

    谢谢老师的回答。

    我就是刚入职,然后面试的时候也还是信心满满,但是看项目的时候,就发现完全看不懂,就慌了,就很着急。

    就怀疑是不是自己掌握的知识不够多,然后就自我否定,就很难受。

    2021-06-30 16:32:46
  • 提问者 xiao白做大事 #2

    我这个现象是不是刚入职的人会经常遇到啊?

    2021-06-30 16:33:28
  • 好帮手慕久久 回复 提问者 xiao白做大事 #3

    同学你好,这是非常、非常、非常正常的现象。如果学完就能立刻独立写项目,那么编程就不再是一个高薪工作了,因为任何人都能干。不光是同学,哪怕是一个高级程序员,他在接手新项目的时候,也需要花时间去熟悉项目和代码。

    所以不要急,不要否定自己,心态平和些。哪怕这家公司,我们真的不能胜任它的工作,只要在就职期间的每一天都不虚度,有所收获,那么就值了。因为经验是需要一点点积累的,积累的多了,总有一天我们就行了。

    心态放松,处好同学关系,能抗压,认真努力,做到这些,你的领导和同事就会认可你,那么工作就会顺利起来。

    祝学习愉快!

    2021-06-30 17:52:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师