|
|
@ -1,162 +1,206 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div class="dialog-h-content scroll-h"> |
|
|
|
<el-form ref="ref_form" |
|
|
|
<el-form |
|
|
|
ref="ref_form" |
|
|
|
:inline="true" |
|
|
|
:model="dataForm" |
|
|
|
:rules="dataRule" |
|
|
|
:disabled="formType === 'detail'" |
|
|
|
class="form"> |
|
|
|
<el-form-item label="中心名称 " |
|
|
|
class="form" |
|
|
|
> |
|
|
|
<el-form-item |
|
|
|
label="中心名称 " |
|
|
|
prop="centerName" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
maxlength="50" |
|
|
|
show-word-limit |
|
|
|
placeholder="请输入中心名称 " |
|
|
|
v-model="dataForm.centerName"> |
|
|
|
v-model="dataForm.centerName" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="办公电话" |
|
|
|
<el-form-item |
|
|
|
label="办公电话" |
|
|
|
prop="workPhone" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
maxlength="50" |
|
|
|
show-word-limit |
|
|
|
placeholder="请输入办公电话" |
|
|
|
v-model="dataForm.workPhone"> |
|
|
|
v-model="dataForm.workPhone" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="社区地址" |
|
|
|
<el-form-item |
|
|
|
label="社区地址" |
|
|
|
prop="address" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
maxlength="50" |
|
|
|
show-word-limit |
|
|
|
placeholder="请输入社区地址 " |
|
|
|
v-model="dataForm.address"> |
|
|
|
v-model="dataForm.address" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="办公时间" |
|
|
|
<el-form-item |
|
|
|
label="办公时间" |
|
|
|
prop="amStartTime" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<div class="row"> |
|
|
|
<span>上午</span> |
|
|
|
<el-time-select style="margin-left: 10px" |
|
|
|
<el-time-select |
|
|
|
style="margin-left: 10px" |
|
|
|
v-model="dataForm.amStartTime" |
|
|
|
:picker-options="{ |
|
|
|
start: '00:00', |
|
|
|
step: '00:30', |
|
|
|
end: '12:00', |
|
|
|
}" |
|
|
|
placeholder="开始时间"> |
|
|
|
placeholder="开始时间" |
|
|
|
> |
|
|
|
</el-time-select> |
|
|
|
<span style="margin: 0 5px">至</span> |
|
|
|
<el-time-select v-model="dataForm.amEndTime" |
|
|
|
<el-time-select |
|
|
|
v-model="dataForm.amEndTime" |
|
|
|
:picker-options="{ |
|
|
|
start: '00:00', |
|
|
|
step: '00:30', |
|
|
|
end: '12:00', |
|
|
|
minTime: dataForm.amStartTime, |
|
|
|
}" |
|
|
|
placeholder="结束时间"> |
|
|
|
placeholder="结束时间" |
|
|
|
> |
|
|
|
</el-time-select> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="row" |
|
|
|
style="margin-top: 5px"> |
|
|
|
<div class="row" style="margin-top: 5px"> |
|
|
|
<span>下午</span> |
|
|
|
<el-time-select style="margin-left: 10px" |
|
|
|
<el-time-select |
|
|
|
style="margin-left: 10px" |
|
|
|
v-model="dataForm.pmStartTime" |
|
|
|
:picker-options="{ |
|
|
|
start: '12:00', |
|
|
|
step: '00:30', |
|
|
|
end: '24:00', |
|
|
|
}" |
|
|
|
placeholder="开始时间"> |
|
|
|
placeholder="开始时间" |
|
|
|
> |
|
|
|
</el-time-select> |
|
|
|
<span style="margin: 0 5px">至</span> |
|
|
|
<el-time-select v-model="dataForm.pmEndTime" |
|
|
|
<el-time-select |
|
|
|
v-model="dataForm.pmEndTime" |
|
|
|
:picker-options="{ |
|
|
|
start: '12:00', |
|
|
|
step: '00:30', |
|
|
|
end: '24:00', |
|
|
|
minTime: dataForm.pmStartTime, |
|
|
|
}" |
|
|
|
placeholder="结束时间"> |
|
|
|
placeholder="结束时间" |
|
|
|
> |
|
|
|
</el-time-select> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="位置坐标" |
|
|
|
<el-form-item |
|
|
|
label="位置坐标" |
|
|
|
prop="longitude" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<div style="width: 500px"> |
|
|
|
<el-input class="item_width_4" |
|
|
|
<el-input |
|
|
|
class="item_width_4" |
|
|
|
maxlength="50" |
|
|
|
placeholder="请输入关键字" |
|
|
|
v-model="dataForm.locationAddress"> |
|
|
|
v-model="dataForm.locationAddress" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
<el-button style="margin-left: 10px" |
|
|
|
<el-button |
|
|
|
style="margin-left: 10px" |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
@click="handleSearchMap">查询</el-button> |
|
|
|
<div id="app" |
|
|
|
class="div_map"></div> |
|
|
|
@click="handleSearchMap" |
|
|
|
>查询</el-button |
|
|
|
> |
|
|
|
<div id="app" class="div_map"></div> |
|
|
|
<div style="margin-top: 10px"> |
|
|
|
<span>经度</span> |
|
|
|
<el-input class="item_width_3" |
|
|
|
<el-input |
|
|
|
class="item_width_3" |
|
|
|
maxlength="50" |
|
|
|
placeholder="请输入经度" |
|
|
|
v-model="dataForm.longitude"> |
|
|
|
v-model="dataForm.longitude" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
<span style="margin-left: 20px">纬度</span> |
|
|
|
<el-input class="item_width_3" |
|
|
|
<el-input |
|
|
|
class="item_width_3" |
|
|
|
maxlength="50" |
|
|
|
placeholder="请输入纬度" |
|
|
|
v-model="dataForm.latitude"> |
|
|
|
v-model="dataForm.latitude" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="可预约事项" |
|
|
|
<el-form-item |
|
|
|
label="可预约事项" |
|
|
|
prop="matterList" |
|
|
|
label-width="150px" |
|
|
|
style="display: block"> |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<div class="m-staffs"> |
|
|
|
<div class="item" |
|
|
|
<div |
|
|
|
class="item" |
|
|
|
:key="'staff' + index" |
|
|
|
v-for="(item, index) in dataForm.matterList"> |
|
|
|
v-for="(item, index) in dataForm.matterList" |
|
|
|
> |
|
|
|
<div class="item-info"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
maxlength="50" |
|
|
|
show-word-limit |
|
|
|
placeholder="事项名" |
|
|
|
v-model="item.matterName" |
|
|
|
:disabled="item.matterId != undefined" /> |
|
|
|
:disabled="item.matterId != undefined" |
|
|
|
/> |
|
|
|
|
|
|
|
<el-select style="margin-left: 10px" |
|
|
|
<el-select |
|
|
|
style="margin-left: 10px" |
|
|
|
v-model="item.appointmentType" |
|
|
|
filterable |
|
|
|
placeholder="预约类型" |
|
|
|
:disabled="item.matterId != undefined"> |
|
|
|
<el-option v-for="item in appointmentTypeOptions" |
|
|
|
:disabled="item.matterId != undefined" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in appointmentTypeOptions" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
|
|
|
|
<el-time-select style="margin-left: 10px" |
|
|
|
<el-time-select |
|
|
|
style="margin-left: 10px" |
|
|
|
v-model="item.startTime" |
|
|
|
:picker-options="{ |
|
|
|
start: '00:00', |
|
|
@ -164,10 +208,12 @@ |
|
|
|
end: '24:00', |
|
|
|
}" |
|
|
|
placeholder="开始时间" |
|
|
|
:disabled="item.matterId != undefined"> |
|
|
|
:disabled="item.matterId != undefined" |
|
|
|
> |
|
|
|
</el-time-select> |
|
|
|
<span style="margin: 0 5px">至</span> |
|
|
|
<el-time-select v-model="item.endTime" |
|
|
|
<el-time-select |
|
|
|
v-model="item.endTime" |
|
|
|
:picker-options="{ |
|
|
|
start: '00:00', |
|
|
|
step: '00:30', |
|
|
@ -175,11 +221,13 @@ |
|
|
|
minTime: item.startTime, |
|
|
|
}" |
|
|
|
placeholder="结束时间" |
|
|
|
:disabled="item.matterId != undefined"> |
|
|
|
:disabled="item.matterId != undefined" |
|
|
|
> |
|
|
|
</el-time-select> |
|
|
|
</div> |
|
|
|
<div class="item-pic"> |
|
|
|
<el-upload :disabled="item.matterId != undefined" |
|
|
|
<el-upload |
|
|
|
:disabled="item.matterId != undefined" |
|
|
|
class="avatar-uploader" |
|
|
|
:action="uploadUlr" |
|
|
|
:data="{ customerId: customerId }" |
|
|
@ -188,40 +236,47 @@ |
|
|
|
(response, file, fileList) => |
|
|
|
handleImgSuccess(index, response, file, fileList) |
|
|
|
" |
|
|
|
:before-upload="beforeImgUpload"> |
|
|
|
<img v-if="item.matterImg" |
|
|
|
:before-upload="beforeImgUpload" |
|
|
|
> |
|
|
|
<img |
|
|
|
v-if="item.matterImg" |
|
|
|
:src="item.matterImg" |
|
|
|
style="width: 50px; height: 50px" |
|
|
|
class="function-icon" /> |
|
|
|
<i v-else |
|
|
|
class="el-icon-plus avatar-uploader-icon"></i> |
|
|
|
class="function-icon" |
|
|
|
/> |
|
|
|
<i v-else class="el-icon-plus avatar-uploader-icon"></i> |
|
|
|
</el-upload> |
|
|
|
|
|
|
|
<div class="hint">(事项封面,图片小于1M)</div> |
|
|
|
|
|
|
|
<el-button style="margin-left: auto" |
|
|
|
<el-button |
|
|
|
style="margin-left: auto" |
|
|
|
size="small" |
|
|
|
@click="handleDelStaff(index)">删除</el-button> |
|
|
|
@click="handleDelStaff(index)" |
|
|
|
>删除</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="item-add"> |
|
|
|
<el-button size="small" |
|
|
|
type="warning" |
|
|
|
@click="handleAddStaff">添加</el-button> |
|
|
|
<el-button size="small" type="warning" @click="handleAddStaff" |
|
|
|
>添加</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
</div> |
|
|
|
<div class="div_btn"> |
|
|
|
<el-button size="small" |
|
|
|
@click="handleCancle">取 消</el-button> |
|
|
|
<el-button size="small" |
|
|
|
<el-button size="small" @click="handleCancle">取 消</el-button> |
|
|
|
<el-button |
|
|
|
size="small" |
|
|
|
v-if="formType != 'detail'" |
|
|
|
type="primary" |
|
|
|
:disabled="btnDisable" |
|
|
|
@click="handleComfirm">确 定</el-button> |
|
|
|
@click="handleComfirm" |
|
|
|
>确 定</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
@ -582,16 +637,21 @@ export default { |
|
|
|
<style lang="scss" scoped> |
|
|
|
.m-staffs { |
|
|
|
margin-left: auto; |
|
|
|
width: 650px; |
|
|
|
width: 950px; |
|
|
|
|
|
|
|
.item { |
|
|
|
display: flex; |
|
|
|
.item-info { |
|
|
|
display: flex; |
|
|
|
margin: 0 20px; |
|
|
|
width: 65%; |
|
|
|
justify-content: space-around; |
|
|
|
align-items: center; |
|
|
|
margin-bottom: 7px; |
|
|
|
} |
|
|
|
.item-pic { |
|
|
|
display: flex; |
|
|
|
width: 35%; |
|
|
|
align-items: center; |
|
|
|
.hint { |
|
|
|
font-size: 14px; |
|
|
@ -630,5 +690,3 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|
|
|
|
|
|
|
|
|