<template>
  <!-- 受理信息 -->
  <div class="slxx">
    <el-form
      v-Loading="loading"
      :label-position="flag ? 'top' : ''"
      :inline="flag"
      label-width="140px">
      <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
        <div class="slxx_title title-block">
          申请业务信息
          <div class="triangle"></div>
        </div>
        <el-row :gutter="10" v-if="ruleForm.flow">
          <el-col :span="8">
            <el-form-item label="业务号:">
              <el-input disabled v-model="ruleForm.flow.ywh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="受理人员:">
              <el-input disabled v-model="ruleForm.slsq.slry"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="受理时间:">
              <el-input disabled v-model="ruleForm.slsq.slsj"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="10" v-if="ruleForm.sldyList">
          <el-col :span="8">
            <el-form-item label="权利类型:">
              <el-input
                disabled
                v-model="ruleForm.sldyList[0].qllxmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="登记类型:">
              <el-input
                disabled
                v-model="ruleForm.sldyList[0].djlxmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="登记情形:">
              <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <div
          class="slxx_title title-block"
          v-if="ruleForm.hlist && ruleForm.hlist.length > 0">
          抵押户信息列表信息({{ ruleForm.hlist.length }} 户)
          <div class="triangle"></div>
        </div>
        <qjhTable :tableData="ruleForm.hlist" />
        <div class="slxx_title title-block">
          抵押信息
          <div class="triangle"></div>
        </div>
        <el-row
          :gutter="10"
          v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0">
          <el-col :span="8">
            <el-form-item label="抵押方式:">
              <el-radio-group disabled v-model="ruleForm.diyaqList[0].dyfs">
                <el-radio label="1">一般抵押</el-radio>
                <el-radio label="2">最高额抵押</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="抵押金额类型:">
              <el-radio-group
                v-model="ruleForm.diyaqList[0].dyjelx"
                :disabled="!viewEdit">
                <el-radio label="0">独立抵押</el-radio>
                <el-radio label="1">整体抵押</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item
              label="是否存在禁止或者限制转让抵押不动产的约定:"
              label-width="350px">
              <el-radio-group
                v-model="ruleForm.diyaqList[0].sfczjzhxz"
                :disabled="!viewEdit">
                <el-radio label="1">启用</el-radio>
                <el-radio label="0">禁用</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
        </el-row>

        <el-row
          :gutter="10"
          v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0">
          <el-col :span="8" v-show="ruleForm.diyaqList[0].dyfs == 1">
            <el-form-item label="被担保主债权数额:">
              <el-input
                v-model="ruleForm.diyaqList[0].bdbzzqse"
                :disabled="!viewEdit"></el-input>
              <el-select
                v-model="ruleForm.diyaqList[0].jedw"
                :disabled="!viewEdit">
                <el-option
                  v-for="item in dictData['A57']"
                  :key="item.dcode"
                  :label="item.dname"
                  :value="item.dcode">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>

          <el-col :span="8" v-show="ruleForm.diyaqList[0].dyfs == 2">
            <el-form-item label="最高债权额:">
              <el-input
                v-model="ruleForm.diyaqList[0].zgzqse"
                :disabled="!viewEdit"></el-input>
              <el-select
                v-model="ruleForm.diyaqList[0].jedw"
                :disabled="!viewEdit">
                <el-option
                  v-for="item in dictData['A57']"
                  :key="item.dcode"
                  :label="item.dname"
                  :value="item.dcode">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>

          <el-col :span="8">
            <el-form-item label="债务履行起始时间:">
              <el-date-picker
                v-model="ruleForm.diyaqList[0].zwlxqssj"
                :disabled="!viewEdit"
                type="date">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="债务履行结束时间:">
              <el-date-picker
                v-model="ruleForm.diyaqList[0].zwlxjssj"
                :disabled="!viewEdit"
                type="date">
              </el-date-picker>
            </el-form-item>
          </el-col>
        </el-row>

        <el-row v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0">
          <el-col :span="24">
            <el-form-item label="担保范围:">
              <el-input
                v-model="ruleForm.diyaqList[0].dbfw"
                :disabled="ruleForm.sldyList[0].djlx == '300' && !viewEdit"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0">
          <el-col :span="24">
            <el-form-item label="最高债权确定事实和数额:">
              <el-input
                v-model="ruleForm.diyaqList[0].zgzqqdss"
                :disabled="!viewEdit"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0">
          <el-col>
            <el-form-item label="附记:" prop="fj">
              <el-input
                type="textarea"
                maxlength="500"
                show-word-limit
                v-model="ruleForm.diyaqList[0].fj"
                :disabled="!viewEdit"></el-input>
            </el-form-item>
          </el-col>
        </el-row>

        <div class="slxx_title title-block">
          抵押权人信息
          <div class="triangle"></div>
        </div>
        <el-row
          :gutter="10"
          v-if="ruleForm.sldyList && ruleForm.sldyList.length > 0">
          <el-col :span="14">
            <el-form-item label="共有方式:">
              <el-radio-group
                :disabled="!viewEdit"
                v-model="ruleForm.sldyList[0].gyfs">
                <el-radio label="0">单独所有</el-radio>
                <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-col>
          <el-col :span="5" v-show="ruleForm.sldyList[0].gyfs != '0'">
            <el-form-item label="是否分别持证:">
              <el-radio-group
                v-model="ruleForm.sldyList[0].sqfbcz"
                :disabled="!viewEdit"
                @input="updaterow()">
                <el-radio :label="1">是</el-radio>
                <el-radio :label="0">否</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col
            :span="5"
            v-show="
              ruleForm.sldyList[0].gyfs != '0' &&
              ruleForm.sldyList[0].sqfbcz == '0'
            ">
            <el-form-item label="持证人:">
              <el-select
                v-model="czr"
                placeholder="持证人"
                :disabled="!viewEdit">
                <el-option
                  v-for="(item,index) in czrOptions"
                  :key="index"
                  :label="item.sqrmc"
                  :value="item.id">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <qlrCommonTable
          v-if="ruleForm.sldyList && ruleForm.sldyList.length > 0"
          :tableData="ruleForm.qlrList"
          @upDateQlrxxList="upDateQlrxxList"
          :disabled="viewEdit"
          :gyfs="ruleForm.sldyList[0].gyfs" />
        <div class="slxx_title title-block">
          抵押人信息
          <div class="triangle"></div>
        </div>
        <qlrCommonTable
          :tableData="ruleForm.ywrList"
          @upDateQlrxxList="upDateYwrxxList"
          :disabled="viewEdit" />

        <div class="slxx_title title-block">
          登记原因
          <div class="triangle"></div>
        </div>
        <el-row
          :gutter="10"
          v-if="ruleForm.diyaqList && ruleForm.diyaqList.length > 0">
          <el-col>
            <el-form-item
              v-if="ruleForm.sldyList[0].djlx == '400'"
              label="注销抵押原因:"
              prop="djyy">
              <el-input
                class="textArea"
                type="textarea"
                :disabled="!viewEdit"
                v-model="ruleForm.diyaqList[0].zxdyyy">
              </el-input>
            </el-form-item>
            <el-form-item v-else label="登记原因:" prop="djyy">
              <el-input
                class="textArea"
                type="textarea"
                maxlength="500"
                show-word-limit
                :disabled="!viewEdit"
                v-model="ruleForm.diyaqList[0].djyy">
              </el-input>
            </el-form-item>
          </el-col>
        </el-row>
      </div>
      <el-row class="btn" v-if="isSave">
        <el-form-item>
          <el-button type="primary" @click="onSubmitClick()">保存</el-button>
        </el-form-item>
      </el-row>
    </el-form>
  </div>
