editDialog.vue 3.9 KB
<template>
  <el-dialog
    custom-class="party-dialog"
    title="修改"
    width="468px"
    :visible.sync="formVisible"
    :before-close="close"
  >
    <div class="dialog-content">
      <el-form
        :model="formItem"
        class="party-form"
        ref="formItem"
        label-width="125px"
        label-position="top"
        :rules="rules"
      >
        <el-form-item label="所属单位:" prop="orgId">
          <el-input v-model="formItem.organName" disabled></el-input>
        </el-form-item>
        <el-form-item label="机构地理位置:" prop="areaName">
          <el-input v-model="formItem.areaName" disabled></el-input>
        </el-form-item>
        <el-form-item label="账号有效期" prop="permanent">
          <el-radio-group v-model="formItem.permanent">
            <el-radio :label="true">永久有效</el-radio>
            <el-radio :label="false">设置有效期</el-radio>
          </el-radio-group>
          <div v-if="!formItem.permanent">
            <el-date-picker
              class="mt16"
              v-model="formItem.date"
              type="daterange"
              value-format="yyyy-MM-dd"
              range-separator="至"
              start-placeholder="开始日期"
              end-placeholder="结束日期"
            >
            </el-date-picker>
          </div>
        </el-form-item>
      </el-form>
    </div>
    <div slot="footer" class="dialog-footer btn-group">
      <el-button @click="close">取 消</el-button>
      <el-button type="primary" @click="submitForm('formItem')">确定</el-button>
    </div>
  </el-dialog>
</template>

<script>
export default {
  data() {
    return {
      formVisible: false,
      formItem: {
          date:'',
          permanent:true
      },
      rules: {
        permanent: [
          { required: true, message: "请选择账号有效期", trigger: "change" },
        ],
      },
    };
  },
  mounted() {},
  methods: {
    backFn(item) {
      this.formItem = {
        date:'',
        permanent:true
      },
      this.formVisible = true;
      for (let key in item) {
        this.formItem[key] = item[key];
      }
      // 编辑
      if (this.formItem.exiredDate) {
        this.formItem.date = [this.formItem.effectiveDate, this.formItem.exiredDate];
        this.formItem.permanent = false
      }
      this.formItem = {...this.formItem}
      console.log(this.formItem);
    },
    // 关闭
    close() {
      this.formVisible = false;
      for (let key in this.formItem) {
        this.formItem[key] = null;
      }
      this.$refs["formItem"].resetFields();
    },
    // 保存编辑信息
    submitForm() {
      let _this = this;
    if (!this.formItem.permanent && !this.formItem.date) {
    this.$message.error("请选择有效期");
    return false;
    }
    let searchObj = {};
    for (let key in _this.formItem) {
    if (this.formItem[key]) {
        searchObj[key] = _this.formItem[key];
    }
    }
    if (!this.formItem.permanent) {
    searchObj.effectiveDate = this.formItem.date[0];
    searchObj.exiredDate = this.formItem.date[1];
    }else{
      delete searchObj.effectiveDate;
      delete searchObj.exiredDate;
    }
    searchObj.orgName = searchObj.organName
    delete searchObj.organName;
    delete searchObj.date;
    console.log(searchObj);
    _this
    .$https(
        {
        url: "tUser/boxUpdate",
        method: "put",
        authType: this.backToken,
        },
        searchObj
    )
    .then(
              (res) => {
                if (res.data.resultCode === "200") {
                  _this.$message.success(res.data.message);
                  _this.formVisible = false;
                  _this.$emit("refreshFn");
                } else {
                  _this.$message.error(res.data.message);
                }
              },
              (error) => {
                console.log(error);
              }
            );

    },
  },
};
</script>

<style lang="less">
</style>