<template>
  <div class="eibs-tab">
    <el-form
      class="m-table-search-form"
      ref="paramsForm"
      :inline="true"
      label-position="right"
      label-width="110px"
      size="small"
      :rules="rules"
    >
      <c-row>
        <c-col :span="24">
          <c-col :span="8">
            <el-form-item label="公告标题" prop="theme" style="width: 100%">
              <c-input
                v-model="model.theme"
                maxlength="20"
                placeholder="请输入标题名称"
              ></c-input>
            </el-form-item>
          </c-col>
          <c-col :span="8">
            <el-form-item
              label="创建时间"
              prop="opndatfrom"
              style="width: 100%"
            >
              <c-col :span="11">
                <c-date-picker
                  type="date"
                  v-model="model.opndatfrom"
                  style="width: 100%"
                  placeholder="请选择"
                ></c-date-picker>
              </c-col>
              <c-col :span="2" style="text-align: center">
                <label style="display: inline-block; width: 100%">-</label>
              </c-col>
              <c-col :span="11">
                <c-date-picker
                  type="date"
                  v-model="model.opndatto"
                  style="width: 100%"
                  placeholder="请选择"
                ></c-date-picker>
              </c-col>
            </el-form-item>
          </c-col>
          <c-col :span="8">
            <el-form-item label="发布机构" prop="unit" style="width: 100%">
              <c-input
                v-model="model.unit"
                maxlength="40"
                placeholder="请输入机构名称"
              ></c-input>
            </el-form-item>
          </c-col>
        </c-col>
      </c-row>

      <!-- </template> -->
      <c-col :span="24" style="text-align: right; height: 36.8px">
        <el-button size="small" @click="handleReset">重置</el-button>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="small"
          @click="handleSearch"
          >查询</el-button
        >
      </c-col>
    </el-form>
    <c-col :span="24">
      <div style="border-bottom: 10px solid rgb(232, 232, 232)"></div>
    </c-col>

    <c-col :span="24" style="margin: 10px 0px">
      <c-button
        class="medium_bcs"
        size="medium"
        type="primary"
        style="margin-left: 0px"
        @click="ruleAdd()"
        >添加公告</c-button
      >
    </c-col>

    <c-col :span="24">
      <!-- <c-istream-table :list="stmData.data" :columns="stmData.columns"> -->
        <el-table
         :border="true"
        :data="stmData.data.slice((currentPage - 1) * pagesize, currentPage * pagesize)"
        
      
        style="width:80%,text-align:center" :header-cell-style="{background:'rgb(235, 235, 235)',color:'#000'}" >
        <!-- <el-table-column  label="编号"  prop="tid" width="200px"  >
         
        </el-table-column> -->
        <el-table-column  label="标题"  prop="theme" width="400px"  >
        
        </el-table-column>

        <el-table-column label="发布机构" prop="unit" width="200px">
        </el-table-column>
        <el-table-column  label="发布人" prop="pubname" width="200px"   >
          
        </el-table-column>
        
        <el-table-column  label="时间"  prop="dat" width="200px "   >
          
        </el-table-column>
        <el-table-column fixed="right" prop="op" label="操作" width="200px">
          <template slot-scope="scope">
            <c-button
              style="margin-left: 0"
              size="small"
              @click="ruleDetail(scope)"
            >
              详情
            </c-button>

            <c-button
              style="margin-left: 0"
              size="small"
              type="primary"
              @click="ruleEdit(scope)"
            >
              编辑
            </c-button>
            <c-button
              style="margin-left: 0"
              size="small"
              type="primary"
              @click="ruleDel(scope.$index)"
            >
              删除
            </c-button>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
        style="margin: 12px 0px"
        background
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="currentPage"
        :page-sizes="[2, 4, 6, 8]"
        :page-size="pagesize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="stmData.data.length"
      >
      </el-pagination>

      <!-- </c-istream-table> -->
    </c-col>
    <el-dialog
      :visible.sync="showPanel"
      :title="opttitle"
      append-to-body
      :before-close="cancel"
    >
      <el-form
          class="m-table-search-form"
          ref="paramsForm"
          :inline="true"
          label-position="right"
          label-width="110px"
          size="small"
          :rules="rules"
        >  
          <c-row>
            <c-col :span="24">
              <c-col :span="24">
                <c-input v-if="showIndex" style="visibility: hidden" v-model="model.edit.index" ></c-input>
                    
                        
                              <el-form-item label="标题:"  prop="edit.theme" style="width: 100%">
                                   <c-input
                                  v-model="model.edit.theme"
                                   maxlength="200" 
                                   placeholder="请输入标题内容"
                                   :disabled="isDetail"
                                   @keyup.enter.native="defaultFunction('edit.theme',model.edit.theme)"
                                   ></c-input>
                              </el-form-item>
                        
                    </c-col>
                    <c-col :span="24">

                              <el-form-item label="发布机构:" prop="edit.unit" style="width: 100%" >
                                   <c-input 
                                  v-model="model.edit.unit"
                                   maxlength="20" 
                                   placeholder="请输入机构名称"
                                   :disabled="isDetail"
                                    @keyup.enter.native="defaultFunction('edit.unit',model.edit.unit)"
                                   ></c-input>
                              </el-form-item>
                    </c-col>
                    <c-col :span="24">

            <c-col :span="24">
              <el-form-item
                label="公告内容:"
                prop="edit.content"
                style="width: 100%"
              >
                <c-input
                  v-model="model.edit.content"
                  type="textarea"
                  rows="20"
                  maxlength="2000"
                  show-word-limit
                  placeholder="请输入公告内容"
                  :disabled="isDetail"
                >
                </c-input>
              </el-form-item>
            </c-col>

                              <el-form-item label="发布时间:" prop="edit.dat" style="width: 50%">
                               <c-date-picker
                                   type="date"
                                   v-model="model.edit.dat"
                                   value-format="yyyy-MM-dd"
                                   placeholder="请选择时间"
                                   disabled
                              >
                              </c-date-picker>

                              </el-form-item>
                    </c-col>
                    <c-col :span="24">

                     <el-form-item label="可见范围:" prop="edit.visunit" style="width: 100%" >
                                <!-- <c-select
                                  v-model="model.edit.visunit"
                                  style="width: 100%"
                                  placeholder="请选择可见范围"
                                  :disabled="isDetail"
                                >
                                  <el-option
                                    v-for="item in range"
                                     :key="item.value"
                                     :label="item.label"
                                     :value="item.value"
                                    
                                  >
                                  </el-option>
                               </c-select> -->
                               <c-checkbox-group v-model="model.edit.visunit"
                                  style="width: 100%"
                                  placeholder="请选择可见范围"
                                  :disabled="isDetail">
                                    <el-checkbox label="总行"></el-checkbox>
                                    <el-checkbox label="分行"></el-checkbox>
                                    <br/>
                                    <el-checkbox label="上海总行"></el-checkbox>
                                    <el-checkbox label="北京总行"></el-checkbox>
                                    <el-checkbox label="广州总行"></el-checkbox>
                                    <el-checkbox label="深圳总行"></el-checkbox>
                                    <el-checkbox label="上海分行"></el-checkbox>
                                    <el-checkbox label="北京分行"></el-checkbox>
                                    <el-checkbox label="广州分行"></el-checkbox>
                                    <el-checkbox label="深圳分行"></el-checkbox>
                               </c-checkbox-group>
                             </el-form-item>
                    </c-col>

                    <c-col :span="24">

                             <el-form-item label="公告内容:" prop="edit.content" style="width: 100%" >

                             <c-input 
                                        v-model="model.edit.content"
                                        type="textarea" 
                                        rows ="20"
                                        maxlength="2000" 
                                        show-word-limit 
                                        placeholder="请输入公告内容"
                                        :disabled="isDetail"
                                         >
                             </c-input>
                             </el-form-item>
                           
                    </c-col>
              </c-col>

          <c-col
            :span="24"
            style="text-align: center; height: 36.8px"
          >
            <el-button
              type="primary"
              size="small"
              @click="submitData"
              v-if="optType"
              >提交</el-button
            >
            <el-button style="margin-left: 0" size="small" @click="cancel">
              返回
            </el-button> 
          </c-col>
          </c-row>
        </el-form>
    </el-dialog>
  </div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Notice/Event";
