<!--锅炉改造和重大修理-->
<template>
  <div class="app-container">
    <sticky style="margin-bottom: 10px">
      <div class="sub-navbar">
        <el-button
          v-if="state === 'create'"
          type="success"
          icon="el-icon-edit"
          size="medium"
          @click="saveYsjl('add')"
        >
          保存
        </el-button>
        <template v-else>
          <el-button
            type="primary"
            icon="el-icon-edit"
            size="medium"
            @click="saveYsjl('upd')"
          >
            更新
          </el-button>
          <el-button
            v-if="isSysUser"
            type="success"
            icon="el-icon-upload2"
            size="medium"
            @click="saveYsjl('build')"
          >
            生成报告
          </el-button>
          <el-button
            type="warning"
            icon="el-icon-view"
            size="medium"
            @click="common.viewYsjl(ysjl.id, 'YSJL')"
          >
            预览
          </el-button>
        </template>
        <template v-if="isSysUser">
          <el-button type="primary" size="medium" @click="Signjyxm">
            <svg-icon icon-class="sign" />
            检验项目批量签名
          </el-button>
          <el-button
            type="danger"
            icon="el-icon-delete"
            size="medium"
            @click="signClear"
          >
            批量清除签名
          </el-button>
          <el-button
            type="success"
            size="medium"
            icon="el-icon-edit"
            @click="batchUpdDate"
          >
            批量修改日期
          </el-button>
          <el-button
            type="primary"
            size="medium"
            icon="el-icon-info"
            @click="showDialogRoleVisible"
          >
            编辑权限
          </el-button>
        </template>
        <el-button
          type="info"
          size="medium"
          icon="el-icon-info"
          @click="dialogEnclosureVisible = true"
        >
          相关鉴证
        </el-button>
      </div>
    </sticky>
    <el-tabs v-model="checkedTab" type="card">
      <el-tab-pane label="基本情况" name="first">
        <el-form
          ref="ysjl"
          :model="ysjl"
          class="el-form"
          label-position="right"
          label-width="140px"
        >
          <fieldset>
            <legend>基本信息</legend>
            <el-row :gutter="25">
              <el-col
                v-if="
                  state === 'create' ||
                    ysjl.jilubianhao === null ||
                    ysjl.jilubianhao === ''
                "
                :span="14"
              >
                <el-form-item label="记录编号">
                  <el-input v-model="jlbh1" style="width: 80px" disabled />
                  <el-input v-model="jlbh2" style="width: 80px" disabled />-
                  <el-input
                    v-model="jlbh3"
                    style="width: 85px"
                    @blur="judgeRepeat(jlbh1 + jlbh2 + '-' + jlbh3, ysjl.id)"
                  />
                </el-form-item>
              </el-col>
              <el-col v-else :span="9">
                <el-form-item label="记录编号" prop="jilubianhao">
                  <el-input
                    v-if="state !== 'create'"
                    v-model="ysjl.jilubianhao"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
              <el-col
                v-if="isRepeat"
                :span="2"
                style="
                  vertical-align: middle;
                  padding-top: 3px;
                  font-size: 15px;
                "
              >
                <span style="color: red">编号重复</span>
              </el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col :span="9">
                <el-form-item label="设备类别" prop="shebeileibie">
                  <el-select
                    v-model="ysjl.shebeileibie"
                    filterable
                    allow-create
                    default-first-option
                    style="width: 100%"
                    @change="changXh"
                  >
                    <el-option
                      v-for="item in xinghaoList"
                      :key="item.id"
                      :label="item.xinghao"
                      :value="item.xinghao"
                    />
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="设备品种" prop="shebeipinzhong">
                  <el-input
                    v-model="ysjl.shebeipinzhong"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col :span="9">
                <el-form-item label="产品编号" prop="chanpinbianhao">
                  <el-input v-model="ysjl.chanpinbianhao" type="text" />
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="制造日期" prop="zhizaoriqi">
                  <el-date-picker
                    v-model="ysjl.zhizaoriqi"
                    value-format="yyyy-MM-dd"
                    placeholder="选择日期"
                    style="width: 100%"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col :span="18">
                <el-form-item label="制造单位名称" prop="zhizaodanwei">
                  <el-input
                    v-model="ysjl.zhizaodanwei"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row v-if="fromType == 1" :gutter="20">
              <el-col :span="18">
                <el-form-item label="使用单位名称" prop="shiyongdanwei">
                  <el-input
                    v-model="ysjl.shiyongdanwei"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row v-if="fromType == 2" :gutter="20">
              <el-col :span="18">
                <el-form-item
                  label="施工单位名称"
                  prop="shigongdanweimingcheng"
                >
                  <el-input
                    v-model="ysjl.shigongdanweimingcheng"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row v-if="fromType == 2" :gutter="20">
              <el-col :span="9">
                <el-form-item
                  label="施工单位许可证编号"
                  prop="shigongdanweixukezhengbianhao"
                >
                  <el-input
                    v-model="ysjl.shigongdanweixukezhengbianhao"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="施工类别" prop="shigongleibie">
                  <el-input
                    v-model="ysjl.shigongleibie"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row v-if="fromType == 2" :gutter="20">
              <el-col :span="18">
                <el-form-item label="安装地点" prop="anzhuangdidian">
                  <el-input
                    v-model="ysjl.anzhuangdidian"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row v-if="fromType == 1" :gutter="20">
              <el-col :span="9">
                <el-form-item label="安全管理人员" prop="anquanguanlirenyuan">
                  <el-input
                    v-model="ysjl.anquanguanlirenyuan"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="联系电话" prop="shiyongdanweiDianhua">
                  <el-input
                    v-model="ysjl.shiyongdanweiDianhua"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col :span="9">
                <el-form-item label="使用单位代码" prop="shiyongdanweiCode">
                  <el-input
                    v-model="ysjl.shiyongdanweiCode"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item
                  label="使用登记证编号"
                  prop="shiyongdengjibianhao"
                >
                  <el-input
                    v-model="ysjl.shiyongdengjibianhao"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row v-if="fromType == 1" :gutter="20">
              <el-col :span="18">
                <el-form-item label="注册代码" prop="zhucedaima">
                  <el-input
                    v-model="ysjl.zhucedaima"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row v-if="fromType == 1" :gutter="20">
              <el-col :span="18">
                <el-form-item label="设备使用地点" prop="anzhuangdidian">
                  <el-input
                    v-model="ysjl.anzhuangdidian"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row v-if="fromType == 1" :gutter="20">
              <el-col :span="9">
                <el-form-item label="单位内编号" prop="danweineibubianhao">
                  <el-input
                    v-model="ysjl.danweineibubianhao"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="改造日期" prop="gaizaoriqi">
                  <el-date-picker
                    v-model="ysjl.gaizaoriqi"
                    value-format="yyyy-MM-dd"
                    placeholder="选择日期"
                    style="width: 100%"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row v-if="fromType == 1" :gutter="20">
              <el-col :span="9">
                <el-form-item label="改造单位名称" prop="gaizaodanwei">
                  <el-input
                    v-model="ysjl.gaizaodanwei"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="设备代码" prop="shebeidaima">
                  <el-input
                    v-model="ysjl.shebeidaima"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row v-if="fromType == 2" :gutter="20">
              <el-col :span="9">
                <el-form-item label="联系人" prop="lianxiren">
                  <el-input
                    v-model="param.lianxiren"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="电话" prop="dianhua">
                  <el-input
                    v-model="param.dianhua"
                    type="number"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col :span="18">
                <el-form-item label="维护保养单位名称" prop="weibaodanwei">
                  <el-input
                    v-model="ysjl.weibaodanwei"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col :span="9">
                <el-form-item label="维保电话" prop="weibaodanweiDianhua">
                  <el-input
                    v-model="ysjl.weibaodanweiDianhua"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="型号" prop="guigexinghao">
                  <el-input
                    v-model="ysjl.guigexinghao"
                    type="text"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
          </fieldset>
          <fieldset>
            <legend>设备技术参数</legend>
            <el-row :gutter="20">
              <el-col :span="9">
                <el-form-item label="额定载重量" prop="edingzaizhongliang">
                  <el-input v-model="param.edingzaizhongliang" type="text">
                    <span slot="suffix">/kg</span>
                  </el-input>
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="额定速度" prop="edingsudu">
                  <el-input v-model="param.edingsudu" type="text">
                    <span slot="suffix">m/s</span>
                  </el-input>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col :span="9">
                <el-form-item label="层站门数" prop="cnegzhanmenshu">
                  <el-input
                    v-model="param.ceng"
                    type="text"
                    style="width: 50px"
                  />层
                  <el-input
                    v-model="param.zhan"
                    type="text"
                    style="width: 50px"
                  />站
                  <el-input
                    v-model="param.men"
                    type="text"
                    style="width: 50px"
                  />门
                </el-form-item>
              </el-col>
              <el-col :span="9">
                <el-form-item label="控制方式" prop="kongzhifangshi">
                  <el-input v-model="param.kongzhifangshi" type="text" />
                </el-form-item>
              </el-col>
            </el-row>
          </fieldset>
          <fieldset>
            <el-row :gutter="20">
              <el-col :span="20">
                <el-form-item label="检验依据" prop="jianyanyiju">
                  <span>{{ ysjl.jianyanyiju }}</span>
                </el-form-item>
              </el-col>
            </el-row>
          </fieldset>
          <fieldset>
            <legend>主要检验仪器和设备</legend>
            <el-row :gutter="20">
              <el-col :span="20">
                <el-input
                  v-model="param.gongjuxianghao"
                  style="width: 450px"
                />号检验专用工具箱
              </el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col :span="20">
                <el-form-item label="检验结论" prop="jianyanjielun">
                  <el-radio-group v-model="ysjl.jianyanjielun">
                    <el-radio label="合格">
                      合格
                    </el-radio>
                    <el-radio label="不合格">
                      不合格
                    </el-radio>
                    <el-radio label="复检合格">
                      复检合格
                    </el-radio>
                    <el-radio label="复检不合格">
                      复检不合格
                    </el-radio>
                  </el-radio-group>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col :span="18">
                <el-form-item label="备注" prop="beizhu">
                  <el-input
                    v-model="ysjl.beizhu"
                    type="textarea"
                    :disabled="edit"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row :gutter="20" style="margin: 20px 0">
              <el-col :span="8">
                <el-form-item label="现场检验日期" prop="xianchangjianyanriqi">
                  <el-date-picker
                    v-model="ysjl.xianchangjianyanriqi"
                    value-format="yyyy-MM-dd"
                    placeholder="选择日期"
                    style="width: 100%"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item label="检验完成日期" prop="jianyanjieshuriqi">
                  <el-date-picker
                    v-model="ysjl.jianyanjieshuriqi"
                    value-format="yyyy-MM-dd"
                    placeholder="选择日期"
                    style="width: 100%"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item label="下次检验日期" prop="xiacijianyanriqi">
                  <el-date-picker
                    v-model="ysjl.xiacijianyanriqi"
                    value-format="yyyy-MM-dd"
                    placeholder="选择日期"
                    style="width: 100%"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <template>
              <el-row :gutter="10">
                <el-col :span="8">
                  <el-form-item label="检验人员" prop="jianyanrenyuan">
                    <el-input v-model="ysjl.jianyanrenyuan" />
                  </el-form-item>
                </el-col>
                <el-col :span="8">
                  <sign-name
                    :jianyanrenyuan="jianyanrenyuan"
                    :ysjl="ysjl"
                    :custom-clear-sign="customClearSign"
                    @setSignValue="signNameValue"
                  />
                </el-col>
                <el-col :span="8">
                  <el-form-item label="日期" prop="jianyanjieshuriqi">
                    <el-input v-model="ysjl.jianyanjieshuriqi" />
                  </el-form-item>
                </el-col>
              </el-row>
            </template>
          </fieldset>
        </el-form>
      </el-tab-pane>
      <el-tab-pane label="检验项目" name="second">
        <Inspection :bgfy-data="bgfyData" />
      </el-tab-pane>
      <el-tab-pane
        v-for="(item, index) in arrayGroup"
        :key="index"
        :label="'附表' + (index + 1)"
        :name="'tab' + index"
      >
        <Table
          ref="table3"
          :tabel-header="item.header"
          :table-data="item.data"
          @addfn="addfn(item)"
        />
      </el-tab-pane>
      <!-- <el-tab-pane v-if="fromType==1" label="附表二" name="four">
        <Table ref="table2" :tabel-header="tableHeader1" :table-data="list1"/>
      </el-tab-pane> -->
      <el-tab-pane v-if="fromType == 1" label="附表3" name="five">
        <Table1 ref="table1" :pic="pic" />
      </el-tab-pane>
    </el-tabs>
    <el-dialog
      :visible.sync="jyxmrqShow"
      title="批量修改日期"
      width="500px"
      @close="jyxmrqShow = false"
    >
      <template>
        <el-date-picker
          v-model="querenriqi"
          type="date"
          format="yyyy.MM.dd"
          value-format="yyyy-MM-dd"
          :picker-options="pickerOptions"
          placeholder="选择日期"
          style="width: 100%"
        />
      </template>
      <span slot="footer" class="dialog-footer">
        <el-button @click="jyxmrqShow = false">取 消</el-button>
        <el-button type="primary" @click="batchUpd">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog
      title="查看相关鉴证"
      :modal-append-to-body="false"
      :visible.sync="dialogEnclosureVisible"
    >
      <enclosure
        :relation-id="ysjl.renwuId"
        :if-liaison="false"
        :view-button="true"
        :is-show-hetong="isSysUser"
      />
    </el-dialog>
    <el-dialog title="编辑权限" :visible.sync="dialogRoleVisible">
      <template>
        <div class="tag-group">
          <span class="tag-group__title">已有权限人员：</span>
          <el-tag v-for="item in defaultRlr" :key="item" effect="dark">
            {{ common.convertCnName(item) }}
          </el-tag>
        </div>
        <br>
        <el-select
          v-model="renlingren"
          multiple
          collapse-tags
          placeholder="请选择要追加的监检员"
        >
          <el-option
            v-for="item in userList"
            :key="item.id"
            :label="item.nickname"
            :value="item.id"
          />
        </el-select>
      </template>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogRoleVisible = false">取 消</el-button>
        <el-button type="primary" @click="updateRenlingren">确 定</el-button>
      </span>
    </el-dialog>
    <sign-name
      v-show="signShow"
      ref="qmButton"
      :ysjl="ysjl"
      :jianyanrenyuan="xmjianyanrenyuan"
      field-name="xmqianming"
      :custom-clear-sign="customClearSign"
      @setSignValue="signNameValue"
    />
  </div>
