contractParams.vue 6.75 KB
<template>
     <a-card :bordered="false">

    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :md="6" :sm="12">
            <a-form-item label="参数编号">
              <a-input placeholder="输入参数编号" v-model="queryParam.contractParamNo"></a-input>
            </a-form-item>
          </a-col>
          <a-col :md="6" :sm="12">
            <a-form-item label="参数名称">
              <a-input placeholder="输入参数名称" v-model="queryParam.contractParamName"></a-input>
            </a-form-item>
          </a-col>
          <template v-if="toggleSearchStatus">
            <a-col :md="6" :sm="8">
                <a-form-item label="启用状态">
                <a-select v-model="queryParam.status" placeholder="请选择启用状态">
                    <a-select-option value="">请选择</a-select-option>
                    <a-select-option value="1">生效</a-select-option>
                    <a-select-option value="2">不生效</a-select-option>
                </a-select>
                </a-form-item>
            </a-col>
          </template>
          <a-col :md="6" :sm="8">
            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
              <a-button @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
              <a @click="handleToggleSearch" style="margin-left: 8px">
                {{ toggleSearchStatus ? '收起' : '展开' }}
                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
              </a>
            </span>
          </a-col>

        </a-row>
      </a-form>
    </div>

    <!-- 操作按钮区域 -->
    <div class="table-operator" style="border-top: 5px">
      <a-button v-has="'contractParams:add'" @click="handleAdd" type="primary" icon="plus">新增</a-button>
    </div>

    <!-- table区域-begin -->
    <div>
      <a-table
        ref="table"
        bordered
        size="middle"
        rowKey="id"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        :scroll="{ x: '100%' }"
        @change="handleTableChange">

        <span slot="actionOpen" slot-scope="text, record">
            <a-switch size='small' :checked="record.status == 1 ? true : false" @change="onChange(record)"/>
        </span>
        <span slot="action" slot-scope="text, record">
          <a-button
            type="link"
            size="small"
            v-has="'contractParams:edit'" @click="handleEdit1(record)"
            icon="edit"
            style="font-size: 12px"
          >
            修改</a-button
          >
        </span>
      </a-table>
    </div>
    <!-- table区域-end -->
    <ContractPamasModal ref="modalForm" @ok="modalFormOk"></ContractPamasModal>
  </a-card>
</template>
<script>
  import ContractPamasModal from './modules/ContractPamasModal'
  import {contractParamsRange} from '@/data/params'
  import {putAction} from '@/api/manage';
  import {enableContractParam} from '@/api/configApi'
  import {JeecgListMixin} from '@/mixins/CoreListMixin'
  import JInput from '@/components/jeecg/JInput'

  export default {
    name: "UserList",
    mixins: [JeecgListMixin],
    components: {
      ContractPamasModal,
      JInput
    },
    data() {
      return {
        description: '这是用户管理页面',
        queryParam: {},
        columns: [
          {
            title: '序号',
            dataIndex: '',
            key:'rowIndex',
            align:"center",
            width:55,
            customRender:function (t,r,index) {
              return parseInt(index)+1;
            }
          },
          {
            title: '参数编号',
            align: "center",
            dataIndex: 'contractParamNo',
            width:200,
          },

          {
            title: '参数名称',
            align: "center",
            dataIndex: 'contractParamName',
            width:200,
          },
          {
            title: '参数含义',
            align: "center",
            dataIndex: 'description',
            width:200,
          },
          {
            title: '参数替代标志符',
            align: "center",
            dataIndex: 'dynamicVariable',
            width:200,
          },
          // {
          //   title: '参数应用范围',
          //   align: "center",
          //   dataIndex: 'contractRange',
          //   customRender:function (t,r,index) {
          //     for(var i=0; i<contractParamsRange.length; i++){
          //       if(t === contractParamsRange[i].value){
          //         return contractParamsRange[i].text
          //       }
          //     }
          //   }
          // },
          {
            title: '启用状态',
            align: "center",
            dataIndex: 'status',
            scopedSlots: {customRender: 'actionOpen'},
            width:80,
          },
          {
            title: '新建时间',
            align: "center",
            dataIndex: 'createTime',
            width:200,

          },
          {
            title: '更新时间',
            align: "center",
            dataIndex: 'updateTime',
            width:200,
          },
          {
            title: '操作',
            dataIndex: 'action',
            scopedSlots: {customRender: 'action'},
            align: "center",
            width: 100,
            fixed: 'right'
          }

        ],
        url: {
          imgerver: window._CONFIG['domianURL'] + "/sys/common/view",
          syncUser: "/process/extActProcess/doSyncUser",
          list: "/config/admin/selectContractParam",
          delete: "/sys/user/delete",
          deleteBatch: "/sys/user/deleteBatch",
          exportXlsUrl: "/sys/user/exportXls",
          importExcelUrl: "sys/user/importExcel",
        },
      }
    },
    created(){
      this.disableMixinCreated = true
      this.columns =this.preFilter(this.columns,'contractParams:');
      this.loadData();
    },
    computed: {
    },
    methods: {
      handleEdit1: function(record){
        console.log(typeof record.contractRange === 'string')
        if(typeof record.contractRange === 'string'){
          record.contractRange = record.contractRange.split(',')
        }
        this.handleEdit(record)
      },
      modalFormOk: function(){
        this.loadData();
      },
      onChange: function(v){
        let _p = {
          id: v.id,
          status: v.status == 1 ? 2 : 1
        }
        enableContractParam(_p).then(res => {
          this.loadData()
        })
      }
    }

  }
</script>
<style scoped>
  @import '~@assets/less/common.less'
</style>