|
|
@ -100,7 +100,7 @@ |
|
|
|
</el-form> |
|
|
|
</div> |
|
|
|
<div class="resi-row-btn"> |
|
|
|
<el-button type="success" @click="handleAdd('1', 'add')">新增需求</el-button> |
|
|
|
<el-button type="success" @click="handleAdd('add')">新增需求</el-button> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-table |
|
|
@ -121,6 +121,7 @@ |
|
|
|
:label="item.label" |
|
|
|
:align="item.align" |
|
|
|
:width="item.width" |
|
|
|
:show-overflow-tooltip="true" |
|
|
|
> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span>{{ handleFilterSpan(scope.row, item) }}</span> |
|
|
@ -128,37 +129,48 @@ |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="操作" align="center" width="200"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button |
|
|
|
@click="handleLook(scope.row)" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
class="btn-color-look" |
|
|
|
>查看</el-button |
|
|
|
> |
|
|
|
<el-button |
|
|
|
v-if="scope.row.level == 1" |
|
|
|
@click="handleAdd('2', 'add', scope.row)" |
|
|
|
<template v-if="filterEdit(scope.row.agencyId)"> |
|
|
|
<el-button |
|
|
|
v-if="scope.row.status === 'pending' || scope.row.status === 'assigned'" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
@click="handleAppoint(scope.row, 'appoint')" |
|
|
|
>指派</el-button> |
|
|
|
<el-button |
|
|
|
v-if="scope.row.status === 'assigned' || scope.row.status === 'have_order'" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
@click="handleFinish(scope.row, 'finish')" |
|
|
|
>完成情况</el-button> |
|
|
|
<el-button |
|
|
|
v-if="scope.row.status === 'pending'" |
|
|
|
@click="handleEdit(scope.row, 'edit')" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
class="btn-color-edit" |
|
|
|
>编辑</el-button> |
|
|
|
<el-popconfirm |
|
|
|
title="取消之后无法恢复,确认取消?" |
|
|
|
@onConfirm="handleDel(scope.row)" |
|
|
|
> |
|
|
|
<el-button |
|
|
|
v-if="scope.row.status !== 'finished' && scope.row.status !== 'canceled'" |
|
|
|
slot="reference" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
class="btn-color-del" |
|
|
|
>取消</el-button |
|
|
|
> |
|
|
|
</el-popconfirm> |
|
|
|
</template> |
|
|
|
<el-button |
|
|
|
v-if="scope.row.level == 1" |
|
|
|
@click="handleAdd('2', 'add', scope.row)" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
>取消</el-button> |
|
|
|
<el-button |
|
|
|
v-if="scope.row.level == 1" |
|
|
|
@click="handleAdd('2', 'add', scope.row)" |
|
|
|
@click="handleLook(scope.row, 'look')" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
>完成情况</el-button> |
|
|
|
<el-button |
|
|
|
@click="handleEdit(scope.row, 'edit')" |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
class="btn-color-edit" |
|
|
|
>编辑</el-button> |
|
|
|
class="btn-color-look" |
|
|
|
>查看</el-button |
|
|
|
> |
|
|
|
|
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
@ -184,21 +196,29 @@ |
|
|
|
:close-on-click-modal="false" |
|
|
|
:before-close="handlerCancle" |
|
|
|
> |
|
|
|
<el-form label-width="120px" :model="form" :rules="rules" ref="ruleForm" class="form-wr"> |
|
|
|
<el-form v-if="dialogVisible" label-width="120px" :model="form" :rules="rules" ref="ruleForm" class="form-wr"> |
|
|
|
<el-form-item label="所属网格" prop="gridId"> |
|
|
|
<el-select v-model="form.gridId" filterable placeholder="请选择" class="input-width" clearable @change="handleGridChange"> |
|
|
|
<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 optionsEditG" |
|
|
|
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="parentCode"> |
|
|
|
<el-form-item label="需求类型" prop="categoryCode"> |
|
|
|
<el-input v-if="disabled" v-model="form.categoryName" :disabled="disabled" class="input-width-min"></el-input> |
|
|
|
<el-cascader |
|
|
|
v-model="searchForm.categoryCode" |
|
|
|
v-else |
|
|
|
v-model="form.categoryCode" |
|
|
|
:options="demandOptions" |
|
|
|
:disabled="disabled" |
|
|
|
clearable |
|
|
|
class="input-width" |
|
|
|
@change="handleCateSlect"></el-cascader> |
|
|
@ -212,7 +232,9 @@ |
|
|
|
</el-select> --> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报类型" prop="reportType"> |
|
|
|
<el-select v-model="form.reportType" filterable class="input-width" placeholder="请选择" clearable> |
|
|
|
<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" |
|
|
@ -222,35 +244,32 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报人" prop="reportUserName"> |
|
|
|
<el-input v-model="form.reportUserName" placeholder="请输入" class="input-width" clearable></el-input> |
|
|
|
<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" placeholder="请输入" class="input-width" clearable></el-input> |
|
|
|
<el-input v-model="form.reportUserMobile" :disabled="disabled" |
|
|
|
placeholder="请输入" class="input-width" clearable></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="上报时间" prop="reportTime"> |
|
|
|
<!-- <el-date-picker |
|
|
|
v-model="form.reportTime" |
|
|
|
type="date" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
placeholder="选择日期" |
|
|
|
format="yyyy 年 MM 月 dd 日" |
|
|
|
value-format="yyyy-MM-dd HH:mm:ss"> |
|
|
|
</el-date-picker> --> |
|
|
|
<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"> |
|
|
@ -263,27 +282,94 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="服务时间" prop="wantServiceTime"> |
|
|
|
<!-- <el-date-picker |
|
|
|
v-model="form.wantServiceTime" |
|
|
|
type="date" |
|
|
|
class="input-width" |
|
|
|
clearable |
|
|
|
placeholder="选择日期" |
|
|
|
format="yyyy 年 MM 月 dd 日" |
|
|
|
value-format="yyyy-MM-dd"> |
|
|
|
</el-date-picker> --> |
|
|
|
<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}" type="textarea" clearable class="input-width-textarea" placeholder="请输入内容"></el-input> |
|
|
|
<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="addType === 'appoint' || addType == 'finish' || addType == 'look'" |
|
|
|
label="服务方" prop="serviceType"> |
|
|
|
<template v-if="disabled && addType !== 'appoint'"> |
|
|
|
<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"> |
|
|
|
<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-option> |
|
|
|
</el-select> |
|
|
|
</template> |
|
|
|
</el-form-item> |
|
|
|
<template v-if="addType == 'finish' || addType == 'look'"> |
|
|
|
<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="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" |
|
|
|
@blur="handelBlurServiceTime" |
|
|
|
> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="评价" prop="score" class="form-score"> |
|
|
|
<el-rate v-model="form.score" :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> |
|
|
|
</template> |
|
|
|
|
|
|
|
</el-form> |
|
|
|
<div class="resi-btns"> |
|
|
|
<el-button size="small" @click="handlerCancle">取消</el-button> |
|
|
@ -368,7 +454,7 @@ export default { |
|
|
|
{ |
|
|
|
label: '状态', |
|
|
|
align: 'center', |
|
|
|
columnName: 'status', |
|
|
|
columnName: 'statusName', |
|
|
|
width: '120', |
|
|
|
options: [ |
|
|
|
{ |
|
|
@ -408,7 +494,7 @@ export default { |
|
|
|
options: [] |
|
|
|
}, { |
|
|
|
label: '上报类型', |
|
|
|
columnName: 'reportType', |
|
|
|
columnName: 'reportTypeName', |
|
|
|
align: 'center', |
|
|
|
width: '120', |
|
|
|
options: [ |
|
|
@ -436,7 +522,7 @@ export default { |
|
|
|
label: '上报时间', |
|
|
|
columnName: 'reportTime', |
|
|
|
align: 'center', |
|
|
|
width: '120', |
|
|
|
width: '180', |
|
|
|
options: [] |
|
|
|
}, { |
|
|
|
label: '需求人', |
|
|
@ -446,7 +532,7 @@ export default { |
|
|
|
options: [] |
|
|
|
}, { |
|
|
|
label: '服务方', |
|
|
|
columnName: 'serviceName', |
|
|
|
columnName: 'serviceShowName', |
|
|
|
align: 'center', |
|
|
|
width: '120', |
|
|
|
options: [] |
|
|
@ -454,13 +540,14 @@ export default { |
|
|
|
label: '服务时间', |
|
|
|
columnName: 'wantServiceTime', |
|
|
|
align: 'center', |
|
|
|
width: '120', |
|
|
|
width: '180', |
|
|
|
options: [] |
|
|
|
} |
|
|
|
], |
|
|
|
customerId: '', |
|
|
|
reportTime: '', |
|
|
|
serviceTime: '', |
|
|
|
finishServiceTime: '', |
|
|
|
searchForm: { |
|
|
|
gridId: '', |
|
|
|
categoryCode: '', |
|
|
@ -491,14 +578,19 @@ export default { |
|
|
|
}, |
|
|
|
rules: { |
|
|
|
gridId: [{ required: true, message: '所属网格不能为空', trigger: 'blur' }], |
|
|
|
parentCode: [{ required: true, message: '需求分类不能为空', trigger: 'blur' }], |
|
|
|
categoryCode: [{ required: true, message: '需求分类不能为空', trigger: 'blur' }], |
|
|
|
content: [{ required: true, message: '需求内容不能为空', trigger: 'blur' }], |
|
|
|
reportType: [{ required: true, message: '上报类型不能为空', trigger: 'blur' }], |
|
|
|
reportUserName: [{ required: true, message: '上报人不能为空', trigger: 'blur' }], |
|
|
|
reportUserMobile: [{ required: true, message: '上报人手机号不能为空', trigger: 'blur' }], |
|
|
|
reportTime: [{ required: true, message: '上报时间不能为空', trigger: 'blur' }], |
|
|
|
demandUserId: [{ required: true, message: '需求人不能为空', trigger: 'blur' }], |
|
|
|
wantServiceTime: [{ required: true, message: '服务时间不能为空', trigger: 'blur' }] |
|
|
|
wantServiceTime: [{ required: true, message: '服务时间不能为空', trigger: 'blur' }], |
|
|
|
serviceType: [{ required: true, message: '服务方不能为空', trigger: 'blur' }], |
|
|
|
serviceStartTime: [{ required: true, message: '实际服务时间不能为空', trigger: 'blur' }], |
|
|
|
score: [{ required: true, message: '评分不能为空', trigger: 'blur' }], |
|
|
|
finishDesc: [{ required: true, message: '备注不能为空', trigger: 'blur' }], |
|
|
|
finishResult: [{ required: true, message: '完成情况不能为空', trigger: 'blur' }], |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
@ -536,6 +628,10 @@ export default { |
|
|
|
} |
|
|
|
return _val || row[item.columnName] |
|
|
|
}, |
|
|
|
filterEdit(id) { |
|
|
|
const { user } = this.$store.state |
|
|
|
return id === user.agencyId |
|
|
|
}, |
|
|
|
resetForm(formName) { |
|
|
|
this.searchForm.reportStartTime = '' |
|
|
|
this.searchForm.reportEndTime = '' |
|
|
@ -553,8 +649,17 @@ export default { |
|
|
|
this.searchForm.level = val.length |
|
|
|
}, |
|
|
|
handleCateSlect(val) { |
|
|
|
this.form.parentCode = val[0] |
|
|
|
this.form.categoryCode = val[1] |
|
|
|
console.log('val', val) |
|
|
|
if (val.length === 1) { |
|
|
|
this.demandOptions.forEach(item => { |
|
|
|
if (item.value == val[0]) this.form.parentCode = item.pvalue |
|
|
|
}) |
|
|
|
this.form.categoryCode = val[0] |
|
|
|
} else { |
|
|
|
this.form.parentCode = val[0] |
|
|
|
this.form.categoryCode = val[1] |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
handleDemandChange(val) { |
|
|
|
console.log('val', val) |
|
|
@ -575,64 +680,120 @@ export default { |
|
|
|
} |
|
|
|
this.getTableData() |
|
|
|
}, |
|
|
|
handelBlurServiceTime(val) { |
|
|
|
console.log('val', val) |
|
|
|
if (val.value.length > 0) { |
|
|
|
this.form.serviceStartTime = val.value[0] |
|
|
|
this.form.serviceEndTime = val.value[1] |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
handleServiceChange(val) { |
|
|
|
this.getServiceuserList() |
|
|
|
this.getServiceuserList(val) |
|
|
|
}, |
|
|
|
handleGridChange(val) { |
|
|
|
this.getDemandUserList() |
|
|
|
}, |
|
|
|
handleAdd(type, addType, row) { |
|
|
|
this.addLevel = type |
|
|
|
handleAdd(addType) { |
|
|
|
this.addType = addType |
|
|
|
if (type == '2') this.form = { ...row, categoryName: '' } |
|
|
|
this.dialogVisible = true |
|
|
|
}, |
|
|
|
handlerCancle() { |
|
|
|
this.form.categoryCode = '' |
|
|
|
this.from.parentCode = '' |
|
|
|
this.form.demandUserName = '' |
|
|
|
this.form.demandUserMobile = '' |
|
|
|
this.form.demandUserId = '' |
|
|
|
// this.form.categoryCode = '' |
|
|
|
// this.form.parentCode = '' |
|
|
|
// this.form.demandUserName = '' |
|
|
|
// this.form.demandUserMobile = '' |
|
|
|
// this.form.demandUserId = '' |
|
|
|
this.$delete(this.form, 'demandRecId') |
|
|
|
this.selectDemandUser = '' |
|
|
|
this.$refs.ruleForm.resetFields() |
|
|
|
for(const n in this.form) { |
|
|
|
this.form[n] = '' |
|
|
|
} |
|
|
|
this.disabled = false |
|
|
|
// this.$refs.ruleForm.resetFields() |
|
|
|
this.dialogVisible = false |
|
|
|
}, |
|
|
|
async handleLook(row) { |
|
|
|
const params = { |
|
|
|
categoryId: row.categoryId, |
|
|
|
usableFlag: !row.usableFlag |
|
|
|
async formatRowForm(row, addType, disabled) { |
|
|
|
this.form = { ...row, categoryCode: [row.parentCode, row.categoryCode] } |
|
|
|
this.addType = addType |
|
|
|
|
|
|
|
if (disabled) { |
|
|
|
// await this.getGridList('query', row.agencyId) |
|
|
|
this.disabled = disabled |
|
|
|
} |
|
|
|
this.$http |
|
|
|
.post('/heart/icresidemanddict/updatestatus', params) |
|
|
|
if (addType == 'look') { |
|
|
|
this.finishServiceTime = [row.serviceStartTime, row.serviceEndTime] |
|
|
|
} |
|
|
|
if (addType == 'appoint' && row.serviceType) { |
|
|
|
await this.getServiceuserList(row.serviceType) |
|
|
|
} |
|
|
|
if (addType == 'edit') { |
|
|
|
await this.getDemandUserList() |
|
|
|
this.demandOptions.forEach(item => { |
|
|
|
if (item.value === row.categoryCode) this.form.categoryCode = [row.categoryCode] |
|
|
|
}) |
|
|
|
this.demandUserList.forEach(item => { |
|
|
|
if (item.demandUserId == row.demandUserId) this.selectDemandUser = item |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
this.dialogVisible = true |
|
|
|
}, |
|
|
|
async handleLook(row, type) { |
|
|
|
await this.formatRowForm(row, type, true) |
|
|
|
}, |
|
|
|
async handleAppoint(row, type) { |
|
|
|
await this.formatRowForm(row, type, true) |
|
|
|
}, |
|
|
|
async handleFinish(row, type) { |
|
|
|
await this.formatRowForm(row, type, true) |
|
|
|
}, |
|
|
|
async handleEdit(row, type) { |
|
|
|
await this.formatRowForm(row, type, false) |
|
|
|
// this.form = { ...row, categoryCode: [row.parentCode, row.categoryCode] } |
|
|
|
// this.addType = addType |
|
|
|
// this.demandOptions.forEach(item => { |
|
|
|
// if (item.value === row.categoryCode) this.form.categoryCode = [row.categoryCode] |
|
|
|
// }) |
|
|
|
// await this.getDemandUserList() |
|
|
|
// this.demandUserList.forEach(item => { |
|
|
|
// if (item.demandUserId == row.demandUserId) this.selectDemandUser = item |
|
|
|
// }) |
|
|
|
// console.log('selectDemandUser', this.selectDemandUser) |
|
|
|
// this.dialogVisible = true |
|
|
|
}, |
|
|
|
async addNew() { |
|
|
|
const _form = { |
|
|
|
...this.form |
|
|
|
} |
|
|
|
await this.$http |
|
|
|
.post('/heart/userdemand/add', _form) |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} else { |
|
|
|
this.handlerCancle() |
|
|
|
this.getTableData() |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(() => { |
|
|
|
return this.$message.error('网络错误') |
|
|
|
}) |
|
|
|
this.btnLoading = false |
|
|
|
}, |
|
|
|
async handleEdit(row, addType) { |
|
|
|
|
|
|
|
this.form = { ...row } |
|
|
|
this.addLevel = row.level |
|
|
|
this.addType = addType |
|
|
|
this.dialogVisible = true |
|
|
|
}, |
|
|
|
async addLevelFirst() { |
|
|
|
async appointAjax() { |
|
|
|
const _form = { |
|
|
|
...this.form |
|
|
|
demandRecId: this.form.demandRecId, |
|
|
|
serviceType: this.form.serviceType, |
|
|
|
serverId: this.form.serverId |
|
|
|
} |
|
|
|
await this.$http |
|
|
|
.post('/heart/userdemand/add', _form) |
|
|
|
.post('/heart/userdemand/assign', _form) |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} else { |
|
|
|
this.dialogVisible = false |
|
|
|
this.handlerCancle() |
|
|
|
this.getTableData() |
|
|
|
} |
|
|
|
}) |
|
|
@ -641,20 +802,23 @@ export default { |
|
|
|
}) |
|
|
|
this.btnLoading = false |
|
|
|
}, |
|
|
|
async addLevelChild () { |
|
|
|
async finishAjax() { |
|
|
|
const _form = { |
|
|
|
customerId: localStorage.getItem('customerId'), |
|
|
|
categoryName: this.form.categoryName, |
|
|
|
parentCategoryCode: this.form.categoryCode, |
|
|
|
awardPoint: this.form.awardPoint |
|
|
|
demandRecId: this.form.demandRecId, |
|
|
|
serviceStartTime: this.form.serviceStartTime, |
|
|
|
serviceEndTime: this.form.serviceEndTime, |
|
|
|
finishResult: this.form.finishResult, |
|
|
|
finishDesc: this.form.finishDesc, |
|
|
|
serviceId: this.form.serviceId, |
|
|
|
score: this.form.score |
|
|
|
} |
|
|
|
await this.$http |
|
|
|
.post('/heart/icresidemanddict/addchild', _form) |
|
|
|
.post('/heart/userdemand/finish', _form) |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} else { |
|
|
|
this.dialogVisible = false |
|
|
|
this.handlerCancle() |
|
|
|
this.getTableData() |
|
|
|
} |
|
|
|
}) |
|
|
@ -664,6 +828,19 @@ export default { |
|
|
|
this.btnLoading = false |
|
|
|
}, |
|
|
|
async editCate() { |
|
|
|
const categoryCode = this.form.categoryCode |
|
|
|
if (Array.isArray(categoryCode)) { |
|
|
|
if (categoryCode.length === 1) { |
|
|
|
this.demandOptions.forEach(item => { |
|
|
|
if (item.value == categoryCode[0]) this.form.parentCode = item.pvalue |
|
|
|
}) |
|
|
|
this.form.categoryCode = categoryCode[0] |
|
|
|
} else { |
|
|
|
this.form.parentCode = categoryCode[0] |
|
|
|
this.form.categoryCode = categoryCode[1] |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const _form = { |
|
|
|
...this.form |
|
|
|
} |
|
|
@ -673,7 +850,7 @@ export default { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} else { |
|
|
|
this.dialogVisible = false |
|
|
|
this.handlerCancle() |
|
|
|
this.getTableData() |
|
|
|
} |
|
|
|
}) |
|
|
@ -686,8 +863,10 @@ export default { |
|
|
|
this.$refs.ruleForm.validate(async (valid) => { |
|
|
|
if (valid) { |
|
|
|
this.btnLoading = true |
|
|
|
if (this.addType == 'add') this.addLevelFirst() |
|
|
|
else this.editCate() |
|
|
|
if (this.addType == 'add') this.addNew() |
|
|
|
else if (this.addType == 'edit') this.editCate() |
|
|
|
else if (this.addType == 'appoint') this.appointAjax() |
|
|
|
else if (this.addType == 'finish') this.finishAjax() |
|
|
|
|
|
|
|
} else { |
|
|
|
console.log('error submit!!'); |
|
|
@ -698,19 +877,18 @@ export default { |
|
|
|
}, |
|
|
|
handleDel(row) { |
|
|
|
let params = { |
|
|
|
formCode: 'resi_base_info', |
|
|
|
icResiUserId: row.icResiUserId |
|
|
|
demandRecId: row.demandRecId |
|
|
|
} |
|
|
|
console.log('row1', row) |
|
|
|
this.$http |
|
|
|
.post('/epmetuser/icresiuser/delete', params) |
|
|
|
.post('/heart/userdemand/cancel', params) |
|
|
|
.then(({ data: res }) => { |
|
|
|
console.log('row2', row) |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} else { |
|
|
|
console.log('row3', row) |
|
|
|
this.$message.success('删除成功') |
|
|
|
this.$message.success('取消成功') |
|
|
|
this.getTableData() |
|
|
|
} |
|
|
|
}) |
|
|
@ -733,12 +911,12 @@ export default { |
|
|
|
}) |
|
|
|
return arr |
|
|
|
}, |
|
|
|
async getGridList(type) { |
|
|
|
async getGridList(type, agencyId) { |
|
|
|
const { user } = await this.$store.state |
|
|
|
console.log('user---ppp', user) |
|
|
|
// addorupdate query |
|
|
|
this.$http |
|
|
|
.post('/gov/org/customergrid/gridoption', { agencyId: user.agencyId, purpose: type }) |
|
|
|
await this.$http |
|
|
|
.post('/gov/org/customergrid/gridoption', { agencyId: agencyId || user.agencyId, purpose: type }) |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
@ -762,7 +940,7 @@ export default { |
|
|
|
name: '' |
|
|
|
} |
|
|
|
// addorupdate |
|
|
|
this.$http |
|
|
|
await this.$http |
|
|
|
.post('/epmetuser/icresiuser/demandusers', params) |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
@ -791,14 +969,14 @@ export default { |
|
|
|
return this.$message.error('网络错误') |
|
|
|
}) |
|
|
|
}, |
|
|
|
getServiceuserList() { |
|
|
|
if (!this.searchForm.serviceType) return this.$message.error('服务方不能为空') |
|
|
|
async getServiceuserList(serviceType) { |
|
|
|
if (!serviceType) return this.$message.error('服务方不能为空') |
|
|
|
const params = { |
|
|
|
serviceName: '', |
|
|
|
serviceType: this.searchForm.serviceType, |
|
|
|
serviceType: serviceType, |
|
|
|
queryPurpose: '' |
|
|
|
} |
|
|
|
this.$http |
|
|
|
await this.$http |
|
|
|
.post('/heart/userdemand/servicelist', params) |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
@ -889,7 +1067,7 @@ export default { |
|
|
|
text-decoration: underline; |
|
|
|
} |
|
|
|
::v-deep .btn-color-del { |
|
|
|
margin-left: 10px; |
|
|
|
margin: 0 10px; |
|
|
|
color: rgba(213, 16, 16, 1); |
|
|
|
} |
|
|
|
::v-deep .btn-color-edit { |
|
|
@ -899,11 +1077,26 @@ export default { |
|
|
|
.form-wr { |
|
|
|
.input-width { |
|
|
|
width: 260px; |
|
|
|
&-small { |
|
|
|
width: 160px; |
|
|
|
} |
|
|
|
&-middle { |
|
|
|
width: 200px; |
|
|
|
} |
|
|
|
&-min { |
|
|
|
min-width: 260px; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
.input-width-textarea { |
|
|
|
width: 400px; |
|
|
|
} |
|
|
|
.form-score { |
|
|
|
::v-deep .el-rate { |
|
|
|
margin-top: 8px; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
</style> |
|
|
|