lin
2024-03-22 d1a18d1d0cf5ece7713ac57f244fb5d0fb5a023c
src/views/place/tenanthold.vue
@@ -6,15 +6,20 @@
      @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
      @refresh-change="refreshChange" @on-load="onLoad">
      <template slot-scope="{row, size}" slot="menu">
      <!-- <template slot-scope="{row, size}" slot="menu">
        <el-button :size="size" type="text" icon="el-icon-circle-plus-outline" v-if="permission.household_manager"
          @click="manageLabel(row)">标签
        </el-button>
      </template>
      </template> -->
      <template slot-scope="{row, size}" slot="phoneNumber">
        <el-button :size="size" type="text" @click="showStringDispose(row, 'phoneNumberflag')">
          {{ textDispose(row, 'phoneNumberflag', 'phoneNumber') }}
        </el-button>
      </template>
      <template slot-scope="{row, size}" slot="minors">
        <el-tag :size="size">{{
      row.minors == 2?'是':row.minors==1?'否':''
    }}</el-tag>
      </template>
      <template slot-scope="{row, size}" slot="idCard">
        <el-button :size="size" type="text" @click="showStringDispose(row, 'idCardflag')"
@@ -36,42 +41,14 @@
      </span>
    </el-dialog>
    <el-dialog title="标签管理" append-to-body :visible.sync="labelFlag" center width="600px">
      <div v-for="(item, index) in labelData" :key="index">
        <el-row>
          <el-col :span="24">
            <div>
              <el-divider content-position="left">{{ item.name }}</el-divider>
            </div>
          </el-col>
        </el-row>
        <div class="grid-container2" v-if="item.children">
          <div class="grid-item" :style="{ backgroundColor: getColor(item2.color) }"
            v-for="(item2, index2) in item.children" @click="changLabel(item2)" :key="index2">
            {{ item2.name }}
          </div>
        </div>
      </div>
    </el-dialog>
    <el-dialog :title="'编辑标签   ' + currentLabel.name" append-to-body :visible.sync="editLabelFlge" width="655px">
    <!-- <el-dialog :title="'编辑标签   ' + currentLabel.name" append-to-body :visible.sync="editLabelFlge" width="655px">
      <avue-form :option="labelOption" v-model="labelForm" :submit="onsubmit">
      </avue-form>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="editLabelFlge = false">取 消</el-button>
        <el-button size="small" type="primary" @click="onsubmit">确 定</el-button>
      </span>
    </el-dialog>
    <el-dialog title="用户数据导入" append-to-body :visible.sync="excelBox" width="555px">
      <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
        <template slot="excelTemplate">
          <el-button size="small" type="primary" @click="handleTemplate">
            点击下载<i class="el-icon-download el-icon--right"></i>
          </el-button>
        </template>
      </avue-form>
    </el-dialog>
    </el-dialog> -->
  </basic-container>
</template>
@@ -198,8 +175,7 @@
          searchLabelWidth: 96,
          searchShow: true,
          searchMenuSpan: 3,
          menuWidth: 280,
          menuWidth: 240,
          height: 'auto',
          calcHeight: 80,
          tip: false,
@@ -208,28 +184,10 @@
          selection: true,
          viewBtn: true,
          addBtn: true,
          dialogType: 'drawer',
          dialogType: 'dialog',
          dialogClickModal: false,
          menuFixed: 'right',
          column: [{
              label: "与业主关系",
              prop: "relationship",
              type: "select",
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=roleRelation",
              dataType: "number",
              // hide: true,
              width: 120,
              props: {
                label: "dictValue",
                value: "dictKey",
              },
              rules: [{
                required: true,
                message: "请选择与业主关系",
                trigger: "blur",
              }],
            },
          column: [
            {
              width: 110,
              label: "姓名",
@@ -243,20 +201,6 @@
                trigger: "blur",
              }],
            },
            {
              hide: true,
              label: "证件类型",
              prop: "cardType",
              type: "select",
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=cardType",
              dataType: "number",
              props: {
                label: "dictValue",
                value: "dictKey",
              },
            },
            {
              width: 160,
              display: true,
@@ -270,7 +214,6 @@
                trigger: 'blur'
              }],
            },
            {
              hide: true,
              display: false,
@@ -278,21 +221,23 @@
              label: "证件号码",
              prop: "cardNo",
            },
            {
              label: "出生日期",
              prop: "birthday",
              type: "date",
              format: "yyyy-MM-dd",
              valueFormat: "yyyy-MM-dd",
              label: "民族",
              prop: "ethnicity",
              type: "select",
              hide: true,
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationType",
              dataType: "number",
              props: {
                label: "dictValue",
                value: "dictKey",
              },
            },
            {
              hide: false,
              display: false,
              // display: false,
              width: 60,
              align:"center",
              label: "性别",
              prop: "gender",
              type: "select",
@@ -310,7 +255,6 @@
                }
              ],
            },
            {
              width: 120,
              label: "手机号码",
@@ -331,60 +275,13 @@
            },
            {
              label: "居住情况",
              prop: "residentialStatus",
              type: "select",
              hide: true,
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=residentialStatusType",
              dataType: "number",
              props: {
                label: "dictValue",
                value: "dictKey",
              },
            },
            {
              label: "其他联系方式",
              prop: "otherContact",
              hide: true,
              rules: [{
                validator: validatorPhone,
                trigger: 'blur'
              }],
            },
            {
              label: "是否主要联系人",
              prop: "isPrimaryContact",
              type: "select",
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=primaryContactType",
              dataType: "number",
              hide: true,
              props: {
                label: "dictValue",
                value: "dictKey",
              },
            },
            // {
            // label: "关系",
            // prop: "roleType",
            // type: "select",
            // dicUrl: "/api/blade-system/dict-biz/dictionary?code=roleType",
            // dataType: "number",
            //     props: {
            //         label: "dictValue",
            //         value: "dictKey",
            //     },
            // },
            {
              width: 220,
              minWidth: 150,
              overHidden: true,
              label: '小区名称',
              prop: "aoiName",
              search: true,
              searchSpan: 4,
              overHidden:true,
              display: false
            },
