|
|
@ -1,41 +1,30 @@ |
|
|
|
<template> |
|
|
|
<el-dialog |
|
|
|
title="需求信息" |
|
|
|
<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" |
|
|
|
: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"> |
|
|
|
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" |
|
|
|
<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 && |
|
|
@ -44,230 +33,198 @@ |
|
|
|
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" |
|
|
|
<el-form-item label="所属网格" |
|
|
|
prop="gridId"> |
|
|
|
<el-input v-if="disabled" |
|
|
|
v-model="form.gridName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width" |
|
|
|
></el-input> |
|
|
|
class="input-width"></el-input> |
|
|
|
<!-- <span >{{ form.gridName }}</span> --> |
|
|
|
<el-select |
|
|
|
v-else |
|
|
|
<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" |
|
|
|
@change="handleGridChange"> |
|
|
|
<el-option v-for="item in disabled ? optionsG : optionsEditG" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="需求类型" prop="categoryCode"> |
|
|
|
<el-input |
|
|
|
v-if="disabled" |
|
|
|
<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 |
|
|
|
clearable></el-input> |
|
|
|
<el-cascader v-else |
|
|
|
v-model="form.categoryCodeArr" |
|
|
|
:options="demandOptions" |
|
|
|
:disabled="disabled" |
|
|
|
clearable |
|
|
|
class="input-width" |
|
|
|
@change="handleCateSlect" |
|
|
|
></el-cascader> |
|
|
|
@change="handleCateSlect"></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报类型" prop="reportType"> |
|
|
|
<el-input |
|
|
|
v-if="disabled" |
|
|
|
<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 |
|
|
|
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" |
|
|
|
:disabled="disabled"> |
|
|
|
<el-option v-for="item in reportOptions" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报人" prop="reportUserName"> |
|
|
|
<el-input |
|
|
|
v-model="form.reportUserName" |
|
|
|
<el-form-item label="上报人" |
|
|
|
prop="reportUserName"> |
|
|
|
<el-input v-model="form.reportUserName" |
|
|
|
:disabled="disabled" |
|
|
|
placeholder="请输入" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
></el-input> |
|
|
|
clearable></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报人手机号" prop="reportUserMobile"> |
|
|
|
<el-input |
|
|
|
v-model="form.reportUserMobile" |
|
|
|
<el-form-item label="上报人手机号" |
|
|
|
prop="reportUserMobile"> |
|
|
|
<el-input v-model="form.reportUserMobile" |
|
|
|
:disabled="disabled" |
|
|
|
placeholder="请输入" |
|
|
|
class="input-width" |
|
|
|
maxlength="11" |
|
|
|
clearable |
|
|
|
></el-input> |
|
|
|
clearable></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报时间" prop="reportTime"> |
|
|
|
<el-date-picker |
|
|
|
v-model="form.reportTime" |
|
|
|
<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="选择日期时间" |
|
|
|
> |
|
|
|
placeholder="选择日期时间"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="需求人" prop="demandUserId"> |
|
|
|
<el-input |
|
|
|
v-if="disabled" |
|
|
|
<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 |
|
|
|
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" |
|
|
|
@change="handleDemandChange"> |
|
|
|
<el-option v-for="item in demandUserList" |
|
|
|
:key="item.demandUserId" |
|
|
|
:label="item.label" |
|
|
|
:value="item" |
|
|
|
> |
|
|
|
:value="item"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="服务时间" prop="wantServiceTime"> |
|
|
|
<el-date-picker |
|
|
|
v-model="form.wantServiceTime" |
|
|
|
<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="选择日期时间" |
|
|
|
> |
|
|
|
placeholder="选择日期时间"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="需求内容" prop="content"> |
|
|
|
<el-input |
|
|
|
v-model="form.content" |
|
|
|
<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> |
|
|
|
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" |
|
|
|
> |
|
|
|
prop="serviceType"> |
|
|
|
<template v-if="disabled && addType !== 'appoint'"> |
|
|
|
<el-input |
|
|
|
v-model="form.serviceShowName" |
|
|
|
<el-input v-model="form.serviceShowName" |
|
|
|
:disabled="disabled" |
|
|
|
class="input-width" |
|
|
|
></el-input> |
|
|
|
class="input-width"></el-input> |
|
|
|
</template> |
|
|
|
<template v-else> |
|
|
|
<el-select |
|
|
|
v-model="form.serviceType" |
|
|
|
<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" |
|
|
|
@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="form.serverId" |
|
|
|
<el-select v-model="form.serverId" |
|
|
|
class="input-width-middle" |
|
|
|
filterable |
|
|
|
placeholder="请选择" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType !== 'appoint'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in serviceOptiondList" |
|
|
|
:disabled="disabled && addType !== 'appoint'"> |
|
|
|
<el-option v-for="item in serviceOptiondList" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</template> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
v-if="addType == 'look' && form.status == 'canceled'" |
|
|
|
<el-form-item v-if="addType == 'look' && form.status == 'canceled'" |
|
|
|
label="取消时间" |
|
|
|
prop="cancelTime" |
|
|
|
> |
|
|
|
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" |
|
|
|
"> |
|
|
|
<el-form-item label="实际服务时间" |
|
|
|
prop="serviceStartTime"> |
|
|
|
<el-date-picker v-model="finishServiceTime" |
|
|
|
class="input-width-min" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
@ -276,47 +233,40 @@ |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
@change="handelBlurServiceTime" |
|
|
|
> |
|
|
|
@change="handelBlurServiceTime"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="完成情况" prop="finishResult"> |
|
|
|
<el-radio |
|
|
|
v-model="form.finishResult" |
|
|
|
<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" |
|
|
|
:disabled="disabled && addType != 'finish'">已解决</el-radio> |
|
|
|
<el-radio v-model="form.finishResult" |
|
|
|
label="unresolved" |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
>未解决</el-radio |
|
|
|
> |
|
|
|
:disabled="disabled && addType != 'finish'">未解决</el-radio> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="评价" prop="score" class="form-score"> |
|
|
|
<el-rate |
|
|
|
v-model="form.score" |
|
|
|
<el-form-item label="评价" |
|
|
|
prop="score" |
|
|
|
class="form-score"> |
|
|
|
<el-rate v-model="form.score" |
|
|
|
:allow-half="true" |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
|
></el-rate> |
|
|
|
:disabled="disabled && addType != 'finish'"></el-rate> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="备注" prop="finishDesc"> |
|
|
|
<el-input |
|
|
|
v-model="form.finishDesc" |
|
|
|
<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> |
|
|
|
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" |
|
|
|
<el-form-item label="实际服务时间" |
|
|
|
prop="serviceStartTime"> |
|
|
|
<el-date-picker v-model="finishServiceTime" |
|
|
|
class="input-width-min" |
|
|
|
clearable |
|
|
|
:disabled="disabled && addType != 'finish'" |
|
|
@ -325,22 +275,19 @@ |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
|
@change="handelBlurServiceTime" |
|
|
|
> |
|
|
|
@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'" |
|
|
|
<el-button size="small" |
|
|
|
@click="handlerClose">关闭</el-button> |
|
|
|
<el-button v-if="addType != 'look'" |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
:loading="btnLoading" |
|
|
|
@click="handleSubmit" |
|
|
|
>提交</el-button |
|
|
|
> |
|
|
|
@click="handleSubmit">提交</el-button> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
</template> |
|
|
@ -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(); |
|
|
|