driverHealthy.vue 14 KB
<template>
    <div class="app-container">
        <div class="query-from">
            <el-form :inline="true" :queryOfDriverHealthy="queryOfDriverHealthy" :model="queryParamsOfDriverHealthy" class="demo-form-inline">
                <el-form-item label="ID" props="id">
                     <el-form-item label="ID" props="id">
                         <el-input style="width: 120px;" v-model="queryParamsOfDriverHealthy.id" placeholder="请输入ID" clearable  @keyup.enter="handleQueryOfDriverHealthy" />
                     </el-form-item>
                </el-form-item>
                <el-form-item label="司机" props="driverId">
                 <el-select v-model="queryParamsOfDriverHealthy.driverId" value-on-clear >
                        <el-option v-for="item in driverIds"  :key="item.id"  :label="item.personnelNameAndJobCode"  :value="item.id"  />
                    </el-select>
                </el-form-item>
               

                <el-form-item>
                    <el-button type="primary" icon="Search" @click="handleQueryOfDriverHealthy">搜索</el-button>
                    <el-button icon="Refresh" @click="resetQueryOfDriverHealthy">重置</el-button>
                </el-form-item>
            </el-form>

            <el-row :gutter="10" class="mb8">
                <el-col :span="1.5">
                    <el-button type="primary" plain icon="Plus" @click="handleAddOfDriverHealthy"  v-hasPermi="['driver:healthy:add']">新增</el-button>

                </el-col>
                <el-col :span="1.5">
                    <el-button type="success" plain icon="Edit" :disabled="singleDriverHealthy" @click="handleUpdateOfDriverHealthy"  v-hasPermi="['driver:healthy:update']">修改</el-button>

                </el-col>
                <el-col :span="1.5">
                    <el-button type="danger" plain icon="Delete" :disabled=multipleDriverHealthy @click="handleDeleteOfDriverHealthy"  v-hasPermi="['driver:healthy:del']">删除</el-button>

                </el-col>
                <el-col :span="1.5">
                    <el-button type="warning" plain icon="Download" @click="handleExportOfDriverHealthy"  v-hasPermi="['driver:healthy:export']">导出</el-button>

                </el-col>
                <right-toolbar v-model:showSearch="showSearchOfDriverHealthy" @queryTable="getListOfDriverHealthy"></right-toolbar>
            </el-row>
        </div>

        <el-table v-loading="loadingOfDriverHealthy" :data="listOfDriverHealthy" @selection-change="handleSelectionChangeOfDriverHealthy" border max-height="600"
                  :default-expand-all="false" :row-class-name="tableRowClassName" @sort-change="sortChangeOfDriverHealthy">
            <el-table-column type="selection" width="50" align="center" />
            <el-table-column label="序号" type="index" width="60" align="center">
                <template #default="scope">
                    {{ (queryParamsOfDriverHealthy.pageNum - 1) * queryParamsOfDriverHealthy.pageSize + scope.$index + 1 }}
                </template>
            </el-table-column>

            <el-table-column label="ID" align="center" prop="id" sortable />
            <el-table-column label="司机ID" align="center" prop="driverId" sortable />
            <el-table-column label="血压舒张值" align="center" prop="systolicPressure" sortable />
            <el-table-column label="血压收缩值" align="center" prop="diastolicPressure" sortable />
            <el-table-column label="血氧值" align="center" prop="oxygenValue" sortable />
            <el-table-column label="心率值" align="center" prop="heartRate" sortable />

            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="160">
                <template #default="scope">
                    <el-button type="success" plain icon="Edit" :disabled="singleDriverHealthy" @click="handleUpdateOfDriverHealthy(scope.row)"  v-hasPermi="['driver:healthy:update']">修改</el-button>

                </template>
            </el-table-column>
        </el-table>

        <pagination v-show="totalOfDriverHealthy > 0" :total="totalOfDriverHealthy" v-model:pageOfDriverHealthy="queryParamsOfDriverHealthy.pageNum" v-model:limit="queryParamsOfDriverHealthy.pageSize"
                    @pagination="getListOfDriverHealthy" />

        <el-dialog :title="titleOfDriverHealthy" v-model="openOfDriverHealthy" width="500px" append-to-body>
            <el-form  :model="formOfDriverHealthy" ref="rulesOfDriverHealthy" label-width="80px"   :rules="checkRulesOfDriverHealthy">
                <el-form-item label="司机" prop="driverId" label-width="100px">
                    <el-select v-model="formOfDriverHealthy.driverId" style="width: 360px">
                        <el-option v-for="item in driverIds"  :key="item.id"  :label="item.personnelNameAndJobCode"  :value="item.id"  />
                    </el-select>
                </el-form-item>
                <el-form-item label="血压舒张值" prop="systolicPressure" label-width="100px">
                    <el-input-number el-input="input" v-model="formOfDriverHealthy.systolicPressure" placeholder="请输入血压舒张值" style="width: 360px"/>
                </el-form-item>
                <el-form-item label="血压收缩值" prop="diastolicPressure" label-width="100px">
                    <el-input-number el-input="input" v-model="formOfDriverHealthy.diastolicPressure" placeholder="请输入血压收缩值" style="width: 360px"/>
                </el-form-item>
                <el-form-item label="血氧值" prop="oxygenValue" label-width="100px">
                    <el-input-number el-input="input" v-model="formOfDriverHealthy.oxygenValue" placeholder="请输入血氧值" style="width: 360px"/>
                </el-form-item>
                <el-form-item label="心率值" prop="heartRate" label-width="100px">
                    <el-input-number el-input="input" v-model="formOfDriverHealthy.heartRate" placeholder="请输入心率值" style="width: 360px"/>
                </el-form-item>
    
            </el-form>

            <template #footer>
                <div class="dialog-footer">
                    <el-button type="primary" @click="submitFormOfDriverHealthy">确 定</el-button>
                    <el-button @click="cancelOfDriverHealthy">取 消</el-button>
                </div>
            </template>
        </el-dialog>
    </div>
