|
|
|
@ -5,56 +5,30 @@
|
|
|
|
|
:visible="visible"
|
|
|
|
|
:mask-closable="false"
|
|
|
|
|
:centered="true"
|
|
|
|
|
:body-style="{ padding: '0px 40px 8px' }"
|
|
|
|
|
:body-style="{
|
|
|
|
|
padding: '0px 40px 8px',
|
|
|
|
|
minHeight: '65vh',
|
|
|
|
|
maxHeight: '85vh',
|
|
|
|
|
overflowY: 'scroll'
|
|
|
|
|
}"
|
|
|
|
|
:get-container="() => $refs.refModal"
|
|
|
|
|
:confirm-loading="submitLoading"
|
|
|
|
|
:width="850"
|
|
|
|
|
@cancel="handleClose"
|
|
|
|
|
>
|
|
|
|
|
<a-tabs
|
|
|
|
|
v-if="title === '新建预约'"
|
|
|
|
|
v-model:activeKey="activeKey"
|
|
|
|
|
centered
|
|
|
|
|
@change="tabsChange"
|
|
|
|
|
>
|
|
|
|
|
<a-tab-pane key="1" tab="A类型客户"> </a-tab-pane>
|
|
|
|
|
<a-tab-pane key="2" tab="B类型客户" force-render> </a-tab-pane>
|
|
|
|
|
</a-tabs>
|
|
|
|
|
|
|
|
|
|
<a-tabs v-else v-model:activeKey="activeKey" centered>
|
|
|
|
|
<a-tab-pane v-if="formModel.customType === 0" key="1" tab="A类型客户"> </a-tab-pane>
|
|
|
|
|
<a-tab-pane v-if="formModel.customType === 1" key="2" tab="B类型客户" force-render>
|
|
|
|
|
</a-tab-pane>
|
|
|
|
|
</a-tabs>
|
|
|
|
|
<!-- <div class="u-flex">
|
|
|
|
|
<label class="a-label">手机号</label>
|
|
|
|
|
<div class="a-input">
|
|
|
|
|
<a-input v-model:value="customNid" placeholder="" />
|
|
|
|
|
</div>
|
|
|
|
|
</div> -->
|
|
|
|
|
<a-form
|
|
|
|
|
ref="formRef"
|
|
|
|
|
:model="formModel"
|
|
|
|
|
:rule="formRule"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 5 } }"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '回单'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 16 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 19 } }
|
|
|
|
|
"
|
|
|
|
|
:wrapper-col="{ sm: { span: 24 }, md: { span: 19 } }"
|
|
|
|
|
>
|
|
|
|
|
<a-form-item
|
|
|
|
|
label="称呼"
|
|
|
|
|
name="customName"
|
|
|
|
|
:rules="[{ required: true, message: '请输入称呼', trigger: 'blur' }]"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 5 } }"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '回单'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 9 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 11 } }
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<a-input
|
|
|
|
|
v-model:value="formModel.customName"
|
|
|
|
|
placeholder="请输入称呼"
|
|
|
|
|
style="width: 65%"
|
|
|
|
|
:readonly="title === '详情' || title === '回单'"
|
|
|
|
|
/>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<a-form-item
|
|
|
|
|
label="联系方式"
|
|
|
|
|
name="customNid"
|
|
|
|
@ -67,52 +41,101 @@
|
|
|
|
|
}
|
|
|
|
|
]"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 5 } }"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '回单'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 9 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 11 } }
|
|
|
|
|
"
|
|
|
|
|
:wrapper-col="{ sm: { span: 24 }, md: { span: 11 } }"
|
|
|
|
|
>
|
|
|
|
|
<a-input
|
|
|
|
|
v-model:value="formModel.customNid"
|
|
|
|
|
placeholder="请输入联系方式"
|
|
|
|
|
style="width: 65%"
|
|
|
|
|
:readonly="title === '详情' || title === '回单'"
|
|
|
|
|
:readonly="title === '详情'"
|
|
|
|
|
/>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span="24">
|
|
|
|
|
<a-form-item
|
|
|
|
|
label="备注"
|
|
|
|
|
name="remark"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 5 } }"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '回单'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 19 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 19 } }
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<a-textarea
|
|
|
|
|
v-model:value="formModel.remark"
|
|
|
|
|
placeholder="请输入备注"
|
|
|
|
|
:style="{ width: title === '详情' || title === '回单' ? '83%' : '100%' }"
|
|
|
|
|
:readonly="title === '详情' || title === '回单'"
|
|
|
|
|
/>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
<a-row :gutter="16">
|
|
|
|
|
<a-form-item
|
|
|
|
|
label="备注"
|
|
|
|
|
name="remark"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 5 } }"
|
|
|
|
|
:wrapper-col="{ sm: { span: 24 }, md: { span: 19 } }"
|
|
|
|
|
>
|
|
|
|
|
<a-textarea
|
|
|
|
|
v-model:value="formModel.remark"
|
|
|
|
|
placeholder="请输入备注"
|
|
|
|
|
:style="{ width: '100%' }"
|
|
|
|
|
/>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<a-tabs v-model:activeKey="activeKey" centered @change="tabsChange">
|
|
|
|
|
<a-tab-pane :key="1" tab="基础分发"> </a-tab-pane>
|
|
|
|
|
<a-tab-pane :key="0" tab="地理分发" force-render> </a-tab-pane>
|
|
|
|
|
</a-tabs>
|
|
|
|
|
<a-form-item
|
|
|
|
|
label="称呼"
|
|
|
|
|
name="customName"
|
|
|
|
|
:rules="[{ required: true, message: '请输入称呼', trigger: 'blur' }]"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 5 } }"
|
|
|
|
|
:wrapper-col="{ sm: { span: 24 }, md: { span: 11 } }"
|
|
|
|
|
>
|
|
|
|
|
<a-input
|
|
|
|
|
v-model:value="formModel.customName"
|
|
|
|
|
placeholder="请输入称呼"
|
|
|
|
|
style="width: 65%"
|
|
|
|
|
/>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<a-form-item
|
|
|
|
|
label="性别"
|
|
|
|
|
name="sex"
|
|
|
|
|
:rules="[{ required: true, message: '请选择性别', trigger: 'blur' }]"
|
|
|
|
|
>
|
|
|
|
|
<a-select v-model:value="formModel.sex" :style="{ width: '38%' }">
|
|
|
|
|
<a-select-option :value="0">男</a-select-option>
|
|
|
|
|
<a-select-option :value="1">女</a-select-option>
|
|
|
|
|
</a-select>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<a-form-item label="客户资料" name="customInformation">
|
|
|
|
|
<a-textarea
|
|
|
|
|
v-model:value="formModel.customInformation"
|
|
|
|
|
placeholder="请输入客户资料"
|
|
|
|
|
style="width: 65%"
|
|
|
|
|
/>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<a-form-item v-if="activeKey === 1" label="您的所在城市">
|
|
|
|
|
<a-cascader
|
|
|
|
|
v-model:value="formModel.abbreviateAddress"
|
|
|
|
|
change-on-select
|
|
|
|
|
style="position: relative; z-index: 2; margin-right: 20px; width: 65%"
|
|
|
|
|
:options="provincesAndCities"
|
|
|
|
|
placeholder="请选择"
|
|
|
|
|
:show-search="{ filter }"
|
|
|
|
|
:disabled="isAddressDisabled"
|
|
|
|
|
:class="addressDynamicClass"
|
|
|
|
|
class="readonly-cascader"
|
|
|
|
|
allow-clear
|
|
|
|
|
@change="addressChange"
|
|
|
|
|
/>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<a-form-item
|
|
|
|
|
v-if="activeKey === 1"
|
|
|
|
|
label="客户选择"
|
|
|
|
|
name="salesmanUserId"
|
|
|
|
|
:rules="[{ required: true, message: '请选择客户', trigger: 'blur' }]"
|
|
|
|
|
>
|
|
|
|
|
<a-select
|
|
|
|
|
v-model:value="formModel.salesmanUserId"
|
|
|
|
|
allow-clear
|
|
|
|
|
mode="multiple"
|
|
|
|
|
:max-tag-count="1"
|
|
|
|
|
:options="userList"
|
|
|
|
|
:field-names="{ label: 'userName', value: 'userId' }"
|
|
|
|
|
style="width: 65%"
|
|
|
|
|
></a-select>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<a-row v-if="activeKey === 0" :gutter="16">
|
|
|
|
|
<a-col :xl="14" :md="14" :sm="14">
|
|
|
|
|
<a-form-item
|
|
|
|
|
label="请输入您的地址信息"
|
|
|
|
|
label="您的地址信息"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 9 } }"
|
|
|
|
|
:wrapper-col="{ sm: { span: 24 }, md: { span: 15 } }"
|
|
|
|
|
:rules="[
|
|
|
|
|
{
|
|
|
|
|
required:
|
|
|
|
|
activeKey === '1' ||
|
|
|
|
|
(activeKey === '2' && title === '编辑') ||
|
|
|
|
|
(activeKey === '2' && title === '回单'),
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择地址信息',
|
|
|
|
|
trigger: ['blur', 'change']
|
|
|
|
|
}
|
|
|
|
@ -138,10 +161,7 @@
|
|
|
|
|
<a-form-item
|
|
|
|
|
:rules="[
|
|
|
|
|
{
|
|
|
|
|
required:
|
|
|
|
|
activeKey === '1' ||
|
|
|
|
|
(activeKey === '2' && title === '编辑') ||
|
|
|
|
|
(activeKey === '2' && title === '回单'),
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入小区名称',
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}
|
|
|
|
@ -171,15 +191,13 @@
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
<a-form-item
|
|
|
|
|
v-if="activeKey === 0"
|
|
|
|
|
label="请输入区域半径"
|
|
|
|
|
class="radius"
|
|
|
|
|
name="radius"
|
|
|
|
|
:rules="[
|
|
|
|
|
{
|
|
|
|
|
required:
|
|
|
|
|
activeKey === '1' ||
|
|
|
|
|
(activeKey === '2' && title === '编辑') ||
|
|
|
|
|
(activeKey === '2' && title === '回单'),
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择区域半径',
|
|
|
|
|
trigger: 'blur'
|
|
|
|
|
}
|
|
|
|
@ -188,7 +206,7 @@
|
|
|
|
|
<a-select
|
|
|
|
|
ref="select"
|
|
|
|
|
v-model:value="formModel.radius"
|
|
|
|
|
:style="{ width: title === '详情' || title === '回单' ? '37%' : '38%' }"
|
|
|
|
|
:style="{ width: title === '详情' ? '37%' : '38%' }"
|
|
|
|
|
:options="radiusOptions"
|
|
|
|
|
:field-names="{ label: 'name', value: 'id', options: 'children' }"
|
|
|
|
|
:disabled="isRadiusDisabled"
|
|
|
|
@ -207,10 +225,7 @@
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<a-form-item
|
|
|
|
|
v-if="title === '新建预约' || title === '编辑预约' || title === '编辑'"
|
|
|
|
|
style="display: flex; justify-content: center"
|
|
|
|
|
>
|
|
|
|
|
<a-form-item v-if="activeKey === 0" style="display: flex; justify-content: center">
|
|
|
|
|
<!-- 地图 -->
|
|
|
|
|
<div class="clueImport-page">
|
|
|
|
|
<div class="drawStation">
|
|
|
|
@ -298,7 +313,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<!-- 门店预约信息表单 -->
|
|
|
|
|
<div v-if="formModel.customStoreEntities.length > 0">
|
|
|
|
|
<div v-if="activeKey === 0 && formModel.customStoreEntities.length > 0">
|
|
|
|
|
<div
|
|
|
|
|
v-for="(item, index) in formModel.customStoreEntities"
|
|
|
|
|
:key="index"
|
|
|
|
@ -308,17 +323,17 @@
|
|
|
|
|
style="width: 45%"
|
|
|
|
|
label="预约门店名称"
|
|
|
|
|
:label-col="
|
|
|
|
|
title === '详情' || title === '回单'
|
|
|
|
|
title === '详情'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 11 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 8 } }
|
|
|
|
|
"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '回单'
|
|
|
|
|
title === '详情'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 13 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 16 } }
|
|
|
|
|
"
|
|
|
|
|
:rules="{
|
|
|
|
|
required: activeKey === '1',
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入预约门店名称',
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}"
|
|
|
|
@ -327,8 +342,8 @@
|
|
|
|
|
<a-input
|
|
|
|
|
v-model:value="item.storeName"
|
|
|
|
|
placeholder="请输入"
|
|
|
|
|
:readonly="title === '详情' || title === '回单'"
|
|
|
|
|
:style="{ width: title === '详情' || title === '回单' ? '103%' : '100%' }"
|
|
|
|
|
:readonly="title === '详情'"
|
|
|
|
|
:style="{ width: title === '详情' ? '103%' : '100%' }"
|
|
|
|
|
/>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<!-- :rules="{
|
|
|
|
@ -339,23 +354,15 @@
|
|
|
|
|
<a-form-item
|
|
|
|
|
style="width: 30%"
|
|
|
|
|
label="预约时间"
|
|
|
|
|
:label-col="
|
|
|
|
|
title === '详情' || title === '回单'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 9 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 9 } }
|
|
|
|
|
"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '回单'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 15 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 15 } }
|
|
|
|
|
"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 9 } }"
|
|
|
|
|
:wrapper-col="{ sm: { span: 24 }, md: { span: 15 } }"
|
|
|
|
|
:name="['customStoreEntities', index, 'reservationDate']"
|
|
|
|
|
>
|
|
|
|
|
<a-space direction="vertical">
|
|
|
|
|
<a-date-picker
|
|
|
|
|
v-model:value="item.reservationDate"
|
|
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
|
|
:disabled="title === '详情' || title === '回单'"
|
|
|
|
|
:disabled="title === '详情'"
|
|
|
|
|
:class="reservationTimeClass"
|
|
|
|
|
/>
|
|
|
|
|
</a-space>
|
|
|
|
@ -367,16 +374,8 @@
|
|
|
|
|
}" -->
|
|
|
|
|
<a-form-item
|
|
|
|
|
style="width: 18%"
|
|
|
|
|
:label-col="
|
|
|
|
|
title === '详情' || title === '回单'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 0 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 0 } }
|
|
|
|
|
"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '回单'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 24 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 24 } }
|
|
|
|
|
"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 0 } }"
|
|
|
|
|
:wrapper-col="{ sm: { span: 24 }, md: { span: 24 } }"
|
|
|
|
|
:name="['customStoreEntities', index, 'reservationTime']"
|
|
|
|
|
>
|
|
|
|
|
<a-space style="width: 100%">
|
|
|
|
@ -386,7 +385,7 @@
|
|
|
|
|
:allow-clear="title === '新建预约' || title === '编辑预约' || title === '编辑'"
|
|
|
|
|
:options="item.option"
|
|
|
|
|
:class="reservationTimeClass"
|
|
|
|
|
:style="{ width: title === '详情' || title === '回单' ? '103%' : '100%' }"
|
|
|
|
|
:style="{ width: title === '详情' ? '103%' : '100%' }"
|
|
|
|
|
>
|
|
|
|
|
</a-select>
|
|
|
|
|
</a-space>
|
|
|
|
@ -398,42 +397,24 @@
|
|
|
|
|
</div>
|
|
|
|
|
</a-form>
|
|
|
|
|
<template #footer>
|
|
|
|
|
<div v-if="title === '新建预约' || title === '编辑预约'">
|
|
|
|
|
<a-button @click="storeResetForm">重置</a-button>
|
|
|
|
|
<a-button type="primary" html-type="submit" style="margin-left: 10px" @click="showModal"
|
|
|
|
|
>报名</a-button
|
|
|
|
|
>
|
|
|
|
|
<a-button
|
|
|
|
|
type="primary"
|
|
|
|
|
html-type="submit"
|
|
|
|
|
style="margin-left: 10px"
|
|
|
|
|
@click="temporaryStorage"
|
|
|
|
|
>暂存</a-button
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<a-button v-if="title === '详情'" type="primary" html-type="submit" @click="handleClose"
|
|
|
|
|
>确定</a-button
|
|
|
|
|
>
|
|
|
|
|
<div v-if="title === '编辑'">
|
|
|
|
|
<a-button @click="storeResetForm">重置</a-button>
|
|
|
|
|
<a-button @click="handleClose">取消</a-button>
|
|
|
|
|
<a-button type="primary" html-type="submit" style="margin-left: 10px" @click="distribute"
|
|
|
|
|
<a-button type="primary" html-type="submit" style="margin-left: 10px" @click="showModal"
|
|
|
|
|
>分发</a-button
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="title === '回单'">
|
|
|
|
|
<a-button @click="handleClose">取消</a-button>
|
|
|
|
|
<a-button type="primary" html-type="submit" style="margin-left: 10px" @click="distribute"
|
|
|
|
|
>回单</a-button
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 报名、审核信息确认弹窗 -->
|
|
|
|
|
<a-modal v-model:visible="registerVisible" title="确认分发信息" ok-text="分发" @ok="handleOk">
|
|
|
|
|
<p>您提交的表单信息为:</p>
|
|
|
|
|
<p>称呼:{{ formModel.customName }}</p>
|
|
|
|
|
<p>联系方式:{{ formModel.customNid }}</p>
|
|
|
|
|
<div style="overflow-y: auto; max-height: 100px">
|
|
|
|
|
<p>备注:{{ formModel.remark }}</p>
|
|
|
|
|
<div v-if="formModel.customType === 0" style="overflow-y: auto; max-height: 100px">
|
|
|
|
|
<p v-for="(item, index) in formModel.customStoreEntities" :key="index">
|
|
|
|
|
<span>{{ `报名的门店${index + 1}为` }}:{{ item.storeName }}</span>
|
|
|
|
|
<span> {{ item.reservationDate?.toString().split(' ')[0] }}</span>
|
|
|
|
@ -475,53 +456,98 @@ import {
|
|
|
|
|
getStoreData
|
|
|
|
|
} from '@/api/geopoliticalCustomers'
|
|
|
|
|
import type { CustomerDTO, GeopoliticalCustomersRecord } from '@/api/geopoliticalCustomers/types'
|
|
|
|
|
import { getfFindDirectSalesman } from '@/api/directResources/index'
|
|
|
|
|
import axios from 'axios'
|
|
|
|
|
//获取当前账号角色
|
|
|
|
|
import { useUserStore } from '@/stores/user-store'
|
|
|
|
|
const { userInfo } = useUserStore()
|
|
|
|
|
const userInfoCurrent = ref<string | undefined>('')
|
|
|
|
|
|
|
|
|
|
//省市区二级
|
|
|
|
|
// import { provincesAndCitiesAndAutonomousRegions } from '@/utils/geopolitical-customers'
|
|
|
|
|
interface customStoreEntitiesItem {
|
|
|
|
|
//门店id
|
|
|
|
|
customStoreId?: number
|
|
|
|
|
//预约id
|
|
|
|
|
storeId: number
|
|
|
|
|
//门店名称
|
|
|
|
|
storeName?: string
|
|
|
|
|
//预约日期
|
|
|
|
|
reservationDate?: Dayjs | string
|
|
|
|
|
//预约时间
|
|
|
|
|
reservationTime: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//dom中可以写成:rules = 'rulesData'
|
|
|
|
|
// const rulesData = {
|
|
|
|
|
// required: true,
|
|
|
|
|
// trigger: 'change'
|
|
|
|
|
// }
|
|
|
|
|
const emits = defineEmits<{
|
|
|
|
|
(e: 'submit-success', resetPageIndex?: boolean): void
|
|
|
|
|
}>()
|
|
|
|
|
const { title, visible, openModal, closeModal } = useModal()
|
|
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
//省市区三级下拉框列表数据
|
|
|
|
|
provincesAndCitiesAndAutonomousOptions.value = window.globalProvincesAndCitiesAndAutonomousRegions
|
|
|
|
|
//省市区二级下拉框列表数据
|
|
|
|
|
// if (provincesAndCitiesAndAutonomousRegions) {
|
|
|
|
|
// const addressArray = JSON.parse(JSON.stringify(provincesAndCitiesAndAutonomousRegions))
|
|
|
|
|
// const arr: any[] = []
|
|
|
|
|
// addressArray.forEach((item: any) => {
|
|
|
|
|
// item.children.forEach((it: any) => {
|
|
|
|
|
// if (it.children) {
|
|
|
|
|
// delete it.children
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
// arr.push(item)
|
|
|
|
|
// })
|
|
|
|
|
// provincesAndCitiesAndAutonomousOptions.value = arr
|
|
|
|
|
// }
|
|
|
|
|
//获取当前账号角色
|
|
|
|
|
userInfoCurrent.value = userInfo?.roleCodes?.toLocaleString()
|
|
|
|
|
const { formAction } = useFormAction()
|
|
|
|
|
// 表单模型
|
|
|
|
|
const formModel = reactive<CustomerDTO>({
|
|
|
|
|
customType: undefined,
|
|
|
|
|
customId: undefined,
|
|
|
|
|
customName: '',
|
|
|
|
|
customNid: '',
|
|
|
|
|
remark: '',
|
|
|
|
|
address: [], // 详细地址
|
|
|
|
|
abbreviateAddress: [], // 简略地址
|
|
|
|
|
sex: 0,
|
|
|
|
|
customInformation: '',
|
|
|
|
|
economize: '',
|
|
|
|
|
market: '',
|
|
|
|
|
distinguish: '',
|
|
|
|
|
detailAddress: '',
|
|
|
|
|
otherAddressesInfo: '',
|
|
|
|
|
radius: '',
|
|
|
|
|
enrollStatus: 1,
|
|
|
|
|
customStoreEntities: [],
|
|
|
|
|
salesmanUserId: []
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const formRule = ref<any>({
|
|
|
|
|
customName: [{ required: true, message: '请输入称呼', trigger: ['blur', 'change'] }],
|
|
|
|
|
customNid: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入正确的手机号码',
|
|
|
|
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
|
|
|
|
trigger: ['blur', 'change']
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
address: [{ required: true, message: '请选择地址信息', trigger: ['blur', 'change'] }],
|
|
|
|
|
detailAddress: [{ required: true, message: '请输入小区名称', trigger: 'change' }],
|
|
|
|
|
radius: [{ required: true, message: '请选择区域半径', trigger: 'change' }]
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// 表单的提交请求
|
|
|
|
|
const formRequestMapping: FormRequestMapping<CustomerDTO> = {
|
|
|
|
|
[FormAction.CREATE]: addCustomer,
|
|
|
|
|
[FormAction.UPDATE]: auditCustomer
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取 useAdminForm 的返回值
|
|
|
|
|
const adminForm = useAdminForm(formAction, formRequestMapping, formModel, formRule)
|
|
|
|
|
|
|
|
|
|
// 使用 toRefs 创建响应式解构副本
|
|
|
|
|
const { submitLoading, validateAndSubmit, resetFields, validateInfos } = toRefs(adminForm)
|
|
|
|
|
|
|
|
|
|
//是否发送请求了,发送了就要执行表格刷新
|
|
|
|
|
const isSubmit = ref(false)
|
|
|
|
|
//当前激活 tab 面板的 key
|
|
|
|
|
const activeKey = ref('')
|
|
|
|
|
const activeKey = ref<number | undefined>(1)
|
|
|
|
|
//tabs change事件
|
|
|
|
|
const tabsChange = (val: string) => {
|
|
|
|
|
handleMapInit()
|
|
|
|
|
const tabsChange = (val: number) => {
|
|
|
|
|
// formRef.value?.resetFields()
|
|
|
|
|
formRef.value?.clearValidate()
|
|
|
|
|
if (val === '1') {
|
|
|
|
|
formModel.customType = 0
|
|
|
|
|
} else {
|
|
|
|
|
formModel.customType = 1
|
|
|
|
|
formModel.customType = val
|
|
|
|
|
// formModel.address = []
|
|
|
|
|
// formModel.detailAddress = ''
|
|
|
|
|
if (val === 0) {
|
|
|
|
|
handleMapInit().then(() => {
|
|
|
|
|
if (formModel.address?.length !== 0 && formModel.detailAddress && formModel.radius) {
|
|
|
|
|
match(formModel.detailAddress)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -562,6 +588,8 @@ const formRef = ref<FormInstance>()
|
|
|
|
|
|
|
|
|
|
//省市区下拉框列表数据
|
|
|
|
|
const provincesAndCitiesAndAutonomousOptions: any = ref([])
|
|
|
|
|
//省市下拉框列表数据
|
|
|
|
|
const provincesAndCities: any = ref([])
|
|
|
|
|
//省市区change
|
|
|
|
|
const addressChange = async (value: any) => {
|
|
|
|
|
// if (infoWindows.value) {
|
|
|
|
@ -609,10 +637,36 @@ const radiusOptions = ref<SelectProps['options']>([
|
|
|
|
|
const radiusChange = (value: SelectValue) => {
|
|
|
|
|
formModel.radius = value
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 业务员
|
|
|
|
|
let userList: any = []
|
|
|
|
|
//根据地址搜索出来的门店数据
|
|
|
|
|
const listData: any = ref([])
|
|
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
//省市区三级下拉框列表数据
|
|
|
|
|
provincesAndCitiesAndAutonomousOptions.value = window.globalProvincesAndCitiesAndAutonomousRegions
|
|
|
|
|
//省市二级下拉框列表数据
|
|
|
|
|
const arr: any[] = []
|
|
|
|
|
const addressArray = JSON.parse(
|
|
|
|
|
JSON.stringify(window.globalProvincesAndCitiesAndAutonomousRegions)
|
|
|
|
|
)
|
|
|
|
|
addressArray.forEach((item: any) => {
|
|
|
|
|
item.children.forEach((it: any) => {
|
|
|
|
|
it.children && delete it.children
|
|
|
|
|
})
|
|
|
|
|
arr.push(item)
|
|
|
|
|
})
|
|
|
|
|
provincesAndCities.value = arr
|
|
|
|
|
//获取当前账号角色
|
|
|
|
|
userInfoCurrent.value = userInfo?.roleCodes?.toLocaleString()
|
|
|
|
|
})
|
|
|
|
|
const initUserList = () => {
|
|
|
|
|
doRequest(getfFindDirectSalesman(23), {
|
|
|
|
|
onSuccess: (res: any) => {
|
|
|
|
|
userList = res.data
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
//预约时间下拉框列表数据(根据后端返回的营业时间生成)
|
|
|
|
|
const generateTimeSlots = (tradeStartTime: string, tradeEndTime: string) => {
|
|
|
|
|
const startHour = Number(tradeStartTime.split(':')[0])
|
|
|
|
@ -893,7 +947,6 @@ const getCenterMarkerAddress = () => {
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//经纬度
|
|
|
|
|
const lng = ref<number | undefined>()
|
|
|
|
|
const lat = ref<number | undefined>()
|
|
|
|
@ -1105,7 +1158,7 @@ const idThen = (detailAddress: string) => {
|
|
|
|
|
}
|
|
|
|
|
//匹配
|
|
|
|
|
const match = async (detailAddress: string) => {
|
|
|
|
|
if (activeKey.value === '1') {
|
|
|
|
|
if (activeKey.value === 0) {
|
|
|
|
|
if (title.value === '新建预约' && formModel.customStoreEntities.length !== 0) {
|
|
|
|
|
matchregisterVisible.value = true
|
|
|
|
|
} else {
|
|
|
|
@ -1121,9 +1174,7 @@ const match = async (detailAddress: string) => {
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (title.value === '新建预约' && formModel.customStoreEntities.length !== 0) {
|
|
|
|
|
matchregisterVisible.value = true
|
|
|
|
|
} else if (title.value === '编辑') {
|
|
|
|
|
if (title.value === '编辑') {
|
|
|
|
|
const fields = ['address', 'detailAddress', 'radius'] // 指定要校验的字段名
|
|
|
|
|
formRef.value
|
|
|
|
|
?.validateFields(fields)
|
|
|
|
@ -1197,7 +1248,10 @@ const storeResetForm = () => {
|
|
|
|
|
formModel.customName = ''
|
|
|
|
|
formModel.customNid = ''
|
|
|
|
|
formModel.remark = ''
|
|
|
|
|
if (title.value === '详情' || title.value === '回单' || title.value === '新建预约') {
|
|
|
|
|
formModel.customInformation = ''
|
|
|
|
|
formModel.salesmanUserId = []
|
|
|
|
|
formModel.abbreviateAddress = []
|
|
|
|
|
if (formModel.customType == 0) {
|
|
|
|
|
formModel.address = []
|
|
|
|
|
formModel.detailAddress = ''
|
|
|
|
|
formModel.radius = '5000'
|
|
|
|
@ -1217,7 +1271,7 @@ const showModal = () => {
|
|
|
|
|
formRef.value
|
|
|
|
|
?.validate()
|
|
|
|
|
.then(() => {
|
|
|
|
|
if (activeKey.value === '1') {
|
|
|
|
|
if (activeKey.value === 0) {
|
|
|
|
|
if (formModel.customStoreEntities.length === 0) {
|
|
|
|
|
message.info('请先添加预约门店')
|
|
|
|
|
} else {
|
|
|
|
@ -1233,20 +1287,7 @@ const showModal = () => {
|
|
|
|
|
console.log('校验失败err', err)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
interface customStoreEntitiesItem {
|
|
|
|
|
//门店id
|
|
|
|
|
customStoreId?: number
|
|
|
|
|
//预约id
|
|
|
|
|
storeId: number
|
|
|
|
|
//门店名称
|
|
|
|
|
storeName?: string
|
|
|
|
|
//预约日期
|
|
|
|
|
reservationDate?: Dayjs | string
|
|
|
|
|
//预约时间
|
|
|
|
|
reservationTime: string
|
|
|
|
|
}
|
|
|
|
|
//是否发送请求了,发送了就要执行表格刷新
|
|
|
|
|
const isSubmit = ref(false)
|
|
|
|
|
|
|
|
|
|
//报名、暂存提交请求操作
|
|
|
|
|
const submitOperate = () => {
|
|
|
|
|
//移除address属性
|
|
|
|
@ -1274,7 +1315,12 @@ const submitOperate = () => {
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
message.success('保存成功')
|
|
|
|
|
isSubmit.value = true
|
|
|
|
|
updateCustomerAudit(formModel.customId as number, 1, userInfo!.salesmanType).then(res => {
|
|
|
|
|
updateCustomerAudit({
|
|
|
|
|
customId: formModel.customId as number,
|
|
|
|
|
status: formModel.customType as number,
|
|
|
|
|
salesmanType: userInfo!.salesmanType,
|
|
|
|
|
salesmanUserId: formModel.salesmanUserId
|
|
|
|
|
}).then(res => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
handleSubmit()
|
|
|
|
|
registerVisible.value = false
|
|
|
|
@ -1294,11 +1340,6 @@ const submitOperate = () => {
|
|
|
|
|
onSuccess: handleSuccess
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// else if (title.value === '回单') {
|
|
|
|
|
// doRequest(auditCustomer({ customId: formModel.customId, status: 1 }), {
|
|
|
|
|
// onSuccess: handleSuccess
|
|
|
|
|
// })
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//报名信息确认弹窗确定点击事件
|
|
|
|
@ -1342,74 +1383,6 @@ const temporaryStorage = async () => {
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//回单
|
|
|
|
|
const distribute = () => {
|
|
|
|
|
formRef.value
|
|
|
|
|
?.validate()
|
|
|
|
|
.then(() => {
|
|
|
|
|
if (formModel.customStoreEntities.length === 0) {
|
|
|
|
|
message.info('请先添加预约门店')
|
|
|
|
|
} else {
|
|
|
|
|
registerVisible.value = true
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(err => {
|
|
|
|
|
console.log('校验失败err', err)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const emits = defineEmits<{
|
|
|
|
|
(e: 'submit-success', resetPageIndex?: boolean): void
|
|
|
|
|
}>()
|
|
|
|
|
|
|
|
|
|
const { title, visible, openModal, closeModal } = useModal()
|
|
|
|
|
|
|
|
|
|
const { formAction } = useFormAction()
|
|
|
|
|
// 表单模型
|
|
|
|
|
const formModel = reactive<CustomerDTO>({
|
|
|
|
|
customType: undefined,
|
|
|
|
|
customId: undefined,
|
|
|
|
|
customName: '',
|
|
|
|
|
customNid: '',
|
|
|
|
|
remark: '',
|
|
|
|
|
address: [],
|
|
|
|
|
economize: '',
|
|
|
|
|
market: '',
|
|
|
|
|
distinguish: '',
|
|
|
|
|
detailAddress: '',
|
|
|
|
|
otherAddressesInfo: '',
|
|
|
|
|
radius: '',
|
|
|
|
|
enrollStatus: 1,
|
|
|
|
|
customStoreEntities: []
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const formRule = ref<any>({
|
|
|
|
|
customName: [{ required: true, message: '请输入称呼', trigger: ['blur', 'change'] }],
|
|
|
|
|
customNid: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入正确的手机号码',
|
|
|
|
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
|
|
|
|
trigger: ['blur', 'change']
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
address: [{ required: true, message: '请选择地址信息', trigger: ['blur', 'change'] }],
|
|
|
|
|
detailAddress: [{ required: true, message: '请输入小区名称', trigger: 'change' }],
|
|
|
|
|
radius: [{ required: true, message: '请选择区域半径', trigger: 'change' }]
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// 表单的提交请求
|
|
|
|
|
const formRequestMapping: FormRequestMapping<CustomerDTO> = {
|
|
|
|
|
[FormAction.CREATE]: addCustomer,
|
|
|
|
|
[FormAction.UPDATE]: auditCustomer
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取 useAdminForm 的返回值
|
|
|
|
|
const adminForm = useAdminForm(formAction, formRequestMapping, formModel, formRule)
|
|
|
|
|
|
|
|
|
|
// 使用 toRefs 创建响应式解构副本
|
|
|
|
|
const { submitLoading, validateAndSubmit, resetFields, validateInfos } = toRefs(adminForm)
|
|
|
|
|
|
|
|
|
|
//表单提交处理
|
|
|
|
|
const handleSubmit = () => {
|
|
|
|
|
handleClose()
|
|
|
|
@ -1462,17 +1435,7 @@ const handleMapInit = async () => {
|
|
|
|
|
defineExpose({
|
|
|
|
|
open(opendata: openObj) {
|
|
|
|
|
isSubmit.value = false
|
|
|
|
|
// console.log('formModel.customType resssssssss', formModel.customType)
|
|
|
|
|
//不写resetFields.value()预约门店信息会反复追加进去,但是加了resetFields.value()会导致formModel.customType为0
|
|
|
|
|
// resetFields.value()
|
|
|
|
|
// formModel.customType = undefined
|
|
|
|
|
formModel.customStoreEntities = []
|
|
|
|
|
// console.log('formModel.customType ddddddddddd', formModel.customType)
|
|
|
|
|
// if (userInfoCurrent.value === 'ROLE_REVIEWER') {
|
|
|
|
|
// formModel.customType = 1
|
|
|
|
|
// } else if (userInfoCurrent.value === 'ROLE_PRELIMINARY_EXAMINER') {
|
|
|
|
|
// formModel.customType = 0
|
|
|
|
|
// }
|
|
|
|
|
const handleSuccess = (res: any) => {
|
|
|
|
|
const data = res.data || {}
|
|
|
|
|
const {
|
|
|
|
@ -1487,15 +1450,22 @@ defineExpose({
|
|
|
|
|
otherAddressesInfo,
|
|
|
|
|
radius,
|
|
|
|
|
customStoreVOList,
|
|
|
|
|
customType
|
|
|
|
|
customType,
|
|
|
|
|
salesmanUserId,
|
|
|
|
|
customInformation
|
|
|
|
|
} = data
|
|
|
|
|
|
|
|
|
|
formModel.customId = customId
|
|
|
|
|
formModel.customName = customName
|
|
|
|
|
formModel.customNid = customNid
|
|
|
|
|
formModel.remark = remark
|
|
|
|
|
formModel.customInformation = customInformation || remark
|
|
|
|
|
if (economize) {
|
|
|
|
|
formModel.address = [economize, market, distinguish]
|
|
|
|
|
if (customType == 0) {
|
|
|
|
|
formModel.address = [economize, market, distinguish]
|
|
|
|
|
} else if (customType == 1) {
|
|
|
|
|
formModel.abbreviateAddress = [economize, market]
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
formModel.address = []
|
|
|
|
|
}
|
|
|
|
@ -1505,7 +1475,7 @@ defineExpose({
|
|
|
|
|
formModel.distinguish = distinguish
|
|
|
|
|
formModel.detailAddress = detailAddress
|
|
|
|
|
formModel.customType = customType
|
|
|
|
|
|
|
|
|
|
formModel.salesmanUserId = salesmanUserId
|
|
|
|
|
formModel.otherAddressesInfo = otherAddressesInfo
|
|
|
|
|
formModel.radius = radius
|
|
|
|
|
formModel.customStoreEntities.push(...customStoreVOList)
|
|
|
|
@ -1513,67 +1483,36 @@ defineExpose({
|
|
|
|
|
formModel.customStoreEntities.forEach((i: any) => {
|
|
|
|
|
i.option = generateTimeSlots(i.tradeStartTime, i.tradeEndTime)
|
|
|
|
|
})
|
|
|
|
|
const getActiveKey = () => {
|
|
|
|
|
if (formModel.customType === 0) {
|
|
|
|
|
activeKey.value = '1'
|
|
|
|
|
} else {
|
|
|
|
|
activeKey.value = '2'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (opendata.type === 'audit') {
|
|
|
|
|
getActiveKey()
|
|
|
|
|
title.value = '编辑'
|
|
|
|
|
// if (formModel.address.length !== 0) {
|
|
|
|
|
// isAddressDisabled.value = true
|
|
|
|
|
// }
|
|
|
|
|
// if (formModel.radius) {
|
|
|
|
|
// isRadiusDisabled.value = true
|
|
|
|
|
// }
|
|
|
|
|
// if (formModel.detailAddress) {
|
|
|
|
|
// isDetailAddressDisabled.value = true
|
|
|
|
|
// }
|
|
|
|
|
handleMapInit().then(() => {
|
|
|
|
|
if (formModel.address?.length !== 0 && formModel.detailAddress && formModel.radius) {
|
|
|
|
|
match(formModel.detailAddress)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else if (opendata.type === 'edit') {
|
|
|
|
|
getActiveKey()
|
|
|
|
|
title.value = '编辑预约'
|
|
|
|
|
if (formModel.address.length !== 0) {
|
|
|
|
|
isAddressDisabled.value = true
|
|
|
|
|
}
|
|
|
|
|
if (formModel.radius) {
|
|
|
|
|
isRadiusDisabled.value = true
|
|
|
|
|
}
|
|
|
|
|
if (formModel.detailAddress) {
|
|
|
|
|
isDetailAddressDisabled.value = true
|
|
|
|
|
}
|
|
|
|
|
handleMapInit().then(() => {
|
|
|
|
|
if (formModel.address?.length !== 0 && formModel.detailAddress && formModel.radius) {
|
|
|
|
|
match(formModel.detailAddress)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else if (opendata.type === 'view') {
|
|
|
|
|
if (formModel.customType === 0) {
|
|
|
|
|
activeKey.value = '1'
|
|
|
|
|
} else {
|
|
|
|
|
activeKey.value = '2'
|
|
|
|
|
activeKey.value = formModel.customType || 0
|
|
|
|
|
if (activeKey.value === 0) {
|
|
|
|
|
handleMapInit().then(() => {
|
|
|
|
|
if (formModel.address?.length !== 0 && formModel.detailAddress && formModel.radius) {
|
|
|
|
|
match(formModel.detailAddress)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
title.value = '详情'
|
|
|
|
|
isAddressReadOnly.value = true
|
|
|
|
|
isRadiusReadOnly.value = true
|
|
|
|
|
isDetailAddressReadOnly.value = true
|
|
|
|
|
isReservationTimeisReadOnly.value = true
|
|
|
|
|
} else if (opendata.type === 'distribute') {
|
|
|
|
|
getActiveKey()
|
|
|
|
|
title.value = '回单'
|
|
|
|
|
isAddressReadOnly.value = true
|
|
|
|
|
isRadiusReadOnly.value = true
|
|
|
|
|
isDetailAddressReadOnly.value = true
|
|
|
|
|
isReservationTimeisReadOnly.value = true
|
|
|
|
|
formModel.description = 1
|
|
|
|
|
title.value = '编辑'
|
|
|
|
|
}
|
|
|
|
|
// else if (opendata.type === 'edit') {
|
|
|
|
|
// console.log('2222222222')
|
|
|
|
|
// getActiveKey()
|
|
|
|
|
// title.value = '编辑预约'
|
|
|
|
|
// if (formModel.address.length !== 0) {
|
|
|
|
|
// isAddressDisabled.value = true
|
|
|
|
|
// }
|
|
|
|
|
// if (formModel.radius) {
|
|
|
|
|
// isRadiusDisabled.value = true
|
|
|
|
|
// }
|
|
|
|
|
// if (formModel.detailAddress) {
|
|
|
|
|
// isDetailAddressDisabled.value = true
|
|
|
|
|
// }
|
|
|
|
|
// handleMapInit().then(() => {
|
|
|
|
|
// if (formModel.address?.length !== 0 && formModel.detailAddress && formModel.radius) {
|
|
|
|
|
// match(formModel.detailAddress)
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
// }
|
|
|
|
|
openModal()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1581,6 +1520,7 @@ defineExpose({
|
|
|
|
|
doRequest(getDetail({ id: opendata.record?.customId }), {
|
|
|
|
|
onSuccess: handleSuccess
|
|
|
|
|
})
|
|
|
|
|
initUserList()
|
|
|
|
|
}
|
|
|
|
|
formAction.value = opendata.newFormAction
|
|
|
|
|
}
|
|
|
|
@ -1786,7 +1726,22 @@ const storeItemClick = (item: any, index: number) => {
|
|
|
|
|
// ::v-deep .ant-form-item-explain-success {
|
|
|
|
|
// display: none !important;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
.a-label {
|
|
|
|
|
align-items: center;
|
|
|
|
|
max-width: 100%;
|
|
|
|
|
height: 32px;
|
|
|
|
|
line-height: 32px;
|
|
|
|
|
text-align: right;
|
|
|
|
|
color: #000000d9;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
width: 160px;
|
|
|
|
|
&::after {
|
|
|
|
|
content: ':';
|
|
|
|
|
position: relative;
|
|
|
|
|
top: -0.5px;
|
|
|
|
|
margin: 0 8px 0 2px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//请输入区域半径
|
|
|
|
|
.radius {
|
|
|
|
|
::v-deep .ant-form-item-control-input-content {
|
|
|
|
|