zoukankan      html  css  js  c++  java
  • easyui-datagrid 编辑模式详解——combobox

    用于列表显示号了,需要改动某一列的值,而且根据每一行的数据去加载data数据,放在这个列中供别人选择

    //-------------------- 代码可变区
    //---------- 数据定义区
    var authActions = {};
    var isDatagridLoaded = false;
    var listTemplate = '#tms_diversion_cargo_list';
    var formSearchTemplate = '#tms_diversion_cargo_searchForm';
    var formSearchTemplate_id = 'tms_diversion_cargo_searchForm';
    var gridMenuId = '#tms_diversion_cargo_list_menu';
    //当前用户需要特殊处理的按钮,不在menubar上显示的
    var metaData = {
    objectId:'tms_diversion_cargo_list',
    objectName:'货物分流表',
    objectKeys:['serial_no'],
    objectFields:
    [
    {field:'order_id',name:'运单号',ctrlType:'easyui-validatebox',hidden:false},
    {field:'goods_count',name:'件数',ctrlType:'easyui-validatebox',hidden:false,sorter:sort_int},
    {field:'goods_weight',name:'重量(kg)',ctrlType:'easyui-validatebox',hidden:false,sorter:sort_int},
    {field:'goods_cube',name:'体积(m³)',ctrlType:'easyui-validatebox',hidden:false,sorter:sort_int},
    {field:'last_city_name',name:'目的城市',ctrlType:'easyui-validatebox',hidden:false},
    {field:'last_org_id',name:'目的网点',ctrlType:'easyui-combobox',hidden:false,align:'center',editor:'combobox'},
    {field:'recv_customer_id',name:'收货客户id',ctrlType:'easyui-validatebox',hidden:true},
    {field:'recv_cust_name',name:'收货客户名称',ctrlType:'easyui-validatebox',hidden:false},
    {field:'address',name:'收货人地址',ctrlType:'easyui-validatebox',hidden:false},
    {field:'send_customer_id',name:'发货客户id',ctrlType:'easyui-validatebox',hidden:true},
    {field:'send_cust_name',name:'发货客户名称',ctrlType:'easyui-validatebox',hidden:false},
    {field:'delivery_address',name:'送货地址',ctrlType:'easyui-validatebox',hidden:false,editor:'validatebox'},
    {field:'delivery_time',name:'送货时间',ctrlType:'easyui-datetimebox',hidden:false,editor:'datetimebox'},

    {field:'transfer_place',name:'是否中转',ctrlType:'easyui-validatebox',hidden:false},
    {field:'transfer_city_name',name:'中转城市',ctrlType:'easyui-validatebox',hidden:false},
    {field:'storage_remark',name:'备注',ctrlType:'easyui-validatebox',hidden:false},
    {field:'doc_id',name:'交接单编号',ctrlType:'easyui-validatebox',hidden:false},
    {field:'vehicle_id',name:'运力id',ctrlType:'easyui-validatebox',hidden:true},
    {field:'vehicle_law_id',name:'车牌号/车皮号',ctrlType:'easyui-validatebox',hidden:false},
    {field:'send_bg_time',name:'发车确认时间',ctrlType:'easyui-datetimebox',hidden:false}
    ],
    actionForms:{
    'tms_diversion_cargo_addData':{formId:'tms_diversion_cargo_add_form',formUrl:'ui/view/diversion/tms_diversion_cargo_add_form.html?actionId=tms_diversion_cargo_add_form'},
    'tms_diversion_cargo_getData':{formId:'tms_diversion_cargo_query_form',formUrl:'ui/view/diversion/tms_diversion_cargo_query_form.html?actionId=tms_diversion_cargo_query_form'},
    'tms_diversion_cargo_updateData':{formId:'tms_diversion_cargo_update_form',formUrl:'ui/view/diversion/tms_diversion_cargo_update_form.html?actionId=tms_diversion_cargo_update_form'}
    },
    expellActions:{
    'tms_diversion_cargo_searchData':'',
    'tms_diversion_cargo_exportEntities':'',
    // 'tms_diversion_cargo_importData':'',
    // 'tms_diversion_cargo_exportData':'',
    'tms_diversion_cargo_addData':'',
    'tms_net_org_last_searchData':'',
    'tms_diversion_cargo_getData':'',
    'tms_diversion_cargo_updateData':'',
    'tms_diversion_cargo_deleteData':'',
    }

    };
    var searchMeta = [
    {field:'order_id',name:'运单号',ctrlType:'easyui-validatebox',ddicTable:'',domainId:'',searchFlag:'EQ',mustFlag:'Y',defaultValue:0},
    {field:'doc_id',name:'交接单编号',ctrlType:'easyui-validatebox',ddicTable:'',domainId:'',searchFlag:'EQ',mustFlag:'Y',defaultValue:0},
    {field:'vehicle_law_id',name:'车牌号/车皮号',ctrlType:'easyui-validatebox',ddicTable:'',domainId:'',searchFlag:'EQ',mustFlag:'Y',defaultValue:0},
    {field:'send_bg_time',name:'发车确认时间',ctrlType:'easyui-datebox',ddicTable:'',domainId:'',searchFlag:'EQ',mustFlag:'Y',defaultValue:0},
    {field:'resp_org_id',name:'上一站',ctrlType:'easyui-combobox',ddicTable:'',domainId:'',searchFlag:'EQ',mustFlag:'Y',defaultValue:0}

    ];
    var bda_data_str_field = {
    tms_diversion_cargo_addData : function (buttonId,actionUrl){
    var form = metaData.actionForms[buttonId];
    if(!form){
    throw '行为'+buttonId + ',尚未配置要打开的表单信息';
    }
    var techParam = {
    appId:appId,
    srcPageId:metaData.objectId,
    srcTableId:metaData.objectId
    };
    techParam.actionId = form.formId;
    techParam.mode = 'add';
    techParam.refActionUrl = actionUrl;
    techParam.refActionId = buttonId;

    var callUrl = $$.buildPageUrl(form.formUrl,techParam, null);
    $$.openJcdfDialog(callUrl, '新增'+metaData.objectName, 800, 1050);

    },
    tms_diversion_cargo_deleteData : function (buttonId,actionUrl){
    var selectRow = $$.getSingleSelectRow(metaData.objectId, "请选择你要删除的"+metaData.objectName);
    if(selectRow){
    var title = "确认";
    var msg = "确定删除所选的"+metaData.objectName+"?";

    $.messager.confirm(title, msg, function(r){
    if (r){
    $$.openProcessingDialog();
    var business = {};
    var size = metaData.objectKeys.length;
    var key;
    for(var i=0 ; i< size;i++){
    key = metaData.objectKeys[i];
    business[key] = selectRow[key];
    }
    $.ajax({
    type: "POST",
    url: actionUrl+"?actionId="+buttonId,
    dataType:"json",
    data : JSON.stringify(business),
    contentType: "application/json",
    success: function(data){
    $$.closeProcessingDialog();
    if (data && data.errorCode == 0) {
    $$.showJcdfMessager('提示消息', '操作成功', 'info');
    $$.refreshJcdfDatagrid(metaData.objectId,metaData.objectId);
    } else {
    $$.showJcdfMessager('提示消息', data.msg, 'warning');
    }
    }
    });
    }
    });
    }

    },
    tms_diversion_cargo_exportData : function (buttonId,actionUrl){
    $.messager.confirm("确认","确定导出"+metaData.objectName+"?",function(r){
    if(r){
    var params = $$.serializeToJson(formSearchTemplate);
    var conditions = [];
    var search;
    for(var i=0; i<searchMeta.length;i++){//封装请求参数
    var condition = {};
    search = searchMeta[i];
    if(search.searchFlag=='EQ'){
    condition.fieldName=search.field;
    condition.operator=0;
    condition.lowValue=params[search.field];
    if(!params[search.field])
    continue;
    }else if(search.searchFlag=='BW'){
    condition.fieldName=search.field;
    condition.operator=6;
    condition.lowValue=params[search.field+'_f'];
    condition.highValue=params[search.field+'_t'];
    if(condition.highValue==''){
    condition.operator=0;
    }
    if(!condition.lowValue)
    continue;
    }
    conditions.push(condition);
    }

    $(formSearchTemplate).form('submit',{
    url:actionUrl+"?actionId="+buttonId,
    onSubmit: function(param){
    param.search_condition = JSON.stringify(conditions)
    },
    success: function(data){
    var oData = JSON.parse(data);
    if (oData&&oData.errorCode){
    $$.showJcdfMessager('提示消息', oData.msg, 'warning');
    }
    }
    });

    }
    });

    },
    tms_diversion_cargo_getData : function (buttonId,actionUrl){
    var selectRow = $$.getSingleSelectRow(metaData.objectId, "请选择你要查看的"+metaData.objectName);

    if(selectRow){
    var form = metaData.actionForms[buttonId];
    if(!form){
    throw '行为'+buttonId + ',尚未配置要打开的表单信息';
    }

    //build business parameters
    var business = {};
    var size = metaData.objectKeys.length;
    var key;
    for(var i=0 ; i< size;i++){
    key = metaData.objectKeys[i];
    business[key] = selectRow[key];
    }

    //build technical parameters
    var techParam = {
    appId:appId,
    srcPageId:metaData.objectId,
    srcTableId:metaData.objectId
    };
    techParam.actionId = form.formId;
    techParam.mode = 'display';
    techParam.refActionUrl = actionUrl;
    techParam.refActionId = buttonId;

    var callUrl = $$.buildPageUrl(form.formUrl,techParam,business);
    $$.openJcdfDialog(callUrl, '查看'+metaData.objectName, 800, 1050);
    }

    },
    tms_diversion_cargo_importData : function (buttonId,actionUrl){
    var form = {};
    form.formId = "cip_import_form";
    form.formUrl = "ui/view/public/cip_import_form.html?actionId=cip_import_form";

    var techParam = {
    appId:appId,
    srcPageId:metaData.objectId,
    srcTableId:metaData.objectId
    };
    techParam.actionId = form.formId;
    techParam.templateName = metaData.objectId + '.xlsx';//需要优化
    techParam.objectName = metaData.objectName;
    techParam.refActionUrl = actionUrl;
    techParam.refActionId = buttonId;
    var callUrl = $$.buildPageUrl(form.formUrl,techParam,null);
    $$.openJcdfDialog(callUrl, '导入'+metaData.objectName, 250, 600);

    },
    tms_diversion_cargo_searchData : function (buttonId,actionUrl){
    debugger;
    var params = $$.serializeToJson(formSearchTemplate);
    var conditions = [];
    var search;
    for(var i=0; i<searchMeta.length;i++){
    var condition = {};
    search = searchMeta[i];
    if(search.searchFlag=='EQ'){
    condition.fieldName=search.field;
    condition.operator=0;
    condition.lowValue=params[search.field];
    if(!params[search.field])
    continue;
    }
    else if(search.searchFlag=='BW'){
    condition.fieldName=search.field;
    condition.operator=6;
    condition.lowValue=params[search.field+'_f'];
    condition.highValue=params[search.field+'_t'];
    if(condition.highValue==''){
    condition.operator=0;
    }
    if(!condition.lowValue)
    continue;
    }
    conditions.push(condition);
    }

    var json = {"search_condition" : JSON.stringify(conditions) };

    if(isDatagridLoaded){
    $(listTemplate).datagrid('load', json );
    }else{
    $(listTemplate).datagrid({
    queryParams: json,
    url : actionUrl+"?actionId="+buttonId
    });
    isDatagridLoaded = true;
    }
    if (editIndex != undefined){endEditing()};
    setTimeout(function(){
    setAddress();
    },700);

    },
    tms_diversion_cargo_updateData : function (buttonId,actionUrl){
    var selectRow = $$.getSingleSelectRow(metaData.objectId, "请选择你要编辑的"+metaData.objectName);
    if(selectRow){
    var form = metaData.actionForms[buttonId];
    if(!form){
    throw '行为'+buttonId + ',尚未配置要打开的表单信息';
    }
    //build business parameters
    var business = {};
    var size = metaData.objectKeys.length;
    var key;
    for(var i=0 ; i< size;i++){
    key = metaData.objectKeys[i];
    business[key] = selectRow[key];
    }

    //build technical parameters
    var techParam = {
    appId:appId,
    srcPageId:metaData.objectId,
    srcTableId:metaData.objectId
    };
    techParam.initActionUrl = appId + authActions['tms_diversion_cargo_getData'];
    techParam.initActionId = 'tms_diversion_cargo_getData';
    techParam.actionId = form.formId;
    techParam.mode = 'edit';
    techParam.refActionUrl = actionUrl;
    techParam.refActionId = buttonId;

    var callUrl = $$.buildPageUrl(form.formUrl,techParam,business);
    $$.openJcdfDialog(callUrl, '编辑'+metaData.objectName, 800, 1050);
    }

    },
    tms_diversion_cargo_preprocessData : function (buttonId,actionUrl){
    var json = {"search_condition" :"[]" ,"page":1,"rows":"9999999"};
    // var json = {"search_condition" :"[{'fieldName':'send_cust_code','operator':0,'lowValue':'"+allData[i].send_cust_id+"'},{'fieldName':'recv_cust_code','operator':0,'lowValue':'"+allData[i].recv_cust_id+"'},{'fieldName':'last_city','operator':0,'lowValue':'"+allData[i].recv_cust_id+"'}]" ,"page":1,"rows":"9999999"};
    $.ajax({
    type : 'POST',
    url : '/tms/actions/tms_diversion_rules/searchData.do?actionId=tms_diversion_rules_searchData',
    dataType : 'json',
    data : json,
    success : function(data) {
    if (data && data.errorCode==0) {
    var custData = data.rows;
    var allData = $("#tms_diversion_cargo_list").datagrid("getRows");
    for(var i=0;i<allData.length;i++){
    for(var j=0;j<custData.length;j++){
    if(allData[i].send_customer_id == custData[j].send_cust_code && allData[i].recv_customer_id == custData[j].recv_cust_code && allData[i].last_city == custData[j].last_city){
    $('#tms_diversion_cargo_list').datagrid('updateRow',{
    index: i,
    row: {
    last_org_id: custData[j].last_org_id
    }
    });
    break;
    }
    }
    }
    } else {
    $$.showJcdfMessager('提示消息', data.msg+'('+data.errorCode+')', 'warning');
    }
    }
    });
    },
    tms_diversion_cargo_saveData :function (buttonId,actionUrl){
    if(editIndex != undefined){
    $('#tms_diversion_cargo_list').datagrid('endEdit', editIndex);
    editIndex = undefined;
    }
    var callUrl = actionUrl + '?actionId=' + buttonId;
    var allData = $("#tms_diversion_cargo_list").datagrid('getRows');
    // for(var i=0;i<allData.length;i++){
    // if(allData[i].last_org_id == "" || allData[i].last_org_id == null || allData[i].last_org_id == "null" ){
    // autoDisappear("提示","选中的记录中有未选择的目的网点",2000);
    // return false;
    // }
    // }
    if(allData.length > 0){
    $.ajax({
    type : 'POST',
    url : callUrl,
    dataType : 'json',
    data : JSON.stringify(allData),
    contentType: 'application/json;charset=UTF-8',
    success : function(data) {
    $$.closeProcessingDialog();
    if (data && data.errorCode==0) {
    $$.showJcdfMessager('提示消息', '操作成功', 'info');
    window.top.frames['frame_tms_diversion_cargo_list'].$$.refreshJcdfDatagrid(null,"tms_diversion_cargo_list",null);
    } else {
    $$.showJcdfMessager('提示消息', data.msg+'('+data.errorCode+')', 'warning');
    }
    }
    });
    }else{
    autoDisappear("提示","请查出你要保存的记录",2000);
    }
    },
    tms_diversion_cargo_shuntData :function (buttonId,actionUrl){
    $('#shunt').window('open');

    }
    };


    ///////////--------------------- 代码区;
    var s=0;
    function init(){
    // getEndOrg(s)//加载目的网点数据
    getAuthButtons(metaData.objectId,gridMenuId,authActions,metaData.expellActions);
    load_tms_net_org_combobox('resp_org_id','site',false);//站点
    initDatagrid();//写在getEndOrg()方法中
    };

    //////--------------------------- 函数区
    function doAction(buttonId){
    var actionUrl = authActions[buttonId];
    if(actionUrl){
    if(bda_data_str_field[buttonId])
    bda_data_str_field[buttonId](buttonId,appId+actionUrl);
    else {
    //调用通用Action方法,如果需要调用特定表单,需要自己增强函数体
    alert('尚未定义按钮的响应方法:'+buttonId);
    }
    }
    else {
    alert('当前用户没有该操作授权:'+buttonId);
    }
    };

    //--------------------------设置送货地址==收货人地址------------------------
    function setAddress(){
    var dataAll = $(listTemplate).datagrid('getRows');
    for(var i=0;i<dataAll.length;i++){
    $(listTemplate).datagrid('updateRow',{
    index: i,
    row: {
    delivery_address: dataAll[i].address
    }

    });
    }
    }

    //------------------------分流弹窗-------------------------------
    function setShunt(){
    var last_org_id = $("#last_org_id").combobox("getValue");
    var CheckedData = $("#tms_diversion_cargo_list").datagrid('getChecked');
    for(var i=0;i<CheckedData.length;i++){
    var index = $("#tms_diversion_cargo_list").datagrid('getRowIndex',CheckedData[i]);
    $('#tms_diversion_cargo_list').datagrid('updateRow',{
    index: index,
    row: {
    last_org_id: last_org_id
    }
    });
    }
    $('#shunt').window('close');
    }
    function closeWin(){
    $('#shunt').window('close');
    }
    //----------------------选择目的城市加载出目的网点----------------------------------
    var EndOrgData = [];
    var newData=new Array();
    function getEndOrg(last_city){
    var conditions = [];
    var condition = {};
    condition.fieldName="city_code";
    condition.operator=0;
    condition.lowValue=last_city;
    conditions.push(condition);
    var json = {"search_condition" : JSON.stringify(conditions) ,"page":1,"rows":"9999999"};
    $.ajax({
    type : 'POST',
    url : '/tms/actions/tms_net_org/searchData.do?actionId=tms_net_org_last_searchData',
    dataType : 'json',
    data : json,
    success : function(data) {
    if (data && data.errorCode==0) {
    EndOrgData = [];
    var size = data.rows.length;
    for(var i=0;i<size;i++){
    var condition = {};
    condition.org_id = data.rows[i].org_id;
    condition.org_name = data.rows[i].org_name;
    EndOrgData.push(condition);
    newData.push(condition);
    }
    $("#last_org_id").combobox({valueField: 'org_id',textField: 'org_name',data:EndOrgData ,editable:false});
    } else {
    $$.showJcdfMessager('提示消息', data.msg+'('+data.errorCode+')', 'warning');
    }
    }
    });
    }


    //---------------------单击编辑----------------------------------------
    var editIndex = undefined;
    function endEditing(){
    if (editIndex == undefined){return true}
    if ($('#tms_diversion_cargo_list').datagrid('validateRow', editIndex)){
    $('#tms_diversion_cargo_list').datagrid('endEdit', editIndex);
    editIndex = undefined;
    return true;
    } else {
    return false;
    }
    }
    function onClickRow(row,index){
    debugger;
    getEndOrg(index.last_city);
    setTimeout(function(){
    if (editIndex != row){
    if (endEditing()){
    $('#tms_diversion_cargo_list').datagrid('selectRow', row).datagrid('beginEdit', row);
    editIndex = row;
    } else {
    $('#tms_diversion_cargo_list').datagrid('selectRow', editIndex);
    }
    }
    },400);
    }
    //---------------------------------------------------------------------
    function click_out_table(){
    $(document).bind("click",function(e){
    var target = $(e.target);
    if(target.closest("#click_out").length == 0){//点击table之外的地方触发
    $('#tms_diversion_cargo_list').datagrid('endEdit', editIndex);
    $('#tms_diversion_cargo_list').datagrid('unselectRow',editIndex);
    }else{
    //开始编辑
    $('#tms_diversion_cargo_list').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex);
    }
    });
    }
    //---------------------------------------------------------------------------
    function searchReset(){
    $(formSearchTemplate).form('reset');
    };

    //按数字类型排序 自定义排序
    function sort_int(a,b){
    if(a.length > b.length) return 1;
    else if(a.length < b.length) return -1;
    else if(a > b) return 1;
    else return -1;
    }

    //初始化datagrid
    function initDatagrid() {
    $(listTemplate).datagrid({
    height:$$.getDatagridHeight(),
    $$.getDatagridWidth(),
    border: true,
    nowrap: true,
    striped: true,
    idField:'',
    columns:buildDataGridFields(),
    onBeforeLoad:function(){$$.clearSelect(metaData.objectId);},
    queryParams:$$.serializeToJson(formSearchTemplate),
    remoteSort:false,//是否通过服务端排序
    multiSort:false,//是否多列排序
    onClickRow:onClickRow,
    rownumbers:true,//首列序号
    singleSelect:false,
    // pagination:true,
    // pageSize : $$.pageSize,
    // pageList : $$.pageList,
    toolbar: gridMenuId,
    loadFilter: function(data){
    if (data!=null && data.errorCode>0){
    if(data.msg!=null && data.msg!=''){
    $$.showJcdfMessager('提示消息', data.msg, 'warning');
    }
    }
    return data;
    }
    });
    };
    function buildDataGridFields(){
    if(metaData&&metaData.objectFields){
    var size = metaData.objectFields.length;
    var columns=[];
    var objectField;
    for(var i=0;i<size;i++){
    var column = {};
    objectField = metaData.objectFields[i];
    column['field'] = objectField.field;
    column['title'] = objectField.name;
    column['align'] = 'center';
    column['hidden']=objectField.hidden;
    column['sortable']= true;
    if(objectField.field == "last_org_id"){
    debugger;
    column['editor'] = { type:"combobox" , options: {valueField: 'org_id',textField: 'org_name',data:EndOrgData,editable:false} } ;
    column['formatter']=function(value,row,index){
    var f=false;
    for (var j in EndOrgData) {
    debugger;
    if (EndOrgData[j].org_id == value) {
    value = EndOrgData[j].org_name;
    f=true;
    }
    }
    if(!f){
    for (var j in newData) {
    debugger;
    if (newData[j].org_id == value) {
    value = newData[j].org_name;
    }
    }
    }
    return value;
    }
    }else if(objectField.editor){
    column['editor'] = { type:objectField.editor , options: {} } ;
    }
    if(objectField.field == "transfer_place"){
    column['formatter']=function(value,row,index){
    if(value == 1){
    value = "是";
    }else{
    value = "否";
    }
    return value;
    }
    }
    if(objectField.field == "delivery_address"){
    column['width'] = $$.fillsize(0.15);
    }else{
    column['width'] = $$.fillsize(0.08);
    }
    if(objectField.sorter){
    column['sorter'] = objectField.sorter;
    }
    if(objectField.field=='send_bg_time'){
    column['formatter']=function(value,row,index){
    var ftime = "";
    if(value != null){
    ftime = new Date(value);

    }
    return ftime.toLocaleString();
    }
    }
    columns.push(column);
    }
    return [columns];
    }
    else {
    throw '没有定义完整的数据metaData';
    }
    };
    $.extend($.fn.datagrid.defaults.editors, {
    combobox: {//调用名称
    init: function (container, options) {
    //container 用于装载编辑器 options,提供编辑器初始参数
    var input = $('<input type="combobox" class="datagrid-editable-input">').appendTo(container);
    //这里我把一个 checkbox类型的输入控件添加到容器container中
    // 需要渲染成easyu提供的控件,需要时用传入options,我这里如果需要一个combobox,就可以 这样调用 input.combobox(options);
    return input.combobox(options);
    },
    getValue: function (target,value) {
    //datagrid 结束编辑模式,通过该方法返回编辑最终值
    //这里如果用户勾选中checkbox返回1否则返回0
    return $(target).combobox("getValue");
    },
    setValue: function (target, value) {
    //datagrid 进入编辑器模式,通过该方法为编辑赋值
    //我传入value 为0或者1,若用户传入1则勾选编辑器
    if (value)
    $(target).combobox({valueField: 'org_id',textField: 'org_name',data:EndOrgData ,editable:false})
    },
    resize: function (target, width) {
    //列宽改变后调整编辑器宽度
    var input = $(target);
    if ($.boxModel == true) {
    input.width(width - (input.outerWidth() - input.width()));
    } else {
    input.width(width);
    }
    }
    }
    })

    这一页代码

    详解

     

     选择第二行时

    结束编辑

     

     

  • 相关阅读:
    dell 服务器服务编码查询方法(Win & linux)
    English Voice of <<Wish You Were Here>>
    V3
    研究2张物理网卡 1台物理服务器 3个光猫 实现的离线下载服务器微架构 (3 光猫)
    注解
    单例模式
    线程同步锁
    线程实现的两种方式
    多线程简介
    Map接口
  • 原文地址:https://www.cnblogs.com/wudage/p/6890070.html
Copyright © 2011-2022 走看看