/** * 查询客服投诉列表 */ import ApiModel from '@comprehensive/serve/core/ApiModel' // 表单信息 const formList = [ { type: 'input', // input, select, date, rangeDate label: '申请编号', value: '', name: 'busiNo' }, { type: 'input', // input, select, date, rangeDate label: '客户名称', value: '', name: 'customerName' }, { type: 'dateRange', label: '投诉日期', value: [], name: 'declaration', names: ['complainStartDate', 'complainEndDate'] }, { type: 'select', label: '处理状态', value: '', options: [ { label: '跟进中', value: 'TRACK' }, { label: '已完结', value: 'END' }, ], name: 'dealStatus', attrs: ['collapse-tags', 'filterable', 'clearable'] }, { type: 'input', label: '身份证号', value: '', name: 'idCard' }, { type: 'input', label: '回拨电话', value: '', name: 'callBackPhone', rules: [{ maxLength: 11 }] }, { type: 'input', label: '当前跟进人', value: '', name: 'trackUserName', }, ] // 表格信息 const tableList = [ { prop: 'busiNo', label: '申请编号', width: '200px', }, { prop: 'customerName', label: '客户名称', width: '100px' }, { prop: 'comPlainSource', label: '投诉来源', width: '220px' }, { prop: 'insertDate', label: '投诉日期', width: '160px' }, { prop: 'endDate', label: '完结日期', width: '160px' }, { prop: 'comPlainType', label: '投诉类型', width: '120px' }, { prop: 'callBackPhone', label: '回拨电话', width: '125px' }, { prop: 'insertUserName', label: '投诉记录人', width: '120px' }, { prop: 'trackUserName', label: '当前跟进人', width: '120px' }, { prop: 'dealStatus', label: '处理状态', width: '110px' }, { prop: "lastAction", label: "操作管理", width: "160px", type: "buttons", fixed: "right" } ] export default options => { // 接口地址,required const api = 'customerServer/selectComplainList' return new ApiModel({ api, formList, tableList, request(params) { return this.post(params) }, computedItem(item) { // 表格部分字段特殊处理 // let { // termUnit, // businessTermMonth, // businessTermDay, // amountloan, // businessSum // } = item // let businessTerm = '' // if (termUnit === 'M' && businessTermMonth) { // businessTerm = `${businessTermMonth}月` // } // if (termUnit === 'D' && businessTermDay) { // businessTerm = `${businessTermDay}天` // } // amountloan = // amountloan === '' || amountloan === '0' ? businessSum : amountloan return { ...item } }, computedValue(val, name, list) { // 表单部分字段特殊处理(这里为:多选项按接口要求转换为拼接字符串) const { formList } = this if (typeof list === 'undefined') { list = [...formList] } if ( formList.some( ({ attrs = [], name: findName }) => attrs.includes('multiple') && findName === name ) ) { return Array.isArray(val) ? val.join(',') : val } return val } // computedValues(values = {}) { // const { formList } = this // return Object.keys(values).reduce((pre, curr) => { // // let { name, value } = curr // let value = values[curr] // const findItem = formList.find( // item => // item.name === curr && // (Array.isArray(item.attrs) && item.attrs.includes('multiple')) // ) // if (findItem && Array.isArray(value)) { // value = value.join(',') // } // pre[curr] = value // return pre // }, {}) // } }) }