From 136b92041c3303fbb52f3d8ac95237c8788db93b Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期日, 27 四月 2025 09:16:58 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/patient/index.vue | 818 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 540 insertions(+), 278 deletions(-) diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue index cfccd0a..62796f9 100644 --- a/src/views/patient/patient/index.vue +++ b/src/views/patient/patient/index.vue @@ -1,7 +1,7 @@ <template> <div class="Questionnairemanagement"> <!-- 宸︿晶鏍� --> - <div class="sidecolumn"> + <!-- <div class="sidecolumn"> <div class="sidecolumn-top"> <div class="top-wj">鍖婚櫌鎮h��</div> </div> @@ -12,20 +12,23 @@ v-model="queryParams.allhosp" @tab-click="handleClick" > - <el-tab-pane label="浣忛櫌鎮h��" name="1"></el-tab-pane> + <el-tab-pane label="鍑哄叆闄㈡偅鑰�" name="1"></el-tab-pane> <el-tab-pane label="闂ㄨ瘖鎮h��" name="2"></el-tab-pane> <el-tab-pane label="浣撴鎮h��" name="3"></el-tab-pane> </el-tabs> </div> - </div> + </div> --> <!-- 鍙充晶鏁版嵁 --> <div class="leftvlue"> - <div> + <!-- <div> <el-row :gutter="10"> <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index"> - <el-card shadow="hover"> - <div style="padding: 8px"> + <el-card + shadow="hover" + :body-style="item.router ? ' cursor: pointer' : 'cursor: default'" + > + <div style="padding: 8px" @click="$router.push(item.router)"> <span>{{ item.name }}</span> <div style=" @@ -41,7 +44,7 @@ </el-card> </el-col> </el-row> - </div> + </div> --> <div class="leftvlue-bg"> <el-row :gutter="20"> <!--鐢ㄦ埛鏁版嵁--> @@ -54,73 +57,42 @@ v-show="showSearch" label-width="98px" > - <el-form-item label="闄㈠尯" prop="userName"> - <el-select v-model="queryParams.value1" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="绉戝/鐥呭尯" prop="userName"> - <el-select v-model="queryParams.value2" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item - label-width="138px" - label="涓绘不鍖荤敓" - prop="userName" - > - <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鍏ラ櫌鏃ユ湡" prop="userName"> - <el-date-picker - v-model="queryParams.valuetime1" - align="right" - type="date" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - <el-form-item label="鍑洪櫌鏃ユ湡" prop="departuretime"> - <el-date-picker - v-model="queryParams.departuretime" - align="right" - type="date" - placeholder="閫夋嫨鏃ユ湡" - > - </el-date-picker> - </el-form-item> - <el-form-item label="灏辫瘖缂栧彿" prop="number"> - <el-input - v-model="queryParams.number" - placeholder="璇疯緭鍏ョ紪鍙�" - maxlength="30" - /> - </el-form-item> - <el-form-item label="濮撳悕" prop="name"> + <el-form-item label="鎮h�呭鍚�" prop="name"> <el-input v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" maxlength="30" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="鎮h�呮爣绛�" prop="tagname"> + <el-input + v-model="queryParams.tagname" + placeholder="杈撳叆杩涜妯$硦鏌ヨ" + maxlength="30" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="鎮h�呰寖鍥�" prop="tagId"> + <el-select + v-model="queryParams.searchscope" + placeholder="璇烽�夋嫨鎮h�呰寖鍥�" + > + <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 label="鑱旂郴鐢佃瘽" prop="telcode"> + <el-input + v-model="queryParams.telcode" + placeholder="璇疯緭鍏ヨ仈绯荤數璇�" + maxlength="30" + @keyup.enter.native="handleQuery" /> </el-form-item> @@ -142,7 +114,7 @@ </el-form> <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> + <!-- <el-col :span="1.5"> <el-button type="primary" plain @@ -152,19 +124,8 @@ 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> --> + <el-col :span="1.5"> <el-button type="danger" @@ -175,6 +136,16 @@ @click="handleDelete" v-hasPermi="['system:user:remove']" >鍒犻櫎</el-button + > + </el-col> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-s-promotion" + size="medium" + @click="distribute" + >鍚戜换鍔℃淳鍙戞偅鑰�</el-button > </el-col> <el-col :span="6"> @@ -208,16 +179,19 @@ <el-table v-loading="loading" :data="userList" + height="660" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> - <el-table-column + <!-- <el-table-column + fixed label="搴忓彿" align="center" - key="patid" - prop="patid" - /> + key="id" + prop="id" + /> --> <el-table-column + fixed label="濮撳悕" align="center" key="name" @@ -233,22 +207,27 @@ align="center" key="age" prop="age" - width="120" - /> + 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="160" + width="120" > </el-table-column> <el-table-column label="灞呬綇鍦�" align="center" - key="age" - prop="age" - width="120" + key="placeOfResidence" + prop="placeOfResidence" + width="150" + :show-overflow-tooltip="true" /> <el-table-column label="鎮h�呮爣绛�" @@ -259,20 +238,16 @@ :show-overflow-tooltip="true" > <template slot-scope="scope"> - <span v-for="item in scope.row.tagList">{{ item }} </span> + <span v-for="item in scope.row.tagList" + >{{ item.tagname }} + </span> </template> </el-table-column> <el-table-column - label="璇佷欢绫诲瀷" - align="center" - key="idtype" - prop="idtype" - width="120" - /><el-table-column label="璇佷欢鍙风爜" align="center" - key="idno" - prop="idno" + key="idcardno" + prop="idcardno" width="190" /> @@ -286,22 +261,26 @@ <el-table-column label="寤烘。鏃ユ湡" align="center" - key="uploadTime" - prop="uploadTime" + 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="updateTime" + prop="archivetime" width="160" > <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> + <span>{{ formatTime(scope.row.archivetime) }}</span> </template> </el-table-column> <el-table-column + fixed="right" label="鎿嶄綔" align="center" width="190" @@ -314,32 +293,37 @@ @click=" $router.push({ path: '/patient/patient/profile/', - query: { id: scope.row.patid }, + query: { id: scope.row.id }, }) " - v-hasPermi="['system:user:edit']" ><span class="button-textsc" - ><i class="el-icon-zoom-in"></i>鏌ョ湅</span + ><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-textxga" - ><i class="el-icon-edit"></i>淇敼</span + ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span ></el-button > - <el-button + <!-- <el-button size="medium" type="text" @click="Distributionservice(scope.row)" - v-hasPermi="['system:user:edit']" ><span class="button-textxg" ><i class="el-icon-menu"></i>鏈嶅姟</span ></el-button - > + > --> + <!-- <el-button + size="medium" + type="text" + @click="RiskMarker(scope.row)" + ><span class="button-textxg" + ><i class="el-icon-menu"></i>椋庨櫓鏍囪</span + ></el-button + > --> </template> </el-table-column> </el-table> @@ -355,6 +339,127 @@ </el-row> </div> </div> + <el-dialog title="閫夋嫨浠诲姟" :visible.sync="distributeVisible" width="70%"> + <div class="preview-left"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + label-width="98px" + > + <el-select + @change="distribute" + v-model="tasktopic" + placeholder="璇烽�夋嫨浠诲姟绫诲瀷" + > + <el-option + v-for="item in taskoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form> + <el-table v-loading="loading" :data="taskuserList"> + <el-table-column + label="浠诲姟鍚嶇О" + fixed + align="center" + key="taskName" + prop="taskName" + width="140" + :show-overflow-tooltip="true" + /> + <el-table-column + label="浠诲姟鎻忚堪" + align="center" + key="taskDesc" + prop="taskDesc" + width="180" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鏈嶅姟椤圭洰" + align="center" + key="templatename" + prop="templatename" + /> + <el-table-column + label="寰呮墽琛�/鎬讳换鍔�" + align="center" + key="nickName" + prop="nickName" + > + <template slot-scope="scope"> + <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span> + </template> + </el-table-column> + <el-table-column + label="鍒涘缓浜�" + align="center" + key="createBy" + prop="createBy" + width="120" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鍒涘缓鏃堕棿" + sortable + align="center" + prop="createTime" + width="160" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.createTime) }}</span> + </template> + </el-table-column> + <el-table-column + label="鐘舵��" + fixed="right" + align="center" + key="sendState" + prop="sendState" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.task_status" + :value="scope.row.sendState" + /> + </template> + </el-table-column> + + <el-table-column + label="浠诲姟璇︽儏" + fixed="right" + align="center" + width="200" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button + size="medium" + type="text" + @click="handleUpdate(scope.row)" + ><span class="button-xq" + ><i class="el-icon-s-data"></i>閫夋嫨娲惧彂</span + ></el-button + > + </template> + </el-table-column> + </el-table> + + <pagination + v-show="tasktotal > 0" + :total="tasktotal" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="distribute" + /> + </div> + </el-dialog> <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 --> <el-dialog @@ -377,7 +482,7 @@ <el-form-item label="鎬у埆" prop="sex"> <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆"> <el-option - v-for="dict in dict.type.sys_user_sex" + v-for="dict in sextype" :key="dict.value" :label="dict.label" :value="dict.value" @@ -386,7 +491,7 @@ </el-form-item> </el-col> <el-col :span="8"> - <el-form-item label="姘戞棌" prop="age"> + <el-form-item label="骞撮緞" prop="age"> <el-input v-model="form.age" placeholder="璇疯緭鍏ュ勾榫�" @@ -395,11 +500,11 @@ </el-form-item> </el-col> </el-row> - <el-row> + <el-row v-if="!amendtag"> <el-col :span="8"> <el-form-item label="姘戞棌" prop="name"> <el-input - v-model="form.name" + v-model="form.nation" placeholder="璇疯緭鍏ユ皯鏃�" maxlength="30" /> @@ -408,7 +513,7 @@ <el-col :span="8"> <el-form-item label="绫嶈疮" prop="age"> <el-input - v-model="form.age" + v-model="form.nativePlace" placeholder="璇疯緭鍏ョ睄璐�" maxlength="30" /> @@ -424,52 +529,31 @@ </el-form-item> </el-col> </el-row> - <el-row> + + <el-row v-if="!amendtag"> <el-col :span="12"> - <el-form-item label="璇佷欢绫诲瀷" prop="idtype"> - <el-select v-model="form.idtype" 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="idno"> + <el-form-item label="鍑虹敓鍦�" prop="birthplace"> <el-input - v-model="form.idno" - placeholder="璇疯緭鍏ヨ瘉浠跺彿" - maxlength="50" - /> - </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" + v-model="form.birthplace" placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" maxlength="50" /> </el-form-item> </el-col ><el-col :span="12"> - <el-form-item label="灞呬綇鍦�" prop="idno"> + <el-form-item label="灞呬綇鍦�" prop="placeOfResidence"> <el-input - v-model="form.idno" + v-model="form.placeOfResidence" placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" maxlength="50" /> </el-form-item> </el-col> </el-row> + <el-row> - <el-col :span="24"> + <el-col :span="amendtag ? 12 : 24" v-if="!amendtag"> <el-form-item label="鎮h�呯被鍨�"> - <el-select v-model="form.Patienttype" placeholder="璇烽�夋嫨绫诲瀷"> + <el-select v-model="form.pattype" placeholder="璇烽�夋嫨绫诲瀷"> <el-option v-for="item in Patienttype" :key="item.value" @@ -479,9 +563,32 @@ </el-select> </el-form-item> </el-col> + <!-- <el-col :span="12" v-if="amendtag"> + <el-form-item label="杩囨护璇存槑"> + <el-select v-model="form.notrequiredreason" placeholder="璇烽�夋嫨杩囨护绫诲瀷"> + <el-option + v-for="item in dict.type.futter_patient" + :key="item.value" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> --> </el-row> <el-row> - <el-col :span="24"> + <el-col :span="24" v-if="amendtag"> + <el-form-item label="杩囨护鍘熷洜"> + <el-input + v-model="form.notrequiredreason" + type="textarea" + placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24" v-if="!amendtag"> <el-form-item label="澶囨敞"> <el-input v-model="form.remark" @@ -518,20 +625,19 @@ :limit="1" accept=".xlsx, .xls" :headers="upload.headers" - :action="upload.url + '?updateSupport=' + upload.updateSupport" + :action="upload.url" :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"> + <!-- <div class="el-upload__tip" slot="tip"> <el-checkbox v-model="upload.updateSupport" /> 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - </div> + </div> --> <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span> <el-link type="primary" @@ -540,15 +646,15 @@ @click="importTemplate" >涓嬭浇妯℃澘 </el-link> - <el-link + <!-- <el-link type="success" :underline="false" style="font-size: 24px; vertical-align: baseline" href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4" target="_blank" > - 鏌ョ湅妯$増</el-link - > + 鏌ョ湅妯℃澘</el-link + > --> </div> </el-upload> </div> @@ -558,8 +664,7 @@ <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> @@ -598,8 +703,6 @@ <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> @@ -631,17 +734,45 @@ </el-dialog> <!-- 璺宠浆鏈嶅姟瀵硅瘽妗� --> <el-dialog title="閫夋嫨鏈嶅姟绫诲瀷" :visible.sync="serviceVisible"> - <el-radio-group v-model="serviceradio"> - <el-radio :label="1">瀹f暀闅忚</el-radio> - <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio> - <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio> - <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio> - <el-radio :label="5">浣撴閫氱煡</el-radio> - <el-radio :label="6">闂嵎鏈嶅姟</el-radio> - </el-radio-group> + <el-card class="box-card"> + <el-radio-group v-model="serviceradio"> + <el-radio :label="1">瀹f暀闅忚</el-radio> + <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio> + <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio> + <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio> + <el-radio :label="5">浣撴閫氱煡</el-radio> + <el-radio :label="6">闂嵎鏈嶅姟</el-radio> + </el-radio-group> + </el-card> <div slot="footer" class="dialog-footer"> <el-button @click="serviceVisible = false">鍙� 娑�</el-button> <el-button type="primary" @click="CreateService">鍒涘缓鏈嶅姟</el-button> + </div> + </el-dialog> + <!-- 椋庨櫓绫诲瀷 --> + <el-dialog title="閫夋嫨椋庨櫓绫诲瀷" :visible.sync="RiskVisible"> + <el-card class="box-card"> + <el-form> + <el-form-item label="椋庨櫓绫诲瀷"> + <el-radio-group v-model="Riskradio"> + <el-radio :label="1">姝e父</el-radio> + <el-radio :label="2">杞诲井</el-radio> + <el-radio :label="3">楂樺嵄</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="娲诲姩鎬ц川"> + <el-checkbox-group v-model="Risklist"> + <el-checkbox label="鎯呭喌1" name="type"></el-checkbox> + <el-checkbox label="鎯呭喌2" name="type"></el-checkbox> + <el-checkbox label="鎯呭喌3" name="type"></el-checkbox> + <el-checkbox label="鎯呭喌4" name="type"></el-checkbox> + </el-checkbox-group> + </el-form-item> + </el-form> + </el-card> + <div slot="footer" class="dialog-footer"> + <el-button @click="RiskVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="RiskService">纭淇敼</el-button> </div> </el-dialog> </div> @@ -649,13 +780,7 @@ <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, @@ -665,14 +790,21 @@ Exporterrorpatient, toleadpatient, } from "@/api/patient/homepage"; +import { getTasklist } from "@/api/AiCentre/index"; import { listtag } from "@/api/system/label"; import { getToken } from "@/utils/auth"; import Treeselect from "@riophae/vue-treeselect"; +import store from "@/store"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; export default { - name: "Userhuanze", - dicts: ["sys_normal_disable", "sys_user_sex"], + name: "Patient", + dicts: [ + "sys_normal_disable", + "task_status", + "sys_user_sex", + "futter_patient", + ], components: { Treeselect }, data() { return { @@ -688,8 +820,11 @@ showSearch: true, // 鎬绘潯鏁� total: 0, + tasktotal: 0, + Risklist: [], // 鐢ㄦ埛琛ㄦ牸鏁版嵁 userList: null, + taskuserList: null, // 寮瑰嚭灞傛爣棰� title: "", // 閮ㄩ棬鏍戦�夐」 @@ -704,8 +839,22 @@ amendtag: false, //鏄惁淇敼 serviceVisible: false, serviceradio: 1, + distributeVisible: false, + RiskVisible: false, + tasktopic: "5", //鏂板绫诲瀷 + Riskradio: 1, + RiskObj: {}, + // 鏌ヨ鍙傛暟 + topqueryParams: { + pageNum: 1, + pageSize: 10, + userName: undefined, + tagid: undefined, + topic: undefined, + }, // 鏃ユ湡鑼冨洿 dateRange: [], + taskoptions: [], paperstypes: [ { papersname: "韬唤璇�" }, { papersname: "鎶ょ収" }, @@ -715,15 +864,26 @@ Patienttype: [ { value: "1", - label: "浣忛櫌鎮h��", + label: "鍦ㄩ櫌鎮h��", }, - { - value: "2", - label: "闂ㄨ瘖鎮h��", - }, + { value: "3", label: "浣撴鎮h��", + }, + { + value: "4", + label: "鍑洪櫌鎮h��", + }, + ], + sextype: [ + { + value: 1, + label: "鐢�", + }, + { + value: 2, + label: "濂�", }, ], @@ -735,18 +895,30 @@ { name: "鍦ㄩ櫌鎮h��", value: 23, + router: "/patient/inpatient", }, { - name: "绂婚櫌鎮h��", + name: "鍑洪櫌鎮h��", value: 41, - }, - { - name: "璇婄枟鎮h��", - value: 56, + router: "/patient/hospital", }, { name: "绂讳笘鎮h��", value: 0, + }, + ], + source: [ + { + value: 0, + label: "鎵�灞炴偅鑰�", + }, + { + value: 1, + label: "绉戝鎮h��", + }, + { + value: 2, + label: "鐥呭尯鎮h��", }, ], // 琛ㄥ崟鍙傛暟 @@ -755,9 +927,9 @@ age: "", sex: "", tagList: [], - idno: "", + idcardno: "", telcode: "", - idtype: "", + idcardtype: "", relativetelcode: "", }, activeName: "first", //渚ц竟閫夋嫨 @@ -787,14 +959,17 @@ // 璁剧疆涓婁紶鐨勮姹傚ご閮� headers: { Authorization: "Bearer " + getToken() }, // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/system/user/importData", + url: process.env.VUE_APP_BASE_API + "/smartor/import/importPatInfo", }, // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, allhosp: "1", pageSize: 10, - idno: undefined, + searchscope: 2, + notrequiredFlag:1, + tagname: "", + idcardno: undefined, name: undefined, status: undefined, tagIds: undefined, @@ -802,49 +977,43 @@ }, // 琛ㄥ崟鏍¢獙 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", - // }, - // ], + 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" }, + ], }, }; }, @@ -857,13 +1026,30 @@ created() { this.getList(); this.gettabList(); + //鑾峰彇宸茬瓫閫夊悗鐨勫彲閫変换鍔$被鍨� + this.taskoptions = store.getters.Serviceauthority; }, methods: { /** 鏌ヨ鎮h�呭垪琛� */ getList() { + if (this.queryParams.searchscope == 1) { + this.queryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.queryParams.leavehospitaldistrictcodes = null; + } else if (this.queryParams.searchscope == 2) { + this.queryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + this.queryParams.leaveldeptcodes = null; + } else { + this.queryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.queryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } this.loading = true; messagelistpatient(this.queryParams).then((response) => { - console.log(response); this.userList = response.rows; this.total = response.total; this.loading = false; @@ -872,10 +1058,20 @@ handleClick() { this.getList(); }, + findLabelByValue(data, value) { + const item = data.find((item) => item.value === value); + return item ? item.label : null; + }, /** 鏌ヨ鏍囩鍒楄〃 */ gettabList() { - const queryParams = {}; - listtag().then((response) => { + const tagqueryParams = { + pageNum: 1, + pageSize: 1000, + tagname: undefined, + tagdescription: undefined, + tagcategoryid: "0", + }; + listtag(tagqueryParams).then((response) => { console.log(response); this.optionstag = response.rows; }); @@ -892,6 +1088,10 @@ Distributionservice(row) { this.serviceVisible = true; }, + RiskMarker(row) { + this.RiskVisible = true; + this.RiskObj = row; + }, // 鍙栨秷鎸夐挳 cancel() { @@ -905,9 +1105,9 @@ age: "", sex: "", tagList: [], - idno: "", + idcardno: "", telcode: "", - idtype: "", + idcardtype: "", relativetelcode: "", }; // this.resetForm("form"); @@ -920,13 +1120,17 @@ /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.dateRange = []; - this.resetForm("queryForm"); - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); + (this.queryParams = { + pageNum: 1, + allhosp: "1", + pageSize: 10, + searchscope: 2, + }), + this.handleQuery(); }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { - this.ids = selection.map((item) => item.patid); + this.ids = selection.map((item) => item.id); this.single = selection.length != 1; this.multiple = !selection.length; }, @@ -939,40 +1143,44 @@ }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { - console.log(row); - const userIds = row.patid || this.ids; + const userIds = row.id || 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; + this.$refs["form"].validate((valid) => { + if (valid) { + if (this.amendtag) { + this.form.isoperation = 2; + this.form.notrequiredFlag = 1; + alterpatient(this.form) + .then((response) => { + console.log(response); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�"); + }); + } 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; + } + }); }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ @@ -996,6 +1204,43 @@ query: { type: this.serviceradio }, }); }, + RiskService() { + this.RiskObj.visitFlag = this.Risklist.join(", "); + this.RiskObj.visitType = this.Riskradio; + alterpatient(this.RiskObj).then((res) => { + if (res.code == 200) { + this.getList(); + this.Risklist = []; + this.Riskradio = 1; + this.$modal.msgSuccess("寮傚父璁板綍鎴愬姛"); + } + }); + }, + distribute() { + this.distributeVisible = true; + if (this.tasktopic == 1) { + this.topqueryParams.type = 3; + } else if (this.tasktopic == 2) { + this.topqueryParams.type = 1; + } else if (this.tasktopic == 3) { + this.topqueryParams.type = 1; + } else if (this.tasktopic == 4) { + this.topqueryParams.type = 1; + } else if (this.tasktopic == 5) { + this.topqueryParams.type = 1; + } else if (this.tasktopic == 6) { + this.topqueryParams.type = 2; + } + this.topqueryParams.typename = this.findLabelByValue( + this.taskoptions, + this.tasktopic + ); + getTasklist(this.topqueryParams).then((response) => { + this.taskuserList = response.rows; + this.tasktotal = response.total; + this.$forceUpdate(); + }); + }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { this.download( @@ -1014,7 +1259,7 @@ /** 涓嬭浇妯℃澘鎿嶄綔 */ importTemplate() { this.download( - "system/user/importTemplate", + "smartor/import/getImportPatTemplate", {}, `user_template_${new Date().getTime()}.xlsx` ); @@ -1056,9 +1301,9 @@ </script> <style lang="scss" scoped> -.Questionnairemanagement { - display: flex; -} +// .Questionnairemanagement { +// display: flex; +// } .sidecolumn { width: 180px; min-height: 100vh; @@ -1066,7 +1311,7 @@ // display: flex; margin-top: 20px; margin: 20px; - padding: 30px; + padding: 15px; background: #d0e9fd; border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), @@ -1095,6 +1340,22 @@ display: center !important; } } +.preview-left { + margin: 20px; + // margin: 20px; + padding: 30px; + background: #ffff; + 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); + .scriptTopic-dev { + margin-bottom: 25px; + font-size: 20px !important; + .dev-text { + margin-bottom: 10px; + } + } +} ::v-deep.el-tabs--left, .el-tabs--right { overflow: hidden; @@ -1119,10 +1380,11 @@ } ::v-deep.leftvlue .el-card__body:hover { background: #8dc8f8; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ } .leftvlue { - width: 80%; - margin-top: 10px; + width: 100%; + // margin-top: 10px; } .leftvlue-bg { // display: flex; -- Gitblit v1.9.3