<template>
|
<div class="apply-info">
|
<div class="dialog-form">
|
{{taskController}}
|
<p class="dialog-form-title">{{taskController === '0' ? '任务指派' : '退回任务池'}}</p>
|
<CommForm
|
:inline="true"
|
:list="formList"
|
@updateValue="updateValue"
|
ref="editMarkForm"
|
:formValues="formValues"
|
:formRules="formRules"
|
:column="2"
|
></CommForm>
|
<div class="dialog-form-buttons">
|
<p>
|
<el-button class="comm-button" @click="$emit('close')">取消</el-button>
|
</p>
|
<p>
|
<el-button class="comm-button" type="primary" @click="submit">确定</el-button>
|
<!-- <el-button class="comm-button" type="primary" @click="$emit('callback')">确定</el-button> -->
|
</p>
|
</div>
|
</div>
|
</div>
|
</template>
|
<script>
|
// 修改转账备注
|
import CommForm from '@/components/CommForm'
|
// import editRemark from '@/controller/editRemark'
|
import qryTaskChangeUserList from '@/controller/qryTaskChangeUserList'
|
import turnFlowUserList from '@/controller/turnFlowUserList' // 指派任务
|
import returnTaskPool from '@/controller/returnTaskPool' // 退回任务池
|
|
// taskController 0 任务指派
|
// taskController 1 退回任务池
|
|
export default {
|
components: {
|
CommForm
|
},
|
props: {
|
taskController: {
|
type: String,
|
default: ''
|
},
|
info: {
|
type: Object,
|
default: () => ({})
|
},
|
isShow: {
|
type: Boolean,
|
default: false
|
},
|
// queryType 查询类型 01 贷款机构 02 资金单元 03 业务通道 04 兜底机构
|
queryType: {
|
type: String,
|
required: true
|
}
|
},
|
data() {
|
return {
|
model: null,
|
formList: []
|
}
|
},
|
created() {
|
this.init()
|
},
|
methods: {
|
init() {
|
const { taskController, info, queryType } = this
|
let model = null
|
if (taskController === '0') {
|
model = turnFlowUserList({ queryType })
|
}
|
if (taskController === '1') {
|
// 退回任务池
|
model = returnTaskPool({ queryType })
|
}
|
this.model = model
|
this.formList = model.getFormList(info)
|
// 任务指派
|
if (taskController === '0') {
|
this.assignTask()
|
}
|
},
|
|
// 任务指派
|
assignTask() {
|
const { formList } = this
|
const index = formList.findIndex(item => item.name === 'taskUserName')
|
if (index > -1) {
|
this.name = formList[index].name
|
this.formList[index] = {
|
...formList[index],
|
attrs: [
|
'clearable',
|
'filterable',
|
'remote',
|
{
|
'remote-method': v => {
|
if (v !== '') {
|
this.qryTaskChangeUserList(v)
|
}
|
}
|
}
|
]
|
}
|
}
|
},
|
|
// 查询用户列表
|
async qryTaskChangeUserList(userName) {
|
const { name } = this
|
const tempModel = qryTaskChangeUserList()
|
const { list } = await tempModel.request({
|
userName
|
})
|
this.tempList = list
|
this.updateValue(name, { options: list })
|
},
|
// 更新表单数据
|
updateValue(index = '', data = {}) {
|
const { formList } = this
|
if (isNaN(index)) {
|
// index is name
|
index = formList.findIndex(({ name }) => name === index)
|
}
|
|
if (!isNaN(index) && index > -1) {
|
const preInfo = formList[index]
|
const newRemarkIndex = formList.findIndex(
|
({ name }) => name === 'newRemark'
|
)
|
const oldIndex = formList.findIndex(({ name }) => name === 'trxTxt')
|
const remarkIndex = formList.findIndex(({ name }) => name === 'remark')
|
|
this.$set(formList, index, { ...preInfo, ...data })
|
if (index === newRemarkIndex) {
|
this.$set(formList, remarkIndex, {
|
...formList[remarkIndex],
|
value: `${formList[oldIndex].value},${data.value}`
|
})
|
}
|
}
|
},
|
|
// 表单按钮事件处理
|
async submit() {
|
const { model, info, taskController, tempList } = this
|
const {
|
objectType,
|
objectNo,
|
operUserId,
|
flowNo,
|
phaseNo,
|
serialNo
|
} = info
|
let params = null
|
const values = this.$refs.editMarkForm.validate()
|
const { taskUserName } = values
|
if (taskController === '1') {
|
params = {
|
objectType,
|
objectNo
|
}
|
this.readlySubmit(values, params)
|
}
|
if (taskController === '0') {
|
const userAbout = tempList.find(item => item.value === taskUserName)
|
if (userAbout) {
|
const { taskOrgId, taskOrgName, label, value } = userAbout
|
params = {
|
taskOrgId,
|
taskOrgName,
|
taskUserId: value,
|
taskUserName: label,
|
phaseNo,
|
ftSerialNo: serialNo
|
}
|
}
|
this.readlySubmit(values, params)
|
}
|
|
// if (values) {
|
// const { model } = this
|
// await model.request({
|
// ...values,
|
// ...params
|
// })
|
// this.$emit('callback')
|
// }
|
},
|
|
//
|
async readlySubmit(values, params) {
|
// console.log(values, params)
|
const { model } = this
|
console.log(values, params)
|
if (values) {
|
await model.request({
|
...values,
|
...params
|
})
|
this.$emit('callback')
|
}
|
}
|
},
|
computed: {
|
// 表单值信息
|
formValues() {
|
const { model, formList } = this
|
if (model) {
|
return model.getFormValues(formList)
|
}
|
return {}
|
},
|
formRules() {
|
const { model, formList } = this
|
if (model) {
|
return model.getFormRules(formList)
|
}
|
return {}
|
}
|
},
|
watch: {
|
isShow() {
|
const { isShow } = this
|
if (isShow) {
|
this.init()
|
}
|
}
|
}
|
}
|
</script>
|
<style lang="postcss" scoped>
|
.dialog-form {
|
& .dialog-form-buttons {
|
display: flex;
|
justify-content: center;
|
padding: 50px 0 10px 0;
|
& p {
|
margin: 0 40px 0 0;
|
}
|
& p:last-child {
|
margin-right: 0;
|
}
|
}
|
}
|
</style>
|