运营区域新增表单优化,查询列表优化

This commit is contained in:
dzl 2025-05-07 17:29:50 +08:00
parent b81eb55cb5
commit 9457424863
3 changed files with 100 additions and 31 deletions

View File

@ -117,6 +117,12 @@
color="#87d068"
>正常</a-tag>
</template>
<template v-if="column.key === 'simpleName'">
<span>{{record.simpleName}}</span><a
style="margin-left: 5px;"
@click="openEditSimpleName(record)"
>编辑</a>
</template>
<template v-if="column.key === 'action'">
<a-space>
<a>详情</a>
@ -209,6 +215,27 @@
:onCallBack="onORMapCallBack"
:openTitle="openORMapTitle"
></operateRegionMap>
<!-- 编辑区域简称 -->
<a-modal
v-model:open="openSimpleName"
title="编辑区域简称"
@ok="handleOkEditSimpleName"
width="500px"
:maskClosable="false"
>
<a-form
:label-col="{ xl: 7, lg: 5, md: 7, sm: 4 }"
:wrapper-col="{ xl: 17, lg: 19, md: 17, sm: 20 }"
>
<a-form-item label="区域简称">
<a-input
v-model:value.trim="editRecord.simpleName"
placeholder="请输入区域简称"
allow-clear
></a-input>
</a-form-item>
</a-form>
</a-modal>
</div>
</template>
@ -225,6 +252,7 @@ import {
} from '@ant-design/icons-vue'
import { useRouter, useRoute } from 'vue-router'
import { getGUID } from '@/utils/tools'
import _ from 'lodash'
//
const dataSource = ref([])
@ -233,9 +261,11 @@ const formModel = ref(null);
const formModelConfig = ref(null);
const openTitle = ref('');
const openTitleConfig = ref('');
const editRecord = ref({});
const router = useRouter()
const open = ref(false);
const openConfig = ref(false);
const openSimpleName = ref(false);
const editORMapModel = ref(null);
const openORMapTitle = ref('地图');
const modalFreeKey = ref(getGUID())
@ -408,6 +438,24 @@ const search = () => {
getData()
}
const openEditSimpleName = (record) => {
openSimpleName.value = true;
editRecord.value = _.cloneDeep(record)
}
const handleOkEditSimpleName = () => {
callOperate("/ebikeRegion/updateOperation", editRecord.value).then((res) => {
if (res.code != 200) {
message.error(res.message)
return
}
if (res.code == 200) {
openSimpleName.value = false;
getData()
}
})
}
/**
* 编辑费用配置
* @param record

View File

@ -17,8 +17,16 @@
name="zoneId"
:rules="[{ required: true, message: '请选择行政区划' }]"
>
<a-select v-model:value="form.zoneId" placeholder="请选择行政区划" style="width: 85%;">
<a-select-option v-for="(item) in zoneList" :key="item.id" :value="item.zoneId">{{ item.zoneName }}</a-select-option>
<a-select
v-model:value="form.zoneId"
placeholder="请选择行政区划"
style="width: 85%;"
>
<a-select-option
v-for="(item) in zoneList"
:key="item.id"
:value="item.zoneId"
>{{ item.zoneName }}</a-select-option>
</a-select>
<!-- <a-input
style="display: none;"
@ -40,43 +48,49 @@
<a-form-item
label="区域名称"
required
name="regionName"
name="operationRegionName"
:rules="[{ required: true, message: '请输入区域名称' }]"
>
<a-input
style="width: 85%;"
v-model:value="form.regionName"
v-model:value="form.operationRegionName"
placeholder="请输入区域名称"
/>
</a-form-item>
</a-col>
</a-row>
<!-- <a-row :gutter="8">
<a-row :gutter="8">
<a-col :xs="24">
<a-form-item
label="区域代码"
label="区域级别"
required
name="regionCode"
:rules="[{ required: true, message: '请输入区域代码' }]"
name="operationLevel"
:rules="[{ required: true, message: '请选择区域级别' }]"
>
<a-input
<a-select
v-model:value="form.operationLevel"
placeholder="请选择区域级别"
style="width: 85%;"
v-model:value="form.regionCode"
placeholder="请输入区域代码"
/>
>
<a-select-option
v-for="(item) in operationLevelList"
:key="item.levelId"
:value="item.levelValue"
>{{ item.levelName }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
</a-row> -->
</a-row>
<a-row :gutter="8">
<a-col :xs="24">
<a-form-item
label="区域简称"
name="regionForShort"
name="simpleName"
>
<a-input
style="width: 85%;"
v-model:value="form.regionForShort"
v-model:value="form.simpleName"
placeholder="请输入区域简称"
/>
</a-form-item>
@ -131,12 +145,12 @@ const editORMapModel = ref(null);
const openORMapTitle = ref("");
const zoneOptions = ref([])
const zoneList = ref([])
const operationLevelList = ref([])
const form = ref({
regionId: "",
regionName: "",
operationRegionId: "",
operationRegionName: "",
simpleName: "",
zoneId: undefined,
points: [],
@ -148,7 +162,7 @@ const form = ref({
onMounted(() => {
const userinfo = getCache('ebike-userinfo');
callOperate("/ebikeOrgZone/list?orgId=" + userinfo.orgId, {}, "get").then((res) => {
if (res.code!= 200) {
if (res.code != 200) {
message.error(res.message)
return
}
@ -156,6 +170,15 @@ onMounted(() => {
zoneList.value = res.data
}
})
callOperate("/ebikeRegion/operationLevelList", {}, "get").then((res) => {
if (res.code != 200) {
message.error(res.message)
return
}
if (res.data) {
operationLevelList.value = res.data
}
})
// callOperate("/ebikeOperateSystem/ebikeAdministrationZone", {}, "get").then(res => {
// if (res.code == 200) {
@ -182,19 +205,19 @@ const loadZoneData = (data) => {
res.data.map(item => {
opt.push({ label: item['name'], value: item['id'], isLeaf: item['isLeaf'] })
})
setZoneData(zoneOptions.value,'value', parentId,'children',opt);
setZoneData(zoneOptions.value, 'value', parentId, 'children', opt);
}
})
}
}
const setZoneData = (arr,keyname,keyvalue,name,value) => {
const setZoneData = (arr, keyname, keyvalue, name, value) => {
arr.map(item => {
if (item[keyname] == keyvalue) {
item[name] = value;
}
if (item['children']) {
setZoneData(item['children'],keyname,keyvalue,name,value)
setZoneData(item['children'], keyname, keyvalue, name, value)
}
})
}

View File

@ -86,7 +86,6 @@
:rules="[{ required: true, message: '请添加运营时间' }]"
>
<TimeRangePicker
valueFormat="HH:mm:ss"
v-model:value="form.operateTimeBytime"
/>
</a-form-item>
@ -137,7 +136,6 @@
<div id="timePicker"></div>
<template v-if=" column.type == 'time'">
<TimeRangePicker
valueFormat="HH:mm:ss"
v-model:value="record[column.dataIndex]"
/>
</template>