<!--
 * @Description:
 * @Autor: renchao
 :show-message="false"
 * @LastEditTime: 2023-11-13 16:37:21
-->
<template>
  <!-- 受理信息 -->
  <div class="slxx">
    <el-form
      :model="ruleForm"
      :rules="rules"
      ref="ruleForm"
      :label-position="flag ? 'top' : ''"
      :inline="flag"
      label-width="145px"
      inline-message
      :show-message="false"
      :class="{ readonly: editDisabled }"
      class="loadingtext">
      <div class="slxx_con" v-if="isShow" :class="flag ? 'formMarginBot0' : ''">
        <div class="slxx_title title-block">
          补录信息
          <div class="triangle"></div>
        </div>
        <el-row :gutter="10">
          <el-col :span="8">
            <el-form-item label="补录编号:">
              <el-input disabled v-model="ruleForm.repair.ywh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="补录人员:">
              <el-input disabled v-model="ruleForm.repair.slry"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="补录时间:">
              <el-input disabled v-model="ruleForm.repair.slsj"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <div class="slxx_title title-block bdcqk">
          查封登记不动产情况
          <div class="count">
            <el-form-item
              label="查封不动产权信息:"
              prop="ztQlxx.bdcqzh"
              :rules="rules.ztQlxxrules">
              <select-table
                v-model="ruleForm.ztQlxx"
                :tableData="ztQlxxList"
                :props="props"
                @change="ztQlxxchange">
                <el-table-column
                  prop="qllxmc"
                  width="130"
                  label="权利类型"></el-table-column>
                <el-table-column
                  prop="bdcqzh"
                  width="160"
                  label="不动产权证书"></el-table-column>
                <el-table-column
                  prop="qlrmc"
                  label="被执行人"></el-table-column>
                <el-table-column prop="mjmc" label="面积"></el-table-column>
                <el-table-column prop="ytmc" label="用途"></el-table-column>
                <el-table-column prop="zl" label="坐落"></el-table-column>
              </select-table>
            </el-form-item>
          </div>

          <div class="triangle"></div>
        </div>

        <el-row :gutter="10">

        </el-row>
        <el-row :gutter="10" v-if="ruleForm.ztQlxx != null">
          <el-col :span="8">
            <el-form-item label="权利人:">
              <el-input disabled v-model="ruleForm.ztQlxx.qlrmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="证件种类:">
              <el-input disabled v-model="ruleForm.ztQlxx.qlrzjzl"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="证件号:">
              <el-input disabled v-model="ruleForm.ztQlxx.qlrzjhm"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="10" v-if="ruleForm.ztQlxx != null">
          <el-col :span="8">
            <el-form-item label="权利类型:">
              <el-input disabled v-model="ruleForm.ztQlxx.qllxmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="不动产权证号:">
              <el-input disabled v-model="ruleForm.ztQlxx.bdcqzh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="坐落:">
              <el-input disabled v-model="ruleForm.qlxx.zl"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="10" v-if="ruleForm.ztQlxx != null">
          <el-col :span="8">
            <el-form-item label="不动产单元号:">
              <el-input disabled v-model="ruleForm.ztQlxx.bdcdyh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="面积:">
              <el-input disabled v-model="ruleForm.ztQlxx.mjmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="用途:">
              <el-input disabled v-model="ruleForm.ztQlxx.ytmc"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <div class="slxx_title title-block bdcqk">
          查封登记信息
          <div class="count">
            <el-form-item
              label="上手权利信息:"
              prop="ssQlxx.bdcqzh"
              :rules="rules.ssQlxxrules"
              v-if="ruleForm.qlxx.djlx == '300'">
              <select-table
                v-model="ruleForm.ssQlxx"
                :tableData="ssQlxxList"
                :props="props"
                @change="ssQlxxchange">
                <el-table-column
                  prop="qllxmc"
                  width="130"
                  label="权利类型"></el-table-column>
                <el-table-column
                  prop="bdcqzh"
                  width="160"
                  label="不动产权证书"></el-table-column>
                <el-table-column prop="qlrmc" label="权利人"></el-table-column>
                <el-table-column prop="mjmc" label="面积"></el-table-column>
                <el-table-column prop="ytmc" label="用途"></el-table-column>
                <el-table-column prop="zl" label="坐落"></el-table-column>
              </select-table>
            </el-form-item>
          </div>
          <div class="triangle"></div>
        </div>
        <el-row :gutter="10">
          <el-col :span="8">
            <el-form-item label="不动产单元号:">
              <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item
              label="业务号:"
              prop="qlxx.ywh"
              :rules="rules.ywhrules">
              <el-input maxlength="20" onkeyup="this.value=this.value.replace(/[^\w_]/g,'');" v-model="ruleForm.qlxx.ywh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="上手业务号:">
              <el-input disabled v-model="ruleForm.qlxx.ssywh"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="10">
          <el-col :span="8">
            <el-form-item label="权利类型:">
              <el-input disabled v-model="ruleForm.qlxx.qllxmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item
              label="是否被续封:"
              prop="qlxx.djlx"
              :rules="rules.sfbxfrules">
              <el-radio-group v-model="ruleForm.qlxx.djlx" @change="djlxchange">
                <el-radio label="300">是</el-radio>
                <el-radio label="800">否</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="不动产坐落:">
              <el-input v-model="ruleForm.qlxx.zl"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="权属状态:">
              <el-select v-model="ruleForm.qlxx.qszt">
                <el-option
                  v-for="item in qsztlist"
                  :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-input v-model="ruleForm.cfdj.cfjg"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="查封类型:">
              <el-select v-model="ruleForm.cfdj.cflx">
                <el-option
                  v-for="item in dictData['A32']"
                  :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-input v-model="ruleForm.cfdj.cfwh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="查封起始时间:">
              <el-date-picker
                v-model="ruleForm.cfdj.cfqssj"
                class="width100"
                type="date"
                placeholder="选择日期"
                value-format="yyyy-MM-dd HH:mm:ss"
                format="yyyy-MM-dd"></el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="查封结束时间:">
              <el-date-picker
                v-model="ruleForm.cfdj.cfjssj"
                class="width100"
                type="date"
                placeholder="选择日期"
                value-format="yyyy-MM-dd HH:mm:ss"
                format="yyyy-MM-dd"></el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="查封期限:">
              <el-input v-model="ruleForm.cfdj.cfqx"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="查封范围:">
              <el-input v-model="ruleForm.cfdj.cffw"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item
              label="登记机构:"
              prop="qlxx.djjg"
              :rules="rules.djjgrules">
              <el-input v-model="ruleForm.qlxx.djjg"></el-input>
            </el-form-item>
          </el-col>

          <el-col :span="8">
            <el-form-item
              label="登簿人:"
              prop="qlxx.dbr"
              :rules="rules.dbrrules">
              <el-input v-model="ruleForm.qlxx.dbr"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item
              label="登记时间:"
              prop="qlxx.djsj"
              :rules="rules.djsjrules">
              <el-date-picker
                v-model="ruleForm.qlxx.djsj"
                type="date"
                placeholder="选择日期"
                class="width100"
                value-format="yyyy-MM-dd HH:mm:ss"
                format="yyyy-MM-dd">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="8" v-if="ruleForm.qlxx.qszt == '2'">
            <el-form-item label="解封业务号:">
              <el-input maxlength="11" v-model="ruleForm.qlxx.zxywh"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="10">

          <el-col :span="8" v-if="ruleForm.qlxx.qszt == '2'">
            <el-form-item label="解封机关:">
              <el-input v-model="ruleForm.cfdj.jfjg"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8" v-if="ruleForm.qlxx.qszt == '2'">
            <el-form-item label="解封文件:">
              <el-input v-model="ruleForm.cfdj.jfwj"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8" v-if="ruleForm.qlxx.qszt == '2'">
            <el-form-item label="解封文号:">
              <el-input v-model="ruleForm.cfdj.jfwh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8" v-if="ruleForm.qlxx.qszt == '2'">
            <el-form-item label="解封登簿人:">
              <el-input v-model="ruleForm.qlxx.zxdbr"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8" v-if="ruleForm.qlxx.qszt == '2'">
            <el-form-item label="解封登记时间:">
              <el-date-picker
                v-model="ruleForm.qlxx.zxsj"
                class="width100"
                type="date"
                placeholder="选择日期"
                value-format="yyyy-MM-dd HH:mm:ss"
                format="yyyy-MM-dd">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="附记:">
              <el-input v-model="ruleForm.cfdj.fj" type="textarea" maxlength="500" show-word-limit></el-input>
            </el-form-item>
          </el-col>
        </el-row>
      </div>
      <el-row class="btn" v-if="ableOperation">
        <el-form-item>
          <el-button type="primary" @click="onSubmit">保存</el-button>
        </el-form-item>
      </el-row>
    </el-form>
  </div>
