Browse Source

修复:黄家明项目已知bug

dev
科技小王子 2 months ago
parent
commit
061a7a2812
  1. 4
      .env.development
  2. 4
      src/api/hjm/hjmCar/model/index.ts
  3. 18
      src/components/SelectFence/components/select-data.vue
  4. 1
      src/views/hjm/hjmBxLog/components/hjmBxLogEdit.vue
  5. 40
      src/views/hjm/hjmCar/components/hjmCarEdit.vue
  6. 23
      src/views/hjm/hjmCar/index.vue
  7. 1
      src/views/hjm/hjmFence/components/hjmFenceEdit.vue
  8. 10
      src/views/hjm/staff/components/org-user-search.vue
  9. 11
      src/views/hjm/staff/index.vue
  10. 9
      src/views/hjm/userVerify/index.vue
  11. 9
      src/views/hjm/userVerify2/index.vue

4
.env.development

@ -1,10 +1,10 @@
VITE_APP_NAME=后台管理系统 VITE_APP_NAME=后台管理系统
VITE_SOCKET_URL=wss://server.gxwebsoft.com VITE_SOCKET_URL=wss://server.gxwebsoft.com
VITE_SERVER_URL=https://server.gxwebsoft.com/api VITE_SERVER_URL=https://server.gxwebsoft.com/api
#VITE_API_URL=https://cms-api.websoft.top/api
VITE_API_URL=https://cms-api.websoft.top/api
#VITE_SOCKET_URL=ws://127.0.0.1:9191 #VITE_SOCKET_URL=ws://127.0.0.1:9191
#VITE_SERVER_URL=http://127.0.0.1:8000/api #VITE_SERVER_URL=http://127.0.0.1:8000/api
VITE_API_URL=http://127.0.0.1:9000/api
#VITE_API_URL=http://127.0.0.1:9000/api
#/booking/bookingItem #/booking/bookingItem

4
src/api/hjm/hjmCar/model/index.ts

