<template>
    <div class="app-container" id="costApplyList">
        <el-form
            :model="queryParams"
            ref="queryForm"
            size="small"
            :inline="true"
            v-show="showSearch"
            label-width="80px"
        >
            <el-form-item label="结算单位" prop="unitId">
                <el-select
                    v-model="queryParams.unitId"
                    placeholder="请选择往来单位"
                    clearable
                    filterable
                >
                    <el-option
                        v-for="item in unitList"
                        :key="item.unitId"
                        :label="item.unitName"
                        :value="item.unitId"
                    ></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="结算工程" prop="projectId">
                <el-select
                    v-model="queryParams.projectId"
                    placeholder="请选择工程名称"
                    clearable
                    filterable
                >
                    <el-option
                        v-for="item in projectList"
                        :key="item.projectId"
                        :label="item.projectName"
                        :value="item.projectId"
                    ></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="结算状态" prop="sltStatus">
                <el-select
                    v-model="queryParams.sltStatus"
                    placeholder="请选择结算状态"
                    clearable
                    filterable
                >
                    <el-option
                        v-for="item in statusList"
                        :key="item.id"
                        :label="item.name"
                        :value="item.id"
                    ></el-option>
                </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-button
          type="primary"
          plain
          size="mini"
          @click="handleApplyList"
        >审核</el-button> -->
            </el-form-item>
        </el-form>

        <el-table
            v-loading="loading"
            :data="agreementList"
            @selection-change="handleSelectionChange"
        >
            <el-table-column type="selection" width="55" align="center" />
            <el-table-column
                label="序号"
                align="center"
                width="80"
                type="index"
                :index="
                    indexContinuation(queryParams.pageNum, queryParams.pageSize)
                "
            >
                <!-- <template slot-scope="scope">
                    <span>{{
                        (queryParams.pageNum - 1) * 10 + scope.$index + 1
                    }}</span>
                </template> -->
            </el-table-column>
            <el-table-column
                label="结算单编号"
                align="center"
                prop="code"
                :show-overflow-tooltip="true"
            />

            <el-table-column
                label="结算单位"
                align="center"
                prop="unitName"
                :show-overflow-tooltip="true"
            />
            <el-table-column
                label="结算工程"
                align="center"
                prop="projectName"
                :show-overflow-tooltip="true"
            />
            <el-table-column
                label="合计费用"
                align="center"
                prop="cost"
                :show-overflow-tooltip="true"
            />
            <el-table-column
                label="结算状态"
                align="center"
                prop="status"
                :show-overflow-tooltip="true"
            >
                <template slot-scope="scope">
                    <span v-if="scope.row.status == '0'">待审核</span>
                    <span v-if="scope.row.status == '1'">审核通过</span>
                    <span v-if="scope.row.status == '2'">审核驳回</span>
                </template>
            </el-table-column>

            <el-table-column
                label="操作"
                align="center"
                width="300"
                class-name="small-padding fixed-width"
            >
                <template slot-scope="scope">
                    <el-button
                        size="mini"
                        type="primary"
                        icon="el-icon-edit"
                        @click="handleExame(scope.row)"
                        v-if="scope.row.status == '0'"
                        >审批</el-button
                    >
                    <!-- <el-button
            size="mini"
            type="danger" 
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
          >撤销申请</el-button> -->
                </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 {
    getAgreementList,
    getUnitList,
    getProjectList,
} from '@/api/claimAndRefund/receive'
import { getSltExam } from '@/api/cost/cost'