import { my,noticeQuery} from "~/service/notice";

export default {
  inject: ["root"],
  props: ["model", "rules"],
  mixins: [commonProcess],
  components: {},
  data() {
    return {
      showPanel: false,
      opttitle: "",
      optType: true,
      dialogTableVisible: false,
      isDetail: true,
      showIndex: false,
      nowDate: "",

      currentPage: 1, //初始页
      pagesize: 6, //    每页的数据
      total: 0,

      indexNum: 0, //定义一级菜单的下标
      trnData: {
        columns: ['1 1 "附加条款内容文本" 300', '2 2 "智能审单规则" 500'],
        data: [],
      },
      stmData: {
        columns: ['1 1 "标题" 400', '2 2 "发布机构" 400', '3 3 "发布时间" 200'],
        data: [],
      },
      range: [
        {
          value: "all",
          label: "所有机构可见",
        },
        {
          value: "under",
          label: "下属机构可见",
        },
        {
          value: "sl",
          label: "平级机构可见",
        },
      ],
      
     
    };
  },
  methods: {
    ...Event,

    ruleDetail(scope) {
      this.model.edit.theme = scope.row.theme;
      this.model.edit.unit = scope.row.unit;
      this.model.edit.dat = scope.row.dat;
      this.model.edit.pubname = scope.row.pubname;
      this.model.edit.content = scope.row.content;
      this.model.edit.index = scope.row.tid;
      this.model.edit.visunit = scope.row.visunit;
      this.isDetail = true;
      this.opttitle = "公告详情";
      this.optType = false;
      this.showPanel = true;
    },

    ruleEdit(scope) {
      this.model.edit.theme = scope.row.theme;
      this.model.edit.unit = scope.row.unit;
      this.model.edit.dat = scope.row.dat;
      this.model.edit.pubname = scope.row.pubname;
      this.model.edit.content = scope.row.content;
      this.model.edit.visunit = scope.row.visunit;
      this.isDetail = false;
      this.opttitle = "公告修改";
      this.optType = true;
      this.showPanel = true;
    },
    ruleAdd() {
      this.model.edit.dat = this.nowDate;

      this.isDetail = false;
      this.opttitle = "公告新增";
      this.optType = true;
      this.showPanel = true;
    },
    ruleDel(idx) {
      this.stmData.data.splice(idx, 1);
    },
    changeMod() {
      let i = 0;
      for (i = 0; i < this.select01.length; i++) {
        if (this.select01[i].value == this.model.edit.mod) {
          this.indexNum = i;
          break;
        }
      }
      this.select02 = this.select01[this.indexNum].obj;
    },
    chooseField() {
      this.model.edit.ruleInfo =
        this.model.edit.ruleInfo +
        "{" +
        this.model.edit.mod +
        this.model.edit.field +
        "}";
    },
    submitData() {
      const length = this.stmData.data.length;
      let btnStr = this.stmData.data;
      let str;
      if (this.model.edit.index == "") {
        //新增
        let max = 0;
        for (let i = 0; i < length; i++) {
          //获取数组中每行的数据
          let arr = btnStr[i];
          if (arr[0] > max) {
            max = arr[0];
          }
        }
        max++;
        var newObj={"edit.theme":this.model.edit.theme,"edit.unit":this.model.edit.unit,
        "edit.pubname":this.model.edit.pubname,"edit. dat":this.model.edit. dat,"edit. content":this.model.edit. content,}
        
        // str = max +'\t' + this.model.edit.theme + '\t' + this.model.edit.unit + '\t' + this.model.edit.dat + '\t'+ +  'mbf'; 
       
        //this.stmData.data.splice(length,0,newObj);
        this.stmData.data.push(newObj);
        console.log(this.stmData.data);
      }
      // else{  //修改
      //   let num = 0;
      //   for(let i=0;  i < length; i++){
      //     //获取数组中每行的数据
      //     let arr = btnStr[i].split("\t");
      //     if(arr[0] == this.model.edit.index ) {
      //       str = arr[0]+'\t' + this.model.edit.ruleDesc + '\t' + this.model.edit.ruleInfo + '\t' + arr[3] + '\t' +  arr[4];
      //       num = i;
      //       break;
      //     }
      //   }
      //   this.stmData.data.splice(num,1,str);
      // }
      // this.$store.commit('setCheckRuleData', this.stmData.data)
      this.model.edit.theme = "";
      this.model.edit.unit = "";
      this.model.edit.pubname = "";
      this.model.edit.dat = "";
      this.model.edit.content = "";
      this.model.edit.index = "";
      this.showPanel = false;
    },
    cancel() {
      this.model.edit.theme = "";
      this.model.edit.unit = "";
      this.model.edit.pubname = "";
      this.model.edit.dat = "";
      this.model.edit.content = "";
      this.model.edit.index = "";
      this.showPanel = false;
    },
    handleReset() {
      this.model.theme='';
      this.model.opndatto = '';
      this.model.opndatfrom='';
      this.model.unit='';   
    },
    handleSearch(){
       noticeQuery({
          "theme":this.model.theme,
          "opndatfrom":this.model.opndatfrom,
          "opndatto":this.model.opndatto,
          "unit":this.model.unit  
        }).then(res=>{
           this.stmData.data=res
        })
    },
    handleSizeChange: function (size) {
      this.pagesize = size;
      console.log(this.pagesize); //每页下拉显示数据
    },
    handleCurrentChange: function (currentPage) {
      this.currentPage = currentPage;
      console.log(this.currentPage); //点击第几页
    },
  },
  created: function () {
    //  this.stmData.data = this.$store.state.Status.checkRuleData;
    let date = new Date();
    let year = date.getFullYear();
    let month = date.getMonth() + 1;
    let day = date.getDate();
    this.nowDate = year + '-' + month + '-' + day;
    // this.model.opndatfrom = this.nowDate;
    // this.model.opndatto = this.nowDate;
    my().then(res => {
         
          this.stmData.data=res
          
      })
  },
};
</script>
<style>
.el-dialog__body {
  padding: 10px 5px 50px;
}
.m-table-search-form {
  position: flex;
  flex-direction: row;
}
.m-table-search-form .el-form-item__content {
  width: calc(100% - 110px);
}

</style>
