WXL
2023-12-11 dc3d15dfe0c4a4a85bc5b4df7959b84a02beb064
src/smartor/dataobject/dw_patarchive_base.vue
@@ -1,204 +1,276 @@
<template>
  <div>
<!--el-dialog :title="title" :visible.sync="open" :showclose="true" :close-on-click-modal="false" :inline="true" width="1000px"  append-to-body-->
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row>
          <el-col :span="12"><el-form-item label=" 姓名 " prop="name">
              <el-input v-model="form.name" placeholder="请输入 姓名 " />
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" 性别 " prop="sex">
              <el-select v-model="form.sex" placeholder="请选择 性别 ">
                <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
                  :value="parseInt(dict.value)"></el-option>
              </el-select>
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" 证件号码 " prop="iccardno">
              <el-input v-model="form.iccardno" placeholder="请输入 证件号码 " />
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" 生日 " prop="birthdate">
              <el-date-picker clearable v-model="form.birthdate" type="date" value-format="yyyy-MM-dd"
                placeholder="请选择 生日 ">
              </el-date-picker>
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" 年龄 " prop="age">
              <el-input v-model="form.age" placeholder="请输入 年龄 " />
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" 来源 " prop="source">
              <el-select v-model="form.source" placeholder="请选择 来源 ">
                <el-option v-for="dict in dict.type.sys_patientfrom" :key="dict.value" :label="dict.label"
                  :value="parseInt(dict.value)"></el-option>
              </el-select>
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" 建档时间 " prop="archivetime">
              <el-date-picker clearable v-model="form.archivetime" type="date" value-format="yyyy-MM-dd"
                placeholder="请选择 建档时间 ">
              </el-date-picker>
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" 建档人 " prop="archiveby">
              <el-input v-model="form.archiveby" placeholder="请输入 建档人 " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"> <el-form-item label=" 手机号码 " prop="telcode">
              <el-input v-model="form.telcode" placeholder="请输入 手机号码 " />
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" 亲属号码 " prop="relativetelcode">
              <el-input v-model="form.relativetelcode" placeholder="请输入 亲属号码 " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" 机构ID " prop="orgid">
              <el-select v-model="form.orgid" placeholder="请选择 机构ID ">
                <el-option v-for="dict in dict.type.sys_patientfrom" :key="dict.value" :label="dict.label"
                  :value="dict.value"> <el-form-item label=" 微信openid " prop="openid">
                    <el-input v-model="form.openid" placeholder="请输入 微信openid " />
                  </el-form-item></el-option>
              </el-select>
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" 删除标记 " prop="delFlag">
              <el-input v-model="form.delFlag" placeholder="请输入 删除标记 " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" 上传标记 " prop="isupload">
              <el-input v-model="form.isupload" placeholder="请输入 上传标记 " />
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" 上传时间 " prop="uploadTime">
              <el-date-picker clearable v-model="form.uploadTime" type="date" value-format="yyyy-MM-dd"
                placeholder="请选择 上传时间 ">
              </el-date-picker>
            </el-form-item></el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">保 存</el-button>
        <!--el-button @click="cancel">取 消</el-button-->
      </div>
    <!--/el-dialog-->
    <!--el-dialog :title="title" :visible.sync="open" :showclose="true" :close-on-click-modal="false" :inline="true" width="1000px"  append-to-body-->
    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
      <el-row>
        <el-col :span="12"
          ><el-form-item label=" 姓名 " prop="name">
            <el-input
              v-model="form.name"
              placeholder="请输入 姓名 "
            /> </el-form-item
        ></el-col>
        <el-col :span="12"
          ><el-form-item label=" 性别 " prop="sex">
            <el-select v-model="form.sex" placeholder="请选择 性别 ">
              <el-option
                v-for="dict in dict.type.sys_user_sex"
                :key="dict.value"
                :label="dict.label"
                :value="parseInt(dict.value)"
              ></el-option>
            </el-select> </el-form-item
        ></el-col>
      </el-row>
      <el-row>
        <el-col :span="12"
          ><el-form-item label=" 证件号码 " prop="idno">
            <el-input
              v-model="form.idno"
              placeholder="请输入 证件号码 "
            /> </el-form-item
        ></el-col>
        <el-col :span="12"
          ><el-form-item label=" 生日 " prop="birthdate">
            <el-date-picker
              clearable
              v-model="form.birthdate"
              type="date"
              value-format="yyyy-MM-dd"
              placeholder="请选择 生日 "
            >
            </el-date-picker> </el-form-item
        ></el-col>
      </el-row>
      <el-row>
        <el-col :span="12"
          ><el-form-item label=" 年龄 " prop="age">
            <el-input
              v-model="form.age"
              placeholder="请输入 年龄 "
            /> </el-form-item
        ></el-col>
        <el-col :span="12"
          ><el-form-item label=" 来源 " prop="source">
            <el-select v-model="form.source" placeholder="请选择 来源 ">
              <el-option
                v-for="dict in dict.type.sys_patientfrom"
                :key="dict.value"
                :label="dict.label"
                :value="parseInt(dict.value)"
              ></el-option>
            </el-select> </el-form-item
        ></el-col>
      </el-row>
      <el-row>
        <el-col :span="12"
          ><el-form-item label=" 建档时间 " prop="archivetime">
            <el-date-picker
              clearable
              v-model="form.archivetime"
              type="date"
              value-format="yyyy-MM-dd"
              placeholder="请选择 建档时间 "
            >
            </el-date-picker> </el-form-item
        ></el-col>
        <el-col :span="12"
          ><el-form-item label=" 建档人 " prop="archiveby">
            <el-input
              v-model="form.archiveby"
              placeholder="请输入 建档人 "
            /> </el-form-item
        ></el-col>
      </el-row>
      <el-row>
        <el-col :span="12">
          <el-form-item label=" 手机号码 " prop="telcode">
            <el-input
              v-model="form.telcode"
              placeholder="请输入 手机号码 "
            /> </el-form-item
        ></el-col>
        <el-col :span="12"
          ><el-form-item label=" 亲属号码 " prop="relativetelcode">
            <el-input
              v-model="form.relativetelcode"
              placeholder="请输入 亲属号码 "
            /> </el-form-item
        ></el-col>
      </el-row>
      <el-row>
        <el-col :span="12"
          ><el-form-item label=" 机构ID " prop="orgid">
            <el-select v-model="form.orgid" placeholder="请选择 机构ID ">
              <el-option
                v-for="dict in dict.type.sys_patientfrom"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              >
                <el-form-item label=" 微信openid " prop="openid">
                  <el-input
                    v-model="form.openid"
                    placeholder="请输入 微信openid "
                  /> </el-form-item
              ></el-option>
            </el-select> </el-form-item
        ></el-col>
        <el-col :span="12"
          ><el-form-item label=" 删除标记 " prop="delFlag">
            <el-input
              v-model="form.delFlag"
              placeholder="请输入 删除标记 "
            /> </el-form-item
        ></el-col>
      </el-row>
      <el-row>
        <el-col :span="12"
          ><el-form-item label=" 上传标记 " prop="isupload">
            <el-input
              v-model="form.isupload"
              placeholder="请输入 上传标记 "
            /> </el-form-item
        ></el-col>
        <el-col :span="12"
          ><el-form-item label=" 上传时间 " prop="uploadTime">
            <el-date-picker
              clearable
              v-model="form.uploadTime"
              type="date"
              value-format="yyyy-MM-dd"
              placeholder="请选择 上传时间 "
            >
            </el-date-picker> </el-form-item
        ></el-col>
      </el-row>
    </el-form>
    <div slot="footer" class="dialog-footer">
      <el-button type="primary" @click="submitForm">保 存</el-button>
      <!--el-button @click="cancel">取 消</el-button-->
    </div>
    <!--/el-dialog-->
  </div>