export default {
    name: 'CostApplyList',
    dicts: ['sys_normal_disable'],
    data() {
        return {
            // 遮罩层
            loading: true,
            // 选中数组
            ids: [],
            // 非单个禁用
            single: true,
            // 非多个禁用
            multiple: true,
            // 显示搜索条件
            showSearch: true,
            // 总条数
            total: 0,
            // 往来单位数据
            unitList: [],
            // 工程数据
            projectList: [],
            statusList: [
                { id: '0', name: '待审核' },
                { id: '1', name: '审核通过' },
                { id: '2', name: '审核驳回' },
            ], //集合
            // 表格数据
            agreementList: [],
            // 弹出层标题
            title: '',
            // 是否显示弹出层
            open: false,
            // 日期范围
            dateRange: [],
            // 查询参数
            queryParams: {
                pageNum: 1,
                pageSize: 10,
                keyWord: undefined,
                sltStatus: '',
                unitId: '',
                projectId: '',
            },
            // 表单参数
            form: {},
            //图片上传
            uploadHeader: process.env.VUE_APP_BASE_API,
            imageUrl: '',
            imageName: '',
            fileList: [],
            field101fileList: [],
            dialogImageUrl: '',
            dialogVisible: false,
            //上传地址
            // uploadUrl:'http://192.168.0.14:21624/system',//线上服务器地址+system
            // uploadUrl:'http://112.29.103.165:21626/system',//线上服务器地址+system
            uploadUrl: process.env.VUE_APP_BASE_API + '/system', // 上传的图片服务器地址
            // 表单校验
            rules: {
                contractCode: [
                    {
                        required: true,
                        message: '合同编号不能为空',
                        trigger: 'blur',
                    },
                ],
                signTime: [
                    {
                        required: true,
                        message: '签订日期不能为空',
                        trigger: 'blur',
                    },
                ],
                unitName: [
                    {
                        required: true,
                        message: '往来单位不能为空',
                        trigger: 'blur',
                    },
                ],
                projectName: [
                    {
                        required: true,
                        message: '工程名称不能为空',
                        trigger: 'blur',
                    },
                ],
            },
            peopleOpen: false,
            noticeOpen: false,
            nform: {
                notice: '',
            },
            nrules: {
                notice: [
                    {
                        required: true,
                        message: '通知内容不能为空',
                        trigger: 'blur',
                    },
                ],
            },
            deptName: undefined,
        }
    },
    created() {
        this.getList()
        this.getUnitList()
        this.getProjectList()
    },
    methods: {
        //获取单位类型 ,getUnitList, getProjectList
        getUnitList() {
            getUnitList().then((response) => {
                this.unitList = response.data
            })
        },
        getProjectList() {
            getProjectList().then((response) => {
                this.projectList = response.data
            })
        },

        /** 查询字典类型列表 */
        getList() {
            this.loading = true
            getSltExam(this.queryParams).then((response) => {
                this.agreementList = response.rows
                this.total = response.total
                this.loading = false
            })
        },

        /** 搜索按钮操作 */
        handleQuery() {
            this.queryParams.pageNum = 1
            this.getList()
        },
        /** 重置按钮操作 */
        resetQuery() {
            this.dateRange = []
            this.resetForm('queryForm')
            this.handleQuery()
        },
        //结算审核
        handleExame(row) {
            this.$tab.closeOpenPage({
                path: '/cost/cost/costExame',
                query: {
                    Id: row.id,
                },
            })
        },
        handleApplyList() {
            if (this.ids.length > 0) {
                let arr = this.ids
                this.$tab.closeOpenPage({
                    path: '/cost/cost/costApplyAdd',
                    query: {
                        rowData: JSON.stringify(arr),
                    },
                })
            }
        },
        // 多选框选中数据
        handleSelectionChange(selection) {
            this.ids = selection.map((item) => item)
            this.single = selection.length != 1
            this.multiple = !selection.length
        },

        /** 删除按钮操作 */
        handleDelete(row) {
            // const agreementId = row.agreementId;
            // let param = {
            //   agreementId:row.agreementId+''
            // }
            // this.$modal.confirm('是否确认删除该数据项？').then(function() {
            //   return removeAgreement(param);
            // }).then(() => {
            //   this.getList();
            //   this.$modal.msgSuccess("删除成功");
            // }).catch(() => {});
        },
        /** 导出按钮操作 */
        handleExport() {
            // this.download('material/agreementInfo/export', {
            //   ...this.queryParams
            // }, `协议_${new Date().getTime()}.xlsx`)
        },
    },
}
</script>
<style lang="scss" scoped>
::v-deep.el-table .fixed-width .el-button--mini {
    width: 80px !important;
    margin-bottom: 10px;
}
</style>