</template>


<script setup name="DriverHealthy">
    import { listLimitOfDriverHealthy, viewOfDriverHealthy, addOfDriverHealthy, updateOfDriverHealthy,updateStatusOfDriverHealthy,deleteOfDriverHealthy } from "@/api/driver/healthy/driverHealthy";
    import { selectListOfDriver } from "@/api/driver/driver";
    const { proxy } = getCurrentInstance();

    const listOfDriverHealthy = ref([]);
    const openOfDriverHealthy = ref(false);
    const titleOfDriverHealthy = ref("");
    const loadingOfDriverHealthy = ref(true);
    const showSearchOfDriverHealthy = ref(true);
    const idsOfDriverHealthy = ref([]);
    const singleDriverHealthy = ref(true);
    const multipleDriverHealthy = ref(true);


    const pageOfDriverHealthy = ref(1) //第几页
    const sizeOfDriverHealthy = ref(10) //一页多少条
    const totalOfDriverHealthy = ref(0);
    const pageSizesOfDriverHealthy = [5, 10, 20, 50]; //每页显示多少条
    const currentPageOfDriverHealthy = ref(1) // 当前页
    const globalRowOfDriverHealthy = ref(null) // 当前行数据

    const changeFlagOfDriverHealthy = ref(true)

    const driverIds=ref([]);

    const dataOfDriverHealthy = reactive({
        formOfDriverHealthy: {},
        queryParamsOfDriverHealthy: {
            pageNum: 1,
            pageSize: 10,
            id : null,
            driverId : null,
            systolicPressure : null,
            diastolicPressure : null,
            oxygenValue : null,
            heartRate : null,
            createBy : null,
            createTime : null,
            updateBy : null,
            updateTime : null,
            delFlag : null,

        },
        checkRulesOfDriverHealthy: {
            id : [
                { required: true, message: "ID", trigger: "blur" }
            ],
            driverId : [
                { required: true, message: "司机ID", trigger: "blur" }
            ],
            systolicPressure : [
                { required: true, message: "血压舒张值", trigger: "blur" }
            ],
            diastolicPressure : [
                { required: true, message: "血压收缩值", trigger: "blur" }
            ],
            oxygenValue : [
                { required: true, message: "血氧值", trigger: "blur" }
            ],
            heartRate : [
                { required: true, message: "心率值", trigger: "blur" }
            ],
            createBy : [
                { required: true, message: "创建人员", trigger: "blur" }
            ],
            createTime : [
                { required: true, message: "创建时间", trigger: "blur" }
            ],
            updateBy : [
                { required: true, message: "修改人员", trigger: "blur" }
            ],
            updateTime : [
                { required: true, message: "修改时间", trigger: "blur" }
            ],
            delFlag : [
                { required: true, message: "是否删除;0是不删除;1是删除", trigger: "blur" }
            ],
        }
    });

    const { queryParamsOfDriverHealthy, formOfDriverHealthy, checkRulesOfDriverHealthy } = toRefs(dataOfDriverHealthy );

    /** 查询设备信息列表 */
    function getListOfDriverHealthy() {
        loadingOfDriverHealthy.value = true;
        listLimitOfDriverHealthy(queryParamsOfDriverHealthy.value,queryParamsOfDriverHealthy.value.pageNum,queryParamsOfDriverHealthy.value.pageSize).then(response => {
            listOfDriverHealthy.value = response.records;
            totalOfDriverHealthy.value = response.total;
            loadingOfDriverHealthy.value = false;
        });
    }
    /**排序*/
    function sortChangeOfDriverHealthy(data){
        queryParamsOfDriverHealthy.value.order=data.order;
        queryParamsOfDriverHealthy.value.prop=data.prop;
        getListOfDriverHealthy();
    }


    // 取消按钮
    function cancelOfDriverHealthy() {
        openOfDriverHealthy.value = false;
        globalRowOfDriverHealthy.value = null
        resetOfDriverHealthy();
    }

    const handleSizeChange = (val) => {
        sizeOfDriverHealthy.value = val;
    }
    const handleCurrentChange = (val) => {
        pageOfDriverHealthy.value = val;
    }


    // 表单重置
    function resetOfDriverHealthy() {
        formOfDriverHealthy.value = {
            id  : null,
            driverId  : null,
            systolicPressure  : null,
            diastolicPressure  : null,
            oxygenValue  : null,
            heartRate  : null,
            createBy  : null,
            createTime  : null,
            updateBy  : null,
            updateTime  : null,
            delFlag  : null,
        };
        proxy.resetForm("rulesOfDriverHealthy");
    }

    /** 搜索按钮操作 */
    function handleQueryOfDriverHealthy() {
        queryParamsOfDriverHealthy.value.pageNum = 1;
        getListOfDriverHealthy();
    }

    /** 重置按钮操作 */
    function resetQueryOfDriverHealthy() {
        proxy.resetForm("queryOfDriverHealthy");
        handleQueryOfDriverHealthy();
    }

    // 多选框选中数据
    function handleSelectionChangeOfDriverHealthy(selection) {
        idsOfDriverHealthy.value = selection.map(item => item.id);
        singleDriverHealthy.value = selection.length != 1;
        multipleDriverHealthy.value = !selection.length;
    }

    /** 新增按钮操作 */
    function handleAddOfDriverHealthy() {
        resetOfDriverHealthy();
        changeFlagOfDriverHealthy.value = true;
        openOfDriverHealthy.value = true;
        titleOfDriverHealthy.value = "添加";
    }

    /** 修改按钮操作 */
    function handleUpdateOfDriverHealthy(row) {
        resetOfDriverHealthy();
        const _id = row.id || idsOfDriverHealthy.value
        viewOfDriverHealthy(_id).then(response => {
            formOfDriverHealthy.value = response.data;
            openOfDriverHealthy.value = true;
            titleOfDriverHealthy.value = "修改";
        });
    }

    /** 提交按钮 */
    function submitFormOfDriverHealthy() {
        proxy.$refs["rulesOfDriverHealthy"].validate(valid => {
            if (valid) {
                if (formOfDriverHealthy.value.id != null) {
                    updateOfDriverHealthy(formOfDriverHealthy.value).then(response => {
                        proxy.$modal.msgSuccess("修改成功");
                        openOfDriverHealthy.value = false;
                        getListOfDriverHealthy();
                    });
                } else {
                    addOfDriverHealthy(formOfDriverHealthy.value).then(response => {
                        proxy.$modal.msgSuccess("新增成功");
                        openOfDriverHealthy.value = false;
                        getListOfDriverHealthy();
                    });
                }
            }
        });
    }

    /** 删除按钮操作 */
    function handleDeleteOfDriverHealthy(row) {
        const _idsOfDriverHealthy = row.id || idsOfDriverHealthy.value;
        proxy.$modal.confirm('是否确认删除  为"' + _idsOfDriverHealthy + '"的数据项?').then(function () {
            return deleteOfDriverHealthy(_idsOfDriverHealthy);
        }).then(() => {
            getListOfDriverHealthy();
            proxy.$modal.msgSuccess("删除成功");
        }).catch(() => { });
    }

    /** 导出按钮操作 */
    function handleExportOfDriverHealthy() {
        proxy.download('driver/healthy/export', {
            ...queryParamsOfDriverHealthy.value
        }, `DriverHealthy_${new Date().getTime()}.xlsx`)
    }

        function init_DriverId(){
            selectListOfDriver().then(res=>{driverIds.value=res.data;
                    console.log(driverIds);
                    console.log(res.data);

            });
        }

    getListOfDriverHealthy();
    init_DriverId();
</script>