2 changed files with 404 additions and 4 deletions
			
			
		@ -0,0 +1,359 @@ | 
				
			|||
<template> | 
				
			|||
  <div> | 
				
			|||
    <div> | 
				
			|||
      <el-form ref="ref_form" | 
				
			|||
               :inline="false" | 
				
			|||
               :model="dataForm" | 
				
			|||
               :rules="dataRule" | 
				
			|||
               :disabled="formType === 'detail'" | 
				
			|||
               class="form"> | 
				
			|||
 | 
				
			|||
        <el-form-item label="当前组织" | 
				
			|||
                      label-width="150px" | 
				
			|||
                      style="display: block"> | 
				
			|||
          <span>{{ agencyObj.communityName }}—{{agencyObj.label}}</span> | 
				
			|||
        </el-form-item> | 
				
			|||
 | 
				
			|||
        <el-form-item label="迁出类型" | 
				
			|||
                      prop="houseType" | 
				
			|||
                      label-width="150px" | 
				
			|||
                      style="display: block"> | 
				
			|||
          <el-radio-group v-model="houseType"> | 
				
			|||
 | 
				
			|||
            <el-radio :label="'1'">楼房</el-radio> | 
				
			|||
            <el-radio :label="'2'">平房</el-radio> | 
				
			|||
            <el-radio :label="'3'">别墅</el-radio> | 
				
			|||
          </el-radio-group> | 
				
			|||
        </el-form-item> | 
				
			|||
 | 
				
			|||
        <el-form-item label="所属家庭" | 
				
			|||
                      required> | 
				
			|||
          <div class="resi-cell-value"> | 
				
			|||
            <div class="resi-cell-col"> | 
				
			|||
              <el-form-item prop="VILLAGE_ID"> | 
				
			|||
                <el-select v-model.trim="form.VILLAGE_ID" | 
				
			|||
                           placeholder="请选择小区" | 
				
			|||
                           size="small" | 
				
			|||
                           clearable | 
				
			|||
                           class="resi-cell-select" | 
				
			|||
                           @change="handleChangeV"> | 
				
			|||
                  <el-option v-for="item in optionsV" | 
				
			|||
                             :key="item.value" | 
				
			|||
                             :label="item.label" | 
				
			|||
                             :value="item.value"> | 
				
			|||
                  </el-option> | 
				
			|||
                </el-select> | 
				
			|||
              </el-form-item> | 
				
			|||
              <el-form-item prop="BUILD_ID"> | 
				
			|||
                <el-select v-model.trim="form.BUILD_ID" | 
				
			|||
                           placeholder="请选择楼号" | 
				
			|||
                           size="small" | 
				
			|||
                           clearable | 
				
			|||
                           class="resi-cell-select resi-cell-select-middle" | 
				
			|||
                           @change="handleChangeB"> | 
				
			|||
                  <el-option v-for="item in optionsB" | 
				
			|||
                             :key="item.value" | 
				
			|||
                             :label="item.label" | 
				
			|||
                             :value="item.value"> | 
				
			|||
                  </el-option> | 
				
			|||
                </el-select> | 
				
			|||
              </el-form-item> | 
				
			|||
              <el-form-item prop="UNIT_ID"> | 
				
			|||
                <el-select v-model.trim="form.UNIT_ID" | 
				
			|||
                           placeholder="请选择单元" | 
				
			|||
                           size="small" | 
				
			|||
                           clearable | 
				
			|||
                           class="resi-cell-select resi-cell-select-middle" | 
				
			|||
                           @change="handleChangeD"> | 
				
			|||
                  <el-option v-for="item in optionsD" | 
				
			|||
                             :key="item.value" | 
				
			|||
                             :label="item.label" | 
				
			|||
                             :value="item.value"> | 
				
			|||
                  </el-option> | 
				
			|||
                </el-select> | 
				
			|||
              </el-form-item> | 
				
			|||
              <el-form-item prop="HOME_ID"> | 
				
			|||
                <el-select v-model.trim="form.HOME_ID" | 
				
			|||
                           placeholder="请选择房号" | 
				
			|||
                           size="small" | 
				
			|||
                           clearable | 
				
			|||
                           class="resi-cell-select resi-cell-select-middle"> | 
				
			|||
                  <el-option v-for="item in optionsH" | 
				
			|||
                             :key="item.value" | 
				
			|||
                             :label="item.label" | 
				
			|||
                             :value="item.value"> | 
				
			|||
                  </el-option> | 
				
			|||
                </el-select> | 
				
			|||
              </el-form-item> | 
				
			|||
            </div> | 
				
			|||
 | 
				
			|||
          </div> | 
				
			|||
        </el-form-item> | 
				
			|||
      </el-form> | 
				
			|||
 | 
				
			|||
    </div> | 
				
			|||
    <div class="div_btn"> | 
				
			|||
      <el-button @click="handleCancle">取 消</el-button> | 
				
			|||
      <el-button v-if="formType != 'detail'" | 
				
			|||
                 type="primary" | 
				
			|||
                 :disabled="btnDisable" | 
				
			|||
                 @click="handleComfirm">确 定</el-button> | 
				
			|||
    </div> | 
				
			|||
  </div> | 
				
			|||
