ALV自动刷新,字段搜索帮助


*&---------------------------------------------------------------------*
*& Report  ZMM006
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zmm213.
TYPE-POOLS: slis.

TABLES:resb,rkpf,makt,t001l,cskt,mara.
*一、数据声明
DATA: BEGIN OF item OCCURS 0,
        mark(1),                                "选择记录
        ztt(10),
        zt(2),
        rsnum     LIKE rkpf-rsnum,              "预留单号
        lgort     LIKE resb-lgort,              "发料仓库
        lgobe     LIKE t001l-lgobe,             "发料仓库描述
        lgpbe     LIKE mard-lgpbe,              "仓管员
        kostl     LIKE rkpf-kostl,              "成本中心
        ktext     LIKE cskt-ktext,
        matnr     LIKE resb-matnr,              "物料编码
        maktx     LIKE makt-maktx,              "物料描述
        meins     LIKE resb-meins,              "单位
        bdmng     LIKE resb-bdmng,              "需求数量
        bdter     LIKE resb-bdter,              "需求日期
        bwart     LIKE rkpf-bwart,              "移动类型
        werks     LIKE resb-werks,              "工厂
        rspos     LIKE resb-rspos,              "行项目
        ebelx(3),                               "序号
        enmng     LIKE resb-enmng,              "提货数量
        zbdmng    LIKE resb-enmng,              "实际需求数量
        zdbls     LIKE zsjlst-zdbls,             "流水号
        usnam     LIKE rkpf-usnam,
        sjdlb(12),
        name      LIKE usrefus-useralias,
        name1     LIKE usrefus-useralias,
        ztbdmng   LIKE resb-bdmng,
        lifnr     LIKE mkol-lifnr,
        name2     LIKE lfa1-name1,
        lgfsb     LIKE marc-lgfsb,              "接收仓库
        slabs     LIKE mkol-slabs,
      END OF item.

DATA: gd_repid LIKE sy-repid.
DATA: i_grid_settings TYPE lvc_s_glay .
DATA: lt_h LIKE TABLE OF item WITH HEADER LINE.
DATA: wa_lt LIKE TABLE OF item WITH HEADER LINE.
DATA: wb_lt LIKE TABLE OF item WITH HEADER LINE.
DATA: wa_item LIKE item.
DATA: lft_h LIKE TABLE OF item WITH HEADER LINE.               "输出到sf 的抬头数据
DATA: lft_i LIKE TABLE OF item WITH HEADER LINE.               "输出到sf 的项目数据
DATA: is_i LIKE TABLE OF item  WITH HEADER LINE.
DATA: l_zdbls   LIKE zjlst-zdbls,l_con(30),l_num TYPE numc4.
DATA: p_zjlst LIKE TABLE OF zjlst  WITH HEADER LINE.
DATA: p_ztlsdh LIKE TABLE OF ztlsdh WITH HEADER LINE.
DATA: s_zzscdj LIKE TABLE OF zzscdj  WITH HEADER LINE.
DATA: lt_mkol LIKE TABLE OF mkol WITH HEADER LINE.

DATA: afield TYPE slis_fieldcat_alv.
DATA: fieldcat TYPE TABLE OF slis_fieldcat_alv WITH HEADER LINE.
DATA: layout TYPE slis_layout_alv.
DATA: gt_events TYPE slis_t_event.
DATA: l_pos TYPE i VALUE 1.
DATA: s_i          TYPE i ,
      wl_answer(1) TYPE c.
DATA: BEGIN OF it_save OCCURS 0.
        INCLUDE STRUCTURE zrmm204t1.
DATA:   color(4) TYPE c,
        makts    LIKE makt-maktx,
        name1    LIKE lfa1-name1,
        dispo    LIKE zrmm204t2-dispo,
        chck.
DATA: END OF it_save.
DATA: BEGIN OF it_header OCCURS 0,
        lifnr LIKE it_save-lifnr,
        werks LIKE it_save-werks,
        umlgo LIKE it_save-umlgo,
        lgpbe LIKE it_save-lgpbe,
      END OF it_header.

