| | |
| | | </el-select> |
| | | </el-form-item> --> |
| | | |
| | | |
| | | <el-row> |
| | | |
| | | <el-row :gutter="15"> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-refresh" |
| | | size="medium" |
| | | @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | icon="el-icon-refresh" |
| | | size="medium" |
| | | @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-help" |
| | | size="medium" |
| | | @click="distribute" |
| | | >新增患者过滤</el-button |
| | | > |
| | | </el-col> |
| | | </el-form-item> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | |
| | | <el-table |
| | | v-loading="loading" |
| | |
| | | query: { id: scope.row.id }, |
| | | }) |
| | | " |
| | | |
| | | ><span class="button-textsc" |
| | | ><i class="el-icon-zoom-in"></i>查看</span |
| | | ></el-button |
| | |
| | | size="medium" |
| | | type="text" |
| | | @click="handleDelete(scope.row)" |
| | | |
| | | ><span class="button-textxga" |
| | | ><i class="el-icon-edit"></i>取消过滤</span |
| | | ></el-button |
| | |
| | | /> |
| | | </el-col> |
| | | </el-row> |
| | | <el-dialog title="选择患者" :visible.sync="distributeVisible" width="70%"> |
| | | <el-row :gutter="20"> |
| | | <!--用户数据--> |
| | | <el-col :span="24" :xs="24"> |
| | | <el-form |
| | | :model="filtrqueryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="患者姓名" prop="name"> |
| | | <el-input |
| | | v-model="filtrqueryParams.name" |
| | | placeholder="请输入姓名" |
| | | maxlength="30" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="患者标签" prop="tagname"> |
| | | <el-input |
| | | v-model="filtrqueryParams.tagname" |
| | | placeholder="输入进行模糊查询" |
| | | maxlength="30" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="患者范围" prop="tagId"> |
| | | <el-select |
| | | v-model="filtrqueryParams.searchscope" |
| | | placeholder="请选择患者范围" |
| | | > |
| | | <el-option |
| | | v-for="item in source" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="distribute" |
| | | >搜索</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table v-loading="filtrloading" :data="filtruserList" height="660"> |
| | | <el-table-column type="selection" width="50" align="center" /> |
| | | <el-table-column |
| | | fixed |
| | | label="姓名" |
| | | align="center" |
| | | key="name" |
| | | prop="name" |
| | | /> |
| | | <el-table-column |
| | | label="患者编号" |
| | | align="center" |
| | | key="patientno" |
| | | prop="patientno" |
| | | width="180" |
| | | /> |
| | | |
| | | <el-table-column label="性别" align="center" key="sex" prop="sex"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.sex == 1 ? "男" : "女" }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="年龄" |
| | | align="center" |
| | | key="age" |
| | | prop="age" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.age" |
| | | >{{ scope.row.age }}{{ scope.row.ageUnit }}</span |
| | | ><span v-if="scope.row.age2" |
| | | >{{ scope.row.age2 }}{{ scope.row.ageUnit2 }}</span |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="出生年月" |
| | | align="center" |
| | | key="birthdate" |
| | | prop="birthdate" |
| | | width="120" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="居住地" |
| | | align="center" |
| | | key="placeOfResidence" |
| | | prop="placeOfResidence" |
| | | width="150" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="患者标签" |
| | | align="center" |
| | | key="tagList" |
| | | prop="tagList" |
| | | width="160" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-for="item in scope.row.tagList" |
| | | >{{ item.tagname }} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="证件号码" |
| | | align="center" |
| | | key="idcardno" |
| | | prop="idcardno" |
| | | width="190" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="联系方式" |
| | | align="center" |
| | | key="telcode" |
| | | prop="telcode" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="建档日期" |
| | | align="center" |
| | | key="createTime" |
| | | prop="createTime" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ formatTime(scope.row.createTime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="更新日期" |
| | | align="center" |
| | | prop="archivetime" |
| | | width="160" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ formatTime(scope.row.archivetime) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="操作" |
| | | align="center" |
| | | width="190" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="handleUpdate(scope.row)" |
| | | ><span class="button-textxga" |
| | | ><i class="el-icon-help"></i>患者过滤</span |
| | | ></el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="filtrqueryParams.pageNum" |
| | | :limit.sync="filtrqueryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | </el-col> |
| | | </el-row> |
| | | </el-dialog> |
| | | <el-dialog title="修改患者信息" :visible.sync="Labelchange" width="900px"> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="100px"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="姓名" prop="name"> |
| | | <el-input |
| | | v-model="form.name" |
| | | placeholder="请输入姓名" |
| | | maxlength="30" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="性别" prop="sex"> |
| | | <el-select v-model="form.sex" placeholder="请选择性别"> |
| | | <el-option |
| | | v-for="dict in sextype" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="年龄" prop="age"> |
| | | <el-input |
| | | v-model="form.age" |
| | | placeholder="请输入年龄" |
| | | maxlength="30" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="过滤原因"> |
| | | <el-input |
| | | v-model="form.notrequiredreason" |
| | | type="textarea" |
| | | placeholder="请输入过滤原因" |
| | | ></el-input> |
| | | </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> |
| | | |
| | |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | | filtrloading: true, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | |
| | | showSearch: true, |
| | | // 总条数 |
| | | total: 0, |
| | | filtrtotal: 0, |
| | | // 用户表格数据 |
| | | userList: null, |
| | | filtruserList: null, |
| | | distributeVisible: false, |
| | | |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 部门树选项 |
| | |
| | | idcardtype: "", |
| | | relativetelcode: "", |
| | | }, |
| | | filtrqueryParams: { |
| | | notrequiredFlag: 0, |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }, |
| | | //导入进度 |
| | | dractive: 1, |
| | | // 导入展示表单 |
| | |
| | | Labelchange: false, //修改新增弹窗 |
| | | propss: { multiple: true }, |
| | | optionstag: [], //标签列表 |
| | | sextype: [ |
| | | { |
| | | value: 1, |
| | | label: "男", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "女", |
| | | }, |
| | | ], |
| | | Patientrange: [ |
| | | { |
| | | { |
| | | value: 0, |
| | | label: "所属患者", |
| | | }, |
| | |
| | | tagIds: undefined, |
| | | telcode: undefined, |
| | | }, |
| | | form: { |
| | | name: "", |
| | | age: "", |
| | | sex: "", |
| | | tagList: [], |
| | | idcardno: "", |
| | | telcode: "", |
| | | idcardtype: "", |
| | | relativetelcode: "", |
| | | }, |
| | | // 表单校验 |
| | | rules: {}, |
| | | rules: { |
| | | name: [ |
| | | { required: true, message: "用户名称不能为空", trigger: "blur" }, |
| | | { |
| | | min: 2, |
| | | max: 20, |
| | | message: "用户名称长度必须介于 2 和 20 之间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | |
| | | sex: [{ required: true, message: "性别不能为空", trigger: "blur" }], |
| | | age: [{ required: true, message: "年龄不能为空", trigger: "blur" }], |
| | | nation: [{ required: true, message: "民族不能为空", trigger: "blur" }], |
| | | telcode: [ |
| | | { required: true, message: "联系方式不能为空", trigger: "blur" }, |
| | | { |
| | | pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, |
| | | message: "请输入正确的手机号码", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | |
| | | idcardno: [ |
| | | { required: true, message: "证件号可能为空", trigger: "blur" }, |
| | | { |
| | | pattern: |
| | | /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, |
| | | message: "请输入正确的身份证号码", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | placeOfResidence: [ |
| | | { required: true, message: "居住地不能为空", trigger: "blur" }, |
| | | ], |
| | | birthplace: [ |
| | | { required: true, message: "出生地不能为空", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | /** 查询患者列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | |
| | | messagelistpatient(this.queryParams).then((response) => { |
| | | console.log(response); |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 调起新增过滤弹框 |
| | | distribute() { |
| | | this.distributeVisible = true; |
| | | this.filtrloading = true; |
| | | |
| | | messagelistpatient(this.filtrqueryParams).then((response) => { |
| | | this.filtruserList = response.rows; |
| | | this.filtrtotal = response.total; |
| | | this.filtrloading = false; |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | const userIds = row.id; |
| | | particularpatient(userIds).then((response) => { |
| | | this.form = response.data; |
| | | }); |
| | | this.amendtag = true; |
| | | this.Labelchange = true; |
| | | }, |
| | | /** 查询标签列表 */ |
| | | gettabList() { |
| | |
| | | this.$refs.tree.setCurrentKey(null); |
| | | this.handleQuery(); |
| | | }, |
| | | |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map((item) => item.patid); |
| | |
| | | |
| | | //修改/新增患者 |
| | | submitForm() { |
| | | if (this.amendtag) { |
| | | alterpatient(this.form) |
| | | .then((response) => { |
| | | console.log(response); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("修改成功"); |
| | | }); |
| | | } else { |
| | | addfiltration(this.form) |
| | | .then((response) => { |
| | | console.log(response); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("添加成功"); |
| | | }); |
| | | } |
| | | this.reset(); |
| | | // this.idds = ""; |
| | | this.Labelchange = false; |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | this.form.isoperation = 2; |
| | | this.form.notrequiredFlag = 1; |
| | | alterpatient(this.form) |
| | | .then((response) => { |
| | | console.log(response); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("患者过滤成功"); |
| | | }); |
| | | this.reset(); |
| | | // this.idds = ""; |
| | | this.Labelchange = false; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | |
| | | const userIds = row.id || this.ids; |
| | | this.$modal |
| | | .confirm('是否确认取消用户编号为"' + userIds + '"的数据项过滤?') |
| | | .then( ()=> { |
| | | row.notrequiredFlag=0 |
| | | .then(() => { |
| | | row.notrequiredFlag = 0; |
| | | alterpatient(row) |
| | | .then((response) => { |
| | | console.log(response); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("修改成功"); |
| | | }); |
| | | .then((response) => { |
| | | console.log(response); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("修改成功"); |
| | | }); |
| | | }) |
| | | |
| | | .catch(() => {}); |