@ -33,6 +33,8 @@ export interface HjmCar {
fenceId?: number; fenceId?: number;
// 电子围栏名称 // 电子围栏名称
fenceName?: string; fenceName?: string;
// 车辆是否在电子围栏内
inFence?: boolean;
// 电子围栏名称 // 电子围栏名称
fence?: HjmFence; fence?: HjmFence;
// 位置 // 位置
@ -51,6 +53,8 @@ export interface HjmCar {
organizationParentId?: number; organizationParentId?: number;
// 用户ID // 用户ID
userId?: number; userId?: number;
// 绑定用户
toUser?: string;
// 排序(数字越小越靠前) // 排序(数字越小越靠前)
sortNumber?: number; sortNumber?: number;
// 备注 // 备注

18
src/components/SelectFence/components/select-data.vue

@ -98,15 +98,15 @@
title: '围栏名称', title: '围栏名称',
dataIndex: 'name' dataIndex: 'name'
}, },
{
title: '经纬度',
dataIndex: 'location',
key: 'location'
},
{
title: '半径',
dataIndex: 'district'
},
// {
// title: '',
// dataIndex: 'location',
// key: 'location'
// },
// {
// title: '',
// dataIndex: 'district'
// },
{ {
title: '操作', title: '操作',
key: 'action', key: 'action',

1
src/views/hjm/hjmBxLog/components/hjmBxLogEdit.vue

@ -30,7 +30,6 @@
name="image"> name="image">
<SelectFile <SelectFile
:placeholder="`请选择图片`" :placeholder="`请选择图片`"
:limit="1"
:data="images" :data="images"
@done="chooseImage" @done="chooseImage"
@del="onDeleteItem" @del="onDeleteItem"

40
src/views/hjm/hjmCar/components/hjmCarEdit.vue

@ -21,10 +21,10 @@
> >
<a-form-item <a-form-item
label="车辆图片" label="车辆图片"
name="image">
name="image" v-if="isUpdate">
<SelectFile <SelectFile
:placeholder="`请选择图片`" :placeholder="`请选择图片`"
:limit="1"
:limit="5"
:data="images" :data="images"
@done="chooseImage" @done="chooseImage"
@del="onDeleteItem" @del="onDeleteItem"
@ -82,6 +82,13 @@
{{ form.driver }} {{ form.driverPhone }} {{ form.driver }} {{ form.driverPhone }}
<!-- <a-select placeholder="选择绑定的操作员" :options="users" v-model:value="form.driver" @change="chooseDriverId" />--> <!-- <a-select placeholder="选择绑定的操作员" :options="users" v-model:value="form.driver" @change="chooseDriverId" />-->
</a-form-item> </a-form-item>
<a-form-item label="接收提醒" name="toUser">
<a-input
allow-clear
placeholder="请输入openId"
v-model:value="form.toUser"
/>
</a-form-item>
<a-form-item label="排序" name="sortNumber"> <a-form-item label="排序" name="sortNumber">
<a-input-number <a-input-number
:min="0" :min="0"
@ -199,6 +206,7 @@ const form = reactive<HjmCar>({
organizationId: undefined, organizationId: undefined,
organizationParentId: undefined, organizationParentId: undefined,
userId: undefined, userId: undefined,
toUser: undefined,
comments: undefined, comments: undefined,
status: 0, status: 0,
deleted: undefined, deleted: undefined,
@ -230,6 +238,14 @@ const rules = reactive({
trigger: 'blur' trigger: 'blur'
} }
], ],
fenceName: [
{
required: true,
type: 'string',
message: '请选择电子围栏',
trigger: 'blur'
}
],
insuranceStatus: [ insuranceStatus: [
{ {
required: true, required: true,
@ -315,23 +331,16 @@ const getUsers = () => {
}) })
} }
const chooseDriverId = (index: number,item: User) => {
form.driver = item.realName;
form.driverId = item.userId;
}
const chooseImage = (data: FileRecord) => { const chooseImage = (data: FileRecord) => {
images.value.push({ images.value.push({
uid: data.id, uid: data.id,
url: data.path, url: data.path,
status: 'done' status: 'done'
}); });
form.image = data.path;
}; };
const onDeleteItem = (index: number) => { const onDeleteItem = (index: number) => {
images.value.splice(index, 1); images.value.splice(index, 1);
form.image = '';
}; };
const {resetFields} = useForm(form, rules); const {resetFields} = useForm(form, rules);
@ -346,7 +355,8 @@ const save = () => {
.then(() => { .then(() => {
loading.value = true; loading.value = true;
const formData = { const formData = {
...form
...form,
image: JSON.stringify(images.value),
}; };
const saveOrUpdate = isUpdate.value ? updateHjmCar : addHjmCar; const saveOrUpdate = isUpdate.value ? updateHjmCar : addHjmCar;
saveOrUpdate(formData) saveOrUpdate(formData)
@ -392,19 +402,19 @@ watch(
if (props.data) { if (props.data) {
assignObject(form, props.data); assignObject(form, props.data);
if (props.data.image) { if (props.data.image) {
const arr = JSON.parse(props.data.image);
arr.map((item) => {
images.value.push({ images.value.push({
uid: uuid(), uid: uuid(),
url: props.data.image,
url: item.url,
status: 'done' status: 'done'
})
});
});
} }
if(props.data.organizationParentId){ if(props.data.organizationParentId){
organizationId.value = props.data.organizationParentId; organizationId.value = props.data.organizationParentId;
getUsers() getUsers()
} }
if(props.data.insuranceStatus == 1){
form.insuranceStatus = 1;
}
isUpdate.value = true; isUpdate.value = true;
} else { } else {
isUpdate.value = false; isUpdate.value = false;

23
src/views/hjm/hjmCar/index.vue

@ -36,6 +36,11 @@
<a-tag v-if="record.insuranceStatus === '在保'">在保</a-tag> <a-tag v-if="record.insuranceStatus === '在保'">在保</a-tag>
<a-tag v-if="record.insuranceStatus === '过保'">过保</a-tag> <a-tag v-if="record.insuranceStatus === '过保'">过保</a-tag>
</template> </template>
<template v-if="column.key === 'inFence'">
<a-tag v-if="record.inFence" color="green">围栏内</a-tag>
<a-tag v-else color="red">围栏外</a-tag>
</template>
<template v-if="column.key === 'status'"> <template v-if="column.key === 'status'">
<a-tag v-if="record.status === 1" color="green">已安装</a-tag> <a-tag v-if="record.status === 1" color="green">已安装</a-tag>
<a-tag v-if="record.status === 0" color="red">未安装</a-tag> <a-tag v-if="record.status === 0" color="red">未安装</a-tag>
@ -178,17 +183,17 @@ const columns = ref<ColumnItem[]>([
align: 'center', align: 'center',
}, },
{ {
title: '车辆图片',
dataIndex: 'image',
key: 'image',
title: '围栏名称',
dataIndex: 'fenceName',
key: 'fenceName',
align: 'center', align: 'center',
}, },
// {
// title: '',
// dataIndex: 'fence',
// key: 'fence',
// align: 'center',
// },
{
title: '是否围栏内',
dataIndex: 'inFence',
key: 'inFence',
align: 'center'
},
// { // {
// title: '', // title: '',
// dataIndex: 'sortNumber', // dataIndex: 'sortNumber',

1
src/views/hjm/hjmFence/components/hjmFenceEdit.vue

@ -120,7 +120,6 @@ import {addHjmFence, updateHjmFence} from '@/api/hjm/hjmFence';
import {HjmFence} from '@/api/hjm/hjmFence/model'; import {HjmFence} from '@/api/hjm/hjmFence/model';
import {useThemeStore} from '@/store/modules/theme'; import {useThemeStore} from '@/store/modules/theme';
import {storeToRefs} from 'pinia'; import {storeToRefs} from 'pinia';
import {AimOutlined} from "@ant-design/icons-vue";
import {CenterPoint} from "ele-admin-pro/es/ele-map-picker/types"; import {CenterPoint} from "ele-admin-pro/es/ele-map-picker/types";
import {ItemType} from 'ele-admin-pro/es/ele-image-upload/types'; import {ItemType} from 'ele-admin-pro/es/ele-image-upload/types';
import {FormInstance} from 'ant-design-vue/es/form'; import {FormInstance} from 'ant-design-vue/es/form';

10
src/views/hjm/staff/components/org-user-search.vue

@ -1,11 +1,11 @@
<!-- 搜索表单 --> <!-- 搜索表单 -->
<template> <template>
<a-space style="flex-wrap: wrap"> <a-space style="flex-wrap: wrap">
<SelectUser
:placeholder="`添加成员`"
:organizationId="0"
@done="updateOrganizationId"
/>
<!-- <SelectUser-->
<!-- :placeholder="`添加成员`"-->
<!-- :organizationId="0"-->
<!-- @done="updateOrganizationId"-->
<!-- />-->
</a-space> </a-space>
</template> </template>

11
src/views/hjm/staff/index.vue

@ -1,6 +1,8 @@
<template> <template>
<div class="page">
<div class="ele-body">
<a-page-header :title="getPageTitle()" @back="() => $router.go(-1)">
<template #extra>
<Extra/>
</template>
<a-card :bordered="false" :body-style="{ padding: '16px' }"> <a-card :bordered="false" :body-style="{ padding: '16px' }">
<ele-split-layout <ele-split-layout
width="266px" width="266px"
@ -69,8 +71,7 @@
:organization-id="current?.organizationId" :organization-id="current?.organizationId"
@done="query" @done="query"
/> />
</div>
</div>
</a-page-header>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
@ -90,6 +91,8 @@ import {
removeOrganization removeOrganization
} from '@/api/system/organization'; } from '@/api/system/organization';
import type {Organization} from '@/api/system/organization/model'; import type {Organization} from '@/api/system/organization/model';
import {getPageTitle} from "@/utils/common";
import Extra from "@/views/system/user/components/Extra.vue";
// //
const loading = ref(true); const loading = ref(true);

9
src/views/hjm/userVerify/index.vue

@ -1,6 +1,8 @@
<template> <template>
<div class="page">
<div class="ele-body">
<a-page-header :title="getPageTitle()" @back="() => $router.go(-1)">
<template #extra>
<Extra/>
</template>
<a-card :bordered="false" :body-style="{ padding: '16px' }"> <a-card :bordered="false" :body-style="{ padding: '16px' }">
<ele-pro-table <ele-pro-table
ref="tableRef" ref="tableRef"
@ -48,8 +50,7 @@
<!-- 编辑弹窗 --> <!-- 编辑弹窗 -->
<UserVerifyEdit v-model:visible="showEdit" :data="current" @done="reload"/> <UserVerifyEdit v-model:visible="showEdit" :data="current" @done="reload"/>
</div>
</div>
</a-page-header>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>

9
src/views/hjm/userVerify2/index.vue

@ -1,6 +1,8 @@
<template> <template>
<div class="page">
<div class="ele-body">
<a-page-header :title="getPageTitle()" @back="() => $router.go(-1)">
<template #extra>
<Extra/>
</template>
<a-card :bordered="false" :body-style="{ padding: '16px' }"> <a-card :bordered="false" :body-style="{ padding: '16px' }">
<ele-pro-table <ele-pro-table
ref="tableRef" ref="tableRef"
@ -48,8 +50,7 @@
<!-- 编辑弹窗 --> <!-- 编辑弹窗 -->
<UserVerifyEdit v-model:visible="showEdit" :data="current" @done="reload"/> <UserVerifyEdit v-model:visible="showEdit" :data="current" @done="reload"/>
</div>
</div>
</a-page-header>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>

Loading…
Cancel
Save