DATA tem_grid TYPE REF TO cl_gui_alv_grid.
*----------------------------------------------------------------------*
*       CLASS LCL_EVENT_RECEIVER DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS:
      update_delta_tables
                    FOR EVENT data_changed_finished OF cl_gui_alv_grid
        IMPORTING e_modified et_good_cells.
ENDCLASS.                    "LCL_EVENT_RECEIVER DEFINITION
*----------------------------------------------------------------------*
*       CLASS LCL_EVENT_RECEIVER IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
  METHOD update_delta_tables.
    LOOP AT item INTO wa_item." WHERE lifnr IS NOT INITIAL.
      CLEAR:wa_item-name2,wa_item-slabs.
      SELECT SINGLE name1 INTO wa_item-name2
        FROM lfa1 WHERE lifnr = wa_item-lifnr.
      SELECT SINGLE slabs INTO wa_item-slabs
      FROM mkol WHERE matnr = wa_item-matnr AND werks = wa_item-werks
                                            AND lgort = wa_item-lgort
                                            AND sobkz = 'K'
                                            AND lifnr = wa_item-lifnr.

      MODIFY item FROM wa_item TRANSPORTING name2 slabs.
    ENDLOOP.
    DATA stbl TYPE lvc_s_stbl.
*   稳定刷新
    stbl-row = 'X'." 基于行的稳定刷新
    stbl-col = 'X'." 基于列稳定刷新
    CALL METHOD tem_grid->refresh_table_display
      EXPORTING
        is_stable = stbl.
  ENDMETHOD.                  "update_delta_tables

ENDCLASS.              "LCL_EVENT_RECEIVER IMPLEMENTATION
DATA gt_event_receiver TYPE REF TO lcl_event_receiver .

*宏的定义
DEFINE fill.
  afield-col_pos = l_pos.
  afield-fieldname = &1.
  afield-seltext_l = &2.
  afield-no_zero   = &3.
  afield-key       = &4.
  afield-edit      = &5.

  append afield to fieldcat.
  clear afield.
  l_pos = l_pos + 1.
END-OF-DEFINITION.

*二、声明查询屏幕

SELECTION-SCREEN BEGIN OF BLOCK blc WITH FRAME TITLE text-001.
PARAMETERS:      p_werks  LIKE resb-werks OBLIGATORY DEFAULT '6000'.
SELECT-OPTIONS : p_lgort  FOR resb-lgort .
SELECT-OPTIONS : p_rsnum FOR rkpf-rsnum.
SELECT-OPTIONS : p_kostl FOR rkpf-kostl.
SELECT-OPTIONS : p_bdter  FOR resb-bdter.
SELECTION-SCREEN END OF BLOCK blc.

*五、取数
START-OF-SELECTION.
  PERFORM frm_get_event.
  PERFORM frm_get_data.                 "获取数据
  IF item[] IS NOT INITIAL.
    PERFORM frm_show_data.
  ELSE.
    MESSAGE s001(00) WITH '没有查询到数据'.
  ENDIF.

FORM frm_get_data .
*SQL取数
  SELECT  rkpf~rsnum resb~lgort rkpf~kostl  resb~matnr
          resb~meins resb~bdmng resb~bdter resb~werks rkpf~bwart
          resb~enmng resb~rspos rkpf~usnam
    INTO CORRESPONDING FIELDS OF TABLE item
    FROM rkpf
    INNER JOIN resb ON ( rkpf~rsnum = resb~rsnum AND resb~xloek = '' AND resb~kzear = '' )
    WHERE rkpf~bwart IN ('201','Z35')  AND rkpf~rsnum IN p_rsnum
    AND rkpf~kostl IN p_kostl AND resb~bdter IN p_bdter AND resb~lgort IN p_lgort  AND resb~werks = p_werks.
  SORT item BY rsnum lgort kostl rspos matnr DESCENDING.
