From ec64a69276a1a7fa64096d45e2f804fd38d99d17 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 19 二月 2025 10:50:13 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/patient/outpatient.vue | 1681 ++++++++++++++++++++++++++------------------------------- 1 files changed, 761 insertions(+), 920 deletions(-) diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue index 729725d..69302e2 100644 --- a/src/views/patient/patient/outpatient.vue +++ b/src/views/patient/patient/outpatient.vue @@ -1,946 +1,787 @@ <template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-col :span="24" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="濮撳悕" prop="name"> - <el-input - v-model="queryParams.name" - placeholder="璇疯緭鍏ュ鍚�" - clearable - style="width: 200px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎮h�呯紪鍙�" prop="iccardno"> - <el-input - v-model="queryParams.iccardno" - placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" - clearable - style="width: 250px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎮h�呯紪鍙�" prop="telcode"> - <el-input - v-model="queryParams.telcode" - placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" - clearable - style="width: 280px" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="鎮h�呰寖鍥�" prop="tagId"> - <el-select - v-model="queryParams.Patientid" - multiple - placeholder="璇烽�夋嫨" + <div class="app-container"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + <el-col :span="24" :xs="24"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="98px" + > + <el-form-item label="濮撳悕" prop="name"> + <el-input + v-model="queryParams.patname" + placeholder="璇疯緭鍏ュ鍚�" + clearable + style="width: 200px" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="鎮h�呯紪鍙�" prop="patid"> + <el-input + v-model="queryParams.patid" + placeholder="璇疯緭鍏ユ偅鑰呯紪鍙�" + clearable + style="width: 250px" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + + <el-form-item label="鎮h�呰寖鍥�" prop="tagId"> + <el-select v-model="queryParams.Patientid" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in Patientrange" + :key="item.id" + :label="item.name" + :value="item.id" > - <el-option - v-for="item in Patientrange" - :key="item.id" - :label="item.name" - :value="item.id" - > - </el-option> - </el-select> + </el-option> + </el-select> + </el-form-item> + <el-row> + <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="createTime"> + <el-date-picker + clearable + v-model="queryParams.createTime" + type="date" + value-format="yyyy-MM-dd" + placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 " + > + </el-date-picker> </el-form-item> - <el-row> - <el-form-item label="鎮h�呮爣绛�" prop="tagId"> - <el-select - v-model="queryParams.tagIds" - multiple - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagid" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="admitdate"> - <el-date-picker - clearable - v-model="queryParams.admitdate" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 " - > - </el-date-picker> - </el-form-item> - <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-form-item> - </el-row> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> + <el-form-item> <el-button type="primary" - plain - icon="el-icon-plus" + icon="el-icon-search" size="medium" - @click="handleAdd" - v-hasPermi="['system:user:add']" - >鏂板</el-button + @click="handleQuery" + >鎼滅储</el-button > - </el-col> - <el-col :span="1.5"> <el-button - type="success" - plain - icon="el-icon-edit" + icon="el-icon-refresh" size="medium" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button + @click="resetQuery" + >閲嶇疆</el-button > - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="medium" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button - > - </el-col> - <el-col :span="19"> - <div class="documentf"> - <div class="document"> - <el-button - type="info" - plain - icon="el-icon-upload2" - size="medium" - @click="handleImport" - v-hasPermi="['system:user:import']" - >瀵煎叆</el-button - > - </div> - <div class="document"> - <el-button - type="warning" - plain - icon="el-icon-download" - size="medium" - @click="handleExport" - v-hasPermi="['system:user:export']" - >瀵煎嚭</el-button - > - </div> - </div> - </el-col> - <!-- <el-col :span="1.5"> </el-col> --> - </el-row> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="patid" - prop="patid" - /> - <el-table-column - label="鎮h�呯紪鍙�" - align="center" - key="Patientnumber" - prop="Patientnumber" - /> - <el-table-column label="濮撳悕" align="center" key="name" prop="name" /> - <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="120" - /> - <el-table-column - label="鑱旂郴鐢佃瘽" - align="center" - key="telephone" - prop="telephone" - width="120" - /> - <el-table-column - label="鎮h�呮爣绛�" - 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 }} </span> - </template> - </el-table-column> - <el-table-column - label="灏辫瘖绫诲埆" - align="center" - key="iccardtype" - prop="iccardtype" - width="120" - /> - <el-table-column - label="璇婃柇" - align="center" - key="iccardno" - prop="iccardno" - width="190" - /> - - <el-table-column - label="绉戝" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="鍖荤敓" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="鐘舵��" - align="center" - key="telcode" - prop="telcode" - width="120" - /> - <el-table-column - label="灏辫瘖鏃堕棿" - align="center" - key="archivetime" - prop="archivetime" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="澶嶈瘖鏃堕棿" - align="center" - prop="updateTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="160" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click=" - $router.push({ - path: '/patient/patient/profile/', - query: { id: scope.row.patid }, - }) - " - v-hasPermi="['system:user:edit']" - ><span class="button-textsc" - ><i class="el-icon-zoom-in"></i>鏌ョ湅</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-textxg" - ><i class="el-icon-edit"></i>淇敼</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - </el-col> - </el-row> - - <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 --> - <el-dialog - :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'" - :visible.sync="Labelchange" - width="900px" - > - <el-form ref="form" :model="form" :rules="rules" label-width="100px"> - <el-row> - <el-col :span="12"> - <el-form-item label="濮撳悕" prop="name"> - <el-input - v-model="form.name" - placeholder="璇疯緭鍏ュ鍚�" - maxlength="30" - /> - </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="dict.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="璇佷欢绫诲瀷" prop="iccardtype"> - <el-select v-model="form.iccardtype" placeholder="璇烽�夋嫨鎬у埆"> - <el-option - v-for="item in paperstypes" - :key="item.papersname" - :label="item.papersname" - :value="item.papersname" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="璇佷欢鍙�" prop="iccardno"> - <el-input - v-model="form.iccardno" - placeholder="璇疯緭鍏ヨ瘉浠跺彿" - maxlength="50" - /> - </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="璇疯緭鍏ユ墜鏈哄彿" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="浜插睘鎵嬫満鍙�" prop="relativetelcode"> - <el-input - v-model="form.relativetelcode" - placeholder="璇疯緭鍏ヤ翰灞炴墜鏈哄彿" - type="password" - maxlength="20" - show-password - /> - </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="璇疯緭鍏ュ勾榫�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鎮h�呮爣绛�"> - <!-- <el-select v-model="form.sex" placeholder="璇烽�夋嫨"> --> - <el-select v-model="form.tagList" multiple placeholder="璇烽�夋嫨"> - <el-option - v-for="item in optionstag" - :key="item.tagid" - :label="item.tagname" - :value="item.tagid" - > - </el-option> - </el-select> - <!-- </el-select> --> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="澶囨敞"> - <el-input - v-model="form.remark" - type="textarea" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> - </el-form-item> - </el-col> + </el-form-item> </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="upload.title" - :visible.sync="upload.open" - width="70%" - append-to-body - > - <el-steps :active="dractive" simple> - <el-step title="涓婁紶瀵煎叆鏂囦欢" icon="el-icon-upload"></el-step> - <el-step title="瀵煎叆妫�鏌�" icon="el-icon-picture"></el-step> - <el-step title="瀵煎叆缁撴灉" icon="el-icon-picture"></el-step> - </el-steps> - <!-- 涓婁紶瀵煎叆鏂囦欢 --> - <div class="download" v-if="dractive == 1"> - <el-upload - class="upload-demo" - ref="upload" - :limit="1" - accept=".xlsx, .xls" - :headers="upload.headers" - :action="upload.url + '?updateSupport=' + upload.updateSupport" - :disabled="upload.isUploading" - :on-progress="handleFileUploadProgress" - :on-success="handleFileSuccess" - :auto-upload="false" - drag - > - <i class="el-icon-upload"></i> - <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> - <div class="el-upload__tip text-center" slot="tip"> - <div class="el-upload__tip" slot="tip"> - <el-checkbox v-model="upload.updateSupport" /> - 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� + + <el-row :gutter="10" class="mb8"> + <!-- <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="medium" + @click="handleAdd" + v-hasPermi="['system:user:add']" + >鏂板</el-button + > + </el-col> + <el-col :span="1.5"> + <el-button + type="success" + plain + icon="el-icon-edit" + size="medium" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['system:user:edit']" + >淇敼</el-button + > + </el-col> --> + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="medium" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:user:remove']" + >鍒犻櫎</el-button + > + </el-col> + <el-col :span="19"> + <div class="documentf"> + <div class="document"> + <el-button + type="info" + plain + icon="el-icon-upload2" + size="medium" + @click="handleImport" + v-hasPermi="['system:user:import']" + >瀵煎叆</el-button + > </div> - <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span> - <el-link - type="primary" - :underline="false" - style="font-size: 24px; vertical-align: baseline" - @click="importTemplate" - >涓嬭浇妯℃澘</el-link - > + <div class="document"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="medium" + @click="handleExport" + v-hasPermi="['system:user:export']" + >瀵煎嚭</el-button + > + </div> </div> - </el-upload> - </div> - <!-- 瀵煎叆妫�鏌� --> - <div class="uploading" v-else-if="dractive == 2"> - <el-table :data="uploadingData" style="width: 100%"> - <el-table-column prop="serial" label="搴忓彿"> </el-table-column> - <el-table-column prop="name" label="濮撳悕"> </el-table-column> - <el-table-column prop="sex" label="鎬у埆"> </el-table-column> - <el-table-column prop="certificate" label="璇佷欢绫诲瀷"> - </el-table-column> - <el-table-column prop="certificatenum" label="璇佷欢鍙风爜"> - </el-table-column> - <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column> - <el-table-column prop="menum" label="鏈汉鑱旂郴鏂瑰紡"> </el-table-column> - <el-table-column prop="younum" label="浜插睘鑱旂郴鏂瑰紡"> - </el-table-column> - <el-table-column prop="tag" label="鎮h�呮爣绛�"> </el-table-column> - <el-table-column prop="erry" label="閿欒鍘熷洜"> </el-table-column> - </el-table> - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="geterryList" + </el-col> + <!-- <el-col :span="1.5"> </el-col> --> + </el-row> + + <el-table + v-loading="loading" + :data="userList" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="50" align="center" /> + <!-- <el-table-column + label="搴忓彿" + fixed + align="center" + key="id" + prop="id" + /> --> + <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" + key="patid" + prop="patid" /> - </div> - <!-- 瀹屾垚 --> - <div class="drexamine" v-else-if="dractive == 3"> - <img - src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" + <el-table-column + label="濮撳悕" + align="center" + key="patname" + prop="patname" + > + <template slot-scope="scope"> + <el-button + size="medium" + type="text" + @click=" + $router.push({ + path: '/patient/indexls/', + query: { sfzh: scope.row.idcardno }, + }) + " + ><span class="button-textsc" + >{{scope.row.patname}}</span + ></el-button + > + </template> + </el-table-column> + <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="120" /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p>鏈鍏辫瀵煎叆{{ ImportQuantity }}浣嶆偅鑰�</p> - </div> - - <div slot="footer" class="dialog-footer" v-if="dractive == 3"> - <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> --> - <el-button @click="submitclose">瀹屾垚</el-button> - </div> - <div slot="footer" v-else> - <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> - <el-button @click="submitclose">鍙� 娑�</el-button> - </div> - </el-dialog> - </div> - </template> - - <script> - import { delUser } from "@/api/system/user"; - import { - listpat_archive, - getpat_archive, - addpat_archive, - updatepat_archive, - delpat_archive, - } from "@/api/smartorpor/pat_archive"; - import { - messagelistpatient, - alterpatient, - addpatient, - particularpatient, - deletepatient, - Exporterrorpatient, - toleadpatient, - } from "@/api/patient/homepage"; - import { listtag } from "@/api/system/label"; - import { getToken } from "@/utils/auth"; - import Treeselect from "@riophae/vue-treeselect"; - import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - - export default { - name: "Userhuanze", - dicts: ["sys_normal_disable", "sys_user_sex"], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "", - // 閮ㄩ棬鏍戦�夐」 - deptOptions: undefined, - // 鏄惁鏄剧ず寮瑰嚭灞� + <el-table-column + label="鑱旂郴鐢佃瘽" + align="center" + key="telcode" + prop="telcode" + width="120" + /> + <!-- <el-table-column + label="鎮h�呮爣绛撅紙缂猴級" + 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 }} </span> + </template> + </el-table-column> --> + + <el-table-column + label="璇婃柇" + align="center" + key="diagname" + prop="diagname" + width="190" + /> + <!-- <el-table-column + label="涓昏堪" + align="center" + key="mainsuit" + prop="mainsuit" + width="120" + /> --> + <el-table-column + label="灏辫瘖绉戝" + align="center" + key="deptname" + prop="deptname" + width="120" + /> + <el-table-column + label="鎺ヨ瘖鍖荤敓" + align="center" + key="drname" + prop="drname" + width="120" + /> + + <el-table-column + label="鎿嶄綔" + fixed="right" + align="center" + width="160" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button + size="medium" + type="text" + @click=" + $router.push({ + path: '/patient/patient/profile/', + query: { id: scope.row.patid }, + }) + " + v-hasPermi="['system:user:edit']" + ><span class="button-textsc" + ><i class="el-icon-zoom-in"></i>鏌ョ湅</span + ></el-button + > + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + </el-col> + </el-row> + + <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> + <el-dialog + :title="upload.title" + :visible.sync="upload.open" + width="70%" + append-to-body + > + <el-steps :active="dractive" simple> + <el-step title="涓婁紶瀵煎叆鏂囦欢" icon="el-icon-upload"></el-step> + <el-step title="瀵煎叆妫�鏌�" icon="el-icon-picture"></el-step> + <el-step title="瀵煎叆缁撴灉" icon="el-icon-picture"></el-step> + </el-steps> + <!-- 涓婁紶瀵煎叆鏂囦欢 --> + <div class="download" v-if="dractive == 1"> + <el-upload + class="upload-demo" + ref="upload" + :limit="1" + accept=".xlsx, .xls" + :headers="upload.headers" + :action="upload.url + '?updateSupport=' + upload.updateSupport" + :disabled="upload.isUploading" + :on-progress="handleFileUploadProgress" + :on-success="handleFileSuccess" + :auto-upload="false" + drag + > + <i class="el-icon-upload"></i> + <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> + <div class="el-upload__tip text-center" slot="tip"> + <div class="el-upload__tip" slot="tip"> + <el-checkbox v-model="upload.updateSupport" /> + 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� + </div> + <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span> + <el-link + type="primary" + :underline="false" + style="font-size: 24px; vertical-align: baseline" + @click="importTemplate" + >涓嬭浇妯℃澘</el-link + > + </div> + </el-upload> + </div> + <!-- 瀵煎叆妫�鏌� --> + <div class="uploading" v-else-if="dractive == 2"> + <el-table :data="uploadingData" style="width: 100%"> + <el-table-column prop="serial" label="搴忓彿"> </el-table-column> + <el-table-column prop="name" label="濮撳悕"> </el-table-column> + <el-table-column prop="sex" label="鎬у埆"> </el-table-column> + <el-table-column prop="certificate" label="璇佷欢绫诲瀷"> + </el-table-column> + <el-table-column prop="certificatenum" label="璇佷欢鍙风爜"> + </el-table-column> + <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column> + <el-table-column prop="menum" label="鏈汉鑱旂郴鏂瑰紡"> </el-table-column> + <el-table-column prop="younum" label="浜插睘鑱旂郴鏂瑰紡"> + </el-table-column> + <el-table-column prop="tag" label="鎮h�呮爣绛�"> </el-table-column> + <el-table-column prop="erry" label="閿欒鍘熷洜"> </el-table-column> + </el-table> + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="geterryList" + /> + </div> + <!-- 瀹屾垚 --> + <div class="drexamine" v-else-if="dractive == 3"> + <img + src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg" + /> + <p>瀵煎叆鎮h�呮垚鍔燂紒</p> + <p>鏈鍏辫瀵煎叆{{ ImportQuantity }}浣嶆偅鑰�</p> + </div> + + <div slot="footer" class="dialog-footer" v-if="dractive == 3"> + <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> --> + <el-button @click="submitclose">瀹屾垚</el-button> + </div> + <div slot="footer" v-else> + <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> + <el-button @click="submitclose">鍙� 娑�</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { delUser } from "@/api/system/user"; + +import { + listPatouthosp, + getPatouthosp, + addPatouthosp, + updatePatouthosp, + delPatouthosp, +} from "@/api/smartor/patouthosp"; +import { listtag } from "@/api/system/label"; +import { getToken } from "@/utils/auth"; +import Treeselect from "@riophae/vue-treeselect"; +import "@riophae/vue-treeselect/dist/vue-treeselect.css"; + +export default { + name: "Userhuanze", + dicts: ["sys_normal_disable", "sys_user_sex"], + components: { Treeselect }, + data() { + return { + // 閬僵灞� + loading: true, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 鐢ㄦ埛琛ㄦ牸鏁版嵁 + userList: null, + // 寮瑰嚭灞傛爣棰� + title: "", + // 閮ㄩ棬鏍戦�夐」 + deptOptions: undefined, + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 閮ㄩ棬鍚嶇О + deptName: undefined, + // 榛樿瀵嗙爜 + initPassword: undefined, + amendtag: false, //鏄惁淇敼 + // 鏃ユ湡鑼冨洿 + dateRange: [], + paperstypes: [ + { papersname: "韬唤璇�" }, + { papersname: "鎶ょ収" }, + { papersname: "涓浗娓境灞呮皯韬唤璇�" }, + { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" }, + ], + // 琛ㄥ崟鍙傛暟 + form: { + name: "", + age: "", + sex: "", + tagList: [], + idcardno: "", + telcode: "", + idcardtype: "", + relativetelcode: "", + }, + //瀵煎叆杩涘害 + dractive: 1, + // 瀵煎叆灞曠ず琛ㄥ崟 + uploadingData: {}, + total: 0, // 鎬绘潯鏁� + ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲� + Labelchange: false, //淇敼鏂板寮圭獥 + propss: { multiple: true }, + optionstag: [], //鏍囩鍒楄〃 + Patientrange: [ + { + name: "鍏ㄩ儴", + id: 999, + }, + { + name: "褰撳墠绉戝", + id: 1, + }, + ], + defaultProps: { + children: "children", + label: "label", + }, + // 鐢ㄦ埛瀵煎叆鍙傛暟 + upload: { + // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� open: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - amendtag: false, //鏄惁淇敼 - // 鏃ユ湡鑼冨洿 - dateRange: [], - paperstypes: [ - { papersname: "韬唤璇�" }, - { papersname: "鎶ょ収" }, - { papersname: "涓浗娓境灞呮皯韬唤璇�" }, - { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" }, - ], - // 琛ㄥ崟鍙傛暟 - form: { - name: "", - age: "", - sex: "", - tagList: [], - iccardno: "", - telcode: "", - iccardtype: "", - relativetelcode: "", - }, - //瀵煎叆杩涘害 - dractive: 1, - // 瀵煎叆灞曠ず琛ㄥ崟 - uploadingData: {}, - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲� - Labelchange: false, //淇敼鏂板寮圭獥 - propss: { multiple: true }, - optionstag: [], //鏍囩鍒楄〃 - Patientrange: [ - { - name: "鍏ㄩ儴", - id: 1, - }, - { - name: "褰撳墠绉戝", - id: 1, - }, - ], - defaultProps: { - children: "children", - label: "label", - }, - // 鐢ㄦ埛瀵煎叆鍙傛暟 - upload: { - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� - open: false, - // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� - title: "", - // 鏄惁绂佺敤涓婁紶 - isUploading: false, - // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - updateSupport: 0, - // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, - // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/system/user/importData", - }, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - iccardno: undefined, - name: undefined, - status: undefined, - tagIds: undefined, - telcode: undefined, - }, - // 琛ㄥ崟鏍¢獙 - rules: { - // userName: [ - // { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 2, - // max: 20, - // message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // nickName: [ - // { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - // ], - // password: [ - // { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - // { - // min: 5, - // max: 20, - // message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - // trigger: "blur", - // }, - // ], - // email: [ - // { - // type: "email", - // message: "璇疯緭鍏ユ纭殑閭鍦板潃", - // trigger: ["blur", "change"], - // }, - // ], - // phonenumber: [ - // { - // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - // message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - // trigger: "blur", - // }, - // ], - // IDnumber: [ - // { - // 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", - // }, - // ], - }, + // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� + title: "", + // 鏄惁绂佺敤涓婁紶 + isUploading: false, + // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� + updateSupport: 0, + // 璁剧疆涓婁紶鐨勮姹傚ご閮� + headers: { Authorization: "Bearer " + getToken() }, + // 涓婁紶鐨勫湴鍧� + url: process.env.VUE_APP_BASE_API + "/system/user/importData", + }, + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + }, + // 琛ㄥ崟鏍¢獙 + rules: { + // userName: [ + // { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, + // { + // min: 2, + // max: 20, + // message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", + // trigger: "blur", + // }, + // ], + // nickName: [ + // { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, + // ], + // password: [ + // { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, + // { + // min: 5, + // max: 20, + // message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", + // trigger: "blur", + // }, + // ], + // email: [ + // { + // type: "email", + // message: "璇疯緭鍏ユ纭殑閭鍦板潃", + // trigger: ["blur", "change"], + // }, + // ], + // phonenumber: [ + // { + // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + // message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", + // trigger: "blur", + // }, + // ], + // IDnumber: [ + // { + // 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", + // }, + // ], + }, + }; + }, + watch: { + // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 + deptName(val) { + this.$refs.tree.filter(val); + }, + }, + created() { + this.getList(); + this.gettabList(); + }, + methods: { + /** 鏌ヨ鎮h�呭垪琛� */ + getList() { + this.loading = true; + listPatouthosp(this.queryParams).then((response) => { + console.log(response); + this.userList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + /** 鏌ヨ鏍囩鍒楄〃 */ + gettabList() { + const tagqueryParams = { + pageNum: 1, + pageSize: 1000, + tagname: undefined, + tagdescription: undefined, + tagcategoryid: "0", }; + listtag(tagqueryParams).then((response) => { + console.log(response); + this.optionstag = response.rows; + }); }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - }, + // 鏌ヨ瀵煎叆灞曠ず鍒楄〃 + geterryList() { + this.loading = true; + listJob(this.queryParams).then((response) => { + this.jobList = 1; + this.total = 1; + this.loading = false; + }); }, - created() { + + // 绛涢�夎妭鐐� + filterNode(value, data) { + if (!value) return true; + return data.label.indexOf(value) !== -1; + }, + // 鑺傜偣鍗曞嚮浜嬩欢 + handleNodeClick(data) { + this.queryParams.deptId = data.id; + this.handleQuery(); + }, + + // 鍙栨秷鎸夐挳 + cancel() { + this.Labelchange = false; + this.reset(); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + name: "", + age: "", + sex: "", + tagList: [], + idcardno: "", + telcode: "", + idcardtype: "", + relativetelcode: "", + }; + // this.resetForm("form"); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; this.getList(); - this.gettabList(); }, - methods: { - /** 鏌ヨ鎮h�呭垪琛� */ - getList() { - this.loading = true; - messagelistpatient(this.queryParams).then((response) => { - console.log(response); - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - /** 鏌ヨ鏍囩鍒楄〃 */ - gettabList() { - const queryParams = {}; - listtag().then((response) => { - console.log(response); - this.optionstag = response.rows; - }); - }, - // 鏌ヨ瀵煎叆灞曠ず鍒楄〃 - geterryList() { - this.loading = true; - listJob(this.queryParams).then((response) => { - this.jobList = 1; - this.total = 1; - this.loading = false; - }); - }, - - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.label.indexOf(value) !== -1; - }, - // 鑺傜偣鍗曞嚮浜嬩欢 - handleNodeClick(data) { - this.queryParams.deptId = data.id; - this.handleQuery(); - }, - - // 鍙栨秷鎸夐挳 - cancel() { - this.Labelchange = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - name: "", - age: "", - sex: "", - tagList: [], - iccardno: "", - telcode: "", - iccardtype: "", - relativetelcode: "", - }; - // this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.patid); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.Labelchange = true; - this.amendtag = false; - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - console.log(row); - const userIds = row.patid || this.ids; - particularpatient(userIds).then((response) => { - console.log(response); - this.form = response.data; - }); - this.amendtag = true; - this.Labelchange = true; - }, - - //淇敼/鏂板鎮h�� - submitForm() { - if (this.amendtag) { - alterpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("淇敼鎴愬姛"); - }); - } else { - addpatient(this.form) - .then((response) => { - console.log(response); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("娣诲姞鎴愬姛"); - }); - } - this.reset(); - // this.idds = ""; - this.Labelchange = false; - }, - - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return deletepatient(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "smartor/patarchive/export", - { - ...this.queryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - /** 涓嬭浇妯℃澘鎿嶄綔 */ - importTemplate() { - this.download( - "system/user/importTemplate", - {}, - `user_template_${new Date().getTime()}.xlsx` - ); - }, - // 鏂囦欢涓婁紶涓鐞� - handleFileUploadProgress(event, file, fileList) { - this.upload.isUploading = true; - }, - // 鏂囦欢涓婁紶鎴愬姛澶勭悊 - handleFileSuccess(response, file, fileList) { - this.upload.open = false; - this.upload.isUploading = false; - this.$refs.upload.clearFiles(); - this.$alert( - "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + - response.msg + - "</div>", - "瀵煎叆缁撴灉", - { dangerouslyUseHTMLString: true } - ); - this.getList(); - }, - // 鎻愪氦涓婁紶鏂囦欢 - submitFileForm() { - // 涓婁紶 - if (this.dractive == 1) { - this.$refs.upload.submit(); - this.dractive++; - } else { - this.dractive++; - } - }, - submitclose() { - this.upload.open = false; - this.dractive = 1; - }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.dateRange = []; + this.resetForm("queryForm"); + this.$refs.tree.setCurrentKey(null); + this.handleQuery(); }, - }; - </script> - - <style lang="scss" scoped> - .el-button--primary.is-plain { - color: #ffffff; - background: #409eff; - border-color: #4fabe9; + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.patid); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.reset(); + this.Labelchange = true; + this.amendtag = false; + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + console.log(row); + const userIds = row.patid || this.ids; + particularpatient(userIds).then((response) => { + console.log(response); + this.form = response.data; + }); + this.amendtag = true; + this.Labelchange = true; + }, + + //淇敼/鏂板鎮h�� + submitForm() { + if (this.amendtag) { + console.log(22); + this.form.isoperation = 2; + } else { + this.form.isoperation = 1; + } + alterpatient(this.form) + .then((response) => { + console.log(response); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("淇濆瓨鎴愬姛"); + }); + this.reset(); + // this.idds = ""; + this.Labelchange = false; + }, + + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + const userIds = row.userId || this.ids; + this.$modal + .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') + .then(function () { + return deletepatient(userIds); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download( + "smartor/patarchive/export", + { + ...this.queryParams, + }, + `user_${new Date().getTime()}.xlsx` + ); + }, + /** 瀵煎叆鎸夐挳鎿嶄綔 */ + handleImport() { + this.upload.title = "鐢ㄦ埛瀵煎叆"; + this.upload.open = true; + }, + /** 涓嬭浇妯℃澘鎿嶄綔 */ + importTemplate() { + this.download( + "smartor/import/getImportPatTemplate", + {}, + `user_template_${new Date().getTime()}.xlsx` + ); + }, + // 鏂囦欢涓婁紶涓鐞� + handleFileUploadProgress(event, file, fileList) { + this.upload.isUploading = true; + }, + // 鏂囦欢涓婁紶鎴愬姛澶勭悊 + handleFileSuccess(response, file, fileList) { + this.upload.open = false; + this.upload.isUploading = false; + this.$refs.upload.clearFiles(); + this.$alert( + "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + + response.msg + + "</div>", + "瀵煎叆缁撴灉", + { dangerouslyUseHTMLString: true } + ); + this.getList(); + }, + // 鎻愪氦涓婁紶鏂囦欢 + submitFileForm() { + // 涓婁紶 + if (this.dractive == 1) { + this.$refs.upload.submit(); + this.dractive++; + } else { + this.dractive++; + } + }, + submitclose() { + this.upload.open = false; + this.dractive = 1; + }, + }, +}; +</script> + +<style lang="scss" scoped> +.el-button--primary.is-plain { + color: #ffffff; + background: #409eff; + border-color: #4fabe9; +} +.document { + width: 100px; + height: 50px; +} +.documentf { + display: flex; + justify-content: flex-end; +} +.download { + text-align: center; + .el-upload__tip { + font-size: 23px; } - .document { + .el-upload__text { + font-size: 23px; + } +} +.uploading { + margin-top: 20px; + margin: 20px; + padding: 30px; + background: #ffffff; + border: 1px solid #dcdfe6; + -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), + 0 0 6px 0 rgba(0, 0, 0, 0.04); +} +.drexamine { + display: flex; + align-items: center; + justify-content: center; + padding: 30px; + background: #daeaf5; + img { width: 100px; - height: 50px; + height: 100px; } - .documentf { - display: flex; - justify-content: flex-end; - } - .download { - text-align: center; - .el-upload__tip { - font-size: 23px; - } - .el-upload__text { - font-size: 23px; - } - } - .uploading { - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #ffffff; - border: 1px solid #dcdfe6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), - 0 0 6px 0 rgba(0, 0, 0, 0.04); - } - .drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - img { - width: 100px; - height: 100px; - } - } - .button-textsc { - color: #28cfe6; - } - </style> - \ No newline at end of file +} +.button-textsc { + color: #28cfe6; +} +</style> -- Gitblit v1.9.3