<template>
    <div class="project-apply-detail app-container">
        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" >
            <el-form-item label="公司名称" prop="compId">
                <el-select v-model="queryParams.compId" placeholder="请选择公司" clearable @change="compChange">
                    <el-option v-for="it in compList" :key="it.deptId" :label="it.deptName"
                        :value="it.deptId" />
                </el-select>
            </el-form-item>
            <el-form-item label="段队" prop="subDeptId">
                <el-select v-model="queryParams.subDeptId" placeholder="请选择段队" clearable @change="subDeptChange">
                    <el-option v-for="it in subDeptList" :key="it.deptId" :label="it.deptName"
                        :value="it.deptId" />
                </el-select>
            </el-form-item>            
            <el-form-item label="项目" prop="subDeptId">
                <el-select v-model="queryParams.prjId" placeholder="请选择项目" clearable @change="prjChange">
                    <el-option v-for="it in prjList" :key="it.deptId" :label="it.deptName"
                        :value="it.deptId" />
                </el-select>
            </el-form-item>
            <el-form-item label="临建项目" prop="tmpPrjId">
                <el-select v-model="queryParams.tmpPrjId" placeholder="请选择临建项目" clearable @change="handleQuery">
                    <el-option v-for="it in tmpPrjList" :key="it.id" :label="it.name"
                        :value="it.id" />
                </el-select>
            </el-form-item>           
            <el-form-item>
                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
                <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
            </el-form-item>
        </el-form>
        <el-table v-loading="loading" :data="detailList" row-key="id">
            <el-table-column prop="typeName" label="项目名称" width="200"></el-table-column>
            <el-table-column prop="superTypeKey" label="临建项目名称" width="200"></el-table-column>
            <el-table-column prop="superTypeName" label="物资类别"  width="200"></el-table-column>
            <el-table-column prop="assetsName" label="物资名称"></el-table-column>
            <el-table-column prop="assetsVersion" label="物资型号"></el-table-column>
            <el-table-column prop="pushType" label="计划分类">
                <template slot-scope="scope">{{ scope.row.pushType!=3?'计划内':'计划外'}}</template>
            </el-table-column>
            <el-table-column prop="assetsUnit" label="计量单位"></el-table-column>
            <el-table-column prop="number" label="计划数量"></el-table-column>
            <el-table-column prop="checkedTotalValue" label="实际采购数量"></el-table-column>
            <el-table-column prop="assetsId" label="状态">
                <template slot-scope="scope">{{ scope.row.assetsId==1?'审批中':scope.row.assetsId==10?'待验收':'验收完成'}}</template>
            </el-table-column>
            <el-table-column label="申请日期" align="center" prop="createTime" width="200">
                <template slot-scope="scope">
                    <span>{{ parseTime(scope.row.createTime) }}</span>
                </template>
            </el-table-column>
            <el-table-column label="验收日期" align="center" prop="updateTime" width="200">
                <template slot-scope="scope">
                    <span>{{scope.row.assetsId==100? parseTime(scope.row.updateTime):'' }}</span>
                </template>
            </el-table-column>
        </el-table>
        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
            @pagination="getList" />

    </div>
</template>

<script>
import { listDept } from "@/api/system/dept";
import { listProjectInfo } from "@/api/project/projectInfo";
import { detailProjectList } from "@/api/project/projectApply";
export default {
    name: 'YanzhuUiProjectApplyDetail',

    data() {
        return {
            detailList:[],
            queryParams: {
                pageNum: 1,
                pageSize: 10,
                compId:'',
                subDeptId:'',
                prjId:'',
                tmpPrjId:'',
                deptId:'',
            },
            loading:false,
            allDepts:[{deptId:'',deptName:'所有'}],
            compList:[{deptId:'',deptName:'所有'}],
            subDeptList:[{deptId:'',deptName:'所有'}],
            prjList:[{deptId:'',deptName:'所有'}],
            tmpPrjList:[{id:'',name:'所有'}],
            total: 0,
        };
    },
    mounted() {
        let deptId=this.$store.state.user.info.parDeptId;
        this.queryParams.deptId=deptId;
        listDept({deptId:deptId}).then(d=>{
            this.allDepts=d.data||[];
            let tmps=this.allDepts.filter(d=>d.level==1);
            this.compList=[{deptId:'',deptName:'所有'},...tmps];
        });
        this.getList();
    },

    methods: {
        compChange(){
            let tmps=this.queryParams.compId?this.allDepts.filter(d=>d.level==2 &&  (","+d.ancestors+",").indexOf(","+this.queryParams.compId+",")>=0):[];
            this.subDeptList=[{deptId:'',deptName:'所有'},...tmps];
            this.queryParams.subDeptId=""
            this.queryParams.prjId="";
            this.queryParams.tmpPrjId="";
            this.prjList=[{deptId:'',deptName:'所有'}]
            this.tmpPrjList=[{id:'',name:'所有'}]
        },
        subDeptChange(){
            let tmps=this.queryParams.subDeptId?this.allDepts.filter(d=>d.level==300 &&  (","+d.ancestors+",").indexOf(","+this.queryParams.subDeptId+",")>=0):[];
            this.prjList=[{deptId:'',deptName:'所有'},...tmps];
            this.queryParams.prjId="";
            this.queryParams.tmpPrjId="";
            this.tmpPrjList=[{id:'',name:'所有'}]
        },
        prjChange(){
            if(!this.queryParams.prjId){
                this.tmpPrjList=[{id:'',name:'所有'}];
                this.queryParams.tmpPrjId="";
                return;
            }
            listProjectInfo({deptId:this.queryParams.prjId, pageNum: 1,
                pageSize: 100,}).then(d=>{
                    let tmps=d.rows||[];
                this.tmpPrjList=[{id:'',name:'所有'},...tmps];
                this.queryParams.tmpPrjId="";
            });
        },
        getList(){
            let query={
                pageNum: this.queryParams.pageNum,
                pageSize: this.queryParams.pageSize,
            };
            if(this.queryParams.tmpPrjId){
                query.projectId=this.queryParams.tmpPrjId
            }else if(this.queryParams.prjId){
                query.parProjectId=this.queryParams.prjId;
            }else if(this.queryParams.subDeptId){
                query.deptId=this.queryParams.subDeptId;
            }else if(this.queryParams.compId){
                query.deptId=this.queryParams.compId;
            }else{
                query.deptId=this.queryParams.deptId;
            }
            detailProjectList(query).then(d=>{
                this.total=d.total;
                this.detailList=d.rows||[];
            });
        },
        handleQuery(){
            this.queryParams.pageNum=1;
            this.getList()
        },
        resetQuery(){
            this.queryParams.pageNum=1;
            this.queryParams.compId="";
            this.compList=[{deptId:'',deptName:'所有'}];
            this.compChange();
        }
    },
};
</script>