经济事项申请2

<template>

  <div class="simple" >

    <power v-model="btnListData"></power>

    <div>

      <div style="margin-left:5px;" class="formTitle">查询条件</div>

      <el-row :gutter="10" class="formWrap">

        <el-col class="form-item" :span="8">

          <div class="inputLabel">一级经济事项</div>

          <el-select v-model="search.oneEcoItem" @change="getTwoEconoOption()">

            <el-option

              v-for="(item,index) in oneEcoItemOption"

              :label="item.name"

              :value="item.code"

              :key="index"

            ></el-option>

          </el-select>

        </el-col>

        <el-col class="form-item" :span="8">

          <div class="inputLabel">二级经济事项</div>

          <el-select v-model="search.twoEcoItem"  @change="getThreeEconoOption()" >

            <el-option

              v-for="(item,index) in twoEcoItemOption"

              :label="item.name"

              :value="item.code"

              :key="index"

            ></el-option>

          </el-select>

        </el-col>

        <el-col class="form-item" :span="8">

          <div class="inputLabel">三级经济事项</div>

          <el-select v-model="search.threeEcoItem">

            <el-option

              v-for="(item,index) in threeEcoItemOption"

              :label="item.name"

              :value="item.code"

              :key="index"

            ></el-option>

          </el-select>

        </el-col>

      </el-row>

      <el-row :gutter="10" class="formWrap">

        <el-col class="form-item" :span="8">

          <div class="inputLabel">标签</div>

          <el-select placeholder="全部" v-model="search.tag">

            <el-option label="全部" value="" ></el-option>

            <el-option label="通用" value="1"></el-option>

            <el-option label="专用" value="0" ></el-option>

          </el-select>

        </el-col>

        <el-col class="form-item" :span="8">

          <div class="inputLabel">状态</div>

          <el-select placeholder="全部" v-model="search.statusMean">

            <el-option label="全部" value="" ></el-option>

            <el-option label="审批中" value="审批中"></el-option>

            <el-option label="生效" value="生效" ></el-option>

            <el-option label="驳回" value="驳回" ></el-option>

            <el-option label="失效" value="失效" ></el-option>

          </el-select>

        </el-col>

      </el-row>

      <div class="footerButtonGroup">

        <el-button @click="clearAll">重置</el-button>

        <el-button v-if="$hasPower(btnListData)('ECONOMI_ITEM_SEARCH')" type="primary" @click="searchData">查询</el-button>

      </div>

      <div class="tabWrap">

        <div class="tableTitle">

          <font>查询结果</font>

          <div class="fr">

            <span v-if="$hasPower(btnListData)('ECONOMI_ITEM_ADD')" class="toolButtonItem" @click.prevent="addApply"><img src="@/icons/icon_add.png" style="margin-bottom:-3px">&nbsp;新增</span>

            <span v-if="$hasPower(btnListData)('ECONOMI_ITEM_EDITT')" class="toolButtonItem" @click.prevent="editApply"><img src="@/icons/icon_edit01.png" style="margin-bottom:-3px">&nbsp;修改</span>

            <span v-if="$hasPower(btnListData)('ECONOMI_ITEM_ENABLE')" class="toolButtonItem" @click.prevent="enable"><img src="@/icons/icon_start01.png" style="margin-bottom:-3px">&nbsp;生效</span>

            <span v-if="$hasPower(btnListData)('ECONOMI_ITEM_DISABLE')" class="toolButtonItem" @click.prevent="disable"><img src="@/icons/icon_stop01.png" style="margin-bottom:-3px">&nbsp;失效</span>

            <span v-show = 'false' v-if="$hasPower(btnListData)('ECONOMI_ITEM_EXPORT')" class="toolButtonItem" @click.prevent='getOut'><img src="@/icons/icon_daochu.png" style="margin-bottom:-3px">&nbsp;导出</span>

          </div>

        </div>

        <el-table :data="tableData" @select='tabSelectItem' @select-all='tabSelectItem' border style="width:100%">

          <el-table-column type="selection" header-align='center' min-width="45"></el-table-column>

          <el-table-column label="序号" width="65" type="index"></el-table-column>

          <el-table-column label="一级经济事项编码" prop="economic1Code" :show-overflow-tooltip="true" min-width='150'></el-table-column>

          <el-table-column label="一级经济事项名称" prop="economic1Name" :show-overflow-tooltip="true" min-width='150'></el-table-column>

          <el-table-column label="二级经济事项编码" prop="economic2Code" :showOverflowTooltip="true" min-width='150'></el-table-column>

          <el-table-column label="二级经济事项名称" prop="economic2Name" min-width='150' showOverflowTooltip></el-table-column>

          <el-table-column label="三级经济事项编码" prop="economic3Code" min-width='150' showOverflowTooltip></el-table-column>

          <el-table-column label="三级经济事项名称" prop="economic3Name" width='150' showOverflowTooltip></el-table-column>

          <el-table-column label="状态" align="center" width="100" showOverflowTooltip>

            <template slot-scope="scope">

              <span v-if="scope.row.statusMean=='审批中'" class="color">{{scope.row.statusMean}}</span>

              <span v-else>{{scope.row.statusMean}}</span>

            </template>

          </el-table-column>

          <el-table-column label="标签" prop="tagMean" width='100' showOverflowTooltip></el-table-column>

          <el-table-column label="管理口径" prop="managementCaliberName" width='100' showOverflowTooltip></el-table-column>

          <el-table-column label="释义" prop="comment" width='100' showOverflowTooltip></el-table-column>

        </el-table>

      </div>

      <div class="myPaginationBox">

        <p>共{{ (dataTotal / search.pageSize) === 0 ? 0 : Math.ceil(dataTotal / search.pageSize) }}页/<b>{{dataTotal}}</b>条数据</p>

        <el-pagination @size-change="handleSizeChange" @current-change="handlepageNumChange" :page-sizes="[5, 10, 20, 30]" :page-size="search.pageSize"

          :current-page="search.pageNum" layout="sizes, prev, pager, next, jumper" :total="dataTotal">

        </el-pagination>

      </div>

    </div>

    <el-dialog :visible.sync="dialogAddEdit" size='full' :modal='false' :close-on-click-modal='false' :close-on-press-escape='false'>

      <div v-if="dialogAddEdit">

        <AddEditEcono @saveAddEdit='saveAddEdit' @closeAddEditdialog='closeAddEditdialog' :sendAEData='sendAEData'></AddEditEcono>

      </div>

    </el-dialog>

  </div>