@@ -420,276 +317,43 @@
              viewDisplay: false,
              prop: "gridName",
            },
            {
              width: 156,
              overHidden: true,
              label: "地址",
              prop: "address",
              display: false
            },
            {
              hide: true,
              parent: false,
              width: 160,
              label: "籍贯地区",
              prop: "nativePlaceAdcode",
              type: "tree",
              typeformat(item, label, value) {
                return item.addressDetail
              },
              change: ({
                value,
                column,
                item,
                dic
              }) => {
                item.addressDetail = findParentOrCur(dic, item.id)
              },
              props: {
                label: 'name',
                value: 'id'
              },
              dicUrl: `/api/blade-system/region/getBaseTree`,
            },
            {
              hide: true,
              label: "户籍类型",
              prop: "residentType",
              type: "select",
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=residentType",
              dataType: "number",
              props: {
                label: "dictValue",
                value: "dictKey",
              },
            },
            {
              hide: true,
              parent: false,
              width: 160,
              label: "户籍地区",
              prop: "residentAdcode",
              type: "tree",
              typeformat(item, label, value) {
                return item.addressDetail
              },
              change: ({
                value,
                column,
                item,
                dic
              }) => {
                item.addressDetail = findParentOrCur(dic, item.id)
              },
              props: {
                label: 'name',
                value: 'id'
              },
              dicUrl: `/api/blade-system/region/getBaseTree`,
            },
            {
              label: "户籍地址",
              prop: "hukouRegistration",
              hide: true,
            },
            {
              disabled: false,
              label: "居住地区",
              prop: "homeAdcode",
              hide: true,
              type: 'select',
              props: {
                label: 'name',
                value: 'code'
              },
              dicUrl: `/api/blade-system/region/select?code=361102`,
            },
            {
              disabled: false,
              label: "现居住地",
              prop: "currentAddress",
              hide: true,
            },
            {
              width: 210,
              overHidden: true,
              label: "标签",
              prop: "householdLabelList",
              display: false
            },
            {
              label: "民族",
              prop: "ethnicity",
              type: "select",
              hide: true,
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=nationType",
              dataType: "number",
              props: {
                label: "dictValue",
                value: "dictKey",
              },
            },
            {
              label: "学历",
              prop: "education",
              type: "select",
              hide: true,
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
              dataType: "number",
              props: {
                label: "dictValue",
                value: "dictKey",
              },
            },
            {
              hide: true,
              width: 160,
              label: "职业类别",
              prop: "occupation"
              // hide: true,
              minWidth:150,
              overHidden:true,
            },
            {
              label: "工作单位",
              prop: "employer",
              hide: true,
            },
            {
              hide: true,
              width: 160,
              label: "工作单位地址",
              prop: "cmpyRegAddr"
            },
            {
              label: "工作状态",
              prop: "workStatus",
              type: "select",
              hide: true,
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=workStatusType",
              dataType: "number",
              props: {
                label: "dictValue",
                value: "dictKey",
              },
            },
            {
              label: "婚姻状态",
              prop: "maritalStatus",
              type: "select",
              hide: true,
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=marriageStatusType",
              dataType: "number",
              props: {
                label: "dictValue",
                value: "dictKey",
              },
            },
            {
              hide: true,
              width: 160,
              label: "宗教信仰",
              prop: "religiousBelief",
            },
            {
              hide: true,
              label: "健康状态",
              prop: "healthStatus",
              type: "select",
              dicUrl: "/api/blade-system/dict-biz/dictionary?code=healthStatus",
              dataType: "number",
              props: {
                label: "dictValue",
                value: "dictKey",
              },
            },
            {
              disabled: true,
              hide: true,
              width: 160,
              label: "疾病名称",
              prop: "diseaseName"
            },
            {
              hide: true,
              width: 160,
              label: "外出去向",
              prop: "goOutWhere"
            },
            {
              hide: true,
              width: 160,
              label: "外出原因",
              prop: "goOutReason"
            },
            {
              hide: true,
              label: "外出时间",
              prop: "goOutTime",
              type: "date",
              format: "yyyy-MM-dd",
              valueFormat: "yyyy-MM-dd",
              width: 160,
            },
            {
              hide: true,
              width: 160,
              label: "外出详址",
              prop: "goOutAddr"
            },
            {
              label: "车牌号",
              prop: "cardNumber",
              // editDisplay:false,
              hide: true,
            },
            {
              label: "自愿者组织",
              prop: "volunteerOrg",
              hide: true,
            },
            {
              label: "备注",
              prop: "remark",
              hide: true,
            },
            {
              width: 60,
              searchSpan: 4,
              width: 80,
              // labelWidth: 110,
              searchSpan: 3,
              searchLabelWidth: 60,
              editDisplay:false,
              label: "未成年",
              search: true,
              prop: "minors",
              type: "select",
              dicData: [{
                  label: "未成年人员",
              align:"center",
              dicData: [
              {
                  label: "全部",
                  value: ""
                },{
                  label: "是",
                  value: 2
                },
                {
                  label: "全部人员",
                  label: "否",
                  value: 1
                }
                },
              ],
            },
          ]
@@ -1101,6 +765,7 @@
      },
      onLoad(page, params = {}) {
        params['relationship'] = 18
        this.loading = true
        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
          const data = {