*获取其他字段
  LOOP AT item.
    item-lgfsb = item-lgort.                   "接收库存地
    CASE item-lgort.
      WHEN '4002'.
        item-lgort = '4020'.                   "发出库存地
      WHEN '4015'.
        item-lgort = '4019'.                   "发出库存地
    ENDCASE.

*获取仓库描述
*    SELECT SINGLE lgobe INTO item-lgobe FROM t001l WHERE lgort = item-lgort AND werks = p_werks.
    "获取仓管员
    SELECT SINGLE lgpbe INTO item-lgpbe FROM mard WHERE lgort = item-lgort  AND werks = p_werks AND matnr = item-matnr.
*物料描述
    SELECT SINGLE maktx INTO item-maktx
      FROM makt WHERE matnr = item-matnr.
*实际需求数量
    item-zbdmng = item-bdmng - item-enmng.
*领用部门 KTEXT
    SELECT SINGLE ktext INTO item-ktext FROM cskt WHERE kostl = item-kostl AND spras = '1' AND kokrs = 'BVAC'.
    SELECT SINGLE useralias INTO item-name FROM usrefus WHERE bname = sy-uname.
    SELECT SINGLE useralias INTO item-name1 FROM usrefus WHERE bname = item-usnam.
**更新内表!
**供应商库存
    CLEAR lt_mkol[].
    SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_mkol
    FROM mkol WHERE matnr = item-matnr AND werks = p_werks
                                       AND lgort = item-lgort
                                       AND sobkz = 'K'.
    SORT lt_mkol BY slabs DESCENDING.
    READ TABLE lt_mkol INDEX 1.
    IF sy-subrc = 0.
      item-lifnr = lt_mkol-lifnr.
      SELECT SINGLE name1 INTO item-name2
        FROM lfa1 WHERE lifnr = item-lifnr.
      item-slabs = lt_mkol-slabs.
    ENDIF.

    MODIFY item .
  ENDLOOP.
  SORT item BY rsnum lgort lgpbe kostl rspos matnr DESCENDING.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_SHOW_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_show_data .
  i_grid_settings-edt_cll_cb  = 'X' .            "显示界面可编辑字段上修改了数据,回车后就会立即将内表的数据也修改
  layout-colwidth_optimize    = 'X'.                "设置字段列宽自适应
  layout-zebra             = 'X'.

  CLEAR afield.
  REFRESH fieldcat.

  fill  'MARK'       '选择'          '' 'X' 'X'.
  fieldcat-checkbox = 'X'.
  fieldcat-hotspot = ''.
  MODIFY fieldcat INDEX 1 TRANSPORTING checkbox hotspot.
  fill  'RSNUM'      '预留单号'         '' '' ''.
  fill  'NAME1'      '预留创建人'        '' '' ''.
  fill  'RSPOS'      '行项目'           '' '' ''.
  fill  'BWART'      '移动类型'         '' '' ''.
  fill  'KOSTL'      '成本中心'         '' '' ''.
  fill  'KTEXT '     '部门'         '' '' ''.
  fill  'BDTER'      '需求日期'         '' '' ''.

  fill  'MATNR'      '物料编码'         '' '' ''.
  fill  'MAKTX'      '物料描述'         '' '' ''.
  fill  'MEINS'      '单位'             '' '' ''.
  fill  'LGORT'      '发出仓库'         '' '' 'X'.
  fill  'LGFSB'      '接收仓库'         '' '' 'X'.
  fill  'ZBDMNG'     '数量'         '' '' ''.
  fill  'ZTBDMNG'    '实发数量'     'X' '' 'X'.
  fill  'LGPBE'      '仓管员'     '' '' ''.
  fill  'LIFNR'      '供应商'     '' '' 'X'.
  fill  'NAME2'      '供应商名称'     '' '' ''.
  fill  'SLABS'      '寄售库存'     '' '' ''.
  fieldcat-inttype = 'C'.
  fieldcat-datatype = 'QUAN'.
  MODIFY fieldcat INDEX 15 TRANSPORTING inttype datatype.
  fieldcat-ref_tabname  = 'LFA1'.
  fieldcat-ref_fieldname  = 'LIFNR'.
  MODIFY fieldcat INDEX 17 TRANSPORTING ref_tabname ref_fieldname.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_grid_settings          = i_grid_settings                 "显示界面可编辑字段上修改了数据,回车后就会立即将内表的数据也修改
      i_callback_program       = sy-cprog "sy-repid                        "标记当前程序
      it_fieldcat              = fieldcat[]
      is_layout                = layout
      i_callback_user_command  = 'USER_COMMAND'
      i_callback_pf_status_set = 'SET_STATUS'
      it_events                = gt_events
    TABLES
      t_outtab                 = item.