</template>

<style>

  @import "../../css/common.css";

</style>

<style>

  .color {

    color: #FF7000;

  }

  #data_picker .el-date-editor.el-input{

        width: calc(100% - 110px)!important;

    }

</style>

<script type="text/javascript">

  import AddEditEcono from "./addEditEcono.vue"

  import { tipMsg, justOne, downLoadFile } from '../../js/common.js'

  export default {

    components: {

      AddEditEcono,

    },

    data() {

      return {

        loadUrl: '',

        btnListData:"",

        search: {

          oneEcoItem: '',

          twoEcoItem: '',

          threeEcoItem: '',

          tag: '',//标签

          statusMean: '',

          pageNum: 1,

          pageSize: 10

        },

        num: '',

        idList: [], //选择的id集合容器

        tagList: [], //选择的tag集合容器

        oneEcoItemOption: [], //一级经济事项集合

        twoEcoItemOption: [], //二级经济事项集合

        threeEcoItemOption: [], //三级级经济事项集合

        forItem: [],

        tableData: [],

        dataTotal: 0,

        dialogAddEdit: false,  //新增编辑页面 

        tableTitle: '',

        sendAEData: {},  //发送给新增和编辑对话框的参数。

      }

    },

    created() {

      this.loadUrl = `${this.$root.loadUrl}`;

      this.getEconoOption()

    },

    mounted() {

    },

    methods: {

      getEconoOption() {

        let url = `${this.$root.loadUrl}/economicEventsApply/queryConditon`;

        let params = {

          levelNo:1,

        };

        this.$Http.post(url, params).then(rsp => {

          if (rsp.body.code == "000000") {

            this.oneEcoItemOption = rsp.body.data;

          }

        });

      },

      getTwoEconoOption() {

        this.search.twoEcoItem = ""

        this.search.threeEcoItem = ""

        let url = `${this.$root.loadUrl}/economicEventsApply/queryConditon`;

        let params = {

          pCode:this.search.oneEcoItem,

          levelNo:2,

        };

        this.$Http.post(url, params).then(rsp => {

          if (rsp.body.code == "000000") {

            this.twoEcoItemOption = rsp.body.data;

          }

        });

      },

      getThreeEconoOption() {

        this.search.threeEcoItem = ""

        let url = `${this.$root.loadUrl}/economicEventsApply/queryConditon`;

        let params = {

          pCode:this.search.twoEcoItem,

          levelNo:3,

        };

        this.$Http.post(url, params).then(rsp => {

          if (rsp.body.code == "000000") {

            this.threeEcoItemOption = rsp.body.data;

          }

        });

      },

      //查询

      searchData() {

        let params = {

          economic1Code:this.search.oneEcoItem,

          economic2Code:this.search.twoEcoItem,

          economic3Code:this.search.threeEcoItem,

          tag:this.search.tag,

          statusMean:this.search.statusMean,

          pageNum:this.search.pageNum,

          pageSize:this.search.pageSize,

        }

        this.$Http.post(this.loadUrl + '/economicEventsApply/list', params)

          .then((res) => {

            var result = res.body;

            if (result.code == '000000') {

              this.tableData = result.data.list;

              this.dataTotal = result.data.total;

            } else {

              tipMsg(result.message, "error");

              return;

            }

          })

      },

      //重置

      clearAll() {

        this.search = {

          oneEcoItem: "",

          twoEcoItem: "",

          threeEcoItem: "",

          tag: '',//标签

          statusMean: '',

          pageNum :1,

          pageSize :10,

        }

        this.twoEcoItemOption = [];

        this.threeEcoItemOption = [];

        this.tableData = [];

        this.dataTotal = 0;

      },

      //新增

      addApply() {

        this.dialogAddEdit = true;

        this.sendAEData.edit = false;

      },

      //编辑

      editApply() {

        if (this.idList.length == 0) {

          tipMsg('请选择一条数据', "warning");

          return;

        }

        if (this.idList.length !=1) {

          tipMsg('只能编辑一条数据', "warning");

          return;

        }

        if (this.forItem[0].statusMean!="生效") {

          tipMsg('只能对生效数据进行编辑。', "warning");

          return;

        }

        let params = {

          "id":this.idList[0],

          "tag":this.forItem[0].tag

        }

        this.$Http.post(this.loadUrl + '/economicEventsApply/updateDetail', params)

          .then((res) => {

            var result = res.body;

            if (result.code == '000000') {

              this.sendAEData = result.data;

              this.dialogAddEdit = true;

              this.sendAEData.edit = true;

            } else {

              tipMsg(result.message, "error");

              return;

            }

          })

      },

      //

    //失效校验

    disablecheckMust(){

      for(var i=0; i<this.forItem.length;i++){

        if(this.forItem[i].statusMean != "生效"){

          tipMsg('勾选不对,只能对生效的数据进行失效操作!', "warning");

          return false

        }

      }

      return true;

    },

    //生效校验

    enablecheckMust(){

      for(var i=0; i<this.forItem.length;i++){

        if(this.forItem[i].statusMean != "失效"){

          tipMsg('勾选不对,只能对失效的数据进行生效操作!', "warning");

          return false

        }

      }

      return true;

    },

      //生效

      enable() {

        if (this.enablecheckMust()) {

          this.$Http.post(this.loadUrl + '/economicEventsApply/toStart', this.idList)

            .then((res) => {

              var result = res.body;

              if (result.code == '000000') {

                tipMsg('生效成功', "success");

                this.idList = [];

                this.forItem = [];

                this.searchData();

              } else {

                tipMsg(result.message, "error");

                return;

              }

            })

        }

      },

      //失效

      disable() {

        if (this.disablecheckMust()) {

          this.$Http.post(this.loadUrl + '/economicEventsApply/toStop', this.idList)

            .then((res) => {

              var result = res.body;

              if (result.code == '000000') {

                tipMsg('失效成功', "success");

                this.idList = [];

                this.forItem = [];

                this.searchData();

              } else {

                tipMsg(result.message, "error");

                return;

              }

            })

        }

      },

      tabSelectItem(item) {

        let aList = [];

        this.forItem = item; //传入数据中心,以备后用。

        item.forEach((it) => {

          aList.push(it.id);

        })

        setTimeout(this.idListckeck(aList), 100)

      },

      //去重

      idListckeck(arr) {

        this.idList = [];

        for (var i = 0; i < arr.length; i++) {

          if (this.idList.indexOf(arr[i]) == -1) {

            this.idList.push(arr[i]);

          }

        }

        return this.idList;

      },

      //导出

      getOut() {

      },

      //每页大小

      handleSizeChange(val) {

        this.search.pageSize = val;

        this.searchData()

      },

      //页数选择

      handlepageNumChange(val) {

        this.search.pageNum = val;

        this.searchData()

      },

      //关闭新增编辑弹窗

      closeAddEditdialog() {

        this.forItem = [];

        this.idList = [];

        this.searchData()

        this.dialogAddEdit = false;

      },

      //保存成功后 重新搜索

      saveAddEdit() {

        this.forItem = [];

        this.idList = [];

        this.searchData()

      },

    }

  }

</script>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容