pyt
2025-04-28 2c3418eba70c1e58ec1c01d9c6f6e8920cb1ce3d
feat
4个文件已修改
2个文件已添加
269 ■■■■■ 已修改文件
src/utils/baseurl.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/car-type/index.vue 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/car-type/service.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/company/component/detailModal.vue 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/company/index.vue 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/view/company/service.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/baseurl.js
@@ -1,7 +1,7 @@
const apiConfig = {
    // 开发环境
    development: {
        baseURL: "http://192.168.110.85:9000",
        baseURL: "http://192.168.110.80:9000",
        mapKey: "67968c82f27c7e2cb9f40c1a9aa3042b",
        secretKey: "37ce61ae86efa5ad82b649a277f5097c",
    },
src/view/car-type/index.vue
@@ -3,18 +3,9 @@
        <div class="form flex a-center j-between mt--23">
            <div class="form-left ml--30">
                <el-form :inline="true" :model="searchForm" class="demo-form-inline">
                    <el-form-item label="类型名称:" prop="level" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.level" placeholder="请输入"></el-input>
                    </el-form-item>
                    <!-- <el-form-item label="驾驶员手机号:" prop="name" class="unset_m" style="margin-right: 15px;">
                    <el-form-item label="类型名称:" prop="name" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.name" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="驾驶员姓名:" prop="name" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.name" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="紧急联系人姓名:" prop="date" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.name" placeholder="请输入"></el-input>
                    </el-form-item> -->
                </el-form>
            </div>
            <div class="form-right mr--24 mb--22">
@@ -26,29 +17,19 @@
        </div>
        <div class="table-box ml--30 mt--23 mr--30">
            <el-table :data="tableData" border stripe style="width: 100%" :height="height">
                <el-table-column prop="date" label="序号"></el-table-column>
                <el-table-column prop="name" label="图标">
                <el-table-column type="index" label="序号" width="60"></el-table-column>
                <el-table-column prop="icon" label="图标">
                    <template slot-scope="scope">
                        <img :src="scope.row.img" alt="" style="width: 40px;height: 40px;" />
                        <img :src="scope.row.icon" alt="" style="width: 40px;height: 40px;" />
                    </template>
                </el-table-column>
                <el-table-column prop="name" label="类型"></el-table-column>
                <el-table-column prop="name" label="车辆数"></el-table-column>
                <!-- <el-table-column prop="name" label="驾驶员通信地址"></el-table-column>
                <el-table-column prop="name" label="紧急情况联系人"></el-table-column>
                <el-table-column prop="name" label="紧急情况联系人电话"></el-table-column>
                <el-table-column prop="name" label="驾驶员手机号"></el-table-column>
                <el-table-column prop="name" label="驾驶员合同签订公司"></el-table-column>
                <el-table-column prop="name" label="操作">
                    <template slot-scope="scope">
                        <el-button @click="showDetail">详情</el-button>
                    </template>
                </el-table-column> -->
                <el-table-column prop="carNum" label="车辆数"></el-table-column>
            </el-table>
            <div class="relative mt--23 flex j-end">
                <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                    :current-page="searchForm.page" background layout="total,sizes,prev, pager, next,jumper"
                    :total="searchForm.total">
                    :current-page="currentPage" :page-size="pageSize" background
                    layout="total,sizes,prev, pager, next,jumper" :total="total">
                </el-pagination>
            </div>
        </div>
@@ -56,34 +37,66 @@
</template>
<script>
import { getCarTypeList } from './service'
export default {
  data() {
    return {
      searchForm: {
        total: 0,
        page: 1,
        pageSize: 10,
        name: '',
      },
      tableData: [],
      currentPage: 1,
      pageSize: 10,
      total: 0,
    };
  },
  computed: {
    height() {
      return this.$baseTableHeight();
    }
    },
  created() {
    this.getList();
  },
  methods: {
    getList() {
      const params = {
        name: this.searchForm.name,
        pageCurr: this.currentPage,
        pageSize: this.pageSize,
      };
      getCarTypeList(params).then(res => {
        if (res && res.records) {
          this.tableData = res.records;
          this.total = res.total;
        } else {
          // 如果返回的是完整数组而不是分页对象,直接使用
          this.tableData = res || [];
          this.total = (res || []).length;
        }
      });
    },
    showDetail() {
      this.$refs.detailModal.dialogVisible = true;
    },
    reset() {},
    search() {},
    handleSizeChange(e) {
      this.searchForm.pageSize = e;
    reset() {
      this.searchForm.name = '';
      this.currentPage = 1;
      this.getList();
    },
    handleCurrentChange(e) {
      this.searchForm.page = e;
    search() {
      this.currentPage = 1;
      this.getList();
    },
    handleSizeChange(size) {
      this.pageSize = size;
      this.currentPage = 1;
      this.getList();
    },
    handleCurrentChange(page) {
      this.currentPage = page;
      this.getList();
    },
  },
};
src/view/car-type/service.js
New file
@@ -0,0 +1,5 @@
import axios from '@/utils/request';
// 获取车辆类型列表数据
export const getCarTypeList = (params) => {
    return axios.get('/system/car/getCarTypeList', {params})
}
src/view/company/component/detailModal.vue
@@ -1,35 +1,37 @@
<template>
    <div>
        <el-dialog title="公司信息" :visible.sync="dialogVisible" width="50%" :modal-append-to-body="false">
            <el-descriptions title="" :column="2">
                <el-descriptions-item label="公司名称">射洪洪达出租车有限公司</el-descriptions-item>
                <el-descriptions-item label="统一社会信用代码">91510922769973987B</el-descriptions-item>
                <el-descriptions-item label="注册地址">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item>
                <el-descriptions-item label="紧急联系电话">14725836902</el-descriptions-item>
        <el-dialog title="公司信息" :visible.sync="dialogVisible" width="50%" :modal-append-to-body="false" @open="open">
            <el-descriptions title="" :column="2" class="right-label-descriptions">
                <el-descriptions-item label="公司名称">{{ companyData.name }}</el-descriptions-item>
                <el-descriptions-item label="统一社会信用代码">{{ companyData.creditIdentifier }}</el-descriptions-item>
                <el-descriptions-item label="注册地址">{{ companyData.mailingAddress }}</el-descriptions-item>
                <el-descriptions-item label="紧急联系电话">{{ companyData.emergencyNumber }}</el-descriptions-item>
            </el-descriptions>
            <el-descriptions title="" :column="1">
                <el-descriptions-item
                    label="经营范围名称">巡游出租汽车经营服务。(依法须经批准的项目,经相关部门批准后方可开展经营活动,具体经营项目以相关部门批准文件或许可证件为准)一般项目:代驾服务;商务代理代办服务;小微型客车租赁经营服务;信息系统集成服务;汽车零配件批发。(除依法须经批准的项目外,凭营业执照依法自主开展经营活动)</el-descriptions-item>
                <el-descriptions-item label="通讯地址">四川省遂宁市射洪市太和街道万洪二路33、35、37号</el-descriptions-item>
            <el-descriptions title="" :column="1" class="right-label-descriptions">
                <el-descriptions-item label="经营范围名称">{{ companyData.businessScope }}</el-descriptions-item>
                <el-descriptions-item label="通讯地址">{{ companyData.mailingAddress }}</el-descriptions-item>
            </el-descriptions>
            <el-descriptions title="" :column="2">
                <el-descriptions-item label="经营业户经济类型">有限责任公司(非自然人投资或控股的法人独资)</el-descriptions-item>
                <el-descriptions-item label="注册资本">180万(元)</el-descriptions-item>
                <el-descriptions-item label="法人代表姓名">王强</el-descriptions-item>
                <el-descriptions-item label="法人代表电话">14725836905</el-descriptions-item>
                <el-descriptions-item label="状态">有效</el-descriptions-item>
            <el-descriptions title="" :column="2" class="right-label-descriptions">
                <el-descriptions-item label="经营业户经济类型">{{ companyData.operationType }}</el-descriptions-item>
                <el-descriptions-item label="注册资本">{{ companyData.registeredCapital }}</el-descriptions-item>
                <el-descriptions-item label="法人代表姓名">{{ companyData.legalRepresentative }}</el-descriptions-item>
                <el-descriptions-item label="法人代表电话">{{ companyData.contactNumber }}</el-descriptions-item>
                <el-descriptions-item label="状态">{{ companyData.status === 1 ? '有效' : '无效' }}</el-descriptions-item>
                <el-descriptions-item label="联系人">{{ companyData.contactPerson }}</el-descriptions-item>
            </el-descriptions>
        </el-dialog>
    </div>
</template>
<script>
// import { getEnterpriseInfo } from '../service'
export default {
    components: {},
    props: {},
    data() {
        return {
            dialogVisible: false
            dialogVisible: false,
            companyData: {}
        };
    },
    computed: {},
@@ -39,6 +41,9 @@
    methods: {
        closeClick() {
            this.dialogVisible = false
        },
        open() {
            console.log(JSON.stringify(this.companyData));
        }
    },
};
@@ -47,4 +52,26 @@
::v-deep .el-descriptions .el-descriptions-item__cell {
    padding-bottom: 25px;
}
::v-deep .el-descriptions-item__label {
    width: 140px !important;
    text-align: right !important;
    justify-content: flex-end !important;
    padding-right: 16px !important;
}
::v-deep .el-descriptions__label {
    width: 140px !important;
    text-align: right !important;
}
::v-deep .el-descriptions__table td.el-descriptions-item__label {
    width: 140px !important;
    text-align: right !important;
}
/* 对单列描述项设置更宽的标签宽度 */
::v-deep .el-descriptions[class*="right-label-descriptions"][column="1"] .el-descriptions-item__label {
    width: 160px !important;
}
</style>
src/view/company/index.vue
@@ -3,23 +3,26 @@
        <div class="form flex a-center j-between mt--23">
            <div class="form-left ml--30">
                <el-form :inline="true" :model="searchForm" class="demo-form-inline">
                    <el-form-item label="公司名称:" prop="level" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.level" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="经营范围:" prop="name" class="unset_m" style="margin-right: 15px;">
                    <el-form-item label="公司名称:" prop="name" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.name" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="通讯地址:" prop="name" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.name" placeholder="请输入"></el-input>
                    <el-form-item label="经营范围:" prop="businessScope" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.businessScope" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="法人代表:" prop="date" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.name" placeholder="请输入"></el-input>
                    <el-form-item label="通讯地址:" prop="mailingAddress" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.mailingAddress" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="车辆运营类型:" prop="type" class="unset_m" style="margin-right: 15px;">
                        <el-select :popper-append-to-body="false" v-model="searchForm.type" placeholder="请选择">
                            <el-option label="公交" value="1"></el-option>
                            <el-option label="出租车" value="2"></el-option>
                            <el-option label="网约车" value="3"></el-option>
                    <el-form-item label="法人代表:" prop="legalRepresentative" class="unset_m" style="margin-right: 15px;">
                        <el-input v-model="searchForm.legalRepresentative" placeholder="请输入"></el-input>
                    </el-form-item>
                    <el-form-item label="车辆运营类型:" prop="operationType" class="unset_m" style="margin-right: 15px;">
                        <el-select :popper-append-to-body="false" v-model="searchForm.operationType" placeholder="请选择">
                            <el-option label="公交" value="公交车"></el-option>
                            <el-option label="出租车" value="出租车"></el-option>
                            <el-option label="网约车" value="网约车"></el-option>
                            <el-option label="客运" value="客运"></el-option>
                            <el-option label="郊游" value="郊游"></el-option>
                            <el-option label="危险品" value="危险品"></el-option>
                        </el-select>
                    </el-form-item>
                </el-form>
@@ -33,26 +36,26 @@
        </div>
        <div class="table-box ml--30 mt--23 mr--30">
            <el-table :data="tableData" border stripe style="width: 100%" :height="height">
                <el-table-column prop="date" label="序号"></el-table-column>
                <el-table-column type="index" label="序号"></el-table-column>
                <el-table-column prop="name" label="公司名称"></el-table-column>
                <el-table-column prop="name" label="经营范围"></el-table-column>
                <el-table-column prop="name" label="运营类型"></el-table-column>
                <el-table-column prop="name" label="通讯地址"></el-table-column>
                <el-table-column prop="name" label="注册资本"></el-table-column>
                <el-table-column prop="name" label="法定代表人"></el-table-column>
                <el-table-column prop="name" label="联系人"></el-table-column>
                <el-table-column prop="name" label="联系电话"></el-table-column>
                <el-table-column prop="businessScope" label="经营范围"></el-table-column>
                <el-table-column prop="operationType" label="运营类型"></el-table-column>
                <el-table-column prop="mailingAddress" label="通讯地址"></el-table-column>
                <el-table-column prop="registeredCapital" label="注册资本"></el-table-column>
                <el-table-column prop="legalRepresentative" label="法定代表人"></el-table-column>
                <el-table-column prop="contactPerson" label="联系人"></el-table-column>
                <el-table-column prop="contactNumber" label="联系电话"></el-table-column>
                <el-table-column prop="name" label="操作">
                    <template slot-scope="scope">
                        <el-button @click="showDetail">详情</el-button>
                        <el-button @click="showDetail(scope.row)" size="small" type="primary">详情</el-button>
                    </template>
                </el-table-column>
            </el-table>
            <div class="relative mt--23 flex j-end">
                <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                    :current-page="searchForm.page" background layout="total,sizes,prev, pager, next,jumper"
                    :total="searchForm.total">
                    :current-page="currentPage" :page-size="pageSize" background
                    layout="total,sizes,prev, pager, next,jumper" :total="total">
                </el-pagination>
            </div>
        </div>
@@ -62,6 +65,7 @@
<script>
import DetailModal from "./component/detailModal"
import { getEnterpriseList } from './service'
export default {
    components: {
@@ -70,11 +74,16 @@
    data() {
        return {
            searchForm: {
                total: 0,
                page: 1,
                pageSize: 10
                name: '',
                businessScope: '',
                mailingAddress: '',
                legalRepresentative: '',
                operationType: ''
            },
            tableData: [],
            currentPage: 1,
            pageSize: 10,
            total: 0
        };
    },
    computed: {
@@ -82,20 +91,50 @@
            return this.$baseTableHeight()
        },
    },
    created() {
        this.getList()
    },
    methods: {
        showDetail() {
            this.$refs.detailModal.dialogVisible = true
        getList() {
            const params = {
                ...this.searchForm,
                pageCurr: this.currentPage,
                pageSize: this.pageSize
            };
            getEnterpriseList(params).then(res => {
                if (res && res.records) {
                    this.tableData = res.records;
                    this.total = res.total;
                }
            })
        },
        showDetail(row) {
            this.$refs.detailModal.dialogVisible = true;
            this.$refs.detailModal.companyData = row;
        },
        reset() {
            this.searchForm = {
                name: '',
                businessScope: '',
                mailingAddress: '',
                legalRepresentative: '',
                operationType: ''
            };
            this.currentPage = 1;
            this.getList();
        },
        search() {
            this.currentPage = 1;
            this.getList();
        },
        handleSizeChange(e) {
            this.searchForm.pageSize = e
        handleSizeChange(size) {
            this.pageSize = size;
            this.getList();
        },
        handleCurrentChange(e) {
            this.searchForm.page = e
        handleCurrentChange(page) {
            this.currentPage = page;
            this.getList();
        },
    }
}
src/view/company/service.js
New file
@@ -0,0 +1,9 @@
import axios from '@/utils/request';
// 获取公司列表数据
export const getEnterpriseList = (params) => {
    return axios.get('/system/enterprise/getEnterpriseList', {params})
}
// 获取公司详情
export const getEnterpriseInfo = (id) => {
    return axios.get(`/system/enterprise/getEnterpriseInfo/${id}`)
}