ENDFORM.                    " FRM_SHOW_DATA
*
FORM set_status USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'ZMMZT'.
ENDFORM.
FORM user_command USING rf_ucomm  LIKE sy-ucomm
                        rs        TYPE slis_selfield .
  rs-refresh = 'X'.

  CASE rf_ucomm.

    WHEN '&IC1'.
      READ TABLE item  INDEX rs-tabindex.
*      IF rs-fieldname = 'ZDYCS'.
*        PERFORM frm_show_dymx.                                    "显示打印明细
**        SET PARAMETER ID 'BES' FIELD lt_h-ebeln .
**        CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
*      ENDIF.

    WHEN '&ZZPT'.
      READ TABLE item WITH KEY mark = 'X'.

      IF sy-subrc <> 0.
        MESSAGE s001(00) WITH '请选择记录' DISPLAY LIKE 'E'.
        EXIT.
      ENDIF.
      LOOP AT item WHERE mark IS NOT INITIAL.

        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            input  = item-matnr
          IMPORTING
            output = item-matnr.
        IF item-ztbdmng = 0 OR item-ztbdmng = ''.
          MESSAGE s001(00) WITH '行' sy-tabix  '未输入数据,不能打印!' DISPLAY LIKE 'E'.
          RETURN.
        ENDIF.
        IF item-ztbdmng > item-zbdmng .
          MESSAGE s001(00) WITH '行' sy-tabix  '数据小于可领料数量' DISPLAY LIKE 'E'.
          item-ztbdmng = ''.
          MODIFY item.
          RETURN.
        ENDIF.
        IF item-lifnr IS INITIAL.
          MESSAGE s001(00) WITH '行' sy-tabix  '供应商为空,不能打印!' DISPLAY LIKE 'E'.
          RETURN.
        ENDIF.
        IF item-slabs = 0.
          MESSAGE s001(00) WITH '行' sy-tabix  '供应商寄售库存为0,不能打印!' DISPLAY LIKE 'E'.
          RETURN.
        ENDIF.
        IF item-lgort IS INITIAL OR item-lgfsb IS INITIAL.
          MESSAGE s001(00) WITH '行' sy-tabix  '仓库为空,不能打印!' DISPLAY LIKE 'E'.
          RETURN.
        ENDIF.

        CLEAR:mara.
        SELECT  SINGLE *  FROM  mara WHERE matnr = item-matnr.
        IF  mara-mtart = 'ZR02' OR mara-mtart = 'ZR03' OR mara-mtart = 'ZR05'.

          CALL FUNCTION 'POPUP_TO_CONFIRM'
            EXPORTING
              text_question         = '将打印数据中存在标准件或辅料,是否打印?'
              text_button_1         = '确定'
              text_button_2         = '退出'
              default_button        = '2'
              display_cancel_button = 'X'
              start_column          = 25
              start_row             = 6
            IMPORTING
              answer                = wl_answer
            EXCEPTIONS
              text_not_found        = 1
              OTHERS                = 2.
          EXIT.
        ENDIF.
      ENDLOOP.
      IF  wl_answer = '1' OR wl_answer IS INITIAL.
        PERFORM savedata.
        PERFORM printdata.
        LEAVE PROGRAM.
      ENDIF.
    WHEN '&ZALL'.
      LOOP AT item WHERE mark IS INITIAL .
        item-mark = 'X'.
        MODIFY item TRANSPORTING mark.
      ENDLOOP.
    WHEN '&ZSAL'.
      LOOP AT item WHERE mark IS NOT INITIAL .
        item-mark = ''.
        MODIFY item TRANSPORTING mark.
      ENDLOOP.
  ENDCASE.