</template>
<script>
import { listPatarchive, getPatarchive, delPatarchive, addPatarchive, updatePatarchive } from "@/api/smartor/patarchive";
import {
  listPatarchive,
  getPatarchive,
  delPatarchive,
  addPatarchive,
  updatePatarchive,
} from "@/api/smartor/patarchive";
export default {
    name: "PatarchiveForm",
    dicts: ['sys_user_sex', 'sys_patientfrom'],
    data() {
        return {
        // 遮罩层
        loading: true,
        // 选中数组
        ids: [],
        // 非单个禁用
        single: true,
        // 非多个禁用
        multiple: true,
        // 显示搜索条件
        showSearch: true,
        // 总条数
        total: 0,
        // 患者档案表格数据
        patarchiveList: [],
        // 弹出层标题
        title: "",
        // 是否显示弹出层
        open: true,
        // 查询参数
        // 表单参数
        form: {},
        // 表单校验
        rules: {
            delFlag: [
            { required: true, message: " 删除标记 不能为空", trigger: "blur" }
            ],
            isupload: [
            { required: true, message: " 上传标记 不能为空", trigger: "blur" }
            ],
        }
        };
    },
    created() {
        this.Retrieve(1);
    },
    methods: {
          // 表单重置
      reset() {
        this.form = {
          patid: null,
          name: null,
          sex: null,
          iccardno: null,
          birthdate: null,
          age: null,
          source: null,
          archivetime: null,
          archiveby: null,
          telcode: null,
          relativetelcode: null,
          iccardtype: null,
          orgid: null,
          openid: null,
          delFlag: null,
          updateBy: null,
          updateTime: null,
          createBy: null,
          createTime: null,
          isupload: null,
          uploadTime: null
        };
        this.resetForm("form");
  name: "PatarchiveForm",
  dicts: ["sys_user_sex", "sys_patientfrom"],
  data() {
    return {
      // 遮罩层
      loading: true,
      // 选中数组
      ids: [],
      // 非单个禁用
      single: true,
      // 非多个禁用
      multiple: true,
      // 显示搜索条件
      showSearch: true,
      // 总条数
      total: 0,
      // 患者档案表格数据
      patarchiveList: [],
      // 弹出层标题
      title: "",
      // 是否显示弹出层
      open: true,
      // 查询参数
      // 表单参数
      form: {},
      // 表单校验
      rules: {
        delFlag: [
          { required: true, message: " 删除标记 不能为空", trigger: "blur" },
        ],
        isupload: [
          { required: true, message: " 上传标记 不能为空", trigger: "blur" },
        ],
      },
      Retrieve(patid)
      {
        getPatarchive(patid).then(response => {
          this.form = response.data;
          //this.open = true;
          //this.title = "修改患者档案";
        });
      },
       /** 新增按钮操作 */
      handleAdd() {
        this.reset();
    };
  },
  created() {
    this.Retrieve(1);
  },
  methods: {
    // 表单重置
    reset() {
      this.form = {
        patid: null,
        name: null,
        sex: null,
        idno: null,
        birthdate: null,
        age: null,
        source: null,
        archivetime: null,
        archiveby: null,
        telcode: null,
        relativetelcode: null,
        idtype: null,
        orgid: null,
        openid: null,
        delFlag: null,
        updateBy: null,
        updateTime: null,
        createBy: null,
        createTime: null,
        isupload: null,
        uploadTime: null,
      };
      this.resetForm("form");
    },
    Retrieve(patid) {
      getPatarchive(patid).then((response) => {
        this.form = response.data;
        //this.open = true;
        //this.title = "添加患者档案";
      },
      /** 修改按钮操作 */
      handleUpdate(row) {
        this.reset();
        const patid = row.patid || this.ids
        getPatarchive(patid).then(response => {
          this.form = response.data;
          this.open = true;
          this.title = "修改患者档案";
        });
      },
      /** 提交按钮 */
      submitForm() {
        this.$refs["form"].validate(valid => {
          if (valid) {
            if (this.form.patid != null) {
              updatePatarchive(this.form).then(response => {
                this.$modal.msgSuccess("修改成功");
                this.open = false;
                this.getList();
              });
            } else {
              addPatarchive(this.form).then(response => {
                this.$modal.msgSuccess("新增成功");
                this.open = false;
                this.getList();
              });
            }
        //this.title = "修改患者档案";
      });
    },
    /** 新增按钮操作 */
    handleAdd() {
      this.reset();
      //this.open = true;
      //this.title = "添加患者档案";
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.reset();
      const patid = row.patid || this.ids;
      getPatarchive(patid).then((response) => {
        this.form = response.data;
        this.open = true;
        this.title = "修改患者档案";
      });
    },
    /** 提交按钮 */
    submitForm() {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          if (this.form.patid != null) {
            updatePatarchive(this.form).then((response) => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addPatarchive(this.form).then((response) => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        });
      }
    }
}
        }
      });
    },
  },
};
</script>