Regpnl.vue 8.9 KB
<template>
  <div class="eibs-tab">
    <c-col :span="24">
      <c-col :span="10">
        <!-- S0000005 : 机构号 -->
        <c-col :span="24">
          <el-form-item label="机构号" label-width="100px" prop="comreg.ptcptbk">
            <c-input v-model="model.comreg.ptcptbk" maxlength="20">
            </c-input>
          </el-form-item>
        </c-col>
        <!-- S0000010 : 报文类型 -->
        <c-col :span="24">
          <el-form-item label="报文类型" label-width="100px" prop="comreg.msgtyp">
            <c-select v-model="model.comreg.msgtyp" style="width:100%" :isShowKeyAndLabel="true" dbCode="ELC038" uil="CN">
            </c-select>
          </el-form-item>
        </c-col>
      </c-col>
      <c-col :span="10">
        <!-- S0000010 : 报文类型 -->
        <c-col :span="24">
          <el-form-item label="发送接收标识" prop="comreg.sndrcv">
            <c-select v-model="model.comreg.sndrcv" style="width:100%" dbCode="ELC034">
            </c-select>
          </el-form-item>
        </c-col>
        <c-col :span="24">
          <el-form-item>
            <c-button size="small" type="primary" @click="getPms">
              查询
            </c-button>
          </el-form-item>
        </c-col>
      </c-col>
    </c-col>
    <c-col :span="24">
      <c-col :span="10">
        <el-form-item label="系统报文" label-width="100px" prop="comreg.systyp">
          <el-radio v-model="model.comreg.systyp" label="ELCS">电证报文</el-radio>
          <el-radio v-model="model.comreg.systyp" label="LCFS">福费廷报文</el-radio>
        </el-form-item>
      </c-col>
    </c-col>

    <c-col :span="20">
      <el-form-item label-width="0px">
        <el-table border style="width: 100%" :data="model.comreg.pmslst" height="500px">
          <el-table-column prop="ptcptbk" label="机构号" sortable>
            <template slot-scope="scope">
              <c-input disabled v-model="scope.row.ptcptbk"> </c-input>
            </template>
          </el-table-column>
          <el-table-column prop="regsta" label="注册状态" sortable>
            <template slot-scope="scope">
              <c-select disabled v-model="scope.row.regsta" style="width:100%" dbCode="ELC035">
              </c-select>
            </template>
          </el-table-column>
          <el-table-column prop="sndrcv" label="发送接收标识" sortable>
            <template slot-scope="scope">
              <c-select disabled v-model="scope.row.sndrcv" style="width:100%" dbCode="ELC034">
              </c-select>
            </template>
          </el-table-column>
          <el-table-column prop="msgtyp" label="报文类型" sortable>
            <template slot-scope="scope">
              <c-select disabled v-model="scope.row.msgtyp" style="width:100%" dbCode="ELC038" uil="CN">
              </c-select>
            </template>
          </el-table-column>
          <el-table-column prop="prmsta" label="参数状态" sortable>
            <template slot-scope="scope">
              <c-select disabled v-model="scope.row.prmsta" style="width:100%" dbCode="PRMSTA">
              </c-select>
            </template>
          </el-table-column>
        </el-table>
        <div class="pagination-box" style="display:block">
              <el-pagination
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page.sync="pagination.pageIndex"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="pagination.pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="pagination.total">
              </el-pagination>
            </div>
      </el-form-item>
    </c-col>
    <c-col :span="24">
      <c-col :span="20">
        <el-form :model="model" ref="PmsForm" label-width="150px" label-position="right" size="small" :validate-on-rule-change="false">
          <el-form-item label-width="0px">
            <el-table border style="width: 100%" :data="model.comreg.pmslst2" height="500px">
              <el-table-column type="index" label="选项" width="80px">
                <template slot-scope="scope">
                  <c-checkbox v-model="scope.row.chk" true-label="X" false-label=""></c-checkbox>
                </template>
              </el-table-column>
              <el-table-column prop="ptcptbk" label="机构号" sortable>
                <template slot-scope="scope">
                  <el-form-item label-width="0px" :prop="'comreg.pmslst2.'+scope.$index+'.ptcptbk'" :rules="[{validator:(rule,value,callback) => validatorPtcptbk(rule,value,callback,scope.row), trigger: ['blur', 'change']}]">
                    <c-input v-model="scope.row.ptcptbk"> </c-input>
                  </el-form-item>
                </template>
              </el-table-column>
              <el-table-column prop="regsta" label="注册状态" sortable>
                <template slot-scope="scope">
                  <el-form-item label-width="0px" :prop="'comreg.pmslst2.'+scope.$index+'.regsta'" :rules="[{required:scope.row.chk=='X',message:'必输项', trigger: ['blur', 'change']}]">
                    <c-select v-model="scope.row.regsta" style="width:100%" dbCode="ELC035">
                    </c-select>
                  </el-form-item>
                </template>
              </el-table-column>
              <el-table-column prop="sndrcv" label="发送接收标识" sortable>
                <template slot-scope="scope">
                  <el-form-item label-width="0px" :prop="'comreg.pmslst2.'+scope.$index+'.sndrcv'" :rules="[{required:scope.row.chk=='X',message:'必输项', trigger: ['blur', 'change']}]">
                    <c-select v-model="scope.row.sndrcv" style="width:100%" dbCode="ELC034">
                    </c-select>
                  </el-form-item>
                </template>
              </el-table-column>
              <el-table-column prop="msgtyp" label="报文类型" sortable>
                <template slot-scope="scope">
                  <el-form-item label-width="0px" :prop="'comreg.pmslst2.'+scope.$index+'.msgtyp'" :rules="[{required:scope.row.chk=='X',message:'必输项', trigger: ['blur', 'change']}]">
                    <c-select v-model="scope.row.msgtyp" style="width:100%" dbCode="ELC038" uil="CN">
                    </c-select>
                  </el-form-item>
                </template>
              </el-table-column>
              <el-table-column prop="prmsta" label="参数状态" sortable>
                <template slot-scope="scope">
                  <c-select v-model="scope.row.prmsta" style="width:100%" dbCode="PRMSTA">
                  </c-select>
                </template>
              </el-table-column>
              <el-table-column label="" prop="det" width="100px" fixed="right">
                <template slot-scope="scope" slot="header">
                  <c-button circle class="el-icon-plus" size="mini" @click="addRow()">
                  </c-button>
                  <c-button circle class="el-icon-minus" size="mini" @click="removeRow()">
                  </c-button>
                </template>
              </el-table-column>
            </el-table>
            <div class="pagination-box" style="display:block">
              <el-pagination
              @size-change="handleSizeChange2"
              @current-change="handleCurrentChange2"
              :current-page.sync="pagination.pageIndex2"
              :page-sizes="[10, 20, 50, 100]"
              :page-size="pagination.pageSize2"
              layout="total, sizes, prev, pager, next, jumper"
              :total="pagination.total2">
              </el-pagination>
            </div>
          </el-form-item>
        </el-form>
      </c-col>
      <c-col :span="4">
        <el-form-item label-width="20px">
          <div>
            <c-button size="small" type="primary" @click="handleSelectAll">全选</c-button>
          </div>
          <div style="margin-top:10px">
            <c-button size="small" type="primary" @click="handleSelectNo">取消全选</c-button>
          </div>
          <div style="margin-top:30px">
            <c-button size="small" type="primary" @click="sendELc902">
              发送请求
            </c-button>
          </div>
        </el-form-item>
      </c-col>
    </c-col>
  </div>
</template>
<script>
import event from "../event";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [event],
  data() {
    return {
      pagination: {
        pageIndex: 1,
        pageSize: 20,
        total: 0,
        pageIndex2: 1,
        pageSize2: 20,
        total2: 0
      },
    };
  },
  methods: {
    validatorPtcptbk (rule, value, callback,row) {
      if(row.chk=="X"){
        if(!value) {
			  	return callback(new Error('必输项'));
			  }else {
          if(value!="303100000006"){
            callback(new Error('机构号必须为303100000006'));
          }
        }
        callback();
      }
      callback();
    }
  },
  created: function() {}
};
</script>
<style>
</style>