| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="68px" |
| | | > |
| | | <el-form-item label="院区名称" prop="hospAreaName"> |
| | | <el-input style="width:160px" v-model="queryParams.hospAreaName" placeholder="请输入院区名称" clearable @keyup.enter.native="handleQuery"/> |
| | | <el-input |
| | | style="width: 160px" |
| | | v-model="queryParams.hospAreaName" |
| | | placeholder="请输入院区名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="机构ID" prop="hospid"> |
| | | <el-input v-model="queryParams.hospid" placeholder="请输入机构ID" clearable @keyup.enter.native="handleQuery"/> |
| | | </el-form-item> --> |
| | | <el-form-item label="机构名称" prop="hospName"> |
| | | <el-input v-model="queryParams.hospName" style="width:160px" placeholder="请输入机构名称" clearable @keyup.enter.native="handleQuery"/> |
| | | <el-input |
| | | v-model="queryParams.hospName" |
| | | style="width: 160px" |
| | | placeholder="请输入机构名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="院区编码" prop="code"> |
| | | <el-input v-model="queryParams.code" placeholder="请输入院区编码" clearable @keyup.enter.native="handleQuery"/> |
| | |
| | | <el-input v-model="queryParams.areaid" placeholder="请输入区划ID" clearable @keyup.enter.native="handleQuery" style="width:180px"/> |
| | | </el-form-item> --> |
| | | <el-form-item label="区划名称" prop="areaName"> |
| | | <el-input v-model="queryParams.areaName" placeholder="请输入区划名称" clearable @keyup.enter.native="handleQuery" style="width:180px"/> |
| | | <el-input |
| | | v-model="queryParams.areaName" |
| | | placeholder="请输入区划名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | style="width: 180px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="主院区" prop="mainHospArea"> |
| | | <el-select v-model="queryParams.mainHospArea" placeholder="是否主院区" clearable style="width:110px"> |
| | | <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" :value="dict.value" /> |
| | | <el-select |
| | | v-model="queryParams.mainHospArea" |
| | | placeholder="是否主院区" |
| | | clearable |
| | | style="width: 110px" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_yes_no" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="负责人" prop="principal"> |
| | | <el-input v-model="queryParams.principal" placeholder="请输入负责人" clearable @keyup.enter.native="handleQuery" style="width:140px"/> |
| | | <el-input |
| | | v-model="queryParams.principal" |
| | | placeholder="请输入负责人" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | style="width: 140px" |
| | | /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="编制床位" prop="plaitBed"> |
| | | <el-input v-model="queryParams.plaitBed" placeholder="请输入编制床位" clearable @keyup.enter.native="handleQuery"/> |
| | |
| | | <el-input v-model="queryParams.orderNum" placeholder="请输入排序" clearable @keyup.enter.native="handleQuery"/> |
| | | </el-form-item> --> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['hosp:hosp:add']">新增</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | v-hasPermi="['hosp:hosp:add']" |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['hosp:hosp:edit']">修改</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleUpdate" |
| | | v-hasPermi="['hosp:hosp:edit']" |
| | | >修改</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['hosp:hosp:remove']">删除</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="multiple" |
| | | @click="handleDelete" |
| | | v-hasPermi="['hosp:hosp:remove']" |
| | | >删除</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['hosp:hosp:export']">导出</el-button> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | v-hasPermi="['hosp:hosp:export']" |
| | | >导出</el-button |
| | | > |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | <right-toolbar |
| | | :showSearch.sync="showSearch" |
| | | @queryTable="getList" |
| | | ></right-toolbar> |
| | | </el-row> |
| | | |
| | | <el-table v-loading="loading" :data="hospList" @selection-change="handleSelectionChange" border |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="hospList" |
| | | @selection-change="handleSelectionChange" |
| | | border |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" fixed /> |
| | | <el-table-column label="序号" align="center" prop="newID" width="50px" fixed="left"/> |
| | | <el-table-column label="院区名称" align="center" prop="hospAreaName" width="120px" :show-overflow-tooltip="true" fixed="left"/> |
| | | <el-table-column |
| | | label="序号" |
| | | align="center" |
| | | prop="newID" |
| | | width="50px" |
| | | fixed="left" |
| | | /> |
| | | <el-table-column |
| | | label="院区名称" |
| | | align="center" |
| | | prop="hospAreaName" |
| | | width="120px" |
| | | :show-overflow-tooltip="true" |
| | | fixed="left" |
| | | /> |
| | | <!-- <el-table-column label="医疗机构ID" align="center" prop="hospid" /> --> |
| | | <!-- <el-table-column label="医疗机构名称" align="center" prop="hospName" /> --> |
| | | <el-table-column label="院区编码" align="center" prop="code" :show-overflow-tooltip="true"/> |
| | | <el-table-column label="五笔简码" align="center" prop="wbm" :show-overflow-tooltip="true"/> |
| | | <el-table-column label="拼音简码" align="center" prop="spell" :show-overflow-tooltip="true"/> |
| | | <el-table-column |
| | | label="院区编码" |
| | | align="center" |
| | | prop="code" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="五笔简码" |
| | | align="center" |
| | | prop="wbm" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="拼音简码" |
| | | align="center" |
| | | prop="spell" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <!-- <el-table-column label="行政区划ID" align="center" prop="areaid" /> --> |
| | | <!-- <el-table-column label="行政区划名称" align="center" prop="areaName" /> --> |
| | | <el-table-column label="主院区" align="center" prop="mainHospArea" :show-overflow-tooltip="true"> |
| | | <el-table-column |
| | | label="主院区" |
| | | align="center" |
| | | prop="mainHospArea" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.mainHospArea"/> |
| | | <dict-tag |
| | | :options="dict.type.sys_yes_no" |
| | | :value="scope.row.mainHospArea" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="负责人" align="center" prop="principal" :show-overflow-tooltip="true"/> |
| | | <el-table-column label="负责人电话" align="center" prop="phone" :show-overflow-tooltip="true" width="120px"/> |
| | | <el-table-column label="编制床位" align="center" prop="plaitBed" :show-overflow-tooltip="true"/> |
| | | <el-table-column label="开放床位" align="center" prop="openBed" :show-overflow-tooltip="true"/> |
| | | <el-table-column label="成立日期" align="center" prop="buildDate" width="120px" :show-overflow-tooltip="true"> |
| | | <el-table-column |
| | | label="负责人" |
| | | align="center" |
| | | prop="principal" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="负责人电话" |
| | | align="center" |
| | | prop="phone" |
| | | :show-overflow-tooltip="true" |
| | | width="120px" |
| | | /> |
| | | <el-table-column |
| | | label="编制床位" |
| | | align="center" |
| | | prop="plaitBed" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="开放床位" |
| | | align="center" |
| | | prop="openBed" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="成立日期" |
| | | align="center" |
| | | prop="buildDate" |
| | | width="120px" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.buildDate, "{y}-{m}-{d}") }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true"/> |
| | | <el-table-column label="排序" align="center" prop="orderNum" width="50px" :show-overflow-tooltip="true"/> |
| | | <el-table-column label="数据状态" align="center" prop="effective" :show-overflow-tooltip="true"> |
| | | <el-table-column |
| | | label="备注" |
| | | align="center" |
| | | prop="remark" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="排序" |
| | | align="center" |
| | | prop="orderNum" |
| | | width="50px" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="数据状态" |
| | | align="center" |
| | | prop="effective" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.dict_data_status" :value="scope.row.effective"/> |
| | | <dict-tag |
| | | :options="dict.type.dict_data_status" |
| | | :value="scope.row.effective" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="创建人姓名" align="center" prop="createByName" /> --> |
| | |
| | | <!-- <el-input v-model="form.areaid" placeholder="请输入行政区划名称" /> --> |
| | | </el-form-item> |
| | | <el-form-item label="负责人" prop="principal"> |
| | | <el-input v-model="form.principal" placeholder="请输入负责人" style="width:135px" /> |
| | | <el-input |
| | | v-model="form.principal" |
| | | placeholder="请输入负责人" |
| | | style="width: 135px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="院区地址" prop="areaName"> |
| | | <el-input v-model="form.areaName" placeholder="请输入院区地址" style="width:510px" /> |
| | | <el-input |
| | | v-model="form.areaName" |
| | | placeholder="请输入院区地址" |
| | | style="width: 510px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="负责人电话" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请输入负责人电话" style="width:135px" /> |
| | | <el-input |
| | | v-model="form.phone" |
| | | placeholder="请输入负责人电话" |
| | | style="width: 135px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="成立日期" prop="buildDate"> |
| | | <el-date-picker |
| | |
| | | style="width: 200px" |
| | | /> |
| | | <el-form-item label="排序" prop="orderNum"> |
| | | <el-input |
| | | v-model="form.orderNum" |
| | | placeholder="请输入排序" |
| | | style="width: 145px" |
| | | /> |
| | | </el-form-item> |
| | | <el-input |
| | | v-model="form.orderNum" |
| | | placeholder="请输入排序" |
| | | style="width: 145px" |
| | | /> |
| | | </el-form-item> |
| | | </el-form-item> |
| | | <el-form-item label="开放床位数" prop="openBed"> |
| | | <el-input v-model="form.openBed" placeholder="请输入开放床位数" style="width: 200px" /> |
| | | <el-input |
| | | v-model="form.openBed" |
| | | placeholder="请输入开放床位数" |
| | | style="width: 200px" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | |
| | | <!-- <el-form-item label="数据状态(PT10.00.004)" prop="effective"> |
| | | <el-select |
| | | v-model="form.effective" |
| | |
| | | name: "Hosp", |
| | | dicts: ["sys_yes_no", "dict_data_status", "dict_qhdm"], |
| | | data() { |
| | | let checkPhoneNum = (rule, value, callback) => { |
| | | /* let checkPhoneNum = (rule, value, callback) => { |
| | | console.log( value) |
| | | let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); |
| | | if (value == "" && value == undefined && !value) { |
| | |
| | | }else if (!patter.test(value)) { |
| | | return callback(''); |
| | | } |
| | | }; */ |
| | | let checkPhoneNum = (rule, value, callback) => { |
| | | const pattern = /^1[3-9]\d{9}$/; // 正确的手机号正则 |
| | | if (!value) { |
| | | return callback(new Error("请输入负责人电话")); // 必填项校验 |
| | | } |
| | | if (!pattern.test(value)) { |
| | | return callback(new Error("请输入正确的手机号")); // 格式校验 |
| | | } |
| | | return callback(); // 校验通过 |
| | | }; |
| | | |
| | | return { |
| | | // 遮罩层 |
| | | loading: true, |
| | |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | /* rules: { |
| | | hospAreaName: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | hospid: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | hospid: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], |
| | | // hospName: [ |
| | | // { required: true, message: "医疗机构名称不能为空", trigger: "blur" }, |
| | | // ], |
| | | code: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | code: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], |
| | | mainHospArea: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | validator: checkPhoneNum, |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | createBy: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | createTime: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | // orderNum: [ |
| | | // { required: true, message: "排序不能为空", trigger: "blur" }, |
| | |
| | | effective: [ |
| | | { |
| | | required: true, |
| | | validator: checkPhoneNum, |
| | | validator: checkPhoneNum, |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | createByName: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | updateByName: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | areaName: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | principal: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | phone: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, // 使用手机号校验器 |
| | | ], |
| | | }, */ |
| | | |
| | | rules: { |
| | | hospAreaName: [ |
| | | { required: true, message: "请输入院区名称", trigger: "blur" }, |
| | | ], |
| | | code: [{ required: true, message: "请输入院区编码", trigger: "blur" }], |
| | | mainHospArea: [ |
| | | { required: true, message: "请选择是否主院区", trigger: "change" }, |
| | | ], |
| | | principal: [ |
| | | { required: true, message: "请输入负责人", trigger: "blur" }, |
| | | ], |
| | | areaName: [ |
| | | { required: true, message: "请输入院区地址", trigger: "blur" }, |
| | | ], |
| | | phone: [ |
| | | { required: true, validator: checkPhoneNum, trigger: "blur" }, |
| | | ], |
| | | }, |
| | | }; |