text: $(function () {
      $("#jqGrid").Grid({
          url: '../sys/region/list',
          colModel: [
              {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
              {label: '上级区域', name: 'parentName', index: 'parent_id', width: 80},
              {label: '区域', name: 'name', index: 'name', width: 80},
              {
                  label: '类型', name: 'type', index: 'type', width: 80,
                  formatter: function (value) {
                      if (value === '0' || value === 0) {
                          return '国家';
                      }
                      if (value == '1') {
                          return '省份';
                      }
                      if (value == '2') {
                          return '地市';
                      }
                      if (value == '3') {
                          return '区县';
                      }
                  }
              }]
      });
  });
  
  var vm = new Vue({
      el: '#rrapp',
      data: {
          showList: true,
          title: null,
          region: {type: '1'},
          ruleValidate: {
              name: [
                  {required: true, message: '区域名称不能为空', trigger: 'blur'}
              ]
          },
          q: {
              parentName: '',
              name: '',
              type: ''
          },
          regionList: []
      },
      methods: {
          query: function () {
              vm.reload();
          },
          add: function () {
              vm.showList = false;
              vm.title = "新增";
              vm.region = {type: '1'};
              vm.changeType(1);
          },
          update: function (event) {
              var id = getSelectedRow("#jqGrid");
              if (id == null) {
                  return;
              }
              vm.showList = false;
              vm.title = "修改";
  
              vm.getInfo(id)
          },
          saveOrUpdate: function (event) {
              var url = vm.region.id == null ? "../sys/region/save" : "../sys/region/update";
              Ajax.request({
                  type: 'POST',
                  url: url,
                  params: JSON.stringify(vm.region),
                  contentType: "application/json",
                  successCallback: function () {
                      alert('操作成功', function (index) {
                          vm.reload();
                      });
                  }
              });
          },
          del: function (event) {
              var ids = getSelectedRows("#jqGrid");
              if (ids == null) {
                  return;
              }
  
              confirm('确定要删除选中的记录？', function () {
                  Ajax.request({
                      url: "../sys/region/delete",
                      params: JSON.stringify(ids),
                      contentType: "application/json",
                      type: 'POST',
                      successCallback: function () {
                          alert('操作成功', function (index) {
                              vm.reload();
                          });
                      }
                  });
              });
          },
          getInfo: function (id) {
              Ajax.request({
                  url: "../sys/region/info/" + id,
                  async: true,
                  successCallback: function (r) {
                      vm.region = r.region;
                      vm.changeType(vm.region.type);
                  }
              });
          },
          changeType: function (type) {
              Ajax.request({
                  url: "../sys/region/getAreaByType?type=" + type,
                  async: true,
                  successCallback: function (r) {
                      vm.regionList = r.list;
                  }
              });
          },
          reload: function (event) {
              vm.showList = true;
              var page = $("#jqGrid").jqGrid('getGridParam', 'page');
              $("#jqGrid").jqGrid('setGridParam', {
                  postData: {
                      'name': vm.q.name,
                      'parentName': vm.q.parentName,
                      'type': vm.q.type
                  },
                  page: page
              }).trigger("reloadGrid");
              vm.handleReset('formValidate');
          },
          handleSubmit: function (name) {
              handleSubmitValidate(this, name, function () {
                  vm.saveOrUpdate()
              });
          },
          handleReset: function (name) {
              handleResetForm(this, name);
          }
      }
  });