system-dictionary.vue 7.1 KB
<style>
.btn-d-cancel{border:1px #cfd4d7 solid;background:#cfd4d7;color:#fff;}
</style>
<template>
<div class="container resource" style="min-height: 490px;">

  <div class="pop-banner clearfix">
    <form class="search-bar">
      <div class="search-btn"  v-on:click="getData('search')">
        <input type="submit" value="搜索"> 
      </div>
      <input type="text"  v-model="search.searchtxt" 
      placeholder="输入关键字" style="color: #373737;"> 
    </form>

    <div class="operate-btns">       

        <a   class="fbtn fb-add"  v-show="!addrow"
          v-on:click="addrow=!addrow">添加</a>
        <a href="javascript:void(0)" class="fbtn fb-save" 
         v-show="addrow" v-on:click="add()">保存</a>
        <a href="javascript:;" class="fbtn fb-refresh"
          v-on:click="getData('refresh')">刷新</a>
        
      </div>
    <h3 class="current-module">系统参数</h3>
  </div>
  
  <!--basic-user-info start-->
  <table class="itable basic-user-info">
    <thead>
      <tr>
        <th class="w60">序号</th>
        <th class="w200">参数类型</th>
        <th class="w150">参数编号</th>
        <th class="w150">参数值</th>
        <th class="w100">状态</th>
        <th class="w220">备注</th>
        <th class="">操作</th>
      </tr>
    </thead>

    <tbody v-show="addrow">    
      <tr>
          <td>
          </td>
          <td class="td-yesorno select-style padd_10">
            <select-ui :list="typeselects"  :empty="false"
            :selected.sync="newobj.parametertype">              
            </select-ui>
          </td>
          <td class="td-code  padd_10">
            <input type="text" v-model="newobj.code"></td>
          <td class="td-name  padd_10">
            <input type="text" v-model="newobj.parametervalue"></td>
          <td class="td-type select-style padd_10">
            <select-ui :list="statusselects"  :empty="false"
            :selected.sync="newobj.state">              
            </select-ui>
          </td>
          <td class="td-day  padd_10">
            <input type="text" v-model="newobj.memo"></td>
          <td></td>
      </tr>
    </tbody>

    <tbody  v-for="item in list" >    
      <tr v-if="item.edit==1">
          <td>
          </td>
          <td class="td-yesorno select-style padd_10">          
            <select-ui :list="typeselects"  :empty="false"
            :selected.sync="item.parametertype">              
            </select-ui>
          </td>
          <td class="td-code  padd_10">
            <input type="text" v-model="item.code">
          </td>
          <td class="td-name  padd_10">
            <input type="text" v-model="item.parametervalue" >
          </td>
          <td class="td-type select-style padd_10">
            <select-ui :list="statusselects" :empty="false"
            :selected.sync="item.state">              
            </select-ui>
          </td>
          <td class="td-day  padd_10">
            <input type="text" v-model="item.memo">
          </td>
          <td>
            <a class="btn-d btn-d-activate"  href="javascript:"
             v-on:click="save($index)">
            保存</a>
            <a class="btn-d btn-d-cancel"  href="javascript:"
             v-on:click="edit($index)">
            取消</a>
          </td>
      </tr>

      <tr :class="{'tr_sty_red':item.state=='n'}" v-else>
        <td>{{$index+1}}</td>
        <td>{{item.parametertype | ft-case typeselects }}</td>
        <td>{{item.code}}</td>
        <td>{{item.parametervalue}}</td>
        <td>{{item.state | ft-state}}</td>
        <td>{{item.memo}}</td>
        <td>
            <a class="btn-d btn-d-activate"  href="javascript:"
              v-on:click="edit($index)">
            修改</a>
            <a class="btn-d btn-d-red" href="javascript:"
              v-on:click="remove($index)">
            删除</a>
        </td>
      </tr>
      
    </tbody>
  </table> 

  <pagination 
   @page-change="getData" 
   :class="['m-20-0']"
   :page-no.sync="search.page" 
   :total-pages.sync="search.totalPages"></pagination>
    
  <!--basic-user-info end-->

  
</div>
</template>
<script>
module.exports={
  data:function(){
    return {
      list:[
      ],search: {
          pageSize: 10,
          page: 1,
          totalPages: 0,searchtxt:''       
      },newobj:{
        type:0,number:'',value:'',status:0,note:''
      },editlist:[],addrow:0,
      typeselects:[
        {value:0,label:'业务类'},{value:1,label:'系统类'}
      ],statusselects:[
        {value:'N',label:'无效'},{value:'Y',label:'有效'}
      ]
    }
  },methods:{
    getData:function(casetxt){//请求数据
      if(casetxt){
        if( casetxt=='search' && this.search.searchtxt.length==''){
          return ;
        }
        this.search.page=1;       
      }
      Ajax.post('/systemdata/distributor/sysparam/getAll',this.search).then(function(res){
          var result=res.data;

          if(result.errorCode==0){
              this.$set('list',result.data.list);
              this.search.totalPages = result.data.totalPages || 0;
          }
      }.bind(this))
    },edit:function(index){//修改  状态
      var obj=Object.assign({},this.list[index],
        {edit:this.list[index].edit?0:1});      
      if(obj.edit==1){
        this.editlist[index]=Object.assign({},obj);
      }else{
        obj=this.editlist[index];
        obj.edit=0;
      }           
      this.$set('list['+index+']',obj)
    },save:function(index){//单个保存
        var obj=Object.assign({},this.list[index]);
        obj.oldcode=this.editlist[index].code;

        Ajax.post('/systemdata/distributor/sysparam/updateParam',obj).then(function(res){
            var result=res.data;

            if(result.errorCode==0){
                obj.edit=0;
                this.$set('list['+index+']',obj)
            }else{
              alert(result.message)
            }
        }.bind(this))

    },remove:function(index){//删除
      var obj=Object.assign({},this.list[index])
      this.MessageBox({
        title: '提示',
        message: '是否删除',
        type: 'success',
        showCancelButton: true
      }).then(function(action) {    
          if(action=="confirm"){
              var id=this.list[index].id;
              Ajax.post('/systemdata/distributor/sysparam/delParam',obj).then(function(res){
                  var result=res.data;

                  if(result.errorCode==0){
                      this.list.splice(index,1)
                  }
              }.bind(this))
          }  
      }.bind(this));
    },add:function(){//添加
        var obj=Object.assign({},this.newobj)

        Ajax.post('/systemdata/distributor/sysparam/addParam',obj).then(function(res){
            var result=res.data;

            if(result.errorCode==0){              
              this.list.unshift(this.newobj);
              this.newobj=Object.assign({},{
                code:'',memo:'',name:'',parametervalue:'',
                parametertype:'',state:''
              });
              this.addrow=0;
            }else{
              alert(result.message)
            }
        }.bind(this))
    }
  },route:{
    activate:function(){
      this.getData();
    }
  }
}
</script>