|
|
@ -1,304 +1,229 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div |
|
|
|
class="dialog-h-content scroll-h" |
|
|
|
:class="{ 'visiual-form': source === 'visiual' }" |
|
|
|
> |
|
|
|
<el-form |
|
|
|
v-if="formType === 'add'" |
|
|
|
<div class="dialog-h-content scroll-h" |
|
|
|
:class="{ 'visiual-form': source === 'visiual' }"> |
|
|
|
<el-form v-if="formType === 'add'" |
|
|
|
ref="ref_form" |
|
|
|
:inline="true" |
|
|
|
:model="formData" |
|
|
|
:rules="dataRule" |
|
|
|
class="div_form" |
|
|
|
> |
|
|
|
<el-form-item |
|
|
|
label="服务分类" |
|
|
|
class="div_form"> |
|
|
|
<el-form-item label="服务分类" |
|
|
|
prop="serviceCategoryKey" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
v-model="formData.serviceCategoryKey" |
|
|
|
style="display: block"> |
|
|
|
<el-select v-model="formData.serviceCategoryKey" |
|
|
|
class="item_width_1" |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in categrayOptions" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in categrayOptions" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="服务名称" |
|
|
|
<el-form-item label="服务名称" |
|
|
|
prop="serviceName" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
placeholder="请输入服务名称" |
|
|
|
v-model="formData.serviceName" |
|
|
|
> |
|
|
|
v-model="formData.serviceName"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="服务组织" |
|
|
|
<el-form-item label="服务组织" |
|
|
|
prop="serviceOrgId" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
v-model="formData.serviceOrgType" |
|
|
|
style="display: block"> |
|
|
|
<el-select v-model="formData.serviceOrgType" |
|
|
|
class="input-width-small" |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
@change="handleServiceChange('add', $event)" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in serviceOptions" |
|
|
|
@change="handleServiceChange('add', $event)"> |
|
|
|
<el-option v-for="item in serviceOptions" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
- |
|
|
|
<el-select |
|
|
|
v-model="formData.serviceOrgId" |
|
|
|
<el-select v-model="formData.serviceOrgId" |
|
|
|
class="input-width-middle" |
|
|
|
filterable |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in serviceOptiondList" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in serviceOptiondList" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="服务范围" |
|
|
|
<el-form-item label="服务范围" |
|
|
|
prop="objList" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-cascader |
|
|
|
class="item_width_1" |
|
|
|
style="display: block"> |
|
|
|
<el-cascader class="item_width_1" |
|
|
|
ref="myCascader" |
|
|
|
v-model="scopeIdArray" |
|
|
|
:key="iscascaderShow" |
|
|
|
:options="casOptions" |
|
|
|
:props="optionProps" |
|
|
|
:show-all-levels="false" |
|
|
|
@change="handleChangeScope" |
|
|
|
></el-cascader> |
|
|
|
@change="handleChangeScope"></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="政策依据" |
|
|
|
<el-form-item label="政策依据" |
|
|
|
prop="policyId" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
v-model="formData.policyId" |
|
|
|
style="display: block"> |
|
|
|
<el-select v-model="formData.policyId" |
|
|
|
class="input-width-small" |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in policyList" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in policyList" |
|
|
|
:key="item.policyId" |
|
|
|
:label="item.title" |
|
|
|
:value="item.policyId" |
|
|
|
> |
|
|
|
:value="item.policyId"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
|
|
|
|
<el-button |
|
|
|
style="margin-left: 10px" |
|
|
|
<el-button style="margin-left: 10px" |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
@click="handlePersonList" |
|
|
|
>预览</el-button |
|
|
|
> |
|
|
|
@click="handlePersonList">预览</el-button> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="经办人" |
|
|
|
<el-form-item label="经办人" |
|
|
|
prop="principalName" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
placeholder="请输入联系人姓名" |
|
|
|
v-model="formData.principalName" |
|
|
|
> |
|
|
|
v-model="formData.principalName"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="联系方式" |
|
|
|
<el-form-item label="联系方式" |
|
|
|
prop="principalContact" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
placeholder="请输入联系人电话" |
|
|
|
v-model="formData.principalContact" |
|
|
|
> |
|
|
|
v-model="formData.principalContact"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="服务时间" |
|
|
|
<el-form-item label="服务时间" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
prop="serviceTimeStart" |
|
|
|
> |
|
|
|
<el-date-picker |
|
|
|
v-model="formData.serviceTimeStart" |
|
|
|
prop="serviceTimeStart"> |
|
|
|
<el-date-picker v-model="formData.serviceTimeStart" |
|
|
|
:picker-options="startPickerOptions" |
|
|
|
class="item_width_2" |
|
|
|
style="width: 220px" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
value="yyyy-MM-dd" |
|
|
|
placeholder="开始时间" |
|
|
|
> |
|
|
|
placeholder="开始时间"> |
|
|
|
</el-date-picker> |
|
|
|
<span class="data-tag">至</span> |
|
|
|
<el-date-picker |
|
|
|
v-model="formData.serviceTimeEnd" |
|
|
|
<el-date-picker v-model="formData.serviceTimeEnd" |
|
|
|
:picker-options="endPickerOptions" |
|
|
|
class="item_width_2 data-tag" |
|
|
|
style="width: 220px" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
value="yyyy-MM-dd" |
|
|
|
placeholder="结束时间" |
|
|
|
> |
|
|
|
placeholder="结束时间"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="备注" |
|
|
|
<el-form-item label="备注" |
|
|
|
prop="remark" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
type="textarea" |
|
|
|
maxlength="1000" |
|
|
|
show-word-limit |
|
|
|
:rows="3" |
|
|
|
placeholder="请输入备注,不超过1000字" |
|
|
|
v-model="formData.remark" |
|
|
|
></el-input> |
|
|
|
v-model="formData.remark"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="直接反馈" |
|
|
|
<el-form-item label="直接反馈" |
|
|
|
prop="remark" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-checkbox |
|
|
|
:label="'是'" |
|
|
|
style="display: block"> |
|
|
|
<el-checkbox :label="'是'" |
|
|
|
v-model="showFeedback" |
|
|
|
@change="handleChangeFeedback" |
|
|
|
></el-checkbox> |
|
|
|
@change="handleChangeFeedback"></el-checkbox> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div v-show="formType === 'feedback' || showFeedback"> |
|
|
|
<!-- <h3 class="d-h3">反馈内容</h3> --> |
|
|
|
|
|
|
|
<el-form |
|
|
|
ref="ref_form_feedback" |
|
|
|
<el-form ref="ref_form_feedback" |
|
|
|
:inline="true" |
|
|
|
:model="feedbackFormData" |
|
|
|
:rules="feedbackDataRule" |
|
|
|
class="div_form" |
|
|
|
> |
|
|
|
<el-form-item |
|
|
|
label="服务目标" |
|
|
|
class="div_form"> |
|
|
|
<el-form-item label="服务目标" |
|
|
|
prop="serviceGoal" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
type="textarea" |
|
|
|
maxlength="1000" |
|
|
|
show-word-limit |
|
|
|
:rows="3" |
|
|
|
placeholder="请输入服务目标,不超过1000字" |
|
|
|
v-model="feedbackFormData.serviceGoal" |
|
|
|
></el-input> |
|
|
|
v-model="feedbackFormData.serviceGoal"></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="服务效果" |
|
|
|
<el-form-item label="服务效果" |
|
|
|
prop="serviceEffect" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
type="textarea" |
|
|
|
maxlength="1000" |
|
|
|
show-word-limit |
|
|
|
:rows="3" |
|
|
|
placeholder="请输入服务效果,不超过1000字" |
|
|
|
v-model="feedbackFormData.serviceEffect" |
|
|
|
></el-input> |
|
|
|
v-model="feedbackFormData.serviceEffect"></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="服务人数" |
|
|
|
<el-form-item label="服务人数" |
|
|
|
style="display: block" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
prop="servicePeopleNumber" |
|
|
|
label-width="150px" |
|
|
|
> |
|
|
|
<el-input-number |
|
|
|
class="item_width_2" |
|
|
|
label-width="150px"> |
|
|
|
<el-input-number class="item_width_2" |
|
|
|
v-model="feedbackFormData.servicePeopleNumber" |
|
|
|
:min="0" |
|
|
|
:max="9999" |
|
|
|
label="服务人数" |
|
|
|
></el-input-number> |
|
|
|
label="服务人数"></el-input-number> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="服务状态" |
|
|
|
<el-form-item label="服务状态" |
|
|
|
style="display: block" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
prop="serviceStatus" |
|
|
|
> |
|
|
|
prop="serviceStatus"> |
|
|
|
<span>已完成</span> |
|
|
|
<!-- <el-select class="item_width_1" |
|
|
|
v-model="feedbackFormData.serviceStatus" |
|
|
@ -311,93 +236,70 @@ |
|
|
|
</el-option> |
|
|
|
</el-select> --> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="满意度" |
|
|
|
<el-form-item label="满意度" |
|
|
|
style="display: block" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
prop="satisfaction" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
class="item_width_2" |
|
|
|
prop="satisfaction"> |
|
|
|
<el-select class="item_width_2" |
|
|
|
v-model="feedbackFormData.satisfaction" |
|
|
|
placeholder="全部" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in satisfyArray" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in satisfyArray" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="地址" |
|
|
|
<el-form-item label="地址" |
|
|
|
prop="address" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
v-model="feedbackFormData.address" |
|
|
|
></el-input> |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_1" |
|
|
|
v-model="feedbackFormData.address"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="地图位置" |
|
|
|
<el-form-item label="地图位置" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
style="display: block"> |
|
|
|
<div style="width: 500px"> |
|
|
|
<div class="div_map"> |
|
|
|
<div id="map_app"></div> |
|
|
|
<div class="div_searchmap"> |
|
|
|
<el-input |
|
|
|
maxlength="50" |
|
|
|
<el-input maxlength="50" |
|
|
|
size="mini" |
|
|
|
placeholder="请输入关键字" |
|
|
|
v-model="keyWords" |
|
|
|
> |
|
|
|
v-model="keyWords"> |
|
|
|
</el-input> |
|
|
|
<el-button |
|
|
|
style="margin-left: 10px" |
|
|
|
<el-button style="margin-left: 10px" |
|
|
|
type="primary" |
|
|
|
size="mini" |
|
|
|
@click="handleSearchMap" |
|
|
|
>查询</el-button |
|
|
|
> |
|
|
|
@click="handleSearchMap">查询</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
class="block" |
|
|
|
<el-form-item class="block" |
|
|
|
label="附件" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" |
|
|
|
prop="attach" |
|
|
|
> |
|
|
|
<el-upload |
|
|
|
class="upload-demo" |
|
|
|
prop="attach"> |
|
|
|
<el-upload class="upload-demo" |
|
|
|
:action="uploadUlr" |
|
|
|
accept=".doc,.pdf,.xls,.docx,.xlsx,.jpg,.png,.jpeg,.bmp,.mp4,.wma,.m4a,.mp3" |
|
|
|
:on-success="handleFileSuccess" |
|
|
|
:on-remove="handleFileRemove" |
|
|
|
:limit="3" |
|
|
|
:before-upload="beforeUpload" |
|
|
|
:file-list="fileList" |
|
|
|
> |
|
|
|
<el-button |
|
|
|
size="small" |
|
|
|
:file-list="fileList"> |
|
|
|
<el-button size="small" |
|
|
|
:disabled="fileList.length === 3" |
|
|
|
type="primary" |
|
|
|
>点击上传</el-button |
|
|
|
> |
|
|
|
<div slot="tip" class="el-upload__tip">支持图片、word、pdf</div> |
|
|
|
type="primary">点击上传</el-button> |
|
|
|
<div slot="tip" |
|
|
|
class="el-upload__tip">支持图片、word、pdf</div> |
|
|
|
</el-upload> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
@ -405,18 +307,15 @@ |
|
|
|
</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" |
|
|
|
type="primary" |
|
|
|
:disabled="btnDisable" |
|
|
|
@click="handleComfirm" |
|
|
|
>确 定</el-button |
|
|
|
> |
|
|
|
@click="handleComfirm">确 定</el-button> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-dialog |
|
|
|
v-if="showPersonList" |
|
|
|
<el-dialog v-if="showPersonList" |
|
|
|
:visible.sync="showPersonList" |
|
|
|
:append-to-body="true" |
|
|
|
:close-on-click-modal="false" |
|
|
@ -425,15 +324,12 @@ |
|
|
|
width="1150px" |
|
|
|
top="5vh" |
|
|
|
class="dialog-h" |
|
|
|
@closed="showPersonList = false" |
|
|
|
> |
|
|
|
<person-list |
|
|
|
ref="ref_detail_form" |
|
|
|
@closed="showPersonList = false"> |
|
|
|
<person-list ref="ref_detail_form" |
|
|
|
:policyId="policyId" |
|
|
|
:ruleList="ruleList" |
|
|
|
@handleOk="handleOk" |
|
|
|
@handleClose="handleClose" |
|
|
|
> |
|
|
|
@handleClose="handleClose"> |
|
|
|
</person-list> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
@ -555,10 +451,10 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
endPickerOptions: { |
|
|
|
disabledDate: endDisabledDate, |
|
|
|
// disabledDate: endDisabledDate, |
|
|
|
}, |
|
|
|
startPickerOptions: { |
|
|
|
disabledDate: startDisabledDate, |
|
|
|
// disabledDate: startDisabledDate, |
|
|
|
}, |
|
|
|
|
|
|
|
showFeedback: false, |
|
|
|