帮我吧文档:数据接口:工单:工单外部扩展

功能介绍

工单外部扩展,指的是工单自定义字段中的两种字段类型(文本,资产表)可支持数据源来自于第三方,及绑定帮我吧客户档案的资产表的数据,然后赋值到工单中,使得工单满足多方对接。对接类型有两大类,一类是文本字段,一类是资产表字段。

适用客户

不希望同步一些数据到帮我吧绑定工单模块的资产表中,但是工单又需要使用这些数据的时候,便可通过外部扩展实现。 比如:备件信息,项目信息等

文本字段-数据源-帮我吧资产表

使工单的自定义文本字段在开启外部扩展(启用外部数据源)后能够操作帮我吧自定义资产表,并将数据中的数据对应工单的自定义字段值中。

配置地址

https://www.bangwo8.com/osp2016/SDK/Tables/ticketAssetTable.php

配置参数

名称 类型 必填 注释
tableId int 资产表id
cPara string 资产表的字段与工单自定义字段对应参数,如asset_feild_1:ticket_price,asset_feild_2:ticket_name,asset_feild_1和asset_feild_2为资产表字段唯一标识,ticket_price和ticket_name为工单自定义字段唯一标识,参数有多个时,以逗号分隔,该参数用于定义资产表里的哪些字段取值回填到工单的哪些字段中
filter string 筛选资产表数据的条件,资产表字段:取值, 取值可以是固定值,也可以是工单字段的占位符,如:asset_feild_1:电子,按资产表中自定义字段asset_feild_1等于电子的条件筛选资产表的数据,然后返回筛选后的数据给用户;asset_feild_2:ticket_status,按资产表中自定义字段asset_feild_2等于当前工单字段中唯一标识为ticket_status的字段值的条件筛选资产表的数据,然后返回筛选后的数据给用户。判断是否传filter,传了再判断是否有值,有值就按值的内容筛选,没有就不用筛选;没传filter,也不用筛选

配置地址示例

https://www.bangwo8.com/osp2016/SDK/Tables/ticketAssetTable.php?tableId=12&cPara=asset_feild_1:ticket_price,asset_feild_2:ticket_name&filter=asset_feild_1:电子,asset_feild_2:{{ticket_status}}

操作视图

工单字段与资产表字段可赋值类型对应表

工单字段类型 资产表字段类型
单行文本 单行文本 正整数 小数 日期
多行文本 单行文本 多行文本 正整数 小数 日期
正整数 正整数
日期 日期
小数 小数

文本字段-数据源-第三方数据源

当帮我吧工单和第三方页面互动时,工单页面内使用iframe(PS2)嵌套第三方页面;第三方页面内展现数据,选择数据,当选择完数据,帮我吧会使用选择的数据来回填工单内容

配置

在帮我吧配置文本字段如下:

接口地址是第三方提供的url,帮我吧必传一个参数:cPara 该参数是指第三方字段和帮我吧字段的对应关系,当第三方页面给帮我吧回传数据时使用。格式为field_1:bw8_field_1,field_2:bw8_field_2; field_1,field_2为第三方页面里字段的名称,bw8_field_1, bw8_field_2为帮我吧内字段的名称,参数有多个时,以逗号分隔。

工单内使用

在工单页,双击A这个位置,就会弹出B,B是iframe,内部嵌套的是一里面配置的url。

对接方需要做的

当在第三方界面选择完数据,设置一个按钮,点击此按钮时,首先组装一个数组变量(详见下方注意),如叫param,封装为新对象data,参数msgType为本次对接标志,固定为字符串'textFieldExtend',组装完成调用函数如下:

window.parent.postMessage(data,'*');

具体示例如下:		
	   //表单数据
        var param = [
            {key:'field_181',value:'value field_181'},
            {key:'field_182',value:'value field_182'},
        ];
        //封装为新数据格式
        var data = {
            msgType: 'textFieldExtend', //添加消息类型
            data: param,                //表单数据
        };
        window.parent.postMessage(data,'*'); //发送消息

此时便可以给工单回填数据。

注意:

1.根据传过来的参数cPara,使用第三方field_1的值给对应的bw8_field_1赋值,组装成如下的数组(数组的元素是json)格式: new Array({'key':’bw8_field_1’,'value':'hello'},{'key':':bw8_field_2','value':'world'})

2.Iframe的宽度是1000px,高度是500px


页面工具