|
|
|
@ -1,26 +1,12 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div |
|
|
|
class="dialog-h-content scroll-h" |
|
|
|
:class="{ 'visiual-form': source === 'visiual' }" |
|
|
|
> |
|
|
|
<el-form |
|
|
|
v-if="formType === 'add' || formType === 'edit'" |
|
|
|
ref="ref_form" |
|
|
|
:inline="true" |
|
|
|
:model="formData" |
|
|
|
:rules="dataRule" |
|
|
|
class="div_form" |
|
|
|
> |
|
|
|
<div class="dialog-h-content scroll-h" :class="{ 'visiual-form': source === 'visiual' }"> |
|
|
|
<el-form v-if="formType === 'add' || formType === 'edit'" ref="ref_form" :inline="true" :model="formData" |
|
|
|
:rules="dataRule" class="div_form"> |
|
|
|
<el-form-item label="服务类别" prop="categoryCode" label-width="150px"> |
|
|
|
<el-cascader |
|
|
|
v-model="formData.categoryCode" |
|
|
|
:options="demandOptions" |
|
|
|
:props="{label: 'categoryName',value: 'categoryCode',children: 'childCateList'}" |
|
|
|
clearable |
|
|
|
size="small" |
|
|
|
class="u-item-width-normal" |
|
|
|
></el-cascader> |
|
|
|
<el-cascader v-model="formData.categoryCode" :options="demandOptions" |
|
|
|
:props="{ label: 'categoryName', value: 'categoryCode', children: 'childCateList' }" clearable |
|
|
|
size="small" class="u-item-width-normal"></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<!-- <el-form-item label="政策依据" |
|
|
|
prop="policyId" |
|
|
|
@ -38,54 +24,21 @@ |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> --> |
|
|
|
<el-form-item |
|
|
|
label="服务事项" |
|
|
|
prop="serviceName" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
placeholder="请输入服务事项" |
|
|
|
v-model="formData.serviceName" |
|
|
|
> |
|
|
|
<el-form-item label="服务事项" prop="serviceName" label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" style="display: block"> |
|
|
|
<el-input class="item_width_1" placeholder="请输入服务事项" v-model="formData.serviceName"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="服务内容" |
|
|
|
prop="remark" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
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> |
|
|
|
<el-form-item label="服务内容" prop="remark" label-width="150px" :class="{ 'form-item': source === 'visiual' }" |
|
|
|
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> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="查找享受服务人员" |
|
|
|
prop="resiSearchTagId" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<input |
|
|
|
type="text" |
|
|
|
v-model="formData.resiSearchTagId" |
|
|
|
v-show="false" |
|
|
|
/> |
|
|
|
<template |
|
|
|
style="margin-right: 10px" |
|
|
|
v-if="formData.resiSearchTagName" |
|
|
|
> |
|
|
|
<el-form-item label="查找享受服务人员" prop="resiSearchTagId" :class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" style="display: block"> |
|
|
|
<input type="text" v-model="formData.resiSearchTagId" v-show="false" /> |
|
|
|
<template style="margin-right: 10px" v-if="formData.resiSearchTagName"> |
|
|
|
<el-tag @close="handleCloseTag" closable style="margin-right: 10px"> |
|
|
|
{{ formData.resiSearchTagName }} |
|
|
|
</el-tag> |
|
|
|
@ -95,142 +48,65 @@ |
|
|
|
<span> <i class="el-icon-plus"></i> 按标签查找 </span> |
|
|
|
</el-button> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="服务组织" |
|
|
|
prop="serviceOrgId" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
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" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
<el-form-item label="服务组织" prop="serviceOrgId" label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" 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" :key="item.value" :label="item.label" :value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
- |
|
|
|
<el-select |
|
|
|
v-model="formData.serviceOrgId" |
|
|
|
class="input-width-middle" |
|
|
|
filterable |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in serviceOptiondList" |
|
|
|
:key="item.id" |
|
|
|
:label="item.label" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
<el-select v-model="formData.serviceOrgId" class="input-width-middle" filterable placeholder="请选择" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in serviceOptiondList" :key="item.id" :label="item.label" :value="item.id"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
prop="noticeApproches" |
|
|
|
label="自动通知服务组织" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-form-item prop="noticeApproches" label="自动通知服务组织" label-width="150px" style="display: block"> |
|
|
|
<el-checkbox-group v-model="formData.noticeApproches"> |
|
|
|
<el-checkbox label="sms">短信通知</el-checkbox> |
|
|
|
<el-checkbox label="wx_official_account">微信公众号消息通知</el-checkbox> |
|
|
|
</el-checkbox-group> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="服务范围" |
|
|
|
prop="gridIdList" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-cascader |
|
|
|
class="item_width_1" |
|
|
|
ref="myCascader" |
|
|
|
v-model="scopeIdArray" |
|
|
|
:key="iscascaderShow" |
|
|
|
:options="casOptions" |
|
|
|
:props="optionProps" |
|
|
|
:show-all-levels="false" |
|
|
|
collapse-tags |
|
|
|
@change="handleChangeScope" |
|
|
|
></el-cascader> |
|
|
|
<el-form-item label="服务范围" prop="gridIdList" label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" style="display: block"> |
|
|
|
<el-cascader class="item_width_1" ref="myCascader" v-model="scopeIdArray" :key="iscascaderShow" |
|
|
|
:options="casOptions" :props="optionProps" :show-all-levels="false" collapse-tags |
|
|
|
@change="handleChangeScope"></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="服务时间" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
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="开始时间" |
|
|
|
> |
|
|
|
<el-form-item label="服务时间" label-width="150px" :class="{ 'form-item': source === 'visiual' }" |
|
|
|
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="开始时间"> |
|
|
|
</el-date-picker> |
|
|
|
<span class="u-data-tag">至</span> |
|
|
|
<el-date-picker |
|
|
|
v-model="formData.serviceTimeEnd" |
|
|
|
:picker-options="endPickerOptions" |
|
|
|
class="item_width_2 u-data-tag" |
|
|
|
style="width: 220px" |
|
|
|
type="date" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
value="yyyy-MM-dd" |
|
|
|
placeholder="结束时间" |
|
|
|
> |
|
|
|
<el-date-picker v-model="formData.serviceTimeEnd" :picker-options="endPickerOptions" |
|
|
|
class="item_width_2 u-data-tag" style="width: 220px" type="date" value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
value="yyyy-MM-dd" placeholder="结束时间"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="经办人" |
|
|
|
prop="principalName" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
placeholder="请输入联系人姓名" |
|
|
|
v-model="formData.principalName" |
|
|
|
> |
|
|
|
<el-form-item label="经办人" prop="principalName" :class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" style="display: block"> |
|
|
|
<el-input class="item_width_1" placeholder="请输入联系人姓名" v-model="formData.principalName"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="联系方式" |
|
|
|
prop="principalContact" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
placeholder="请输入联系人电话" |
|
|
|
v-model="formData.principalContact" |
|
|
|
> |
|
|
|
<el-form-item label="联系方式" prop="principalContact" :class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" style="display: block"> |
|
|
|
<el-input class="item_width_1" placeholder="请输入联系人电话" v-model="formData.principalContact"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="上传图片" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
prop="attachments" |
|
|
|
v-if="formType === 'edit'" |
|
|
|
> |
|
|
|
<el-form-item label="服务状态" prop="serviceStatus" :class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" style="display: block"> |
|
|
|
<el-select v-model="formData.serviceStatus" placeholder="请选择"> |
|
|
|
<el-option v-for="e in serviceStatusOptions" :key="e.value" :value="e.value" |
|
|
|
:label="e.label"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上传图片" label-width="150px" style="display: block" prop="attachments" |
|
|
|
v-if="formType === 'edit'"> |
|
|
|
<UploadImages :fileList="formData.attachments" @change="(val) => formData.attachments = val" /> |
|
|
|
</el-form-item> |
|
|
|
<!-- <el-form-item |
|
|
|
@ -250,50 +126,20 @@ |
|
|
|
<div v-show="formType === 'feedback' || showFeedback"> |
|
|
|
<!-- <h3 class="d-h3">反馈内容</h3> --> |
|
|
|
|
|
|
|
<el-form |
|
|
|
ref="ref_form_feedback" |
|
|
|
:inline="true" |
|
|
|
:model="feedbackFormData" |
|
|
|
:rules="feedbackDataRule" |
|
|
|
class="div_form" |
|
|
|
> |
|
|
|
<el-form-item |
|
|
|
label="满意度" |
|
|
|
style="display: block" |
|
|
|
label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
prop="satisfaction" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
class="item_width_2" |
|
|
|
v-model="feedbackFormData.satisfaction" |
|
|
|
placeholder="全部" |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in satisfyArray" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
<el-form ref="ref_form_feedback" :inline="true" :model="feedbackFormData" :rules="feedbackDataRule" |
|
|
|
class="div_form"> |
|
|
|
<el-form-item label="满意度" style="display: block" label-width="150px" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" prop="satisfaction"> |
|
|
|
<el-select class="item_width_2" v-model="feedbackFormData.satisfaction" placeholder="全部" clearable> |
|
|
|
<el-option v-for="item in satisfyArray" :key="item.value" :label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="备注" |
|
|
|
prop="serviceGoal" |
|
|
|
:class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_1" |
|
|
|
type="textarea" |
|
|
|
maxlength="1000" |
|
|
|
show-word-limit |
|
|
|
:rows="3" |
|
|
|
v-model="feedbackFormData.serviceGoal" |
|
|
|
></el-input> |
|
|
|
<el-form-item label="备注" prop="serviceGoal" :class="{ 'form-item': source === 'visiual' }" |
|
|
|
label-width="150px" style="display: block"> |
|
|
|
<el-input class="item_width_1" type="textarea" maxlength="1000" show-word-limit :rows="3" |
|
|
|
v-model="feedbackFormData.serviceGoal"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
</div> |
|
|
|
@ -301,33 +147,13 @@ |
|
|
|
|
|
|
|
<div class="div_btn"> |
|
|
|
<el-button size="small" @click="handleCancle">取 消</el-button> |
|
|
|
<el-button |
|
|
|
size="small" |
|
|
|
type="primary" |
|
|
|
:disabled="btnDisable" |
|
|
|
@click="handleComfirm" |
|
|
|
>确 定</el-button |
|
|
|
> |
|
|
|
<el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm">确 定</el-button> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-dialog |
|
|
|
v-if="showLabelForm" |
|
|
|
:visible.sync="showLabelForm" |
|
|
|
:append-to-body="true" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:close-on-press-escape="false" |
|
|
|
:title="'标签配置'" |
|
|
|
width="954px" |
|
|
|
top="5vh" |
|
|
|
class="dialog-h" |
|
|
|
@closed="showLabelForm = false" |
|
|
|
> |
|
|
|
<label-form |
|
|
|
ref="ref_label_form" |
|
|
|
:ruleList="ruleList" |
|
|
|
@dialogCancle="addFormCancle" |
|
|
|
@dialogOk="addFormOk" |
|
|
|
> |
|
|
|
<el-dialog v-if="showLabelForm" :visible.sync="showLabelForm" :append-to-body="true" :close-on-click-modal="false" |
|
|
|
:close-on-press-escape="false" :title="'标签配置'" width="954px" top="5vh" class="dialog-h" |
|
|
|
@closed="showLabelForm = false"> |
|
|
|
<label-form ref="ref_label_form" :ruleList="ruleList" @dialogCancle="addFormCancle" @dialogOk="addFormOk"> |
|
|
|
<!-- @handleOk="handleOk" |
|
|
|
@handleClose="handleClose" --> |
|
|
|
</label-form> |
|
|
|
@ -416,7 +242,7 @@ export default { |
|
|
|
checkStrictly: true, |
|
|
|
emitPath: false, |
|
|
|
}, |
|
|
|
|
|
|
|
serviceStatusOptions: [{ 'label': '进行中', 'value': 'in_service' }, { 'label': '已完成', 'value': 'completed' }, { 'label': '取消', 'value': 'cancel' }], |
|
|
|
keyWords: "", |
|
|
|
formData: { |
|
|
|
categoryCode: [], |
|
|
|
@ -433,6 +259,7 @@ export default { |
|
|
|
principalContact: "", //经办人联系方式 |
|
|
|
serviceTimeStart: "", //服务起始时间yyyy-MM-dd |
|
|
|
serviceTimeEnd: "", //服务截止时间yyyy-MM-dd |
|
|
|
serviceStatus: "", //服务状态 in_service服务中;completed:已完成;cancel:取消 |
|
|
|
dataCategoryCode: "warm", |
|
|
|
remark: "", // |
|
|
|
attachments: [] |
|
|
|
@ -977,6 +804,7 @@ export default { |
|
|
|
principalContact: this.formData.principalContact, |
|
|
|
serviceTimeStart: this.formData.serviceTimeStart, |
|
|
|
serviceTimeEnd: this.formData.serviceTimeEnd, |
|
|
|
serviceStatus: this.formData.serviceStatus, |
|
|
|
remark: this.formData.remark, |
|
|
|
feedback: this.formData.feedback, |
|
|
|
serviceRecordId: this.serviceRecordId, |
|
|
|
@ -1053,6 +881,7 @@ export default { |
|
|
|
.form-item::v-deep .el-form-item__label { |
|
|
|
color: #fff; |
|
|
|
} |
|
|
|
|
|
|
|
.form-item { |
|
|
|
.el-radio { |
|
|
|
color: #fff; |
|
|
|
|