</template>
<script>
  import { mapGetters } from "vuex";
  import { init, getSsQlxx, getZtQlxx, getQlxxByQlxxBsm, save } from "@/api/djbRepair.js";
  import qlrCommonTable from "@/views/djbworkflow/components/qlrCommonTable";
  import ywrCommonTable from "@/views/djbworkflow/components/ywrCommonTable";
  import tdytTable from "@/views/workflow/components/tdytTable";
  import selectTable from "@/components/selectTable/index.vue";
  export default {
    components: { qlrCommonTable, ywrCommonTable, tdytTable, selectTable },
    computed: {
      ...mapGetters(["dictData", "flag"]),
      // 根据流程判断表单是否为只读
      editDisabled () {
        if (!this.ableOperation) {
          //只读状态
          return true;
        }
        return false;
      },
    },
    data () {
      return {
        //表单是否可操作
        props: {
          label: "bdcqzh",
          value: "bdcdyid",
        },
        propsParam: this.$attrs,
        key: 0,
        isShow: false,
        ssqlxxshow: true,
        disabled: true,
        czrOptions: [],
        ruleForm: {},
        rules: {},
        // 登记类型
        djlxlist: [
          {
            dcode: "100",
            dname: "首次登记",
          },
          {
            dcode: "200",
            dname: "转移登记",
          },
          {
            dcode: "300",
            dname: "变更登记",
          },
          {
            dcode: "500",
            dname: "更正登记",
          },

          {
            dcode: "901",
            dname: "补证",
          },
          {
            dcode: "902",
            dname: "换证",
          },
        ],

        // 权属状态
        qsztlist: [
          {
            dcode: "1",
            dname: "现势",
          },
          {
            dcode: "2",
            dname: "历史",
          },
        ],
        ableOperation: false,
        //传递参数\

        ssQlxxList: [],
        ztQlxxList: [],
        rules: {
          ztQlxxrules: [
            { required: true, message: "抵押不动产信息", trigger: "blur" },
          ],
          ssQlxxrules: [
            { required: true, message: "上手权利信息", trigger: "blur" },
          ],
          bdcqzhrules: [
            { required: true, message: "不动产登记证明号", trigger: "blur" },
          ],
          djjgrules: [{ required: true, message: "登记机构", trigger: "blur" }],
          dbrrules: [{ required: true, message: "登簿人", trigger: "blur" }],
          djsjrules: [{ required: true, message: "登记时间", trigger: "blur" }],
          ywhrules: [{ required: true, message: "业务号", trigger: "blur" }],
          sfbxfrules: [
            { required: true, message: "是否被续封", trigger: "change" },
          ],
        },
      };
    },
    created () {
      this.loadData();
    },
    mounted () {
      this.ableOperation = this.$parent.ableOperation;
    },
    methods: {
      /**
       * @description: ztQlxxchange
       * @param {*} val
       * @author: renchao
       */
      ztQlxxchange (val) {
        this.ruleForm.ztQlxx = val;
      },
      /**
       * @description: ssQlxxchange
       * @param {*} val
       * @author: renchao
       */
      ssQlxxchange (val) {
        this.ruleForm.ssQlxx = val;
        this.ruleForm.qlxx.ssywh = val.ywh;
        this.ssQlxxchangediolog(val);
      },
      /**
       * @description: 弹框事件
       * @param {*} val
       * @author: renchao
       */
      ssQlxxchangediolog (val) {
        this.$confirm("是否将上手权利信息同步到表单", "提示", {
          iconClass: "el-icon-question", //自定义图标样式
          confirmButtonText: "确认", //确认按钮文字更换
          cancelButtonText: "取消", //取消按钮文字更换
          showClose: true, //是否显示右上角关闭按钮
          type: "warning",
        }).then(() => {
          getQlxxByQlxxBsm({ qlxxBsm: val.bsmQlxx }).then((res) => {
            if (res.code == 200) {
              this.nowlist = res.result;
              for (var key in this.ruleForm.cfdj) {
                if (
                  this.ruleForm.cfdj[key] == "" ||
                  this.ruleForm.cfdj[key] == null
                ) {
                  this.ruleForm.cfdj[key] = this.nowlist.cfdj[key];
                }
              }
              for (var key in this.ruleForm.qlxx) {
                if (
                  (this.ruleForm.qlxx[key] == null && key != "ywh") ||
                  this.ruleForm.qlxx[key] == null
                ) {
                  if (key != "ywh") {
                    this.ruleForm.qlxx[key] = this.nowlist.qlxx[key];
                  }
                }
              }
              this.$message({
                type: "success",
                message: "同步成功!",
              });
            }
          });
        }).catch(() => {
          this.$message({
            type: "info",
            message: "已取消同步",
          });
        })
      },
      /**
       * @description: djlxchange
       * @param {*} val
       * @author: renchao
       */
      djlxchange (val) {
        if (val == null || val == 100) {
          this.ssqlxxshow = false;
        } else {
          this.ssqlxxshow = true;
        }
      },
      /**
       * @description: loadData
       * @author: renchao
       */
      loadData () {
        this.$startLoading();
        this.propsParam.isEdit = this.$parent.isEdit;
        init(this.propsParam).then((res) => {
          if (res.code == 200) {
            this.ruleForm = res.result;
            // if (this.ruleForm.cfdj) {
            //   this.ruleForm.cfdj.sfbxf = "2"
            // }
            this.isShow = true;
            let djlx = this.ruleForm.qlxx.djlx;
            this.$endLoading();
            if (djlx == null || djlx == 100) {
              this.ssqlxxshow = false;
            }

            //获取主体信息
            getSsQlxx({
              bdcdyid: this.propsParam.bdcdyid,
              qllx: this.propsParam.qllx,
              bsmQlxx: this.ruleForm.qlxx.bsmQlxx,
            }).then((res) => {
              if (res.code == 200) {
                this.ssQlxxList = res.result;
              }
            });
            //获取上手信息
            getZtQlxx({
              bdcdyid: this.propsParam.bdcdyid,
              bsmQlxx: this.ruleForm.qlxx.bsmQlxx,
            }).then((res) => {
              if (res.code == 200) {
                this.ztQlxxList = res.result;
              }
            });
          }
        });
      },
      /**
       * @description: onSubmit
       * @author: renchao
       */
      onSubmit () {
        this.$refs.ruleForm.validate((valid) => {
          if (valid) {
            save(this.ruleForm).then((res) => {
              if (res.code === 200) {
                this.$message({
                  showClose: true,
                  message: "保存成功!",
                  type: "success",
                });
                this.$parent.changeywh();
                this.$store.dispatch("user/refreshPage", true);
              } else {
                this.$message({
                  showClose: true,
                  message: res.message,
                  type: "error",
                });
              }
            });
          } else {
            this.$message({
              showClose: true,
              message: "请完善表单信息",
              type: "error"
            })
            return false;
          }
        });
      },
    },
  };
</script>
<style scoped lang="scss">
  @import "~@/styles/public.scss";
  @import "~@/styles/slxx/slxx.scss";
</style>