liwei19941102 hai 1 ano
pai
achega
b89dedec7c
Modificáronse 1 ficheiros con 80 adicións e 6 borrados
  1. 80 6
      src/views/car/carInfo/index.vue

+ 80 - 6
src/views/car/carInfo/index.vue

@@ -59,7 +59,8 @@
 
 
         <el-card shadow="never">
         <el-card shadow="never">
 
 
-          <tableElm :columns="columns" @childToParent='childrenClick' :showButton="false" ref="table"></tableElm>
+          <tableElm :columns="columns" @childToParent='childrenClick' @childFormat="childFormat" :showButton="false"
+            ref="table"></tableElm>
 
 
           <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
           <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
             v-model:limit="queryParams.pageSize" @pagination="getList" />
             v-model:limit="queryParams.pageSize" @pagination="getList" />
@@ -100,6 +101,8 @@
 <script setup name="CarInfo" lang="ts">
 <script setup name="CarInfo" lang="ts">
   import api from "@/api/system/user"
   import api from "@/api/system/user"
   import { listCarInfo, getCarInfo, delCarInfo, addCarInfo, updateCarInfo } from '@/api/carInfo';
   import { listCarInfo, getCarInfo, delCarInfo, addCarInfo, updateCarInfo } from '@/api/carInfo';
+  import { listDept } from "@/api/system/dept"
+  import { listCarPath, getCarPath, delCarPath, addCarPath, updateCarPath } from '@/api/carPath';
   import { CarInfoVO, CarInfoQuery, CarInfoForm } from '@/api/carInfo/types';
   import { CarInfoVO, CarInfoQuery, CarInfoForm } from '@/api/carInfo/types';
   import tableElm from "@/components/Public/table.vue";
   import tableElm from "@/components/Public/table.vue";
   import { useRoute, useRouter } from "vue-router";
   import { useRoute, useRouter } from "vue-router";
@@ -151,8 +154,8 @@
     { label: '车牌号', prop: 'carNum', visible: true, isTemplate: false },
     { label: '车牌号', prop: 'carNum', visible: true, isTemplate: false },
     { label: '能源类型、业务类型', prop: 'ext1', visible: true, isTemplate: false, isTemplateTag: true },
     { label: '能源类型、业务类型', prop: 'ext1', visible: true, isTemplate: false, isTemplateTag: true },
     { label: '车辆分类', prop: 'carType', pprop: "ext1", visible: true, isTemplate: false, isTemplateJson: false, dict: "tbl_car_type" },
     { label: '车辆分类', prop: 'carType', pprop: "ext1", visible: true, isTemplate: false, isTemplateJson: false, dict: "tbl_car_type" },
-    { label: '网格', prop: 'wangge', pprop: "ext1", visible: true, isTemplate: false, isTemplateJson: true },
-    { label: '单位', prop: 'dept', pprop: "ext1", visible: true, isTemplate: false, isTemplateJson: true },
+    { label: '线路', prop: 'pathId', pprop: "ext2", func: "getLineName", visible: true, isTemplate: false, isTemplateJsonFormat: true },
+    { label: '单位', prop: 'deptId', pprop: "ext1", func: "getDeptName", visible: true, isTemplate: false, isTemplateJsonFormat: true },
     {
     {
       label: '操作', custom: true, visible: true, render: (data) => {
       label: '操作', custom: true, visible: true, render: (data) => {
 
 
@@ -184,6 +187,8 @@
   const energyTypeList = ref([])
   const energyTypeList = ref([])
   const bussinessTypeList = ref([])
   const bussinessTypeList = ref([])
 
 
+  const deptData = ref([])
+
   const catObj = ref('');
   const catObj = ref('');
 
 
   const initFormData: CarInfoForm = {
   const initFormData: CarInfoForm = {
@@ -269,6 +274,8 @@
 
 
   const { queryParams, form, rules } = toRefs(data);
   const { queryParams, form, rules } = toRefs(data);
 
 
+  const carPathList = ref([]);
+
   const goadd = () => {
   const goadd = () => {
     useTagsViewStore().delView(route);
     useTagsViewStore().delView(route);
     // 跳转路由
     // 跳转路由
@@ -449,11 +456,78 @@
     getList();
     getList();
   }
   }
 
 
-  getList();
+  const getDeptName = (value) => {
+    for (var index in deptData.value) {
+      if (value == deptData.value[index].deptId) {
+        return deptData.value[index].deptName
+      }
+    }
+  }
+
+  const getLineName = (value) =>{
+      var lineName = [];
+      for(var i in value){
+        for(var j in carPathList.value){
+           if(value[i] == carPathList.value[j].id){
+            lineName.push(carPathList.value[j].name)
+           }
+        }
+      }
+      return lineName.join(",")
+      // console.log(lineName)
+      // console.log(lineName.join(","))
+  }
+
+  const getDeptListData = () => {
+    listDept({ pageSize: 10000 }).then(res => {
+      deptData.value = res.data
+      console.log(deptData.value)
+    })
+  }
+
+  const getPathListData = () => {
+      listCarPath({pageSize:1000}).then(res=>{
+        console.log(res)
+        carPathList.value = res.rows
+      })
+  }
+
+  const childFormat = ({ data, fn }) => {
+    if (data.pprop != null) {
+      var ext = data.data[data.prop]
+      if (ext != null) {
+        var obj = JSON.parse(ext);
+        console.log(obj)
+        var value = obj[data.pprop]
+        // var data = eval(data.func + "(value)")
+        var str = "";
+        if (data.func == 'getDeptName') {
+          str = getDeptName(value)
+        }else if(data.func == 'getLineName'){
+          str = getLineName(value)
+        }
+        fn(str)
+      }
+    }
+  }
+
+  const getcarPathList = async () => {
+    const res = await listCarPath(queryParams.value);
+    carPathList.value = res.rows;
+  }
+
+  const initListData = async () => {
+    await getPathListData();
+    await getDeptListData();
+    await getTreeSelect()
+    await initData()
+    await getList();
+  }
+
+
 
 
   onMounted(() => {
   onMounted(() => {
-    getTreeSelect()
-    initData();
+    initListData()
     // initMapLine();
     // initMapLine();
     // getList();
     // getList();
   });
   });