|
|
@ -1,42 +1,31 @@ |
|
|
|
<template> |
|
|
|
<el-dialog |
|
|
|
title="需求信息" |
|
|
|
width="50%" |
|
|
|
top="5vh" |
|
|
|
append-to-body |
|
|
|
class="dialog-h" |
|
|
|
:visible="true" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:before-close="handlerClose" |
|
|
|
> |
|
|
|
<el-form |
|
|
|
label-width="120px" |
|
|
|
:model="form" |
|
|
|
:rules="rules" |
|
|
|
ref="ruleForm" |
|
|
|
class="form-wr dialog-h-content scroll-h" |
|
|
|
> |
|
|
|
<el-form-item label="操作方式" prop="addType"> |
|
|
|
<el-dialog title="需求信息" |
|
|
|
width="50%" |
|
|
|
top="5vh" |
|
|
|
append-to-body |
|
|
|
class="dialog-h" |
|
|
|
:visible="true" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:before-close="handlerClose"> |
|
|
|
<el-form label-width="120px" |
|
|
|
:model="form" |
|
|
|
:rules="rules" |
|
|
|
ref="ruleForm" |
|
|
|
class="form-wr dialog-h-content scroll-h"> |
|
|
|
<el-form-item label="操作方式" |
|
|
|
prop="addType"> |
|
|
|
<el-radio-group v-model="addType"> |
|
|
|
<el-radio label="look">查看</el-radio> |
|
|
|
<template v-if="form.reportType != 'self_help'"> |
|
|
|
<el-radio label="edit" v-if="form.status === 'pending'" |
|
|
|
>修改</el-radio |
|
|
|
> |
|
|
|
<el-radio |
|
|
|
label="cancel" |
|
|
|
v-if="form.status !== 'finished' && form.status !== 'canceled'" |
|
|
|
>取消</el-radio |
|
|
|
> |
|
|
|
<el-radio label="edit" |
|
|
|
v-if="form.status === 'pending'">修改</el-radio> |
|
|
|
<el-radio label="cancel" |
|
|
|
v-if="form.status !== 'finished' && form.status !== 'canceled'">取消</el-radio> |
|
|
|
</template> |
|
|
|
<el-radio |
|
|
|
label="appoint" |
|
|
|
v-if="form.status === 'pending' || form.status === 'assigned'" |
|
|
|
>指派</el-radio |
|
|
|
> |
|
|
|
<el-radio |
|
|
|
label="finish" |
|
|
|
v-if=" |
|
|
|
<el-radio label="appoint" |
|
|
|
v-if="form.status === 'pending' || form.status === 'assigned'">指派</el-radio> |
|
|
|
<!-- <el-radio label="finish" |
|
|
|
v-if=" |
|
|
|
(form.reportType == 'self_help' && |
|
|
|
form.serviceShowFlag && |
|
|
|
form.serviceType !== 'volunteer' && |
|
|
@ -44,303 +33,261 @@ |
|
|
|
form.status === 'assigned' || |
|
|
|
form.status === 'have_order' || |
|
|
|
(form.status == 'finished' && !form.evaluateFlag) |
|
|
|
" |
|
|
|
>完成</el-radio |
|
|
|
> |
|
|
|
">完成</el-radio> --> |
|
|
|
<el-radio label="finish" |
|
|
|
v-if=" |
|
|
|
(form.reportType == 'self_help' && |
|
|
|
form.serviceShowFlag && |
|
|
|
form.serviceType !== 'volunteer' && |
|
|
|
form.status !== 'finished') || |
|
|
|
form.status === 'assigned' || |
|
|
|
form.status === 'have_order' |
|
|
|
">完成</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="所属网格" prop="gridId"> |
|
|
|
<el-input |
|
|
|
v-if="disabled" |
|
|
|
v-model="form.gridName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width" |
|
|
|
></el-input> |
|
|
|
<el-form-item label="所属网格" |
|
|
|
prop="gridId"> |
|
|
|
<el-input v-if="disabled" |
|
|
|
v-model="form.gridName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width"></el-input> |
|
|
|
<!-- <span >{{ form.gridName }}</span> --> |
|
|
|
<el-select |
|
|
|
v-else |
|
|
|
v-model="form.gridId" |
|
|
|
filterable |
|
|
|
placeholder="请选择" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
:disabled="disabled" |
|
|
|
@change="handleGridChange" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in disabled ? optionsG : optionsEditG" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
<el-select v-else |
|
|
|
v-model="form.gridId" |
|
|
|
filterable |
|
|
|
placeholder="请选择" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
:disabled="disabled" |
|
|
|
@change="handleGridChange"> |
|
|
|
<el-option v-for="item in disabled ? optionsG : optionsEditG" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="需求类型" prop="categoryCode"> |
|
|
|
<el-input |
|
|
|
v-if="disabled" |
|
|
|
v-model="form.categoryName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
></el-input> |
|
|
|
<el-cascader |
|
|
|
v-else |
|
|
|
v-model="form.categoryCodeArr" |
|
|
|
:options="demandOptions" |
|
|
|
:disabled="disabled" |
|
|
|
clearable |
|
|
|
class="input-width" |
|
|
|
@change="handleCateSlect" |
|
|
|
></el-cascader> |
|
|
|
<el-form-item label="需求类型" |
|
|
|
prop="categoryCode"> |
|
|
|
<el-input v-if="disabled" |
|
|
|
v-model="form.categoryName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width" |
|
|
|
clearable></el-input> |
|
|
|
<el-cascader v-else |
|
|
|
v-model="form.categoryCodeArr" |
|
|
|
:options="demandOptions" |
|
|
|
:disabled="disabled" |
|
|
|
clearable |
|
|
|
class="input-width" |
|
|
|
@change="handleCateSlect"></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报类型" prop="reportType"> |
|
|
|
<el-input |
|
|
|
v-if="disabled" |
|
|
|
v-model="form.reportTypeName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width" |
|
|
|
></el-input> |
|
|
|
<el-select |
|
|
|
v-else |
|
|
|
v-model="form.reportType" |
|
|
|
filterable |
|
|
|
class="input-width" |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
:disabled="disabled" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in reportOptions" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
<el-form-item label="上报类型" |
|
|
|
prop="reportType"> |
|
|
|
<el-input v-if="disabled" |
|
|
|
v-model="form.reportTypeName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width"></el-input> |
|
|
|
<el-select v-else |
|
|
|
v-model="form.reportType" |
|
|
|
filterable |
|
|
|
class="input-width" |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
:disabled="disabled"> |
|
|
|
<el-option v-for="item in reportOptions" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报人" prop="reportUserName"> |
|
|
|
<el-input |
|
|
|
v-model="form.reportUserName" |
|
|
|
:disabled="disabled" |
|
|
|
placeholder="请输入" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
></el-input> |
|
|
|
<el-form-item label="上报人" |
|
|
|
prop="reportUserName"> |
|
|
|
<el-input v-model="form.reportUserName" |
|
|
|
:disabled="disabled" |
|
|
|
placeholder="请输入" |
|
|
|
class="input-width" |
|
|
|
clearable></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报人手机号" prop="reportUserMobile"> |
|
|
|
<el-input |
|
|
|
v-model="form.reportUserMobile" |
|
|
|
:disabled="disabled" |
|
|
|
placeholder="请输入" |
|
|
|
class="input-width" |
|
|
|
maxlength="11" |
|
|
|
clearable |
|
|
|
></el-input> |
|
|
|
<el-form-item label="上报人手机号" |
|
|
|
prop="reportUserMobile"> |
|
|
|
<el-input v-model="form.reportUserMobile" |
|
|
|
:disabled="disabled" |
|
|
|
placeholder="请输入" |
|
|
|
class="input-width" |
|
|
|
maxlength="11" |
|
|
|
clearable></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报时间" prop="reportTime"> |
|
|
|
<el-date-picker |
|
|
|
v-model="form.reportTime" |
|
|
|
type="datetime" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
:disabled="disabled" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
placeholder="选择日期时间" |
|
|
|
> |
|
|
|
<el-form-item label="上报时间" |
|
|
|
prop="reportTime"> |
|
|
|
<el-date-picker v-model="form.reportTime" |
|
|
|
type="datetime" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
:disabled="disabled" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
placeholder="选择日期时间"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="需求人" prop="demandUserId"> |
|
|
|
<el-input |
|
|
|
v-if="disabled" |
|
|
|
v-model="form.demandUserName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width" |
|
|
|
></el-input> |
|
|
|
<el-select |
|
|
|
v-else |
|
|
|
v-model="selectDemandUser" |
|
|
|
class="input-width" |
|
|
|
filterable |
|
|
|
:disabled="disabled" |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
@change="handleDemandChange" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in demandUserList" |
|
|
|
:key="item.demandUserId" |
|
|
|
:label="item.label" |
|
|
|
:value="item" |
|
|
|
> |
|
|
|
<el-form-item label="需求人" |
|
|
|
prop="demandUserId"> |
|
|
|
<el-input v-if="disabled" |
|
|
|
v-model="form.demandUserName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width"></el-input> |
|
|
|
<el-select v-else |
|
|
|
v-model="selectDemandUser" |
|
|
|
class="input-width" |
|
|
|
filterable |
|
|
|
:disabled="disabled" |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
@change="handleDemandChange"> |
|
|
|
<el-option v-for="item in demandUserList" |
|
|
|
:key="item.demandUserId" |
|
|
|
:label="item.label" |
|
|
|
:value="item"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="服务时间" prop="wantServiceTime"> |
|
|
|
<el-date-picker |
|
|
|
v-model="form.wantServiceTime" |
|
|
|
type="datetime" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
:disabled="disabled" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
placeholder="选择日期时间" |
|
|
|
> |
|
|
|
<el-form-item label="服务时间" |
|
|
|
prop="wantServiceTime"> |
|
|
|
<el-date-picker v-model="form.wantServiceTime" |
|
|
|
type="datetime" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
:disabled="disabled" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
placeholder="选择日期时间"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="需求内容" prop="content"> |
|
|
|
<el-input |
|
|
|
v-model="form.content" |
|
|
|
:autosize="{ minRows: 2, maxRows: 10 }" |
|
|
|
:disabled="disabled" |
|
|
|
type="textarea" |
|
|
|
clearable |
|
|
|
class="input-width-textarea" |
|
|
|
placeholder="请输入内容" |
|
|
|
></el-input> |
|
|
|
<el-form-item label="需求内容" |
|
|
|
prop="content"> |
|
|
|
<el-input v-model="form.content" |
|
|
|
:autosize="{ minRows: 2, maxRows: 10 }" |
|
|
|
:disabled="disabled" |
|
|
|
type="textarea" |
|
|
|
clearable |
|
|
|
class="input-width-textarea" |
|
|
|
placeholder="请输入内容"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
v-if=" |
|
|
|
<el-form-item v-if=" |
|
|
|
addType === 'appoint' || |
|
|
|
addType == 'finish' || |
|
|
|
(addType == 'look' && form.serviceShowFlag) |
|
|
|
" |
|
|
|
label="服务方" |
|
|
|
prop="serviceType" |
|
|
|
> |
|
|
|
label="服务方" |
|
|
|
prop="serviceType"> |
|
|
|
<template v-if="disabled && addType !== 'appoint'"> |
|
|
|
<el-input |
|
|
|
v-model="form.serviceShowName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width" |
|
|
|
></el-input> |
|
|
|
<el-input v-model="form.serviceShowName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width"></el-input> |
|
|
|
</template> |
|
|
|
<template v-else> |
|
|
|
<el-select |
|
|
|
v-model="form.serviceType" |
|
|
|
class="input-width-small" |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType !== 'appoint'" |
|
|
|
@change="handleServiceChange('add', $event)" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in serviceOptions" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
<el-select v-model="form.serviceType" |
|
|
|
class="input-width-small" |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType !== 'appoint'" |
|
|
|
@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="form.serverId" |
|
|
|
class="input-width-middle" |
|
|
|
filterable |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType !== 'appoint'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in serviceOptiondList" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
<el-select v-model="form.serverId" |
|
|
|
class="input-width-middle" |
|
|
|
filterable |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType !== 'appoint'"> |
|
|
|
<el-option v-for="item in serviceOptiondList" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</template> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
v-if="addType == 'look' && form.status == 'canceled'" |
|
|
|
label="取消时间" |
|
|
|
prop="cancelTime" |
|
|
|
> |
|
|
|
<el-form-item v-if="addType == 'look' && form.status == 'canceled'" |
|
|
|
label="取消时间" |
|
|
|
prop="cancelTime"> |
|
|
|
<span>{{ form.cancelTime }}</span> |
|
|
|
</el-form-item> |
|
|
|
<template |
|
|
|
v-if=" |
|
|
|
<template v-if=" |
|
|
|
(addType == 'finish' && form.reportType != 'self_help') || |
|
|
|
(addType == 'look' && form.status == 'finished') |
|
|
|
" |
|
|
|
> |
|
|
|
<el-form-item label="实际服务时间" prop="serviceStartTime"> |
|
|
|
<el-date-picker |
|
|
|
v-model="finishServiceTime" |
|
|
|
class="input-width-min" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
type="datetimerange" |
|
|
|
range-separator="至" |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
@change="handelBlurServiceTime" |
|
|
|
> |
|
|
|
"> |
|
|
|
<el-form-item label="实际服务时间" |
|
|
|
prop="serviceStartTime"> |
|
|
|
<el-date-picker v-model="finishServiceTime" |
|
|
|
class="input-width-min" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
type="datetimerange" |
|
|
|
range-separator="至" |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
@change="handelBlurServiceTime"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="完成情况" prop="finishResult"> |
|
|
|
<el-radio |
|
|
|
v-model="form.finishResult" |
|
|
|
label="resolved" |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
>已解决</el-radio |
|
|
|
> |
|
|
|
<el-radio |
|
|
|
v-model="form.finishResult" |
|
|
|
label="unresolved" |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
>未解决</el-radio |
|
|
|
> |
|
|
|
<el-form-item label="完成情况" |
|
|
|
prop="finishResult"> |
|
|
|
<el-radio v-model="form.finishResult" |
|
|
|
label="resolved" |
|
|
|
:disabled="disabled && addType != 'finish'">已解决</el-radio> |
|
|
|
<el-radio v-model="form.finishResult" |
|
|
|
label="unresolved" |
|
|
|
:disabled="disabled && addType != 'finish'">未解决</el-radio> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="评价" prop="score" class="form-score"> |
|
|
|
<el-rate |
|
|
|
v-model="form.score" |
|
|
|
:allow-half="true" |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
></el-rate> |
|
|
|
<el-form-item label="评价" |
|
|
|
prop="score" |
|
|
|
class="form-score"> |
|
|
|
<el-rate v-model="form.score" |
|
|
|
:allow-half="true" |
|
|
|
:disabled="disabled && addType != 'finish'"></el-rate> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="备注" prop="finishDesc"> |
|
|
|
<el-input |
|
|
|
v-model="form.finishDesc" |
|
|
|
:autosize="{ minRows: 2, maxRows: 10 }" |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
type="textarea" |
|
|
|
clearable |
|
|
|
class="input-width-textarea" |
|
|
|
placeholder="请输入内容" |
|
|
|
></el-input> |
|
|
|
<el-form-item label="备注" |
|
|
|
prop="finishDesc"> |
|
|
|
<el-input v-model="form.finishDesc" |
|
|
|
:autosize="{ minRows: 2, maxRows: 10 }" |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
type="textarea" |
|
|
|
clearable |
|
|
|
class="input-width-textarea" |
|
|
|
placeholder="请输入内容"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</template> |
|
|
|
<template v-if="addType == 'finish' && form.reportType == 'self_help'"> |
|
|
|
<el-form-item label="实际服务时间" prop="serviceStartTime"> |
|
|
|
<el-date-picker |
|
|
|
v-model="finishServiceTime" |
|
|
|
class="input-width-min" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
type="datetimerange" |
|
|
|
range-separator="至" |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
@change="handelBlurServiceTime" |
|
|
|
> |
|
|
|
<el-form-item label="实际服务时间" |
|
|
|
prop="serviceStartTime"> |
|
|
|
<el-date-picker v-model="finishServiceTime" |
|
|
|
class="input-width-min" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
type="datetimerange" |
|
|
|
range-separator="至" |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
@change="handelBlurServiceTime"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
</template> |
|
|
|
</el-form> |
|
|
|
<div class="resi-btns"> |
|
|
|
<el-button size="small" @click="handlerClose">关闭</el-button> |
|
|
|
<el-button |
|
|
|
v-if="addType != 'look'" |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
:loading="btnLoading" |
|
|
|
@click="handleSubmit" |
|
|
|
>提交</el-button |
|
|
|
> |
|
|
|
<el-button size="small" |
|
|
|
@click="handlerClose">关闭</el-button> |
|
|
|
<el-button v-if="addType != 'look'" |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
:loading="btnLoading" |
|
|
|
@click="handleSubmit">提交</el-button> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
</template> |
|
|
@ -360,7 +307,7 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
data() { |
|
|
|
data () { |
|
|
|
return { |
|
|
|
btnLoading: false, |
|
|
|
pageLoading: false, |
|
|
@ -432,18 +379,18 @@ export default { |
|
|
|
|
|
|
|
computed: { |
|
|
|
...mapGetters(["clientHeight", "iframeHeight"]), |
|
|
|
disabled() { |
|
|
|
disabled () { |
|
|
|
return this.addType != "edit"; |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
watch: { |
|
|
|
addType(val) { |
|
|
|
addType (val) { |
|
|
|
this.formatRowForm(val); |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
async created() { |
|
|
|
async created () { |
|
|
|
this.customerId = localStorage.getItem("customerId"); |
|
|
|
|
|
|
|
this.getInfo(); |
|
|
@ -452,11 +399,11 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
filterEdit(id) { |
|
|
|
filterEdit (id) { |
|
|
|
const { user } = this.$store.state; |
|
|
|
return id === user.agencyId; |
|
|
|
}, |
|
|
|
handleCateSlect(val) { |
|
|
|
handleCateSlect (val) { |
|
|
|
console.log("val", val); |
|
|
|
if (val.length === 1) { |
|
|
|
this.demandOptions.forEach((item) => { |
|
|
@ -468,31 +415,31 @@ export default { |
|
|
|
this.form.categoryCode = val[1]; |
|
|
|
} |
|
|
|
}, |
|
|
|
handleDemandChange(val) { |
|
|
|
handleDemandChange (val) { |
|
|
|
console.log("val", val, this.selectDemandUser); |
|
|
|
this.selectDemandUser = val.label; |
|
|
|
this.form.demandUserName = val.demandUserName; |
|
|
|
this.form.demandUserMobile = val.demandUserMobile; |
|
|
|
this.form.demandUserId = val.demandUserId; |
|
|
|
}, |
|
|
|
handelBlurServiceTime(val) { |
|
|
|
handelBlurServiceTime (val) { |
|
|
|
console.log("val", val); |
|
|
|
if (val.length > 0) { |
|
|
|
this.form.serviceStartTime = val[0]; |
|
|
|
this.form.serviceEndTime = val[1]; |
|
|
|
} |
|
|
|
}, |
|
|
|
handleServiceChange(type, val) { |
|
|
|
handleServiceChange (type, val) { |
|
|
|
if (val === "social_org") { |
|
|
|
if (type === "add") this.getServiceuserList(val, "add_demand"); |
|
|
|
else this.getServiceuserList(val, "query_demand"); |
|
|
|
} else this.getServiceuserList(val, ""); |
|
|
|
}, |
|
|
|
handleGridChange(val) { |
|
|
|
handleGridChange (val) { |
|
|
|
this.getDemandUserList(); |
|
|
|
}, |
|
|
|
|
|
|
|
handelBlurServiceTime(val) { |
|
|
|
handelBlurServiceTime (val) { |
|
|
|
console.log("val", val); |
|
|
|
if (val.length > 0) { |
|
|
|
this.form.serviceStartTime = val[0]; |
|
|
@ -500,23 +447,23 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
handleServiceChange(type, val) { |
|
|
|
handleServiceChange (type, val) { |
|
|
|
if (val === "social_org") { |
|
|
|
if (type === "add") this.getServiceuserList(val, "add_demand"); |
|
|
|
else this.getServiceuserList(val, "query_demand"); |
|
|
|
} else this.getServiceuserList(val, ""); |
|
|
|
}, |
|
|
|
|
|
|
|
handleAdd(addType) { |
|
|
|
handleAdd (addType) { |
|
|
|
this.addType = addType; |
|
|
|
this.dialogVisible = true; |
|
|
|
}, |
|
|
|
|
|
|
|
handlerClose() { |
|
|
|
handlerClose () { |
|
|
|
this.$emit("close"); |
|
|
|
}, |
|
|
|
|
|
|
|
async formatRowForm(addType) { |
|
|
|
async formatRowForm (addType) { |
|
|
|
this.addType = addType; |
|
|
|
const { form: row } = this; |
|
|
|
|
|
|
@ -554,7 +501,7 @@ export default { |
|
|
|
this.dialogVisible = true; |
|
|
|
}, |
|
|
|
|
|
|
|
async appointAjax() { |
|
|
|
async appointAjax () { |
|
|
|
const _form = { |
|
|
|
demandRecId: this.form.demandRecId, |
|
|
|
serviceType: this.form.serviceType, |
|
|
@ -578,7 +525,7 @@ export default { |
|
|
|
this.btnLoading = false; |
|
|
|
}, |
|
|
|
|
|
|
|
async finishAjax() { |
|
|
|
async finishAjax () { |
|
|
|
const { reportType, serviceShowFlag, serviceType } = this.form; |
|
|
|
const _form = { |
|
|
|
demandRecId: this.form.demandRecId, |
|
|
@ -607,7 +554,7 @@ export default { |
|
|
|
this.btnLoading = false; |
|
|
|
}, |
|
|
|
|
|
|
|
async editCate() { |
|
|
|
async editCate () { |
|
|
|
const categoryCode = this.form.categoryCode; |
|
|
|
if (Array.isArray(categoryCode)) { |
|
|
|
if (categoryCode.length === 1) { |
|
|
@ -643,7 +590,7 @@ export default { |
|
|
|
this.btnLoading = false; |
|
|
|
}, |
|
|
|
|
|
|
|
handleSubmit() { |
|
|
|
handleSubmit () { |
|
|
|
this.$refs.ruleForm.validate(async (valid) => { |
|
|
|
if (valid) { |
|
|
|
this.btnLoading = true; |
|
|
@ -659,7 +606,7 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
handleDel() { |
|
|
|
handleDel () { |
|
|
|
let params = { |
|
|
|
demandRecId: this.demandRecId, |
|
|
|
}; |
|
|
@ -680,7 +627,7 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
getTreeData(data) { |
|
|
|
getTreeData (data) { |
|
|
|
if (!Array.isArray(data)) return []; |
|
|
|
let arr = data.map((item) => { |
|
|
|
let _item = {}; |
|
|
@ -696,7 +643,7 @@ export default { |
|
|
|
return arr; |
|
|
|
}, |
|
|
|
|
|
|
|
getFlagData(data, flag) { |
|
|
|
getFlagData (data, flag) { |
|
|
|
if (!Array.isArray(data)) return []; |
|
|
|
let arr1 = data.filter((item) => item[flag]); |
|
|
|
let arr2 = arr1.map((item) => { |
|
|
@ -708,7 +655,7 @@ export default { |
|
|
|
return arr2; |
|
|
|
}, |
|
|
|
|
|
|
|
async getGridList(type, agencyId) { |
|
|
|
async getGridList (type, agencyId) { |
|
|
|
const { user } = await this.$store.state; |
|
|
|
console.log("user---ppp", user); |
|
|
|
// addorupdate query |
|
|
@ -732,7 +679,7 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
async getDemandUserList() { |
|
|
|
async getDemandUserList () { |
|
|
|
const { user } = await this.$store.state; |
|
|
|
console.log("user---ppp", user); |
|
|
|
const params = { |
|
|
@ -756,7 +703,7 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
async getDemandOptions() { |
|
|
|
async getDemandOptions () { |
|
|
|
this.$http |
|
|
|
.post("/heart/icresidemanddict/demandoption") |
|
|
|
.then(({ data: res }) => { |
|
|
@ -775,7 +722,7 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
async getServiceuserList(serviceType, query) { |
|
|
|
async getServiceuserList (serviceType, query) { |
|
|
|
if (!serviceType) return false; |
|
|
|
const { demandUserId } = this.form; |
|
|
|
const params = { |
|
|
@ -799,7 +746,7 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
async getDictOptions() { |
|
|
|
async getDictOptions () { |
|
|
|
this.$http |
|
|
|
.post("/sys/dict/data/dictlist", { dictType: "user_demand_status" }) |
|
|
|
.then(({ data: res }) => { |
|
|
@ -845,7 +792,7 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
async getInfo() { |
|
|
|
async getInfo () { |
|
|
|
let params = { |
|
|
|
demandRecId: this.demandRecId, |
|
|
|
}; |
|
|
@ -863,6 +810,8 @@ export default { |
|
|
|
res.data.parentCode + res.data.categoryCode, |
|
|
|
], |
|
|
|
}; |
|
|
|
|
|
|
|
this.finishServiceTime = [this.form.serviceStartTime, this.form.serviceEndTime] |
|
|
|
this.getGridList(); |
|
|
|
this.getDemandOptions(); |
|
|
|
this.getDemandUserList(); |
|
|
|