</template> | 
				
			|||
 | 
				
			|||
<script> | 
				
			|||
import { mapGetters } from 'vuex' | 
				
			|||
import { Loading } from 'element-ui' // 引入Loading服务 | 
				
			|||
import { requestPost } from '@/js/dai/request' | 
				
			|||
 | 
				
			|||
let loading // 加载动画 | 
				
			|||
export default { | 
				
			|||
  data () { | 
				
			|||
    return { | 
				
			|||
 | 
				
			|||
      btnDisable: false, | 
				
			|||
 | 
				
			|||
      dataForm: { | 
				
			|||
        icUserId: '', // 被调动人ID	 | 
				
			|||
        type: '',//操作类型【客户外out,客户内in】	 | 
				
			|||
        newAgencyId: '',//调动到的组织Id		 | 
				
			|||
        newGridId: '',//调动到的网格Id		 | 
				
			|||
        newNeighborHoodId: '',//调动到的小区ID			 | 
				
			|||
        newBuildingId: '',//调动到的楼宇Id			 | 
				
			|||
        newBuildingUnitId: 1,//调动到的单元Id			 | 
				
			|||
        newHouseId: '', //调动到的房屋Id		 | 
				
			|||
        transferTime: '', //调动时间【日期类型】			 | 
				
			|||
        remark: '' //备注		 | 
				
			|||
      }, | 
				
			|||
 | 
				
			|||
      staffId: '',//人员id | 
				
			|||
      rootAgency: {} | 
				
			|||
 | 
				
			|||
    } | 
				
			|||
  }, | 
				
			|||
  components: {}, | 
				
			|||
  mounted () { | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  methods: { | 
				
			|||
    async initForm (row, agencyObj) { | 
				
			|||
 | 
				
			|||
      this.$refs.ref_form.resetFields(); | 
				
			|||
 | 
				
			|||
      this.staffId = row.staffId | 
				
			|||
 | 
				
			|||
      await this.loadRootAgency() | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    //根据人员id获取根组织信息 | 
				
			|||
    async loadRootAgency () { | 
				
			|||
      const url = '/gov/org/customeragency/root-orglist-by-staffid' | 
				
			|||
 | 
				
			|||
      let params = { | 
				
			|||
        staffId: this.staffId | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
      const { data, code, msg } = await requestPost(url, params) | 
				
			|||
 | 
				
			|||
      if (code === 0) { | 
				
			|||
        if (data && data.length > 0) { | 
				
			|||
          this.rootAgency = data[0] | 
				
			|||
        } | 
				
			|||
 | 
				
			|||
      } else { | 
				
			|||
        this.$message.error(msg) | 
				
			|||
      } | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    async handleComfirm () { | 
				
			|||
      this.btnDisable = true | 
				
			|||
      setTimeout(() => { | 
				
			|||
        this.btnDisable = false | 
				
			|||
      }, 10000) | 
				
			|||
 | 
				
			|||
      this.dataForm.houseType = this.houseType | 
				
			|||
      this.dataForm.purpose = this.purpose | 
				
			|||
      this.dataForm.rentFlag = this.rentFlag | 
				
			|||
      this.$refs['ref_form'].validate((valid, messageObj) => { | 
				
			|||
        if (!valid) { | 
				
			|||
          this.btnDisable = false | 
				
			|||
          app.util.validateRule(messageObj) | 
				
			|||
        } else { | 
				
			|||
          this.addRoom() | 
				
			|||
        } | 
				
			|||
 | 
				
			|||
      }) | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    getValiheList () { | 
				
			|||
 | 
				
			|||
      this.$http | 
				
			|||
        .post('/gov/org/icneighborhood/neighborhoodoption', { gridId: this.form.GRID_ID, agencyId: this.agencyId }) | 
				
			|||
        .then(({ data: res }) => { | 
				
			|||
          if (res.code !== 0) { | 
				
			|||
            return this.$message.error(res.msg) | 
				
			|||
          } else { | 
				
			|||
            console.log('获取查询详情成功', res.data) | 
				
			|||
            this.optionsV = res.data | 
				
			|||
          } | 
				
			|||
        }) | 
				
			|||
        .catch(() => { | 
				
			|||
          return this.$message.error('网络错误') | 
				
			|||
        }) | 
				
			|||
    }, | 
				
			|||
    getBuildList () { | 
				
			|||
      this.$http | 
				
			|||
        .post('/gov/org/icbuilding/buildingoption', { neighborHoodId: this.form.VILLAGE_ID }) | 
				
			|||
        .then(({ data: res }) => { | 
				
			|||
          if (res.code !== 0) { | 
				
			|||
            return this.$message.error(res.msg) | 
				
			|||
          } else { | 
				
			|||
            console.log('获取查询详情成功', res.data) | 
				
			|||
            this.optionsB = res.data | 
				
			|||
          } | 
				
			|||
        }) | 
				
			|||
        .catch(() => { | 
				
			|||
          return this.$message.error('网络错误') | 
				
			|||
        }) | 
				
			|||
    }, | 
				
			|||
    getUniList () { | 
				
			|||
      this.$http | 
				
			|||
        .post('/gov/org/icbuildingunit/unitoption', { buildingId: this.form.BUILD_ID }) | 
				
			|||
        .then(({ data: res }) => { | 
				
			|||
          if (res.code !== 0) { | 
				
			|||
            return this.$message.error(res.msg) | 
				
			|||
          } else { | 
				
			|||
            console.log('获取查询详情成功', res.data) | 
				
			|||
            this.optionsD = res.data | 
				
			|||
          } | 
				
			|||
        }) | 
				
			|||
        .catch(() => { | 
				
			|||
          return this.$message.error('网络错误') | 
				
			|||
        }) | 
				
			|||
    }, | 
				
			|||
    getHouseList () { | 
				
			|||
      this.$http | 
				
			|||
        .post('/gov/org/ichouse/houseoption', { unitId: this.form.UNIT_ID }) | 
				
			|||
        .then(({ data: res }) => { | 
				
			|||
          if (res.code !== 0) { | 
				
			|||
            return this.$message.error(res.msg) | 
				
			|||
          } else { | 
				
			|||
            console.log('获取查询详情成功', res.data) | 
				
			|||
            this.optionsH = res.data | 
				
			|||
          } | 
				
			|||
        }) | 
				
			|||
        .catch(() => { | 
				
			|||
          return this.$message.error('网络错误') | 
				
			|||
        }) | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    handleCancle () { | 
				
			|||
      this.resetData() | 
				
			|||
      this.$emit('dialogCancle') | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    resetData () { | 
				
			|||
      this.houseId = '' //房屋ID | 
				
			|||
      this.houseType = '1' | 
				
			|||
      this.purpose = '1' | 
				
			|||
      this.rentFlag = 1 | 
				
			|||
      this.dataForm = { | 
				
			|||
        neighborHoodId: '', // 所属小区ID | 
				
			|||
        buildingId: '',//所属楼栋ID | 
				
			|||
        buildingUnitId: '',//所属单元ID	 | 
				
			|||
        doorName: '',//门牌号	 | 
				
			|||
        houseType: '1',//房屋类型【楼房,平房,别墅】		 | 
				
			|||
        purpose: '1',//房屋用途【住宅,商业,办公,工业,仓储,商住混用,其他】		 | 
				
			|||
        rentFlag: 1,//是否出租【是:1,否:0】		 | 
				
			|||
        ownerPhone: '', //房主电话	 | 
				
			|||
        ownerName: '', //房主名字		 | 
				
			|||
        ownerIdCard: '' //房主身份证	 | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
    // 开启加载动画 | 
				
			|||
    startLoading () { | 
				
			|||
      loading = Loading.service({ | 
				
			|||
        lock: true, // 是否锁定 | 
				
			|||
        text: '正在加载……', // 加载中需要显示的文字 | 
				
			|||
        background: 'rgba(0,0,0,.7)' // 背景颜色 | 
				
			|||
      }) | 
				
			|||
    }, | 
				
			|||
    // 结束加载动画 | 
				
			|||
    endLoading () { | 
				
			|||
      // clearTimeout(timer); | 
				
			|||
      if (loading) { | 
				
			|||
        loading.close() | 
				
			|||
      } | 
				
			|||
    } | 
				
			|||
  }, | 
				
			|||
  computed: { | 
				
			|||
    dataRule () { | 
				
			|||
      return { | 
				
			|||
        buildingUnitId: [ | 
				
			|||
          { required: true, message: '所属单元不能为空', trigger: 'blur' }, | 
				
			|||
        ], | 
				
			|||
        doorName: [ | 
				
			|||
          { required: true, message: '门牌号不能为空', trigger: 'blur' } | 
				
			|||
        ], | 
				
			|||
        houseType: [ | 
				
			|||
          { required: true, message: '房屋类型不能为空', trigger: 'blur' } | 
				
			|||
        ], | 
				
			|||
        purpose: [ | 
				
			|||
          { required: true, message: '房屋用途不能为空', trigger: 'blur' } | 
				
			|||
        ], | 
				
			|||
        rentFlag: [ | 
				
			|||
          { required: true, message: '是否出租不能为空', trigger: 'blur' } | 
				
			|||
        ], | 
				
			|||
        ownerPhone: [ | 
				
			|||
          { required: true, message: '房主电话不能为空', trigger: 'blur' } | 
				
			|||
        ], | 
				
			|||
        ownerName: [ | 
				
			|||
          { required: true, message: '房主姓名不能为空', trigger: 'blur' } | 
				
			|||
        ], | 
				
			|||
        ownerIdCard: [ | 
				
			|||
          { required: true, message: '房主身份证号不能为空', trigger: 'blur' } | 
				
			|||
        ], | 
				
			|||
      } | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
  props: {} | 
				
			|||
} | 
				
			|||
</script> | 
				
			|||
<style lang="scss" scoped> | 
				
			|||
.item_width_1 { | 
				
			|||
  width: 500px; | 
				
			|||
} | 
				
			|||
.item_width_2 { | 
				
			|||
  width: 400px; | 
				
			|||
} | 
				
			|||
.item_width_3 { | 
				
			|||
  margin-left: 10px; | 
				
			|||
  width: 200px; | 
				
			|||
} | 
				
			|||
 | 
				
			|||
.div_btn { | 
				
			|||
  display: flex; | 
				
			|||
  justify-content: flex-end; | 
				
			|||
} | 
				
			|||
.el-tabs { | 
				
			|||
  margin: 0 20px; | 
				
			|||
} | 
				
			|||
.el-upload__tip { | 
				
			|||
  color: rgb(155, 155, 155); | 
				
			|||
  margin: 0; | 
				
			|||
} | 
				
			|||
.form { | 
				
			|||
  margin-top: 30px; | 
				
			|||
} | 
				
			|||
</style> | 
				
			|||
<style> | 
				
			|||
.el-dialog__body { | 
				
			|||
  padding: 0 10px 20px !important; | 
				
			|||
} | 
				
			|||
</style> | 
				
			|||
					Loading…
					
					
				
		Reference in new issue