ENDFORM.                    "user_command
*&---------------------------------------------------------------------*
*&      Form  FRM_GET_EVENT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_get_event .
  DATA l_events TYPE LINE OF slis_t_event.
  CLEAR l_events.
  l_events-name = 'CALLER_EXIT'.
  l_events-form = 'FM_BUTTON'.
  APPEND l_events TO gt_events.
ENDFORM.                    " FRM_GET_EVENT
*&---------------------------------------------------------------------*
*&      Form  fm_button
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->E_GRID     text
*----------------------------------------------------------------------*
FORM fm_button USING e_grid TYPE slis_data_caller_exit.

  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = tem_grid.

* 设置enter事件
  CALL METHOD tem_grid->register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_enter
    EXCEPTIONS
      error      = 1
      OTHERS     = 2.

  DATA: gt_event_receiver TYPE REF TO lcl_event_receiver .
  CREATE OBJECT gt_event_receiver.
  SET HANDLER gt_event_receiver->update_delta_tables FOR tem_grid.                          "更新内表itab
ENDFORM.                    "FM_BUTTON
*&---------------------------------------------------------------------*
*&      Form  SAVEDATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM savedata .
  DATA: numc(4) TYPE n.

*将item数据对应到it_save
  CLEAR:it_save,it_save[].
  LOOP AT item WHERE mark IS NOT INITIAL.
    it_save-lifnr = item-lifnr.
    it_save-werks = item-werks.
    it_save-umlgo = item-lgfsb.
    it_save-lgpbe = item-lgpbe.
    it_save-matnr = item-matnr.
    it_save-bdmng = item-ztbdmng.
    it_save-meins = item-meins.
    it_save-lgort = item-lgort.
    it_save-makts = item-maktx.
    it_save-name1 = item-name2.
    APPEND it_save.
  ENDLOOP.

  SORT it_save .
  LOOP AT it_save WHERE lifnr <> ''.
    AT NEW lgpbe.
      CALL FUNCTION 'ZNUMC4_GET_NEXT'
        EXPORTING
          subobject = '02'
        IMPORTING
          number    = numc
        EXCEPTIONS
          OTHERS    = 9.
      it_save-zdydh = 'ZC' && sy-datum+2(6) && numc.
      MODIFY it_save TRANSPORTING zdydh
                     WHERE lifnr = it_save-lifnr AND
                           werks = it_save-werks AND
                           umlgo = it_save-umlgo AND
                           lgpbe = it_save-lgpbe.
    ENDAT.

    MOVE-CORRESPONDING it_save TO it_header.
    COLLECT it_header.
  ENDLOOP.

  CALL FUNCTION 'ZNUMC4_GET_NEXT'
    EXPORTING
      subobject = '02'
    IMPORTING
      number    = numc
    EXCEPTIONS
      OTHERS    = 9.

  it_save-zjsdh = sy-datum && numc.
  MODIFY it_save TRANSPORTING zjsdh WHERE zjsdh = ''.
  LOOP AT it_save.
    it_save-zjsdi = sy-tabix.
    it_save-erdat = sy-datum.
    it_save-erzet = sy-uzeit.
    it_save-ernam = sy-uname.
    it_save-wllyc = '05'.
    MODIFY it_save.
  ENDLOOP.

  INSERT zrmm204t1 FROM TABLE it_save.
  COMMIT WORK.