</template>
<script>
import Sticky from '@/components/Sticky'
import SignName from '@/views/common/SignName'
import Utils from '@/utils/contact'
import merge from 'webpack-merge'
import Enclosure from '@/views/common/Enclosure'
import Inspection from '@/views/ysjl/3000/common/inspection-items'
import Table from '@/views/ysjl/3000/dj/common/table'
import Table1 from '@/views/ysjl/3000/dj/common/table1'

export default {
  name: 'BaseInfo',
  components: { SignName, Sticky, Enclosure, Inspection, Table, Table1 },
  props: {
    arrayGroup: {
      require: true,
      type: Array,
      default: () => {
        return []
      }
    },
    // /**
    //  * 格式为： [{ index: 0, relationIds: [1, 2] }]
    //  */
    // jyxmRelations: {
    //   required: true,
    //   type: Array
    // },
    fromType: {
      required: true,
      type: String
    }
  },
  data() {
    return {
      ysjl: {},
      param: {},
      jlbh1: 'GJ',
      jlbh2: '(' + new Date().getFullYear() + ')',
      jlbh3: '',
      isRepeat: false,
      jianyanrenyuan: '',
      departmentId: this.$route.query.departmentId,
      edit: false,
      state: this.$route.query.state,
      bgfyData: [],
      ysjlId: this.$route.query.id,
      checkedTab: 'first',
      xmlbListAB: ['A', 'B'],
      xmlbListAC: ['A', 'C'],
      xmlbListBC: ['B', 'C'],
      jyxmrqShow: false,
      querenriqi: null,
      signShow: false,
      xmjianyanrenyuan: '',
      xggcList: [],
      biliOptions: ['0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1'],
      dialogEnclosureVisible: false,
      dialogRoleVisible: false,
      userList: [],
      defaultRlr: [],
      renlingren: [],
      xinghaoList: [],
      dicGzjz: [],
      isSysUser: this.$store.getters.clientType === 'System',
      cols: [
        {
          name: 'jianyanxiang', // 参与计算的列名，必须和el-table-column prop=''值一致
          getValue(row) {
            // 该列用于比较的值的获取方法
            return row.jianyanxiang
          }
        }
      ],
      rows: [
        {
          name: 'jianyanxiang',
          getValue(row) {
            return row.jianyanxiang
          }
        },
        {
          name: 'jianyanneirong',
          getValue(row) {
            return row.jianyanneirong
          }
        }
      ],
      pickerOptions: {
        disabledDate(time) {
          return time.getTime() > Date.now()
        }
      },
      pic: ''
    }
  },
  created() {
    if (this.state === 'create') {
      this.initYsjl()
    } else {
      this.getYsjl()
      this.getParam()
      this.getJyxm(1)
      this.getFbList()
    }
    this.getDicJyxm(1)
    this.getDicData()
    this.userList = this.$store.getters.allUser.filter(
      (user) => user.departmentId === 74 && user.clientType === 'System'
    )
  },
  methods: {
    addfn(item) {
      console.log('哈哈哈哈哈')
      const length = item.data.length
      item.data.push({
        id: parseInt(length),
        D1: '',
        D2: '',
        D3: '',
        D4: '',
        D5: '',
        D6: '',
        D7: ''
      })
      console.log(item)
    },
    initYsjl() {
      this.ysjlController.init(this.$route.query).then((data) => {
        this.ysjl = data.ysjl
        this.param = data.param ? data.param : {}
        this.ysjl.jianyanjieshuriqi = this.formatter.dateFormat('YYYY-MM-dd')
        this.ysjl.bglx = 1
        this.ysjl.cjState = 'ysjl'
        this.getJyxm(1)
        // this.getFbList(); // 获取附表数据
        // this.getZzdw()
        this.getSbList()
      })
    },
    getSbList() {
      this.api({
        url: '/sedirectory/getList',
        method: 'get',
        params: {
          sbzl: this.$route.query.sbzldm,
          sblb: this.$route.query.sblbdm,
          level: 2
        }
      }).then((data) => {
        this.xinghaoList = data
      })
    },
    getFbList() {
      console.log(this.ysjlId)
      this.ysjlController.getYsjlFb(this.ysjlId).then((data) => {
        console.log(data)
        // this.param = data
      })
    },
    getYsjl() {
      this.ysjlController.getYsjl(this.ysjlId).then((data) => {
        this.ysjl = data
        this.ysjl.imagePath = ''
        if (
          this.ysjl.jianyanrenyuan !== null &&
          this.ysjl.jianyanrenyuan.length > 0
        ) {
          this.jianyanrenyuan = this.common.convertCnName(
            this.ysjl.jianyanrenyuan
          )
        }
        this.ysjlController
          .judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id)
          .then((data) => {
            this.isRepeat = data
          })
      })
    },
    getParam() {
      console.log(this.ysjlId)
      const id = this.ysjlId || this.$route.query.templateId
      this.ysjlController
        .getParam(id, this.$route.query.sbzldm)
        .then((data) => {
          console.log(data)
          this.param = data
        })
    },
    judgeRepeat(bianhao, id) {
      this.api({
        url: '/ysjl/judgeRepeat',
        method: 'get',
        params: {
          ysjlId: id,
          bianhao: bianhao
        }
      }).then((data) => {
        if (data > 0) {
          this.isRepeat = true
        } else {
          this.isRepeat = false
        }
      })
    },
    getJyxm(sort) {
      if (this.$route.query.state === 'update') {
        this.jyxmController.getJdCyJyxm(this.ysjlId, this.$route.query.templateId, sort).then((data) => {
          this.bgfyData = data
          console.log(data, 5685)
          this.tableJs.mergeColRows(this.cols, this.rows, data)
        })
      } else {
        this.jyxmController.getCyJyxm(this.$route.query.templateId, sort).then((data) => {
          this.bgfyData = data
          console.log(data, 5685)
          this.tableJs.mergeColRows(this.cols, this.rows, data)
        })
      }
    },
    getDicJyxm(sort) {
      this.jyxmController
        .getCyJyxm(this.$route.query.templateId, sort)
        .then((data) => {
          this.dicGzjz = data.map((row) => {
            return { value: row.gongzuojianzheng }
          })
        })
    },
    getZzdw() {
      this.api({
        url: '/dwxx/getById',
        method: 'get',
        params: {
          id: this.ysjl.zzdwId
        }
      }).then((data) => {
        this.jlbh1 += data.zhizaodanweiCode
        this.ysjl.zhizaoxukezhengjibie = data.zhizaoxukezhengjibie
        this.ysjl.zhizaoxukezhengbianhao = data.zhizaoxukezhengbianhao
        this.getMaxBh()
      })
    },
    getDicData() {
      this.api({
        url: '/dicData/getDicDataByTypeCode',
        method: 'get',
        params: {
          typeCode: 'GL_ZZ_XGGC'
        }
      }).then((data) => {
        this.xggcList = data
      })
    },

    // 查询最大记录编号
    getMaxBh() {
      const aheadPart = this.jlbh1 + this.jlbh2 + '-'
      this.api({
        url: '/ysjl/gainCurrentBh',
        method: 'get',
        params: {
          aheadPart: aheadPart,
          hinderPart: ''
        }
      }).then((data) => {
        this.jlbh3 = data
        this.ysjlController
          .judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id)
          .then((data) => {
            this.isRepeat = data
          })
      })
    },
    /**
     * 签名方法
     * @param data
     */
    signNameValue(data) {
      if (data.fieldName === 'xmqianming') {
        for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) {
          const jianyanrenyuan = this.$refs.bgfyData.selection[i].jianjianyuan
            ? this.$refs.bgfyData.selection[i].jianjianyuan.split(',')
            : []
          if (!jianyanrenyuan.includes(data.name)) {
            jianyanrenyuan.push(data.name)
            this.$refs.bgfyData.selection[i].jianjianyuan =
              jianyanrenyuan.join(',')
          }
        }
      } else {
        const isNotHasJyry = !this.ysjl.jianyanrenyuan
        this.ysjl.jianyanrenyuan = String(data.id)
        this.jianyanrenyuan = data.name
        this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan)
        Utils.$emit('manufacture-list')
        // 如果是第一检验员签名的话，需要给所有检验项目的检验人员追加当前检验人员
        if (
          isNotHasJyry &&
          this.jianyanrenyuan &&
          this.jianyanrenyuan.split(',').length === 1
        ) {
          this.bgfyData.forEach((jyxm) => {
            // 如果第一检验人员已在该检验项目签名的话，无需重复签名
            if (
              !jyxm.jianjianyuan ||
              !jyxm.jianjianyuan
                .split(',')
                .filter((jjr) => jjr === this.jianyanrenyuan).length
            ) {
              if (jyxm.jianjianyuan) {
                const jianjianyuan = jyxm.jianjianyuan.split(',')
                jianjianyuan.push(this.jianyanrenyuan)
                jyxm.jianjianyuan = jianjianyuan.join(',')
              } else {
                jyxm.jianjianyuan = this.jianyanrenyuan
              }
            }
          })
        }
      }
    },
    customClearSign(fieldName) {
      if (fieldName === 'xmqianming') {
        for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) {
          let jyry = this.$refs.bgfyData.selection[i].jianjianyuan || ''
          jyry = this.common
            .deleteElement(
              jyry.split(','),
              String(this.$store.getters.nickname)
            )
            .join(',')
        }
      } else {
        const data = {
          id:
            this.ysjl.jianyanrenyuan &&
            this.common
              .deleteElement(
                this.ysjl.jianyanrenyuan.split(','),
                String(this.$store.getters.userId)
              )
              .join(','),
          name:
            this.jianyanrenyuan &&
            this.common
              .deleteElement(
                this.jianyanrenyuan.split(','),
                this.$store.getters.nickname
              )
              .join(','),
          fieldName: fieldName
        }
        this.signNameValue(data)
      }
    },
    saveYsjl(operation) {
      const tableData = []
      const arr = []
      this.arrayGroup.map((item) => {
        item.data.forEach(k => {
          delete k.id
        })
        arr.push(item.data)
      })
      const arr1 = JSON.parse(JSON.stringify(this.$refs.table1.tableData))
      arr1.map(item => {
        delete item.name
      })
      arr.push(arr1)
      console.log(arr, 333333333)
      this.bgfyData.forEach((row) => {
        tableData.push({
          ysjlId: this.ysjlId,
          beizhu: row.beizhu,
          dicJyxmId: row.id,
          jianyanjieguo: row.jianyanjieguo ? row.jianyanjieguo : '',
          jianyanjielun: row.jianyanjielun ? row.jianyanjielun : '',
          jyxmMode: 0,
          sort: row.sort,
          orders: row.orders,
          cjState: 0

        })
      })
      if (operation === 'add') {
        this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + '-' + this.jlbh3
        this.save(operation, 'post', tableData, arr)
      } else if (operation === 'build') {
        this.ysjl.baogaobianhao = this.ysjl.jilubianhao
        if (
          this.ysjl.jilubianhao &&
          this.ysjl.jilubianhao.indexOf('COPY') > -1
        ) {
          this.$message({
            type: 'error',
            message: '请先修改报告编号，不允许携带COPY标志生成报告!'
          })
          return false
        }
        if (
          this.ysjl.jianyanrenyuan === null ||
          this.ysjl.jianyanrenyuan === ''
        ) {
          this.$message({
            type: 'error',
            message: '请先签名再生成报告!'
          })
          return false
        }
        for (let i = 0; i < this.bgfyData.length; i++) {
          if (!this.bgfyData[i].jianjianyuan || !this.bgfyData[i].querenriqi) {
            this.$message.error(
              '请将检验项目中的监检人员及监检日期填写完毕，再生成报告！'
            )
            return false
          }
        }
        this.save(operation, 'put', tableData, arr)
      } else if (operation === 'upd') {
        this.save(operation, 'put', tableData, arr)
      }
    },

    save(operation, type, jyxm, fb) {
      console.log(JSON.stringify(fb), jyxm, 222222222222222)
      console.log(this.ysjl.imagePath, this.$refs.table1, 55555555)
      this.ysjl.imagePath = this.$refs.table1.imgPath
      // 判断报告编号是否重复
      if (this.isRepeat) {
        this.$message({
          message: '记录编号重复，请先修改记录编号再保存',
          type: 'error'
        })
        return false
      } else {
        this.$refs['ysjl'].validate((valid) => {
          if (valid) {
            this.api({
              url: '/ysjl',
              method: type,
              data: {
                ysjl: this.ysjl,
                param: this.param,
                cyJyxm: {
                  fbjyxm: JSON.stringify(fb)
                },
                jdJyxm: jyxm,
                flag: operation
              }
            }).then((data) => {
              Utils.$emit('ysjl-db-list')
              // 刷新任务列表，原始记录待办，原始记录已办，检验报告
              if (operation === 'add') {
                Utils.$emit('task-list')
                this.ysjl.id = data
                this.param.ysjlId = data
                this.$message({ message: '保存成功', type: 'success' })
                // 刷新路由网址
                this.common.reloadViewToUpdateYsjl(this.ysjl)
              } else if (operation === 'upd') {
                this.dialogRoleVisible = false
                this.$message({ message: '更新成功', type: 'success' })
                // 替换路由中的参数
                this.$router.push({
                  query: merge(this.$route.query, {
                    jianyanrenyuan: this.ysjl.jianyanrenyuan
                  })
                })
              } else {
                // 生成pdf
                this.common.viewYsjlNoOpen(this.ysjl.id, 'YSJL')
                Utils.$emit('ysjl-list')
                Utils.$emit('ysjl-yb-list')
                Utils.$emit('bggl-daiban-list')
                this.$message({ message: '生成报告成功', type: 'success' })
                this.common.delCurrentViews()
              }
              this.state = 'update'
            })
          }
        })
      }
    },

    /**
     * 格式化监检员
     */
    formatterJianjianyuan(row) {
      if (row.jianjianyuan) {
        if (typeof row.jianjianyuan === 'number') {
          row.jianjianyuan = row.jianjianyuan.toString()
          return this.common.convertCnName(row.jianjianyuan)
        }
        return row.jianjianyuan
      }
    },
    /**
     * 检验项目批量签名
     */
    Signjyxm() {
      if (this.$refs.bgfyData.selection.length === 0) {
        this.$message('请在列表选择要签名的数据。')
        return
      }
      this.signShow = true
      this.$refs.qmButton.dialogFormVisible = true
    },
    /**
     * 检验项目清除签名
     */
    signClear: function() {
      if (this.$refs.bgfyData.selection.length === 0) {
        this.$message('请在列表选择要清除签名的数据。')
        return
      }
      this.$refs.bgfyData.selection.forEach((row) => {
        row.jianjianyuan = null
      })
    },
    batchUpdDate() {
      if (this.$refs.bgfyData.selection.length === 0) {
        this.$message('请在列表选择要修改日期的数据。')
        return false
      }
      this.jyxmrqShow = true
    },
    batchUpd() {
      for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) {
        this.$refs.bgfyData.selection[i].querenriqi = this.querenriqi
      }
      this.jyxmrqShow = false
    },
    changeJsl(val) {
      if (val === '无此项.') {
        this.$set(this.param, 'qita', val)
      } else {
        this.$set(
          this.param,
          'qita',
          val ? (this.param.qita ? this.param.qita + '\n' : '') + val : ''
        )
      }
    },
    /**
     * 核价
     */
    beforeHejia: function() {
      // 锅炉制造费用四舍五入到个位
      this.ysjl.jianyanheding = Math.round(
        !this.param.zaojia || !this.param.bili
          ? 0
          : this.common.accMul(this.param.zaojia, this.param.bili / 100)
      )
    },
    showDialogRoleVisible: function() {
      // 重置表单所需数据
      this.renlingren.length = 0
      this.defaultRlr = this.ysjl.renlingren.split(',')
      // 在可追加的人员列表中移除认领人中已有的人员
      this.defaultRlr.forEach((userId) => {
        for (let i = 0; i < this.userList.length; i++) {
          if (String(this.userList[i].id) === userId) {
            this.userList.splice(i, 1)
            break
          }
        }
      })
      this.dialogRoleVisible = true
    },

    /**
     * 追加认领人
     * 将默认（原）认领人拼接新加的认领人
     */
    updateRenlingren: function() {
      const rlr = this.defaultRlr.concat(this.renlingren)
      this.ysjl.renlingren = rlr.join(',')
      this.saveYsjl('upd')
    },
    changXh: function(val) {
      const xinghao = this.xinghaoList.filter((xh) => xh.xinghao === val)[0]
      this.$set(
        this.param,
        'jiandingbaogaobianhao',
        (xinghao && xinghao.jiandingbaogaobianhao) || ''
      )
    },
    querySearchGzjz: function(queryString, cb, $index) {
      cb([this.dicGzjz[$index]])
    }
  }
}
</script>
<style scoped>
.el-tag {
  margin: auto 5px;
}
</style>
<style lang="scss" scoped>
/*.el-table/deep/ td, .el-table/deep/ th.is-leaf,.el-table--border,.el-table--group{
  border-color: black;
}*/

// .el-table {
//   /deep/tbody tr:hover > td {
//     background-color: oldlace;
//   }
// }
</style>
