forked from qiushanhe/dm-manage-web
caozong
parent
2c0bc99c03
commit
6c71bccd83
@ -0,0 +1,116 @@ |
|||||||
|
<template> |
||||||
|
<el-dialog title="分发" :close-on-click-modal="false" append-to-body :visible.sync="visible" width="600px" @close="closeDialog"> |
||||||
|
<el-form ref="dialogForm" :model="dialogForm" :rules="rules" label-width="110px"> |
||||||
|
<el-row> |
||||||
|
<el-col :span="24"> |
||||||
|
<el-form-item label="场地" prop="newPlaceList"> |
||||||
|
<span v-if="oldForm.placeNames">{{oldForm.placeNames}}</span> |
||||||
|
|
||||||
|
<el-select v-model="dialogForm.newPlaceList" filterable multiple placeholder="请选择" clearable style="width: 100%;"> |
||||||
|
<el-option v-for="dict in placeOptions" :key="dict.placeId" :label="dict.name" :value="dict.placeId" /> |
||||||
|
</el-select> |
||||||
|
</el-form-item> |
||||||
|
</el-col> |
||||||
|
</el-row> |
||||||
|
</el-form> |
||||||
|
<span slot="footer" class="dialog-footer"> |
||||||
|
<el-button plain @click="(visible = false)">取消</el-button> |
||||||
|
<el-button v-jclick type="primary" :disabled="!canSubmit" @click="dialogFormSubmit()">确定</el-button> |
||||||
|
</span> |
||||||
|
</el-dialog> |
||||||
|
</template> |
||||||
|
<script> |
||||||
|
import { getCluePlaceList, saveCluePlace } from '@/api/zs/clue'; |
||||||
|
import { getAllPlaces } from '@/api/sch/place'; |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'DistributeFormDialog', |
||||||
|
|
||||||
|
data() { |
||||||
|
return { |
||||||
|
visible: false, |
||||||
|
canSubmit: true, |
||||||
|
dialogForm: {}, |
||||||
|
oldForm: {}, |
||||||
|
rules: { |
||||||
|
newPlaceList: { |
||||||
|
required: true, |
||||||
|
message: '场地不能为空不能为空', |
||||||
|
trigger: 'blur' |
||||||
|
} |
||||||
|
}, |
||||||
|
placeOptions: [] |
||||||
|
}; |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
init(info = undefined) { |
||||||
|
this.getPlaces() |
||||||
|
this.visible = true; |
||||||
|
this.$nextTick(() => { |
||||||
|
this.resetDialogForm(); |
||||||
|
this.$refs['dialogForm'].resetFields(); |
||||||
|
if (info) { |
||||||
|
|
||||||
|
this.dialogForm.clueId = info; |
||||||
|
//查询该线索的分发情况 |
||||||
|
this.getDistributePlaces(info); |
||||||
|
} |
||||||
|
}); |
||||||
|
}, |
||||||
|
resetDialogForm() { |
||||||
|
this.dialogForm = { |
||||||
|
oldPlaceList: [], |
||||||
|
newPlaceList: [], |
||||||
|
placeIdList: [], |
||||||
|
clueId: undefined |
||||||
|
}; |
||||||
|
this.oldForm = {} |
||||||
|
}, |
||||||
|
closeDialog() { |
||||||
|
this.$emit('update:dialog.batchUpdateVisible', false); |
||||||
|
}, |
||||||
|
getDistributePlaces(clueId) { |
||||||
|
getCluePlaceList({ clueId: clueId }).then(resp => { |
||||||
|
if (resp.code == 200) { |
||||||
|
this.oldForm = resp.data |
||||||
|
this.dialogForm.oldPlaceList = this.oldForm.placeIdList; |
||||||
|
if (this.oldForm.placeIdList && this.oldForm.placeIdList) { |
||||||
|
this.placeOptions = this.placeOptions.filter(item => this.oldForm.placeIdList.indexOf(item.placeId) == -1) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
}) |
||||||
|
}, |
||||||
|
// 表单提交 |
||||||
|
dialogFormSubmit() { |
||||||
|
this.$refs.dialogForm.validate((valid) => { |
||||||
|
if (valid) { |
||||||
|
this.canSubmit = false; |
||||||
|
this.dialogForm.placeIdList = this.dialogForm.oldPlaceList.concat(this.dialogForm.newPlaceList) |
||||||
|
// 校验完成,调接口 |
||||||
|
saveCluePlace(this.dialogForm) |
||||||
|
.then((resp) => { |
||||||
|
this.canSubmit = true; |
||||||
|
if (resp.code == 200) { |
||||||
|
this.$message.success('分发成功'); |
||||||
|
this.$emit('refreshDataList'); |
||||||
|
this.visible = false; |
||||||
|
} |
||||||
|
}) |
||||||
|
.catch(() => { |
||||||
|
this.canSubmit = true; |
||||||
|
}); |
||||||
|
} |
||||||
|
}); |
||||||
|
}, |
||||||
|
getPlaces() { |
||||||
|
getAllPlaces({ status: '0' }).then((resp) => { |
||||||
|
this.placeOptions = resp.data; |
||||||
|
|
||||||
|
}); |
||||||
|
}, |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
|
@ -0,0 +1,180 @@ |
|||||||
|
<template> |
||||||
|
<div class="app-container" style="width:90%;margin:auto;"> |
||||||
|
<!-- 添加或修改线索反馈对话框 --> |
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
||||||
|
<el-form-item label="学员姓名" prop="clueId"> |
||||||
|
<el-input v-model="form.clueId" placeholder="请输入线索id" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="联系方式" prop="clueId"> |
||||||
|
<el-input v-model="form.clueId" placeholder="请输入线索id" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="教练id" prop="coachId"> |
||||||
|
<el-input v-model="form.coachId" placeholder="请输入教练id" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="是否联系" prop="isContact"> |
||||||
|
<el-input v-model="form.isContact" placeholder="请输入是否联系" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="到场时间" prop="arrivalTime"> |
||||||
|
<el-date-picker v-model="form.arrivalTime" clearable type="date" value-format="yyyy-MM-dd" placeholder="请选择到场时间" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="备注" prop="remark"> |
||||||
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" /> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
<div slot="footer" class="dialog-footer"> |
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button> |
||||||
|
<el-button @click="cancel">取 消</el-button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { addFeedback, updateFeedback } from '@/api/zs/feedback'; |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'First', |
||||||
|
data () { |
||||||
|
return { |
||||||
|
// 遮罩层 |
||||||
|
loading: true, |
||||||
|
// 选中数组 |
||||||
|
ids: [], |
||||||
|
// 非单个禁用 |
||||||
|
single: true, |
||||||
|
// 非多个禁用 |
||||||
|
multiple: true, |
||||||
|
// 显示搜索条件 |
||||||
|
showSearch: true, |
||||||
|
// 总条数 |
||||||
|
total: 0, |
||||||
|
// 线索反馈表格数据 |
||||||
|
feedbackList: [], |
||||||
|
// 弹出层标题 |
||||||
|
title: '', |
||||||
|
// 是否显示弹出层 |
||||||
|
open: false, |
||||||
|
// 查询参数 |
||||||
|
queryParams: { |
||||||
|
pageNum: 1, |
||||||
|
pageSize: 10, |
||||||
|
clueId: null, |
||||||
|
feedbackType: null, |
||||||
|
coachId: null, |
||||||
|
content: null, |
||||||
|
feedbackTime: null, |
||||||
|
isContact: null, |
||||||
|
arrivalTime: null, |
||||||
|
arrivalStatus: null |
||||||
|
}, |
||||||
|
// 表单参数 |
||||||
|
form: {}, |
||||||
|
// 表单校验 |
||||||
|
rules: { |
||||||
|
} |
||||||
|
}; |
||||||
|
}, |
||||||
|
created () { |
||||||
|
this.getList(); |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
/** 查询线索反馈列表 */ |
||||||
|
getList () { |
||||||
|
this.loading = true; |
||||||
|
listFeedback(this.queryParams).then(response => { |
||||||
|
this.feedbackList = response.rows; |
||||||
|
this.total = response.total; |
||||||
|
this.loading = false; |
||||||
|
}); |
||||||
|
}, |
||||||
|
// 取消按钮 |
||||||
|
cancel () { |
||||||
|
this.open = false; |
||||||
|
this.reset(); |
||||||
|
}, |
||||||
|
// 表单重置 |
||||||
|
reset () { |
||||||
|
this.form = { |
||||||
|
feedbackId: null, |
||||||
|
clueId: null, |
||||||
|
feedbackType: null, |
||||||
|
coachId: null, |
||||||
|
content: null, |
||||||
|
feedbackTime: null, |
||||||
|
isContact: null, |
||||||
|
arrivalTime: null, |
||||||
|
arrivalStatus: 0, |
||||||
|
remark: null |
||||||
|
}; |
||||||
|
this.resetForm('form'); |
||||||
|
}, |
||||||
|
/** 搜索按钮操作 */ |
||||||
|
handleQuery () { |
||||||
|
this.queryParams.pageNum = 1; |
||||||
|
this.getList(); |
||||||
|
}, |
||||||
|
/** 重置按钮操作 */ |
||||||
|
resetQuery () { |
||||||
|
this.resetForm('queryForm'); |
||||||
|
this.handleQuery(); |
||||||
|
}, |
||||||
|
// 多选框选中数据 |
||||||
|
handleSelectionChange (selection) { |
||||||
|
this.ids = selection.map(item => item.feedbackId); |
||||||
|
this.single = selection.length !== 1; |
||||||
|
this.multiple = !selection.length; |
||||||
|
}, |
||||||
|
/** 新增按钮操作 */ |
||||||
|
handleAdd () { |
||||||
|
this.reset(); |
||||||
|
this.open = true; |
||||||
|
this.title = '添加线索反馈'; |
||||||
|
}, |
||||||
|
/** 修改按钮操作 */ |
||||||
|
handleUpdate (row) { |
||||||
|
this.reset(); |
||||||
|
const feedbackId = row.feedbackId || this.ids; |
||||||
|
getFeedback(feedbackId).then(response => { |
||||||
|
this.form = response.data; |
||||||
|
this.open = true; |
||||||
|
this.title = '修改线索反馈'; |
||||||
|
}); |
||||||
|
}, |
||||||
|
/** 提交按钮 */ |
||||||
|
submitForm () { |
||||||
|
this.$refs['form'].validate(valid => { |
||||||
|
if (valid) { |
||||||
|
if (this.form.feedbackId != null) { |
||||||
|
updateFeedback(this.form).then(response => { |
||||||
|
this.$modal.msgSuccess('修改成功'); |
||||||
|
this.open = false; |
||||||
|
this.getList(); |
||||||
|
}); |
||||||
|
} else { |
||||||
|
addFeedback(this.form).then(response => { |
||||||
|
this.$modal.msgSuccess('新增成功'); |
||||||
|
this.open = false; |
||||||
|
this.getList(); |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
}, |
||||||
|
/** 删除按钮操作 */ |
||||||
|
handleDelete (row) { |
||||||
|
const feedbackIds = row.feedbackId || this.ids; |
||||||
|
this.$modal.confirm('是否确认删除线索反馈编号为"' + feedbackIds + '"的数据项?').then(function () { |
||||||
|
return delFeedback(feedbackIds); |
||||||
|
}).then(() => { |
||||||
|
this.getList(); |
||||||
|
this.$modal.msgSuccess('删除成功'); |
||||||
|
}).catch(() => { }); |
||||||
|
}, |
||||||
|
/** 导出按钮操作 */ |
||||||
|
handleExport () { |
||||||
|
this.download('system/feedback/export', { |
||||||
|
...this.queryParams |
||||||
|
}, `feedback_${new Date().getTime()}.xlsx`); |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
Loading…
Reference in new issue