ENDFORM.                    " SAVEDATA
*&---------------------------------------------------------------------*
*&      Form  PRINTDATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM printdata .
  DATA: fmname TYPE rs38l_fnam.
  DATA: ctlpara TYPE ssfctrlop.
  DATA: outopt TYPE ssfcresop.
  DATA: jobinfo TYPE ssfcrescl.
  DATA: itab LIKE it_save[] WITH HEADER LINE.
  DATA: ls_composer_param TYPE ssfcompop.

  ctlpara-langu     = '1'.
  ctlpara-no_open   = 'X'.
  ctlpara-no_close  = 'X'.
  ls_composer_param-tdimmed  = 'X'.
  ls_composer_param-tddelete = 'X'.
  ls_composer_param-tdiexit = 'X'.
  CALL FUNCTION 'SSF_OPEN'
    EXPORTING
      control_parameters = ctlpara
      output_options     = ls_composer_param
    IMPORTING
      job_output_options = outopt
    EXCEPTIONS
      formatting_error   = 1
      internal_error     = 2
      send_error         = 3
      user_canceled      = 4
      OTHERS             = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    EXIT.
  ENDIF.

  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname           = 'ZRMM213'
    IMPORTING
      fm_name            = fmname
    EXCEPTIONS
      no_form            = 1
      no_function_module = 2
      OTHERS             = 3.
  IF sy-subrc <> 0.
    MESSAGE 'Call SSF_FUNCTION_MODULE_NAME Error' TYPE 'E'.
  ENDIF.

  LOOP AT it_header.
    CLEAR itab[].
    LOOP AT it_save WHERE lifnr = it_header-lifnr AND
                          werks = it_header-werks AND
                          umlgo = it_header-umlgo AND
                          lgpbe = it_header-lgpbe.
      itab = it_save.
      APPEND itab.
    ENDLOOP.

    CALL FUNCTION fmname
      EXPORTING
        control_parameters = ctlpara
        user_settings      = ' '
      TABLES
        intab              = itab
      EXCEPTIONS
        formatting_error   = 1
        internal_error     = 2
        send_error         = 3
        user_canceled      = 4
        OTHERS             = 5.
    IF sy-subrc <> 0.
      MESSAGE 'Call SmartForms Error' TYPE 'E'.
    ENDIF.
  ENDLOOP.
  IF sy-subrc <> 0. "单独重新打印某个打印单号
    CALL FUNCTION fmname
      EXPORTING
        control_parameters = ctlpara
        user_settings      = ' '
      TABLES
        intab              = it_save
      EXCEPTIONS
        formatting_error   = 1
        internal_error     = 2
        send_error         = 3
        user_canceled      = 4
        OTHERS             = 5.
    IF sy-subrc <> 0.
      MESSAGE 'Call SmartForms Error' TYPE 'E'.
    ENDIF.
  ENDIF.

  CALL FUNCTION 'SSF_CLOSE'
    IMPORTING
      job_output_info  = jobinfo
    EXCEPTIONS
      formatting_error = 1
      internal_error   = 2
      send_error       = 3
      OTHERS           = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  IF jobinfo-outputdone = 'X'. "打印了
    LOOP AT it_save.
      UPDATE zrmm204t1 SET druck = 'X'
        WHERE zdydh = it_save-zdydh.
    ENDLOOP.
    COMMIT WORK.
  ENDIF.
ENDFORM.                    " PRINTDATA
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 228,936评论 6 535
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 98,744评论 3 421
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 176,879评论 0 381
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,181评论 1 315
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,935评论 6 410
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,325评论 1 324
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,384评论 3 443
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 42,534评论 0 289
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,084评论 1 335
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,892评论 3 356
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,067评论 1 371
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,623评论 5 362
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,322评论 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,735评论 0 27
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,990评论 1 289
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,800评论 3 395
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,084评论 2 375

推荐阅读更多精彩内容