</template>
<script>
  import qjhTable from "@/views/workflow/components/qjhTable";
  import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
  import { bacthInit, saveBatchData } from "@/api/workflow/zjgcdyFlow.js";
  import { mapGetters } from "vuex";
  export default {
    mounted () {
      let that = this
      this.viewEdit = this.$parent.currentSelectTab.ableOperation;
      this.propsParam = this.$attrs;
      var formdata = new FormData();

      this.loading = true
      formdata.append("bsmSlsq", this.$route.query.bsmSlsq);
      formdata.append("djlx", this.propsParam.djlx);
      formdata.append("isEdit", this.viewEdit);
      bacthInit(formdata).then((res) => {
        setTimeout(() => {
          that.loading = false
        }, 200)
        if (res.code === 200 && res.result) {
          this.ruleForm = res.result;
          this.ruleForm.qlrList.forEach((item) => {
            item.id = item.bsmSqr
            if (item.sfczr == '1') {
              that.czr = item.bsmSqr
            }
          })
          that.czrOptions = that.ruleForm.qlrList;
          that.isSave = that.viewEdit
        } else {
          that.isSave = false
          that.$confirm(res.message, '提示', {
            cancelButtonText: '取消',
            showConfirmButton: false,
            type: 'warning'
          })
        }
      }).catch(() => {
        this.loading = false
      })
    },
    components: { qlrCommonTable, qjhTable },
    computed: {
      ...mapGetters(["dictData", "flag"]),
    },
    data () {
      return {
        isSave: true,
        loading: false,
        //表单是否可操作
        viewEdit: true,
        disabled: true,
        czrOptions: [],
        czr: "",
        ruleForm: {},
        //传递参数
        propsParam: {},
        rules: {},
        tableData: [],
      };
    },
    methods: {
      /**
       * @description: onSubmitClick
       * @author: renchao
       */
      onSubmitClick () {
        let that = this;
        if (this.ruleForm.qlrList.length == 0) {
          this.$message({
            showClose: true,
            message: "请确认抵押权人信息",
            type: "error",
          });
          return false;
        }
        if (this.ruleForm.sldyList[0].gyfs == "0") {
          if (this.ruleForm.qlrList.length > 1) {
            this.$message({
              showClose: true,
              message: "共有方式:单独所有,抵押权人只能是一个人",
              type: "error",
            });
            return false;
          }
          this.ruleForm.qlrList[0].sfczr = "1";
        } else {
          if (this.ruleForm.qlrList.length <= 1) {
            this.$message({
              showClose: true,
              message:
                "共有方式:共同所有,按份所有,其他所有,抵押权人必须是两个以上",
              type: "error",
            });
            return false;
          }
          //是否分别持证
          if (this.ruleForm.sldyList[0].sqfbcz == "1") {
            //是
            this.ruleForm.qlrList.forEach((item, index) => {
              item.sfczr = "1"
            })
          } else {
            if (that.czr === '') {
              that.$message({
                showClose: true,
                message: "请选择持证人",
                type: "error",
              });
              return false;
            }
            this.ruleForm.qlrList.forEach((item, index) => {
              if (item.id == that.czr) {
                item.sfczr = "1";
              } else {
                item.sfczr = "0";
              }
            });
          }
        }
        saveBatchData(this.ruleForm, this.propsParam.djlx).then((res) => {
          if (res.code === 200) {
            this.$message({
              showClose: true,
              message: "保存成功!",
              type: "success",
            });
            this.$store.dispatch("user/refreshPage", true);
          } else {
            this.$message({
              showClose: true,
              message: res.message,
              type: "error",
            });
          }
        });
      },
      /**
       * @description: 是否持证人变化
       * @param {*} val
       * @author: renchao
       */
      updaterow () {
        this.czr = "";
      },
      /**
       * @description: 更新抵押权人信息
       * @param {*} val
       * @author: renchao
       */
      upDateQlrxxList (val) {
        if (!_.isEqual(val, this.ruleForm.qlrList)) {
          this.ruleForm.qlrList = _.cloneDeep(val);
          this.czrOptions = this.ruleForm.qlrList;
        }
        this.num = 0
        this.ruleForm.qlrList.forEach(item => {
          if (item.id == this.czr) {
            this.num++
          }
        })
        if (this.num == 0) {
          this.czr = ''
        }
      },
      /**
       * @description: 更新义务人信息
       * @param {*} val
       * @author: renchao
       */
      upDateYwrxxList (val) {
        if (!_.isEqual(val, this.ruleForm.ywrList)) {
          this.ruleForm.ywrList = _.cloneDeep(val);
        }
      }
    }
  }
</script>
<style scoped lang="scss">
  @import "~@/styles/public.scss";
  @import "~@/styles/slxx/slxx.scss";
</style>