|
|
@@ -59,7 +59,8 @@
|
|
|
|
|
|
<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"
|
|
|
v-model:limit="queryParams.pageSize" @pagination="getList" />
|
|
|
@@ -100,6 +101,8 @@
|
|
|
<script setup name="CarInfo" lang="ts">
|
|
|
import api from "@/api/system/user"
|
|
|
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 tableElm from "@/components/Public/table.vue";
|
|
|
import { useRoute, useRouter } from "vue-router";
|
|
|
@@ -151,8 +154,8 @@
|
|
|
{ label: '车牌号', prop: 'carNum', visible: true, isTemplate: false },
|
|
|
{ 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: '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) => {
|
|
|
|
|
|
@@ -184,6 +187,8 @@
|
|
|
const energyTypeList = ref([])
|
|
|
const bussinessTypeList = ref([])
|
|
|
|
|
|
+ const deptData = ref([])
|
|
|
+
|
|
|
const catObj = ref('');
|
|
|
|
|
|
const initFormData: CarInfoForm = {
|
|
|
@@ -269,6 +274,8 @@
|
|
|
|
|
|
const { queryParams, form, rules } = toRefs(data);
|
|
|
|
|
|
+ const carPathList = ref([]);
|
|
|
+
|
|
|
const goadd = () => {
|
|
|
useTagsViewStore().delView(route);
|
|
|
// 跳转路由
|
|
|
@@ -449,11 +456,78 @@
|
|
|
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(() => {
|
|
|
- getTreeSelect()
|
|
|
- initData();
|
|
|
+ initListData()
|
|
|
// initMapLine();
|
|
|
// getList();
|
|
|
});
|