From 6f35ca70caf02e1c2b7dbab32794c1cc1f5dbf60 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 24 十月 2024 11:15:47 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/tasklist/index.vue | 74 src/views/repositoryai/templateku/configurat/measurement.vue | 6 src/views/repositoryai/templateku/configurat/index.vue | 29 src/views/patient/medtechnician/SpecializedService.vue | 534 +++--- src/views/patient/medtechnician/PatientChart.vue | 1159 +++++++++++++++ /dev/null | 1115 --------------- src/views/patient/propaganda/index.vue | 219 +- src/views/repositoryai/verbaltrick/particulars/index.vue | 3 src/components/Regular/index.vue | 16 src/views/patient/medtechnician/Compositeeditdetails.vue | 873 +++++++++++ src/store/getters.js | 65 src/views/patient/propaganda/particty.vue | 1 src/views/followvisit/discharge/index.vue | 327 ++-- 13 files changed, 2,736 insertions(+), 1,685 deletions(-) diff --git a/src/components/Regular/index.vue b/src/components/Regular/index.vue index 9e174c7..c04cb3a 100644 --- a/src/components/Regular/index.vue +++ b/src/components/Regular/index.vue @@ -70,6 +70,18 @@ </el-input> </el-form-item ></el-col> </el-row> + <el-row :gutter="10" v-if="scriptType == 1"> + <el-form-item label="閫変腑鎻愮ず"> + <el-input + style="width: 24vw" + type="textarea" + autosize + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="item.prompt" + > + </el-input + ></el-form-item> + </el-row> <el-row> <el-form-item label="鍏抽敭瀛�(鍚�)" prop="desc" v-if="hasValue"> <div class="xinz-inf"> @@ -267,6 +279,10 @@ type: Boolean, default: true, }, + scriptType: { + type: String, + default: '1', + }, addoption: { type: Boolean, default: false, diff --git a/src/store/getters.js b/src/store/getters.js index 7434737..161fbbf 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -395,7 +395,68 @@ cssClass: "", listClass: "", }, - } + }, + ], + + // 鏈嶅姟绫诲瀷 + checkboxlist: (state) => [ + { + value: "1", + label: "浜哄伐", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "2", + label: "绾歌川", + raw: { + cssClass: "", + listClass: "", + }, + }, + + { + value: "3", + label: "鐢佃瘽", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "4", + label: "鐭俊", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "5", + label: "寰俊鍏紬鍙�", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "6", + label: "寰俊灏忕▼搴�", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "8", + label: "鏅鸿兘鏈哄櫒浜�", + raw: { + cssClass: "", + listClass: "", + }, + }, ], // 璇█ languagelist: (state) => [ @@ -573,8 +634,6 @@ }, }, ], - - }; export default getters; diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue index 3dae2ed..7ad5da9 100644 --- a/src/views/followvisit/discharge/index.vue +++ b/src/views/followvisit/discharge/index.vue @@ -1,29 +1,29 @@ <template> <div class="app-container"> - <div class="leftvlue" style="margin-bottom: 20px;"> - <el-row :gutter="10"> - <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index"> - <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=" - text-align: center; - font-size: 18px; - margin-top: 10px; - font-weight: 600; - " - > - {{ item.value }} - </div> + <div class="leftvlue" style="margin-bottom: 20px"> + <el-row :gutter="10"> + <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index"> + <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=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ item.value }} </div> - </el-card> - </el-col> - </el-row> - </div> + </div> + </el-card> + </el-col> + </el-row> + </div> <el-row :gutter="20"> <!--鐢ㄦ埛鏁版嵁--> <el-form @@ -35,7 +35,10 @@ label-width="98px" > <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.taskName" placeholder="璇烽�夋嫨浠诲姟鍚嶇О"></el-input> + <el-input + v-model="topqueryParams.taskName" + placeholder="璇烽�夋嫨浠诲姟鍚嶇О" + ></el-input> </el-form-item> <el-form-item label="鍑洪櫌鏃堕棿"> @@ -155,8 +158,8 @@ <el-table v-loading="loading" :data="userList" - height="660" - :row-class-name="tableRowClassName" + height="660" + :row-class-name="tableRowClassName" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> @@ -177,80 +180,61 @@ prop="sendname" /> <el-table-column - label="浠诲姟鐘舵��" - align="center" - key="sendstate" - prop="sendstate" - width="120" + label="浠诲姟鐘舵��" + align="center" + key="sendstate" + prop="sendstate" + width="120" > - <template slot-scope="scope"> - <div v-if="scope.row.sendstate == 1"> - <el-tag type="primary" :disable-transitions="false" + <template slot-scope="scope"> + <div v-if="scope.row.sendstate == 1"> + <el-tag type="primary" :disable-transitions="false" >琚鍙�</el-tag - > - </div> - <div v-if="scope.row.sendstate == 2"> - <el-tag type="primary" :disable-transitions="false" + > + </div> + <div v-if="scope.row.sendstate == 2"> + <el-tag type="primary" :disable-transitions="false" >寰呭彂閫�</el-tag - > - </div> - <div v-if="scope.row.sendstate == 3"> - <el-tag type="success" :disable-transitions="false" + > + </div> + <div v-if="scope.row.sendstate == 3"> + <el-tag type="success" :disable-transitions="false" >宸插彂閫佹湭棰嗗彇</el-tag - > - </div> - <div v-if="scope.row.sendstate == 4"> - <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag> - </div> - <div v-if="scope.row.sendstate == 5"> - <el-tag type="danger" :disable-transitions="false" + > + </div> + <div v-if="scope.row.sendstate == 4"> + <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag> + </div> + <div v-if="scope.row.sendstate == 5"> + <el-tag type="danger" :disable-transitions="false" >鍙戦�佸け璐�</el-tag - > - </div> - <div v-if="scope.row.sendstate == 6"> - <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag> - </div> - </template> - </el-table-column> - <el-table-column + > + </div> + <div v-if="scope.row.sendstate == 6"> + <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag> + </div> + </template> + </el-table-column> + <!-- <el-table-column label="浠诲姟寮傚父璇存槑" width="120" align="center" key="remark" - prop="remark" + prop="remark" --> /> - <!-- <el-table-column - label="缁撴灉鐘舵��" - align="center" - key="excep" - prop="excep" - width="120" - > - <template slot-scope="scope"> - <div v-if="scope.row.sendstate == 6"> - <dict-tag - :options="dict.type.sys_yujing" - :value="scope.row.excep" - /> - </div> - <div v-else> - <span></span> - </div> - </template> - </el-table-column> --> <el-table-column - label="浜哄伐澶勭悊鎰忚" - align="center" - key="suggest" - prop="suggest" - width="120" + label="浜哄伐澶勭悊鎰忚" + align="center" + key="suggest" + prop="suggest" + width="120" > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_suggest" - :value="scope.row.suggest" - /> + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_suggest" + :value="scope.row.suggest" + /> </template> </el-table-column> <el-table-column @@ -272,34 +256,34 @@ </template> </el-table-column> <el-table-column - label="鍑洪櫌鏃ユ湡" - width="200" - align="center" - key="endtime" - prop="endtime" + label="鍑洪櫌鏃ユ湡" + width="200" + align="center" + key="endtime" + prop="endtime" > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.endtime) }}</span> - </template></el-table-column + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.endtime) }}</span> + </template></el-table-column > <el-table-column - label="搴旈殢璁挎棩鏈�" - width="200" - align="center" - key="longSendTime" - prop="longSendTime" + label="搴旈殢璁挎棩鏈�" + width="200" + align="center" + key="longSendTime" + prop="longSendTime" > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.longSendTime) }}</span> + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.longSendTime) }}</span> </template></el-table-column - > - <el-table-column + > + <el-table-column label="鍑洪櫌澶╂暟" width="120" align="center" key="endDay" prop="endDay" - > + > <template slot-scope="scope"> <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "鏃ユ湡缂哄け" @@ -334,7 +318,6 @@ key="drname" prop="drname" /> - <!-- <el-table-column label="鐥呭巻鍙�" @@ -382,59 +365,56 @@ prop="templatename" width="200" /> + <el-table-column - - <!-- <el-table-column - label="璐d换鍖诲笀" + label="浠诲姟鎵ц鏂瑰紡" align="center" - key="drname" - prop="drname" - width="120" - /> --> - - <!-- <el-table-column - label="鍑洪櫌鏃堕棿" - sortable - align="center" - prop="createTime" + key="preachform" + prop="preachform" width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> --> - <!-- <el-table-column - label="闅忚鏃堕棿" - sortable - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span v-if="scope.row.sendType != 3">{{ - formatTime(scope.row.createTime) - }}</span> - <span v-else>鍗冲埢鍙戦��</span> - </template> - </el-table-column> --> - - <!-- <el-table-column - label="浠诲姟鐘舵��" - fixed="right" - align="center" - key="sendstate" - prop="sendstate" - width="120" :show-overflow-tooltip="true" > <template slot-scope="scope"> - <dict-tag :options="serviceState" :value="scope.row.sendstate" /> + <span v-for="item in scope.row.preachform" + >{{ item }}銆� + </span> </template> - </el-table-column> --> + </el-table-column> + <el-table-column + label="浠诲姟鍙戦�佹祦绋�" + align="center" + key="serviceSubtaskRecordList" + prop="serviceSubtaskRecordList" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span v-for="item in scope.row.serviceSubtaskRecordList" + >{{ item.remark }}銆� + </span> + </template> + </el-table-column> + <el-table-column + + label="浠诲姟缁撴灉璇存槑" + width="120" + align="center" + key="remark" + prop="remark" + > + <template slot-scope="scope" v-if="scope.row.remark"> + <el-tag + type="success" + v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4" + >{{ scope.row.remark }}</el-tag + > + <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag> + </template> + </el-table-column> <el-table-column label="鎿嶄綔" - fixed="right" + align="center" width="200" class-name="small-padding fixed-width" @@ -773,7 +753,7 @@ pageNum: 1, pageSize: 10, serviceType: 2, - searchscope:2, + searchscope: 2, }, propss: { multiple: true }, options: [], @@ -815,6 +795,7 @@ }, ], serviceState: [], + checkboxlist: [], // 琛ㄥ崟鏍¢獙 rules: {}, }; @@ -822,6 +803,8 @@ watch: {}, created() { this.serviceState = store.getters.serviceState; + this.checkboxlist = store.getters.checkboxlist; + this.getList(); this.getConfigKey("sys.user.initPassword").then((response) => { this.initPassword = response.msg; @@ -852,17 +835,25 @@ this.loading = true; getTaskservelist(this.topqueryParams).then((response) => { this.userList = response.rows[0].serviceSubtaskList; - this.cardlist[0].value=Number(response.rows[0].wzx)+Number(response.rows[0].ysf); - this.cardlist[1].value=response.rows[0].ysf; - this.cardlist[2].value=response.rows[0].wzx; - this.cardlist[3].value=response.rows[0].yc; - this.cardlist[4].value=response.rows[0].fssb; - this.cardlist[5].value=response.rows[0].blq; - this.cardlist[6].value=response.rows[0].yfs; + this.cardlist[0].value = + Number(response.rows[0].wzx) + Number(response.rows[0].ysf); + this.cardlist[1].value = response.rows[0].ysf; + this.cardlist[2].value = response.rows[0].wzx; + this.cardlist[3].value = response.rows[0].yc; + this.cardlist[4].value = response.rows[0].fssb; + this.cardlist[5].value = response.rows[0].blq; + this.cardlist[6].value = response.rows[0].yfs; this.userList.forEach((item) => { if (item.endtime) { item.endDay = this.daysBetween(item.endtime); } + const idArray = item.preachform.split(","); + item.preachform = idArray.map((value) => { + // 鏌ユ壘id瀵瑰簲鐨勫璞� + const item = this.checkboxlist.find((item) => item.value == value); + // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null + return item ? item.label : null; + }); }); this.total = response.total; this.loading = false; @@ -955,7 +946,7 @@ pageNum: 1, pageSize: 10, serviceType: 2, - searchscope:2, + searchscope: 2, }; this.handleQuery(); }, @@ -1100,10 +1091,10 @@ // 渚挎嵎鎸夐挳 toleadExport(too) { if (too == 1) { - this.topqueryParams.sendstate=4; - this.topqueryParams.excep=null; + this.topqueryParams.sendstate = 4; + this.topqueryParams.excep = null; } else if (too == 2) { - this.topqueryParams.excep=1; + this.topqueryParams.excep = 1; } this.handleQuery(); }, @@ -1118,12 +1109,12 @@ ); }, // 寮傚父鍒楁覆鏌� - tableRowClassName({row, rowIndex}) { - if (row.excep == 1) { - return 'warning-row'; - } - return ''; + tableRowClassName({ row, rowIndex }) { + if (row.excep == 1) { + return "warning-row"; } + return ""; + }, }, }; </script> @@ -1140,8 +1131,8 @@ height: 50px; } ::v-deep.el-table .warning-row { - background: #eec4c4; - } + background: #eec4c4; +} .documentf { display: flex; diff --git a/src/views/followvisit/record/index.vue b/src/views/followvisit/record/index.vue deleted file mode 100644 index f965cb6..0000000 --- a/src/views/followvisit/record/index.vue +++ /dev/null @@ -1,828 +0,0 @@ -<template> - <div class="app-container"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="瀹℃牳浜�"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="瀹℃牳鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> - <el-form-item label="闅忚绫诲瀷" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="妯℃澘" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="闂ㄨ瘖闅忚鐘舵��" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :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="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <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="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="搴忓彿" fixed align="center" key="id" prop="id" /> - - <el-table-column - label="濮撳悕" - fixed - align="center" - key="sendname" - prop="sendname" - /> - <el-table-column - label="鐥呭巻鍙�" - align="center" - sortable - key="userName" - prop="userName" - width="120" - /> - <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> - <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> - <el-table-column - label="绉戝/鐥呭尯" - align="center" - key="deptname" - prop="deptname" - width="120" - > - </el-table-column> - - <el-table-column - label="鐤剧梾鍚嶇О" - align="center" - key="icdName" - prop="icdName" - width="120" - :show-overflow-tooltip="true" - > - </el-table-column> - <el-table-column - label="浠诲姟鍚嶇О" - align="center" - key="taskName" - prop="taskName" - width="120" - /> - - <el-table-column - label="闅忚鏂瑰紡锛堥渶璋冩暣鏍煎紡锛�" - align="center" - key="serviceform" - prop="serviceform" - width="120" - /> - <el-table-column - label="闅忚浜哄憳" - align="center" - key="operator" - prop="operator" - width="120" - /> - - <el-table-column - label="灏辫瘖鏃堕棿" - sortable - align="center" - prop="admindate" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.admindate) }}</span> - </template> - </el-table-column> - <el-table-column - label="闅忚鏃堕棿" - sortable - align="center" - prop="finishtime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.finishtime) }}</span> - </template> - </el-table-column> - - <el-table-column - label="闅忚鐘舵��" - fixed="right" - align="center" - key="sendstate" - prop="sendstate" - width="120" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <dict-tag :options="serviceState" :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)" - v-hasPermi="['system:user:edit']" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleDelete(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> - </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> - <el-dialog - :title="title" - :visible.sync="addalteropen" - width="700px" - append-to-body - > - <el-form ref="form" :model="form" label-width="100px"> - <el-row :gutter="20"> - <el-col :span="12" - ><el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="form.name"></el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24" - ><el-form-item label="鎵�灞炵瀹�"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨绉戝"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option label="鍖哄煙浜�" value="beijing"></el-option> - </el-select> </el-form-item></el-col - ></el-row> - <el-row :gutter="20"> - <el-col :span="24" - ><el-form-item label="闅忚绫诲瀷"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨闅忚绫诲瀷"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option label="鍖哄煙浜�" value="beijing"></el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <el-form-item label="鏈嶅姟妯″潡"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨妯″潡"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option label="鍖哄煙浜�" value="beijing"></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <el-form-item label="闂ㄨ瘖闅忚瑕佹眰"> - <el-input type="textarea" v-model="form.desc"></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> - -<script> -import { - delUser, - addUser, - updateUser, - resetUserPwd, - changeUserStatus, -} from "@/api/system/user"; -import { getTaskservelist } from "@/api/AiCentre/index"; -import store from "@/store"; -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; - -export default { - name: "User", - 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: "鏂板闂ㄨ瘖闅忚", - // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 - addalteropen: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 - inputVisible: false, - inputValue: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 - radio: "", - radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, - value: [], - list: [], - loading: false, - states: [ - "Alabama", - "Alaska", - "Arizona", - "Arkansas", - "California", - "Colorado", - "Connecticut", - "Delaware", - "Florida", - "Georgia", - "Hawaii", - "Idaho", - "Illinois", - "Indiana", - "Iowa", - "Kansas", - "Kentucky", - "Louisiana", - "Maine", - "Maryland", - "Massachusetts", - "Michigan", - "Minnesota", - "Mississippi", - "Missouri", - "Montana", - "Nebraska", - "Nevada", - "New Hampshire", - "New Jersey", - "New Mexico", - "New York", - "North Carolina", - "North Dakota", - "Ohio", - "Oklahoma", - "Oregon", - "Pennsylvania", - "Rhode Island", - "South Carolina", - "South Dakota", - "Tennessee", - "Texas", - "Utah", - "Vermont", - "Virginia", - "Washington", - "West Virginia", - "Wisconsin", - "Wyoming", - ], - pickerOptions: { - disabledDate(time) { - return time.getTime() > Date.now(); - }, - shortcuts: [ - { - text: "浠婂ぉ", - onClick(picker) { - picker.$emit("pick", new Date()); - }, - }, - { - text: "鏄ㄥぉ", - onClick(picker) { - const date = new Date(); - date.setTime(date.getTime() - 3600 * 1000 * 24); - picker.$emit("pick", date); - }, - }, - { - text: "涓�鍛ㄥ墠", - onClick(picker) { - const date = new Date(); - date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); - picker.$emit("pick", date); - }, - }, - ], - }, - // 琛ㄥ崟鍙傛暟 - form: { - phonenumber: "", - totagid: "", - types: "", - nickName: "", - qystatus: "", - btstatus: "", - }, - topqueryParams: { - pageNum: 1, - pageSize: 10, - hospType: 2, - }, - propss: { multiple: true }, - options: [], - - topicoptions: [ - { - value: 1, - label: "寰呭鏍�", - }, - { - value: 2, - label: "鎵ц涓�", - }, - { - value: 3, - label: "鎵ц瀹屾垚", - }, - { - value: 4, - label: "宸插仠姝�", - }, - ], - // 琛ㄥ崟鏍¢獙 - rules: {}, - serviceState: [], - }; - }, - watch: {}, - created() { - this.serviceState = store.getters.serviceState; - this.getList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); - }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); - }, - methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */ - getList() { - this.loading = true; - getTaskservelist(this.topqueryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 - Referencequestion(row) { - this.previewVisible = true; - }, - // 娣诲姞寮规鎼滅储 - remoteMethod(query) { - if (query !== "") { - this.loading = true; - setTimeout(() => { - this.loading = false; - this.options = this.list.filter((item) => { - return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; - }); - }, 200); - } else { - this.options = []; - } - }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal - .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') - .then(function () { - return changeUserStatus(row.userId, row.status); - }) - .then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }) - .catch(function () { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.addalteropen = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [], - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.topqueryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - //鍒犻櫎閫夐」 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, - //瑙﹀彂鏂板杈撳叆 - showInput() { - this.inputVisible = true; - this.$nextTick((_) => { - this.$refs.saveTagInput.$refs.input.focus(); - }); - }, - //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 - handleInputConfirm() { - let inputValue = this.inputValue; - if (inputValue) { - this.dynamicTags.push(inputValue); - } - this.inputVisible = false; - this.inputValue = ""; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/followvisit/particty", - query: { type: 7 }, - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.$router.push({ - path: "/followvisit/record/detailpage/", - query: { id: "1" }, - }); - }, - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - }) - .then(({ value }) => { - resetUserPwd(row.userId, value).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - submitForm: function () { - this.$refs["form"].validate((valid) => { - if (valid) { - if (this.form.userId != undefined) { - updateUser(this.form).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addUser(this.form).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal - .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') - .then(function () { - return delUser(userIds); - }) - .then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }) - .catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download( - "system/user/export", - { - ...this.topqueryParams, - }, - `user_${new Date().getTime()}.xlsx` - ); - }, - }, -}; -</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; - } - - .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); -} - -.el-tag + .el-tag { - margin-left: 10px; -} - -.button-new-tag { - margin-left: 10px; - height: 32px; - line-height: 30px; - padding-top: 0; - padding-bottom: 0; -} - -.input-new-tag { - width: 90px; - margin-left: 10px; - vertical-align: bottom; -} - -.drexamine { - display: flex; - align-items: center; - justify-content: center; - padding: 30px; - background: #daeaf5; - - img { - width: 100px; - height: 100px; - } -} - -.qrcode-dialo { - // text-align: center; - // display: flex; - margin: 20px; - padding: 30px; - background: #edf1f7; - 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); - - .topic-dev { - margin-bottom: 25px; - font-size: 20px !important; - - .dev-text { - margin-bottom: 10px; - } - } -} -.button-bb { - font-weight: 500; - color: #2ba05c; -} -.button-xq { - font-weight: 500; - color: #409eff; -} -.button-sc { - font-weight: 500; - color: #dd302a; -} -.button-zx { - background: #4fabe9; - padding: 5px; - border-radius: 1px; - color: #ffffff; -} - -::v-deep.el-radio-group { - span { - font-size: 24px; - } -} - -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} -</style> diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue index 0d4f58b..6f173c5 100644 --- a/src/views/followvisit/tasklist/index.vue +++ b/src/views/followvisit/tasklist/index.vue @@ -71,7 +71,7 @@ <el-select @change="handleQuery" v-model="tasktopic" - placeholder="璇烽�夋嫨鏂板绫诲瀷" + placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷" > <el-option v-for="item in taskoptions" @@ -82,11 +82,8 @@ </el-option> </el-select> </el-col> - <!-- <el-col :span="1.5"> - <el-select - v-model="longTask" - placeholder="璇烽�夋嫨浠诲姟绫诲瀷" - > + <el-col :span="1.5"> + <el-select v-model="topqueryParams.type" placeholder="璇烽�夋嫨鎵ц绫诲瀷"> <el-option v-for="item in longtermlist" :key="item.value" @@ -95,7 +92,7 @@ > </el-option> </el-select> - </el-col> --> + </el-col> <el-col :span="1.5"> <el-button type="primary" @@ -457,12 +454,16 @@ }, longtermlist: [ { - value: "1", - label: "闀挎湡浠诲姟", + value: 1, + label: "璇煶闅忚", }, { - value: "0", - label: "鏅�氫换鍔�", + value: 2, + label: "闂嵎闅忚", + }, + { + value: 3, + label: "瀹f暀鍏虫��", }, ], taskoptions: [ @@ -606,7 +607,7 @@ }, propss: { multiple: true }, options: [], - + checkboxlist:[], // 琛ㄥ崟鏍¢獙 rules: { userName: [ @@ -669,7 +670,7 @@ this.getConfigKey("sys.user.initPassword").then((response) => { this.initPassword = response.msg; }); - // this.taskoptions = store.getters.Serviceauthority; + this.checkboxlist = store.getters.checkboxlist; }, activated() { this.getList(); @@ -696,13 +697,37 @@ this.tasktopic == 6 ) { this.topqueryParams.type = 2; - this.TaskOperation.taskType = 2; + this.longtermlist = [ + { + value: 1, + label: "璇煶闅忚", + }, + { + value: 2, + label: "闂嵎闅忚", + }, + ]; } else if (this.tasktopic == 4 || this.tasktopic == 8) { this.topqueryParams.type = 3; - this.TaskOperation.taskType = 3; + this.longtermlist = [ + { + value: 3, + label: "瀹f暀鍏虫��", + }, + + ]; } else if (this.tasktopic == 5) { this.topqueryParams.type = 1; - this.TaskOperation.taskType = 1; + this.longtermlist = [ + { + value: 1, + label: "璇煶闅忚", + }, + { + value: 2, + label: "闂嵎闅忚", + }, + ]; } // this.topqueryParams.typename = this.findLabelByValue( // this.taskoptions, @@ -710,14 +735,12 @@ // ); this.topqueryParams.startOutHospTime = this.dateRange[0]; this.topqueryParams.endOutHospTime = this.dateRange[1]; - getTasklist(this.topqueryParams).then( - (response) => { - this.userList = response.rows; - this.total = response.total; - this.$forceUpdate(); - this.loading = false; - } - ); + getTasklist(this.topqueryParams).then((response) => { + this.userList = response.rows; + this.total = response.total; + this.$forceUpdate(); + this.loading = false; + }); }, // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 Referencequestion(row) { @@ -901,6 +924,7 @@ this.taskformVisible = true; } else if (this.taskform.sendState != 2 && this.taskform.sendType == 2) { this.TaskOperation.taskId = row.taskid; + this.TaskOperation.taskType = this.topqueryParams.type; this.TaskOperation.sendState = 2; this.TaskOperation.sendType = 2; this.$modal @@ -926,6 +950,7 @@ confirmSponsor(row) { if (this.activname == 0) { this.TaskOperation.taskId = row.taskid; + this.TaskOperation.taskType = this.topqueryParams.type; this.TaskOperation.sendState = 2; TaskTemplateSendExecution(this.TaskOperation).then((res) => { if (res.code == 200) { @@ -943,6 +968,7 @@ immediateExecution(row) { console.log(row, "浠诲姟淇℃伅"); if (row.sendState != 2) { + this.TaskOperation.taskType = this.topqueryParams.type; this.TaskOperation.taskId = row.taskid; this.TaskOperation.sendState = 2; this.TaskOperation.sendType = 2; diff --git a/src/views/patient/medtechnician/Compositeeditdetails.vue b/src/views/patient/medtechnician/Compositeeditdetails.vue new file mode 100644 index 0000000..61f49c8 --- /dev/null +++ b/src/views/patient/medtechnician/Compositeeditdetails.vue @@ -0,0 +1,873 @@ +<template> + <div> + <div class="Followuserinfo"> + <div> + <div class="userinfo-text"> + <!-- <span>鎮h�呮湇鍔¤鎯�</span> --> + <div class="headline"> + <div>鏈嶅姟鎮h�呭垪琛�</div> + <div style="margin-left: 20px"> + <el-button + icon="el-icon-download" + v-if="!Whetherall" + type="success" + @click="getTaskservedr()" + >瀵煎叆鏈嶅姟鎮h��</el-button + > + </div> + </div> + <!-- <el-button type="success">闅忚鍚庣煭淇�</el-button> --> + </div> + </div> + <div> + <el-table :data="logsheetlist" style="width: 100%"> + <el-table-column + prop="sendname" + align="center" + key="sendname" + label="濮撳悕" + > + </el-table-column> + <el-table-column prop="sfz" align="center" key="sfz" label="韬唤璇佸彿"> + </el-table-column> + <el-table-column + prop="telcode" + align="center" + key="telcode" + label="鐢佃瘽" + > + </el-table-column> + <el-table-column + label="鍑洪櫌鏃ユ湡" + width="200" + align="center" + key="endtime" + prop="endtime" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.endtime) }}</span> + </template></el-table-column + > + <el-table-column + label="鐥呭尯" + width="120" + align="center" + key="leavehospitaldistrictname" + prop="leavehospitaldistrictname" + /> + <el-table-column + label="绉戝" + width="120" + align="center" + key="deptname" + prop="deptname" + /> + <el-table-column + label="璐d换鎶ゅ+" + width="120" + align="center" + key="nurseName" + prop="nurseName" + /> + <el-table-column + label="涓绘不鍖荤敓" + width="120" + align="center" + key="drname" + prop="drname" + /> + + <el-table-column + label="澶勭悊鎰忚" + align="center" + key="suggest" + prop="suggest" + width="120" + > + </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="Seedetails(scope.row)" + v-hasPermi="['system:user:edit']" + ><span class="button-zx" + ><i class="el-icon-s-order"></i>鏌ョ湅鏈嶅姟</span + ></el-button + > + </template> + </el-table-column> --> + </el-table> + </div> + </div> + <el-card style="margin: 20px" class="box-card"> + <div class="presentation"> + <div class="presentation-left"> + <div class="headline"> + <div>浠诲姟娴佺▼</div> + + <div style="margin-left: 20px"> + <el-button + icon="el-icon-plus" + v-if="!Whetherall" + type="primary" + @click="getTaskservelist()" + >娣诲姞浠诲姟娴佺▼</el-button + > + </div> + </div> + <el-divider></el-divider> + <div class="block"> + <el-timeline> + <el-timeline-item color="#5cb3cc" placement="top" hide-timestamp> + <div class="custom-timestamp"> + <span + >鍑洪櫌绗�<span style="color: #1661ab; font-size: 20px">{{ + 5 + }}</span + >澶╂墽琛�</span + > + </div> + <div @click="singletask"> + <el-card shadow="hover"> + <h2 style="color: #1a94bc; font-weight: 600"> + 闂嵎闅忚<span + style="font-size: 16px; margin-left: 10px; color: black" + >蹇冭绠″唴绉戦殢璁�</span + > + </h2> + <p>鐜嬪皬铏� 鍒涘缓浜� 2018/4/12 20:46</p> + </el-card> + </div> + </el-timeline-item> + <el-timeline-item color="#5cb3cc" hide-timestamp placement="top"> + <div class="custom-timestamp"> + <span + >鍑洪櫌绗�<span style="color: #1661ab; font-size: 20px">{{ + 6 + }}</span + >澶╂墽琛�</span + > + </div> + <el-card shadow="hover"> + <h2 style="color: #1a94bc; font-weight: 600"> + 璇煶闅忚<span + style="font-size: 16px; margin-left: 10px; color: black" + >璇煶涓�鍙烽殢璁�</span + > + </h2> + <p>鐜嬪皬铏� 鍒涘缓浜� 2018/4/3 20:46</p> + </el-card> + </el-timeline-item> + <el-timeline-item color="#5cb3cc" hide-timestamp placement="top"> + <div class="custom-timestamp"> + <span + >鍑洪櫌绗�<span style="color: #1661ab; font-size: 20px">{{ + 8 + }}</span + >澶╂墽琛�</span + > + </div> + <el-card shadow="hover"> + <h2 style="color: #1a94bc; font-weight: 600"> + 瀹f暀闅忚<span + style="font-size: 16px; margin-left: 10px; color: black" + >绠¢ゲ绗簩娆″鏁�</span + > + </h2> + <p>鐜嬪皬铏� 鍒涘缓浜� 2018/4/2 20:46</p> + </el-card> + </el-timeline-item> + </el-timeline> + </div> + </div> + <el-divider direction="vertical"></el-divider> + <div class="presentation-right"> + <el-form + :model="ruleForm" + :rules="rules" + ref="ruleForm" + label-width="100px" + class="demo-ruleForm" + > + <div class="headline">鍩虹淇℃伅缂栬緫</div> + <el-divider></el-divider> + <div style="margin: 15px; margin-top: 50px"> + <el-form-item label="浠诲姟缁勫悕绉�" prop="name"> + <el-input + v-model="ruleForm.switchText" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + <el-form-item label="浠诲姟缁勬弿杩�" prop="name"> + <el-input + type="textarea" + :rows="2" + v-model="ruleForm.ms" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="鏄惁鍚敤" prop="resource"> + <el-select v-model="ruleForm.isEnable" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in usable" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + <el-col :span="12"> + <el-form-item label="鏄惁闀挎湡浠诲姟" prop="resource"> + <el-select v-model="ruleForm.isEnd" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in usablend" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <!-- 鍗曚换鍔″熀纭�鏁版嵁 --> + <el-form-item label="閫変腑浠诲姟鍚嶇О" prop="name"> + <el-input + v-model="ruleForm.switchText" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + <el-form-item label="閫変腑妯℃澘鍚嶇О" prop="name"> + <el-input v-model="ruleForm.mb" placeholder="璇疯緭鍏�"></el-input> + </el-form-item> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="寮�濮嬫墽琛屾椂闂�" prop="resource"> + <el-input + v-model="ruleForm.switchText" + placeholder="璇疯緭鍏�" + ></el-input> </el-form-item + ></el-col> + <el-col :span="12"> + <el-form-item label="鏄惁闀挎湡浠诲姟" prop="resource"> + <el-input + v-model="ruleForm.switchText" + placeholder="璇疯緭鍏�" + ></el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="鏄惁鍚敤琛ュ伩" prop="resource"> + <el-select v-model="ruleForm.isEnable" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in usable" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + <el-col :span="12"> + <el-form-item label="浠诲姟绫诲瀷" prop="resource"> + <el-select v-model="ruleForm.isEnd" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in usablend" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-form-item> + <el-button type="primary" @click="submitForm('ruleForm')" + >淇濆瓨浠诲姟缁�</el-button + > + <el-button + v-if="ruleForm.id" + type="primary" + plain + @click="modification('edit')" + >鏇存柊娴佺▼</el-button + > + + <el-button @click="resetForm('ruleForm')">鍏抽棴</el-button> + </el-form-item> + </div> + </el-form> + </div> + </div> + </el-card> + <!-- 璺宠浆鏈嶅姟瀵硅瘽妗� --> + <el-dialog title="閫夋嫨鏂板缓浠诲姟绫诲瀷" :visible.sync="serviceVisible"> + <el-card class="box-card"> + <el-form ref="form" :model="form" label-width="80px"> + <el-form-item label="浠诲姟绫诲瀷"> + <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-form-item> + <el-form-item label="鏂板缓鏂瑰紡" v-if="serviceradio"> + <el-radio-group v-model="serviceradiofs"> + <el-radio :label="1">鍒濆鍖栧垱寤�</el-radio> + <el-radio :label="2">浠ョ幇鏈変换鍔℃ā鏉夸慨鏀瑰垱寤�</el-radio> + </el-radio-group> + </el-form-item> + </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" + /> + </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="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-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" + :disabled="upload.isUploading" + :on-progress="handleFileUploadProgress" + :on-success="handleFileSuccess" + 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> + <!-- <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 + > --> + </div> + </el-upload> + </div> + + <!-- 瀹屾垚 --> + <div class="drexamine" v-else-if="dractive == 2"> + <div style="display: flex"> + <img src="@/assets/images/瀵煎叆.png" /> + <p>瀵煎叆鎮h�呮垚鍔燂紒</p> + <p> + 鏈鎴愬姛瀵煎叆<span style="color: #72d3a9; font-size: 20px">{{ + uploadingData.length + }}</span + >浣嶆偅鑰� + </p> + </div> + + <el-table :data="uploadingData" style="width: 100%"> + <el-table-column prop="serial" label="鎮h�卛d"> </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="idcardno" width="300" label="璇佷欢鍙风爜"> + </el-table-column> + <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column> + <el-table-column prop="telcode" width="200" label="鑱旂郴鏂瑰紡"> + </el-table-column> + <el-table-column prop="createTime" width="200" 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 slot="footer"> + <el-button type="primary" @click="submitFileForm">{{ + dractive == 1 ? "涓嬩竴姝�" : "鍔犲叆浠诲姟" + }}</el-button> + <el-button @click="submitclose">鍙� 娑�</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import store from "@/store"; +import { + editgeneravaluel, + addgeneravaluel, + getgeneravaluelinfo, + addgeneral, + editgeneral, + getgeneralinfo, + getgeneralclassify, + delgeneravaluelinfo, + getgeneravaluellist, +} from "@/api/AiCentre/index"; +import { getToken } from "@/utils/auth"; + +export default { + data() { + return { + loading: false, + id: null, + usable: [], + index: "", + queryParams:{ + pageNum: 1, // + pageSize: 10, + }, + logsheetlist: [], + deptOptions: [], + mode: [], + pitchon: "", + targetList: [], + + usablend: [ + { + value: 0, + label: "闈炵粨鏉熻", + }, + { + value: 1, + label: "缁撴潫璇�", + }, + ], + ruleForm: { + dynamiccruxs: [], + nodynamiccruxs: [], + }, + baseForm: { + extName: "", + }, + // 鐢ㄦ埛瀵煎叆鍙傛暟 + upload: { + // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� + open: false, + // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� + title: "", + // 鏄惁绂佺敤涓婁紶 + isUploading: false, + // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� + updateSupport: 0, + // 璁剧疆涓婁紶鐨勮姹傚ご閮� + headers: { Authorization: "Bearer " + getToken() }, + // 涓婁紶鐨勫湴鍧� + url: process.env.VUE_APP_BASE_API + "/smartor/import/importPatInfo", + }, + rules: {}, + bases: {}, + whether: 1, //1涓哄叧閿瘝锛�2涓哄惁瀹氬叧閿瘝 + dractive: 1, + inputValue: "", + serviceradio: "", + serviceradiofs: "", + serviceVisible: false, + inputVisible: false, + noinputVisible: false, + loading: false, + regular: [], + noregular: [], + }; + }, + + created() { + this.id = this.$route.query.id; + this.getList(); + this.usable = store.getters.usablesz; + this.mode = store.getters.mode; + this.regular = store.getters.regular; + this.noregular = store.getters.noregular; + }, + + methods: { + getList() { + if (this.id) { + this.$modal.loading("璇风◢鍊�..."); + getgeneralinfo(this.id).then((res) => { + if (res.code == 200) { + this.baseForm = res.data; + } + this.$modal.closeLoading(); + }); + getgeneravaluellist({ extID: this.id }).then((res) => { + if (res.code == 200) { + this.targetList = res.rows; + } + this.$modal.closeLoading(); + }); + } + getgeneralclassify({}).then((res) => { + this.deptOptions = res.rows; + console.log(res); + }); + }, + // 鏂板浠诲姟 + getTaskservelist() { + this.serviceVisible = true; + }, + // 瀵煎叆鎮h�� + getTaskservedr() { + this.upload.title = "鐢ㄦ埛瀵煎叆"; + this.upload.open = true; + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() {}, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row, index) { + this.pitchon = row.switchText; + this.ruleForm = row; + this.index = index; + }, + // 鍒犻櫎 + handleDelete(item) { + this.$modal + .confirm("鏄惁纭鍒犻櫎璇ヨ瘽鏈」锛�") + .then((res) => { + if (item.id) { + delgeneravaluelinfo(item.id).then((res) => { + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }); + } + this.targetList = this.targetList.filter((obj) => obj !== item); + }) + .catch(() => {}); + }, + // 淇濆瓨涓昏〃 + submitForm() { + if (this.baseForm.id) { + editgeneral(this.baseForm).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.savetalk(); + } + }); + } else { + addgeneral(this.baseForm).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.baseForm.id = res.data.id; + this.id = res.data.id; + this.savetalk(); + } + }); + } + }, + // 淇濆瓨璇濇湳 + savetalk() { + this.targetList.forEach((obj) => { + if (obj.id) { + editgeneravaluel(obj).then((res) => { + this.getList(); + }); + } else { + obj.extID = this.baseForm.id; + addgeneravaluel(obj).then((res) => { + this.getList(); + }); + } + }); + }, + modification(type) { + if (type == "add") { + console.log(this.ruleForm, "ruleForm"); + this.targetList.push(this.ruleForm); + } else { + this.targetList[this.index] = this.ruleForm; + } + this.ruleForm = {}; + }, + // 鍏抽棴 + resetForm() { + this.$confirm("鍗冲皢閫�鍑洪〉闈�, 璇风‘璁ゆ暟鎹槸鍚︿繚瀛�?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + this.$router.go(-1); + }) + .catch(() => { + this.$message({ + type: "info", + message: "宸插彇娑�", + }); + }); + }, + + // 姝e垯----------------- + singletask(row) {}, + // 瀵煎叆----------------- + /** 瀵煎叆鎸夐挳鎿嶄綔 */ + handleImport() { + this.upload.title = "鐢ㄦ埛瀵煎叆"; + this.upload.open = true; + }, + handleFileUploadProgress(event, file, fileList) { + this.upload.isUploading = true; + }, + // 鏂囦欢涓婁紶鎴愬姛澶勭悊 + handleFileSuccess(response, file, fileList) { + this.upload.isUploading = false; + this.uploadingData = response.rows; + console.log(response, "鏂囦欢"); + + this.$refs.upload.clearFiles(); + }, + // 鎻愪氦涓婁紶鏂囦欢 + submitFileForm() { + // 涓婁紶 + if (this.dractive == 1) { + this.$refs.upload.submit(); + this.dractive++; + } else if (this.dractive == 2) { + this.handleSelectionChange(this.uploadingData, 4); + this.upload.open = false; + this.dractive = 1; + } + }, + submitclose() { + this.upload.open = false; + this.dractive = 1; + }, + }, +}; +</script> + +<style lang="scss" scoped> +.Followuserinfo { + margin: 20px 10px; + align-items: center; + 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); + .userinfo-text { + font-size: 20px; + margin-right: 20px; + margin-bottom: 10px; + } + .userinfo-value { + color: rgb(15, 139, 211); + span { + margin-right: 20px; + } + } +} +.download { + text-align: center; + .el-upload__tip { + font-size: 23px; + } + .el-upload__text { + font-size: 23px; + } +} +.headline { + font-size: 24px; + height: 40px; + border-left: 5px solid #5788fe; + padding-left: 5px; + margin-bottom: 10px; + display: flex; + // justify-content: space-between; + .Add-details { + font-size: 18px; + color: #02a7f0; + cursor: pointer; + } +} +.presentation { + margin: 20px 0; + display: flex; + .presentation-left { + width: 50%; + // height: 500px; + } + .presentation-right { + width: 50%; + max-height: 688px; + padding: 0 20px; + font-size: 18px; + overflow: auto; + } +} +.button-textxg { + color: rgb(35, 81, 233); +} +.button-textsc { + color: rgb(235, 23, 23); +} +.topicxq { + background-color: #e2f5fc; + border-radius: 4px; + margin-top: 10px; + padding: 10px; +} + +.el-tag + .el-tag { + margin-left: 10px; +} +.button-new-tag { + margin-left: 10px; + height: 32px; + line-height: 30px; + padding-top: 0; + padding-bottom: 0; +} +.input-new-tag { + width: 90px; + margin-left: 10px; + vertical-align: bottom; +} +::v-deep .block .el-card { + border: 1px solid #52aee8; +} +::v-deep .block .el-card.is-hover-shadow:hover { + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 8px 16px rgba(0, 0, 0, 0.2); + cursor: pointer; +} +</style> diff --git a/src/views/patient/medtechnician/PatientChart.vue b/src/views/patient/medtechnician/PatientChart.vue new file mode 100644 index 0000000..b458d95 --- /dev/null +++ b/src/views/patient/medtechnician/PatientChart.vue @@ -0,0 +1,1159 @@ +<template> + <div class="app-container"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + + <el-form + :model="topqueryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="98px" + > + <el-form-item label="浠诲姟缁勫悕绉�"> + <el-input + v-model="topqueryParams.taskName" + @keyup.enter.native="handleQuery" + ></el-input> + </el-form-item> + <el-form-item label="鍒涘缓浜�"> + <el-input + v-model="topqueryParams.createBy" + @keyup.enter.native="handleQuery" + ></el-input> + </el-form-item> + <el-form-item label="鍒涘彂閫佹椂闂�"> + <el-date-picker + v-model="dateRange" + style="width: 240px" + value-format="yyyy-MM-dd" + type="daterange" + range-separator="-" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + ></el-date-picker> + </el-form-item> + + <el-form-item label="浠诲姟缁勬ā鏉�" prop="status"> + <el-input + v-model="topqueryParams.templatename" + @keyup.enter.native="handleQuery" + ></el-input> + </el-form-item> + <el-form-item label="浠诲姟缁勭姸鎬�" prop="status"> + <el-select v-model="topqueryParams.sendState" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in dict.type.task_status" + :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="handleQuery" + >鎼滅储</el-button + > + <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + <el-divider></el-divider> + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-select + 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-col> + + <el-col :span="1.5"> + <el-button + type="primary" + icon="el-icon-plus" + size="medium" + @click="handleAdd" + :disabled="!tasktopic" + >鏂板缓浠诲姟缁�</el-button + > + </el-col> + + <!-- <el-col :span="19"> + <div class="documentf"> + <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> + <!-- <right-toolbar + :showSearch.sync="showSearch" + @queryTable="getList" + :columns="columns" + ></right-toolbar> --> + <el-table v-loading="loading" :data="userList"> + <!-- <el-table-column + label="搴忓彿" + fixed + align="center" + key="taskid" + prop="taskid" + /> --> + + <el-table-column + label="浠诲姟缁勫悕绉�" + fixed + width="120" + align="center" + key="taskName" + prop="taskName" + :show-overflow-tooltip="true" + /> + <el-table-column + label="浠诲姟缁勬弿杩�" + width="280" + align="center" + key="taskDesc" + prop="taskDesc" + :show-overflow-tooltip="true" + /> + <el-table-column + label="浠诲姟娴佺▼" + width="280" + align="center" + key="taskDesc" + prop="taskDesc" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鏈嶅姟椤圭洰" + width="120" + align="center" + key="templatename" + prop="templatename" + :show-overflow-tooltip="true" + /> + <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="longTask" + prop="longTask" + width="120" + > + <template slot-scope="scope"> + <span>{{ scope.row.longTask ? "闀挎湡浠诲姟缁�" : "闈為暱鏈�" }}</span> + </template> + </el-table-column> + + <el-table-column + label="鐘舵��" + 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="鍒涘缓浜�" + 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" + width="180" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button + v-if=" + (scope.row.sendState == 1 || scope.row.sendState == 3) && + !scope.row.longTask + " + size="medium" + type="text" + @click="sponsor(scope.row)" + ><span class="button-zx" + ><i class="el-icon-s-promotion"></i>鍙戣捣</span + ></el-button + > + <!-- <el-button size="medium" type="text" @click="newAdd(scope.row)" + ><span class="button-xj" + ><i class="el-icon-circle-plus-outline"></i>缁堟</span + ></el-button + > --> + <el-button + size="medium" + type="text" + @click="handleUpdate(scope.row, 1)" + ><span class="button-xj" + ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span + ></el-button + > + <el-button + v-if="scope.row.sendState == 2" + size="medium" + type="text" + @click="stop(scope.row)" + ><span class="button-zt" + ><i class="el-icon-circle-plus-outline"></i>鏆傚仠</span + ></el-button + > + </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 + > + + <el-button size="medium" type="text" @click="deletefn(scope.row)" + ><span class="button-sc" + ><i class="el-icon-delete"></i>鍒犻櫎</span + ></el-button + > + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total > 0" + :total="total" + :page.sync="topqueryParams.pageNum" + :limit.sync="topqueryParams.pageSize" + @pagination="getList" + /> + </el-row> + <!-- 纭鍙戣捣瀵硅瘽妗� --> + <el-dialog + title="浠诲姟缁勫彂璧风‘璁�" + :visible.sync="taskformVisible" + width="50%" + :before-close="handleClose" + > + <el-tabs type="border-card" v-model="activname"> + <el-tab-pane> + <span slot="label"><i class="el-icon-date"></i> 姝e父鍙戣捣</span> + <div style="font-size: 20px; color: red; margin-bottom: 20px"> + 璇风‘璁や换鍔$粍"{{ taskform.taskName }}"鐨勬墽琛屾椂闂� + </div> + <div + style="font-size: 18px; margin-bottom: 20px" + v-if="taskform.showDate" + > + 鎵ц鏃ユ湡锛�<span + style="font-size: 18px; color: #2376b7; margin-bottom: 20px" + >{{ taskform.showDate[0] }} 鑷� {{ taskform.showDate[1] }}</span + > + </div> + <div + style="font-size: 18px; margin-bottom: 20px" + v-if="taskform.showTimeMorn[0]" + > + 绗竴鏃堕棿娈碉細<span + style="font-size: 18px; color: #2376b7; margin-bottom: 20px" + >{{ taskform.showTimeMorn[0] }} 鑷� + {{ taskform.showTimeMorn[1] }}</span + > + </div> + <div + style="font-size: 18px; margin-bottom: 20px" + v-if="taskform.showTimeNight[0]" + > + 绗簩鏃堕棿娈碉細<span + style="font-size: 18px; color: #2376b7; margin-bottom: 20px" + >{{ taskform.showTimeNight[0] }} 鑷� + {{ taskform.showTimeNight[1] }}</span + > + </div> + <div + style="font-size: 18px; margin-bottom: 20px" + v-if="taskform.showTimeNoon[0]" + > + 绗笁鏃堕棿娈碉細<span + style="font-size: 18px; color: #2376b7; margin-bottom: 20px" + >{{ taskform.showTimeNoon[0] }} 鑷� + {{ taskform.showTimeNoon[1] }}</span + > + </div> + </el-tab-pane> + <el-tab-pane label="绔嬪嵆鎵ц"> + <div style="font-size: 20px; color: red; margin-bottom: 20px"> + 姝ゆ搷浣滃皢绔嬪嵆鍙戣捣骞舵墽琛屼换鍔$粍:{{ taskform.taskName }}锛岃璋ㄦ厧鎿嶄綔锛� + </div> + </el-tab-pane> + </el-tabs> + <div style="text-align: right; margin: 20px 0"> + <el-button style="margin-right: 20px" @click="taskformVisible = false" + >鍙� 娑�</el-button + > + <el-button + style="margin-right: 20px" + type="success" + @click="confirmSponsor(taskform)" + >纭鎵ц</el-button + > + <el-button type="primary" @click="handleUpdate(taskform)" + >鍓嶅線淇敼</el-button + > + </div> + </el-dialog> + </div> +</template> + +<script> +import { + getUser, + delUser, + addUser, + updateUser, + resetUserPwd, + changeUserStatus, +} from "@/api/system/user"; +import { + getTasklist, + getTaskInfo, + Editsingletask, + delTaskInfo, + Questionnairetasklist, + Questionnairetaskget, + Questionnairetasksponsor, + TaskTemplateSendExecution, +} from "@/api/AiCentre/index"; +import store from "@/store"; + +import Treeselect from "@riophae/vue-treeselect"; +import "@riophae/vue-treeselect/dist/vue-treeselect.css"; + +export default { + name: "Tasklist", + dicts: ["sys_normal_disable", "sys_user_sex", "task_status"], + components: { Treeselect }, + data() { + return { + // 閬僵灞� + loading: true, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 鐢ㄦ埛琛ㄦ牸鏁版嵁 + userList: null, + // 寮瑰嚭灞傛爣棰� + title: "鏂板闂ㄨ瘖闅忚", + // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 + addalteropen: false, + // 閮ㄩ棬鍚嶇О + deptName: undefined, + // 榛樿瀵嗙爜 + initPassword: undefined, + // 鏃ユ湡鑼冨洿 + dateRange: [], + // 宀椾綅閫夐」 + postOptions: [], + // 瑙掕壊閫夐」 + roleOptions: [], + longTask: 0, + taskform: { + showDate: [], + showTimeMorn: [], + showTimeNight: [], + showTimeNoon: [], + }, + taskformVisible: false, + dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 + inputVisible: false, + inputValue: "", + previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 + TaskOperation: {}, + radio: "", + radios: [], + previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 + total: 0, // 鎬绘潯鏁� + ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� + //棰勮闂ㄨ瘖闅忚淇℃伅 + previewvalue: { + username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", + }, + longtermlist: [ + { + value: 1, + label: "璇煶闅忚", + }, + { + value: 2, + label: "闂嵎闅忚", + }, + { + value: 3, + label: "瀹f暀鍏虫��", + }, + ], + taskoptions: [ + { + value: "1", + label: "鐩戞祴璇勪及", + }, + { + value: "2", + label: "鍑洪櫌闅忚", + }, + { + value: "3", + label: "闂ㄨ瘖闅忚", + }, + { + value: "4", + label: "瀹f暀鍏虫��", + }, + { + value: "5", + label: "澶嶈瘖绠$悊", + }, + { + value: "6", + label: "婊℃剰搴﹁皟鏌�", + }, + { + value: "7", + label: "鎮h�呮姤鍛�", + }, + + { + value: "8", + label: "鍏朵粬閫氱煡", + }, + ], + tasktopic: "2", //鏂板绫诲瀷 + activname: "", + value: [], + list: [], + loading: false, + states: [ + "Alabama", + "Alaska", + "Arizona", + "Arkansas", + "California", + "Colorado", + "Connecticut", + "Delaware", + "Florida", + "Georgia", + "Hawaii", + "Idaho", + "Illinois", + "Indiana", + "Iowa", + "Kansas", + "Kentucky", + "Louisiana", + "Maine", + "Maryland", + "Massachusetts", + "Michigan", + "Minnesota", + "Mississippi", + "Missouri", + "Montana", + "Nebraska", + "Nevada", + "New Hampshire", + "New Jersey", + "New Mexico", + "New York", + "North Carolina", + "North Dakota", + "Ohio", + "Oklahoma", + "Oregon", + "Pennsylvania", + "Rhode Island", + "South Carolina", + "South Dakota", + "Tennessee", + "Texas", + "Utah", + "Vermont", + "Virginia", + "Washington", + "West Virginia", + "Wisconsin", + "Wyoming", + ], + pickerOptions: { + disabledDate(time) { + return time.getTime() > Date.now(); + }, + shortcuts: [ + { + text: "浠婂ぉ", + onClick(picker) { + picker.$emit("pick", new Date()); + }, + }, + { + text: "鏄ㄥぉ", + onClick(picker) { + const date = new Date(); + date.setTime(date.getTime() - 3600 * 1000 * 24); + picker.$emit("pick", date); + }, + }, + { + text: "涓�鍛ㄥ墠", + onClick(picker) { + const date = new Date(); + date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); + picker.$emit("pick", date); + }, + }, + ], + }, + // 琛ㄥ崟鍙傛暟 + form: { + phonenumber: "", + totagid: "", + types: "", + nickName: "", + qystatus: "", + btstatus: "", + }, + // 鏌ヨ鍙傛暟 + topqueryParams: { + pageNum: 1, + pageSize: 10, + type: 3, + userName: undefined, + tagid: undefined, + topic: undefined, + }, + propss: { multiple: true }, + options: [], + checkboxlist:[], + // 琛ㄥ崟鏍¢獙 + 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: {}, + created() { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + this.tasktopic = this.$route.query.tasktopic + ? this.$route.query.tasktopic + : this.tasktopic; + this.getList(); + this.getConfigKey("sys.user.initPassword").then((response) => { + this.initPassword = response.msg; + }); + this.checkboxlist = store.getters.checkboxlist; + }, + activated() { + this.getList(); + }, + // 鎼滅储 + mounted() { + this.list = this.states.map((item) => { + return { value: `value:${item}`, label: `label:${item}` }; + }); + }, + methods: { + /** 鏌ヨ浠诲姟缁勫垪琛� */ + getList() { + this.loading = true; + let type = this.$route.query.type; + + this.topqueryParams.serviceType = Number(this.tasktopic); + this.topqueryParams.type = Number(this.type); + if ( + this.tasktopic == 2 || + this.tasktopic == 3 || + this.tasktopic == 1 || + this.tasktopic == 7 || + this.tasktopic == 6 + ) { + this.topqueryParams.type = 2; + this.longtermlist = [ + { + value: 1, + label: "璇煶闅忚", + }, + { + value: 2, + label: "闂嵎闅忚", + }, + ]; + } else if (this.tasktopic == 4 || this.tasktopic == 8) { + this.topqueryParams.type = 3; + this.longtermlist = [ + { + value: 3, + label: "瀹f暀鍏虫��", + }, + + ]; + } else if (this.tasktopic == 5) { + this.topqueryParams.type = 1; + this.longtermlist = [ + { + value: 1, + label: "璇煶闅忚", + }, + { + value: 2, + label: "闂嵎闅忚", + }, + ]; + } + // this.topqueryParams.typename = this.findLabelByValue( + // this.taskoptions, + // this.tasktopic + // ); + this.topqueryParams.startOutHospTime = this.dateRange[0]; + this.topqueryParams.endOutHospTime = this.dateRange[1]; + getTasklist(this.topqueryParams).then((response) => { + this.userList = response.rows; + this.total = response.total; + this.$forceUpdate(); + this.loading = false; + }); + }, + // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 + Referencequestion(row) { + this.previewVisible = true; + }, + // 娣诲姞寮规鎼滅储 + remoteMethod(query) { + if (query !== "") { + this.loading = true; + setTimeout(() => { + this.loading = false; + this.options = this.list.filter((item) => { + return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; + }); + }, 200); + } else { + this.options = []; + } + }, + + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + userId: undefined, + deptId: undefined, + userName: undefined, + nickName: undefined, + password: undefined, + phonenumber: undefined, + email: undefined, + sex: undefined, + status: "0", + remark: undefined, + postIds: [], + roleIds: [], + }; + this.resetForm("form"); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.topqueryParams.pageNum = 1; + this.getList(); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.dateRange = []; + this.resetForm("queryForm"); + this.topqueryParams.deptId = undefined; + this.$refs.tree.setCurrentKey(null); + this.handleQuery(); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.userId); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + //鍒犻櫎閫夐」 + handleClose(tag) { + this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); + }, + //瑙﹀彂鏂板杈撳叆 + showInput() { + this.inputVisible = true; + this.$nextTick((_) => { + this.$refs.saveTagInput.$refs.input.focus(); + }); + }, + //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 + handleInputConfirm() { + let inputValue = this.inputValue; + if (inputValue) { + this.dynamicTags.push(inputValue); + } + this.inputVisible = false; + this.inputValue = ""; + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.$router.push({ + path: "/combination/Compositeeditdetails", + query: { + type: this.topqueryParams.type, + serviceType: this.tasktopic, + }, + }); + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row, newadd) { + this.$router.push({ + path: "/combination/Compositeeditdetails", + query: { + id: row.taskid, + type: this.topqueryParams.type, + serviceType: this.tasktopic, + newadd: newadd, //鏄惁渚濈収鏂板缓 + }, + }); + + }, + // 鍒犻櫎浠诲姟缁� + deletefn(row) { + this.$modal + .confirm( + '鏄惁鍒犻櫎浠诲姟缁勫悕绉颁负"' + + row.taskName + + '"鐨勬暟鎹」锛屽垹闄ゅ悗涓嶅彲鎾ゅ洖锛佹槸鍚︾户缁�' + ) + .then(() => { + delTaskInfo(row.taskid).then((res) => { + if (res.code == 200) { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + } + }); + }) + .catch(() => {}); + }, + // 浠诲姟缁勫彂璧� + sponsor(row) { + console.log(row, "浠诲姟缁勪俊鎭�"); + this.taskform = row; + if (this.taskform.showDate && this.taskform.sendType != 2) { + this.taskform.showDate = this.taskform.showDate.split(","); + } + if (this.taskform.showTimeMorn && this.taskform.sendType != 2) { + this.taskform.showTimeMorn = this.taskform.showTimeMorn.split(","); + } else { + this.taskform.showTimeMorn = []; + } + if (this.taskform.showTimeNight && this.taskform.sendType != 2) { + this.taskform.showTimeNight = this.taskform.showTimeNight.split(","); + } else { + this.taskform.showTimeNight = []; + } + if (this.taskform.showTimeNoon && this.taskform.sendType != 2) { + this.taskform.showTimeNoon = this.taskform.showTimeNoon.split(","); + } else { + this.taskform.showTimeNoon = []; + } + if (this.taskform.sendState != 2 && this.taskform.sendType != 2) { + this.taskformVisible = true; + } else if (this.taskform.sendState != 2 && this.taskform.sendType == 2) { + this.TaskOperation.taskId = row.taskid; + this.TaskOperation.taskType = this.topqueryParams.type; + this.TaskOperation.sendState = 2; + this.TaskOperation.sendType = 2; + this.$modal + .confirm( + '褰撳墠閫変腑浠诲姟缁勫悕绉颁负"' + + row.taskName + + '"鐨勬暟鎹」涓虹珛鍗虫墽琛屼换鍔$粍锛屽彂璧锋墽琛屽悗涓嶅彲鎾ゅ洖锛佹槸鍚︾户缁�' + ) + .then(() => { + TaskTemplateSendExecution(this.TaskOperation).then((res) => { + if (res.code == 200) { + this.getList(); + this.$modal.msgSuccess("浠诲姟缁勫凡绔嬪嵆鎵ц"); + } + }); + }) + .catch(() => {}); + } else { + this.$modal.msgError("浠诲姟缁勫凡鍙戣捣锛屼笉鍙啀娆″彂璧�"); + } + }, + // 纭鍙戣捣 + confirmSponsor(row) { + if (this.activname == 0) { + this.TaskOperation.taskId = row.taskid; + this.TaskOperation.taskType = this.topqueryParams.type; + this.TaskOperation.sendState = 2; + TaskTemplateSendExecution(this.TaskOperation).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("浠诲姟缁勫凡鎴愬姛鍔犲叆鎵ц闃熷垪"); + this.taskformVisible = false; + this.getList(); + } + }); + } else if (this.activname == 1) { + this.immediateExecution(row); + } + }, + + // 绔嬪嵆鎵ц + immediateExecution(row) { + console.log(row, "浠诲姟缁勪俊鎭�"); + if (row.sendState != 2) { + this.TaskOperation.taskType = this.topqueryParams.type; + this.TaskOperation.taskId = row.taskid; + this.TaskOperation.sendState = 2; + this.TaskOperation.sendType = 2; + this.$modal + .confirm( + '鏄惁绔嬪嵆鎵ц浠诲姟缁勫悕绉颁负涓�"' + + row.taskName + + '"鐨勬暟鎹」锛熷彂璧锋墽琛屽悗涓嶅彲鎾ゅ洖锛�' + ) + .then(() => { + TaskTemplateSendExecution(this.TaskOperation).then((res) => { + if (res.code == 200) { + this.getList(); + this.$modal.msgSuccess("浠诲姟缁勫凡绔嬪嵆鎵ц"); + } + }); + }) + .then(() => {}) + .catch(() => {}); + } + }, + + // 鏆傚仠 + stop(row) { + console.log(row); + if (row.sendState == 2) { + this.TaskOperation.taskId = row.taskid; + this.TaskOperation.sendState = 3; + this.TaskOperation.sendType = ""; + this.TaskOperation.taskType = row.type; + TaskTemplateSendExecution(this.TaskOperation).then((res) => { + this.$modal.msgSuccess("浠诲姟缁勫凡鏆傚仠"); + this.getList(); + }); + } + }, + + /** 鎻愪氦鎸夐挳 */ + submitForm: function () { + this.$refs["form"].validate((valid) => { + if (valid) { + if (this.form.userId != undefined) { + updateUser(this.form).then((response) => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.open = false; + this.getList(); + }); + } else { + addUser(this.form).then((response) => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open = false; + this.getList(); + }); + } + } + }); + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + const userIds = row.userId || this.ids; + this.$modal + .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') + .then(function () { + return delUser(userIds); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download( + "system/user/export", + { + ...this.topqueryParams, + }, + `user_${new Date().getTime()}.xlsx` + ); + }, + findLabelByValue(data, value) { + const item = data.find((item) => item.value === value); + return item ? item.label : null; + }, + }, +}; +</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; + } + + .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); +} + +.el-tag + .el-tag { + margin-left: 10px; +} + +.button-new-tag { + margin-left: 10px; + height: 32px; + line-height: 30px; + padding-top: 0; + padding-bottom: 0; +} + +.input-new-tag { + width: 90px; + margin-left: 10px; + vertical-align: bottom; +} + +.drexamine { + display: flex; + align-items: center; + justify-content: center; + padding: 30px; + background: #daeaf5; + + img { + width: 100px; + height: 100px; + } +} + +.qrcode-dialo { + // text-align: center; + // display: flex; + margin: 20px; + padding: 30px; + background: #edf1f7; + 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); + + .topic-dev { + margin-bottom: 25px; + font-size: 20px !important; + + .dev-text { + margin-bottom: 10px; + } + } +} +.button-bb { + font-weight: 500; + color: #2ba05c; +} +.button-xq { + font-weight: 500; + color: #409eff; +} +.button-sc { + font-weight: 500; + color: #dd302a; +} +.button-zx { + background: #4fabe9; + padding: 5px; + border-radius: 1px; + color: #ffffff; +} +.button-lj { + background: #e9614f; + padding: 5px; + border-radius: 1px; + color: #ffffff; +} +.button-xj { + background: #815c94; + padding: 5px; + border-radius: 1px; + color: #ffffff; +} +.button-zt { + background: #f9c116; + padding: 5px; + border-radius: 1px; + color: #ffffff; +} + +::v-deep.el-radio-group { + span { + font-size: 24px; + } +} + +::v-deep.el-button + .el-button { + margin-left: 0; +} +::v-deep.el-checkbox-group { + span { + font-size: 24px; + } +} +</style> diff --git a/src/views/patient/medtechnician/index.vue b/src/views/patient/medtechnician/SpecializedService.vue similarity index 76% rename from src/views/patient/medtechnician/index.vue rename to src/views/patient/medtechnician/SpecializedService.vue index 0611c3e..4fe475b 100644 --- a/src/views/patient/medtechnician/index.vue +++ b/src/views/patient/medtechnician/SpecializedService.vue @@ -1,5 +1,29 @@ <template> <div class="app-container"> + <div class="leftvlue" style="margin-bottom: 20px"> + <el-row :gutter="10"> + <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index"> + <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=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ item.value }} + </div> + </div> + </el-card> + </el-col> + </el-row> + </div> <el-row :gutter="20"> <!--鐢ㄦ埛鏁版嵁--> <el-form @@ -10,13 +34,14 @@ v-show="showSearch" label-width="98px" > - <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.taskName"></el-input> + <el-form-item label="浠诲姟缁勫悕绉�"> + <el-input + v-model="topqueryParams.taskName" + placeholder="璇烽�夋嫨浠诲姟缁勫悕绉�" + ></el-input> </el-form-item> - <!-- <el-form-item label="鍙戣捣浜�"> - <el-input v-model="topqueryParams.createBy"></el-input> - </el-form-item> --> - <!-- <el-form-item label="瀹℃牳鏃堕棿"> + + <el-form-item label="鍑洪櫌鏃堕棿"> <el-date-picker v-model="dateRange" style="width: 240px" @@ -27,36 +52,29 @@ end-placeholder="缁撴潫鏃ユ湡" ></el-date-picker> </el-form-item> - <el-form-item label="瀹f暀绫诲瀷" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> + + <el-form-item label="鎮h�呭鍚�" prop="sendname"> + <el-input + v-model="topqueryParams.sendname" + placeholder="璇疯緭鍏ユ偅鑰呭鍚�" + ></el-input> + </el-form-item> + <el-form-item label="鎮h�呰寖鍥�" prop="status"> + <el-select + v-model="topqueryParams.searchscope" + placeholder="璇烽�夋嫨鎮h�呰寖鍥�" + > <el-option - v-for="item in topicoptions" + 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="鎮h�呭鍚�" prop="sendname"> - <el-input v-model="topqueryParams.sendname" placeholder="璇疯緭鍏ユ偅鑰呭鍚�"></el-input> - </el-form-item> - <el-form-item label="鎮h�呰寖鍥�" prop="status"> - <el-select - v-model="topqueryParams.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="status"> + <el-form-item label="浠诲姟缁勭姸鎬�" prop="status"> <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨"> <el-option v-for="item in topicoptions" @@ -67,17 +85,7 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="缁撴灉鐘舵��" prop="status"> - <el-select v-model="topqueryParams.excep" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptionsyj" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> + <el-form-item> <el-button type="primary" @@ -103,7 +111,7 @@ >鏂板</el-button > </el-col> - <!-- <el-col :span="1.5"> + <el-col :span="1.5"> <div class="documentf"> <div class="document"> <el-button @@ -122,55 +130,12 @@ <div class="documentf"> <div class="document"> <el-button - type="success" - plain - icon="el-icon-download" - size="medium" - @click="toleadExport" - v-hasPermi="['system:user:export']" - >瀵煎叆</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="info" - icon="el-icon-refresh" - size="medium" - @click="TaskReset" - v-hasPermi="['system:user:export']" - >浠诲姟閲嶇疆</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="success" - icon="el-icon-position" - size="medium" - @click="AllStarted" - v-hasPermi="['system:user:export']" - >鍏ㄩ儴寮�濮�</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button type="warning" - icon="el-icon-remove" + plain + icon="el-icon-warning-outline" size="medium" - @click="AllStop" - v-hasPermi="['system:user:export']" - >鍏ㄩ儴鍋滄</el-button + @click="toleadExport(1)" + >鎵ц澶辫触</el-button > </div> </div> @@ -179,27 +144,28 @@ <div class="documentf"> <div class="document"> <el-button - type="primary" - icon="el-icon-remove" + type="danger" + plain + icon="el-icon-warning" size="medium" - @click="Sendtimesetting" - v-hasPermi="['system:user:export']" - >鍙戦�佹椂闂磋缃�</el-button + @click="toleadExport(2)" + >缁撴灉寮傚父</el-button > </div> </div> - </el-col> --> - - <!-- <el-col :span="1.5"> </el-col> --> + </el-col> </el-row> <el-table v-loading="loading" :data="userList" + height="660" + :row-class-name="tableRowClassName" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> <el-table-column - label="浠诲姟鍚嶇О" + label="浠诲姟缁勫悕绉�" + fixed align="center" key="taskName" prop="taskName" @@ -208,19 +174,13 @@ <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> --> <el-table-column label="濮撳悕" + fixed align="center" key="sendname" prop="sendname" /> <el-table-column - label="韬唤璇佸彿鐮�" - width="200" - align="center" - key="sfzh" - prop="sfzh" - /> - <el-table-column - label="浠诲姟鐘舵��" + label="浠诲姟缁勭姸鎬�" align="center" key="sendstate" prop="sendstate" @@ -228,38 +188,64 @@ > <template slot-scope="scope"> <div v-if="scope.row.sendstate == 1"> - <el-tag type="primary" - :disable-transitions="false">琚鍙�</el-tag></div> + <el-tag type="primary" :disable-transitions="false" + >琚鍙�</el-tag + > + </div> <div v-if="scope.row.sendstate == 2"> - <el-tag type="primary" - :disable-transitions="false">寰呭彂閫�</el-tag> - </div> - <div v-if="scope.row.sendstate == 3"> <el-tag type="success" - :disable-transitions="false">宸插彂閫佹湭棰嗗彇</el-tag></div> - <div v-if="scope.row.sendstate == 4"> <el-tag type="info" - :disable-transitions="false">涓嶆墽琛�</el-tag></div> - <div v-if="scope.row.sendstate == 5"> <el-tag type="danger" - :disable-transitions="false">鍙戦�佸け璐�</el-tag></div> - <div v-if="scope.row.sendstate == 6"> <el-tag type="danger" - :disable-transitions="false">宸插畬鎴�</el-tag></div> + <el-tag type="primary" :disable-transitions="false" + >寰呭彂閫�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 3"> + <el-tag type="success" :disable-transitions="false" + >宸插彂閫佹湭棰嗗彇</el-tag + > + </div> + <div v-if="scope.row.sendstate == 4"> + <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag> + </div> + <div v-if="scope.row.sendstate == 5"> + <el-tag type="danger" :disable-transitions="false" + >鍙戦�佸け璐�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 6"> + <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag> + </div> </template> </el-table-column> - <el-table-column - label="瀹f暀寮傚父璁板綍" + <!-- <el-table-column + label="浠诲姟缁勫紓甯歌鏄�" width="120" align="center" key="remark" - prop="remark" + prop="remark" --> /> + <el-table-column - label="瀹f暀浜哄憳" + label="浜哄伐澶勭悊鎰忚" + align="center" + key="suggest" + prop="suggest" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_suggest" + :value="scope.row.suggest" + /> + </template> + </el-table-column> + <el-table-column + label="闅忚浜哄憳" align="center" key="createBy" prop="createBy" width="120" /> <el-table-column - label="瀹f暀鏃堕棿" + label="闅忚鏃堕棿" sortable align="center" prop="finishtime" @@ -281,7 +267,7 @@ </template></el-table-column > <el-table-column - label="搴斿鏁欐棩鏈�" + label="搴旈殢璁挎棩鏈�" width="200" align="center" key="longSendTime" @@ -305,6 +291,20 @@ </template> </el-table-column> <el-table-column + label="韬唤璇佸彿鐮�" + width="200" + align="center" + key="sfzh" + prop="sfzh" + /> + <el-table-column + label="鑱旂郴鐢佃瘽" + width="200" + align="center" + key="phone" + prop="phone" + /> + <el-table-column label="璐d换鎶ゅ+" width="120" align="center" @@ -318,8 +318,6 @@ key="drname" prop="drname" /> - - <!-- <el-table-column label="鐥呭巻鍙�" @@ -361,62 +359,60 @@ </el-table-column> --> <el-table-column - label="瀹f暀妯℃澘鍚嶇О" + label="鍑洪櫌闅忚妯℃澘鍚嶇О" align="center" key="templatename" prop="templatename" width="200" /> + <el-table-column - - <!-- <el-table-column - label="璐d换鍖诲笀" + label="浠诲姟缁勬墽琛屾柟寮�" align="center" - key="drname" - prop="drname" - width="120" - /> --> - - <!-- <el-table-column - label="鍑洪櫌鏃堕棿" - sortable - align="center" - prop="createTime" + key="preachform" + prop="preachform" width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> --> - <!-- <el-table-column - label="瀹f暀鏃堕棿" - sortable - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span v-if="scope.row.sendType != 3">{{ - formatTime(scope.row.createTime) - }}</span> - <span v-else>鍗冲埢鍙戦��</span> - </template> - </el-table-column> --> - - <!-- <el-table-column - label="浠诲姟鐘舵��" - fixed="right" - align="center" - key="sendstate" - prop="sendstate" - width="120" :show-overflow-tooltip="true" > <template slot-scope="scope"> - <dict-tag :options="serviceState" :value="scope.row.sendstate" /> + <span v-for="item in scope.row.preachform" + >{{ item }}銆� + </span> </template> - </el-table-column> --> + </el-table-column> + <el-table-column + label="浠诲姟缁勫彂閫佹祦绋�" + align="center" + key="serviceSubtaskRecordList" + prop="serviceSubtaskRecordList" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span v-for="item in scope.row.serviceSubtaskRecordList" + >{{ item.remark }}銆� + </span> + </template> + </el-table-column> + <el-table-column + + label="浠诲姟缁勭粨鏋滆鏄�" + fixed="right" + width="120" + align="center" + key="remark" + prop="remark" + > + <template slot-scope="scope" v-if="scope.row.remark"> + <el-tag + type="success" + v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4" + >{{ scope.row.remark }}</el-tag + > + <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag> + </template> + </el-table-column> <el-table-column label="鎿嶄綔" fixed="right" @@ -428,7 +424,7 @@ <!-- <el-tooltip class="item" effect="dark" - content="閲嶆柊瀹f暀" + content="閲嶆柊闅忚" placement="top" > <el-button @@ -471,7 +467,7 @@ @pagination="getList" /> </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婂鏁欏璇濇 --> + <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> <el-dialog :title="title" :visible.sync="addalteropen" @@ -481,7 +477,7 @@ <el-form ref="form" :model="form" label-width="100px"> <el-row :gutter="20"> <el-col :span="12" - ><el-form-item label="浠诲姟鍚嶇О"> + ><el-form-item label="浠诲姟缁勫悕绉�"> <el-input v-model="form.name"></el-input> </el-form-item ></el-col> </el-row> @@ -495,8 +491,8 @@ ></el-row> <el-row :gutter="20"> <el-col :span="24" - ><el-form-item label="瀹f暀绫诲瀷"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨瀹f暀绫诲瀷"> + ><el-form-item label="闅忚绫诲瀷"> + <el-select v-model="form.region" placeholder="璇烽�夋嫨闅忚绫诲瀷"> <el-option label="鍖哄煙涓�" value="shanghai"></el-option> <el-option label="鍖哄煙浜�" value="beijing"></el-option> </el-select> </el-form-item @@ -514,7 +510,7 @@ </el-row> <el-row :gutter="20"> <el-col :span="24"> - <el-form-item label="闂ㄨ瘖瀹f暀瑕佹眰"> + <el-form-item label="闂ㄨ瘖闅忚瑕佹眰"> <el-input type="textarea" v-model="form.desc"></el-input> </el-form-item> </el-col> @@ -532,7 +528,7 @@ width="45%" > <div style="margin-bottom: 20px; color: red"> - 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿 + 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟缁勬椂闂� </div> <el-form @@ -639,7 +635,7 @@ // 鐢ㄦ埛琛ㄦ牸鏁版嵁 userList: null, // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖瀹f暀", + title: "鏂板闂ㄨ瘖闅忚", // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 addalteropen: false, // 淇敼鍙戦�佹椂闂村璇濇 @@ -658,13 +654,13 @@ dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 inputVisible: false, inputValue: "", - previewVisible: false, //闂ㄨ瘖瀹f暀棰勮寮规 + previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 radio: "", radios: [], - previewtype: 2, //棰勮闂ㄨ瘖瀹f暀绫诲瀷 + previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婂鏁欐暟閲� - //棰勮闂ㄨ瘖瀹f暀淇℃伅 + ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� + //棰勮闂ㄨ瘖闅忚淇℃伅 previewvalue: { username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", }, @@ -685,57 +681,35 @@ }, ], loading: false, - states: [ - "Alabama", - "Alaska", - "Arizona", - "Arkansas", - "California", - "Colorado", - "Connecticut", - "Delaware", - "Florida", - "Georgia", - "Hawaii", - "Idaho", - "Illinois", - "Indiana", - "Iowa", - "Kansas", - "Kentucky", - "Louisiana", - "Maine", - "Maryland", - "Massachusetts", - "Michigan", - "Minnesota", - "Mississippi", - "Missouri", - "Montana", - "Nebraska", - "Nevada", - "New Hampshire", - "New Jersey", - "New Mexico", - "New York", - "North Carolina", - "North Dakota", - "Ohio", - "Oklahoma", - "Oregon", - "Pennsylvania", - "Rhode Island", - "South Carolina", - "South Dakota", - "Tennessee", - "Texas", - "Utah", - "Vermont", - "Virginia", - "Washington", - "West Virginia", - "Wisconsin", - "Wyoming", + cardlist: [ + { + name: "鍏ㄩ儴鏈嶅姟", + value: 0, + }, + { + name: "搴旈殢璁�", + value: 0, + }, + { + name: "涓嶆墽琛�", + value: 0, + }, + { + name: "寮傚父", + value: 0, + }, + { + name: "鍙戦�佸け璐�", + value: 0, + }, + { + name: "琚鍙�", + value: 0, + }, + { + name: "宸插彂閫佹湭棰嗗彇", + value: 0, + }, ], pickerOptions: { disabledDate(time) { @@ -779,8 +753,8 @@ topqueryParams: { pageNum: 1, pageSize: 10, - serviceType: 4, - searchscope:2, + serviceType: 2, + searchscope: 2, }, propss: { multiple: true }, options: [], @@ -822,6 +796,7 @@ }, ], serviceState: [], + checkboxlist: [], // 琛ㄥ崟鏍¢獙 rules: {}, }; @@ -829,29 +804,28 @@ watch: {}, created() { this.serviceState = store.getters.serviceState; + this.checkboxlist = store.getters.checkboxlist; + this.getList(); this.getConfigKey("sys.user.initPassword").then((response) => { this.initPassword = response.msg; }); }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); + activated() { + this.getList(); }, methods: { - /** 鏌ヨ闂ㄨ瘖瀹f暀鏈嶅姟鍒楄〃 */ + /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */ getList() { if (this.topqueryParams.searchscope == 1) { this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( (obj) => obj.deptCode ); - this.topqueryParams.leavehospitaldistrictcodes=null; + this.topqueryParams.leavehospitaldistrictcodes = null; } else if (this.topqueryParams.searchscope == 2) { this.topqueryParams.leavehospitaldistrictcodes = store.getters.belongWards.map((obj) => obj.districtCode); - this.topqueryParams.leaveldeptcodes=null; + this.topqueryParams.leaveldeptcodes = null; } else { this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( (obj) => obj.deptCode @@ -861,17 +835,32 @@ } this.loading = true; getTaskservelist(this.topqueryParams).then((response) => { - this.userList = response.rows; + this.userList = response.rows[0].serviceSubtaskList; + this.cardlist[0].value = + Number(response.rows[0].wzx) + Number(response.rows[0].ysf); + this.cardlist[1].value = response.rows[0].ysf; + this.cardlist[2].value = response.rows[0].wzx; + this.cardlist[3].value = response.rows[0].yc; + this.cardlist[4].value = response.rows[0].fssb; + this.cardlist[5].value = response.rows[0].blq; + this.cardlist[6].value = response.rows[0].yfs; this.userList.forEach((item) => { if (item.endtime) { item.endDay = this.daysBetween(item.endtime); } + const idArray = item.preachform.split(","); + item.preachform = idArray.map((value) => { + // 鏌ユ壘id瀵瑰簲鐨勫璞� + const item = this.checkboxlist.find((item) => item.value == value); + // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null + return item ? item.label : null; + }); }); this.total = response.total; this.loading = false; }); }, - // 鏌ョ湅闂ㄨ瘖瀹f暀璇︽儏 + // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 Referencequestion(row) { this.previewVisible = true; }, @@ -889,7 +878,7 @@ this.options = []; } }, - // 闂ㄨ瘖浠诲姟鐘舵�佷慨鏀� + // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� handleStatusChange(row) { let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; this.$modal @@ -933,11 +922,11 @@ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( (obj) => obj.deptCode ); - this.topqueryParams.leavehospitaldistrictcodes=null; + this.topqueryParams.leavehospitaldistrictcodes = null; } else if (this.topqueryParams.searchscope == 2) { this.topqueryParams.leavehospitaldistrictcodes = store.getters.belongWards.map((obj) => obj.districtCode); - this.topqueryParams.leaveldeptcodes=null; + this.topqueryParams.leaveldeptcodes = null; } else { this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( (obj) => obj.deptCode @@ -946,12 +935,20 @@ store.getters.belongWards.map((obj) => obj.districtCode); } this.topqueryParams.pageNum = 1; + this.topqueryParams.startOutHospTime = this.dateRange[0]; + this.topqueryParams.endOutHospTime = this.dateRange[1]; + this.getList(); }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.dateRange = []; - this.topqueryParams = {}; + this.topqueryParams = { + pageNum: 1, + pageSize: 10, + serviceType: 2, + searchscope: 2, + }; this.handleQuery(); }, // 澶氶�夋閫変腑鏁版嵁 @@ -983,10 +980,10 @@ /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { this.$router.push({ - path: "/followvisit/Missioncreation", + path: "/followvisit/QuestionnaireTask", query: { - type: 3, - serviceType: 4, + type: 2, + serviceType: 2, }, }); }, @@ -1045,7 +1042,7 @@ // 鍏ㄩ儴鍋滄 AllStop() { this.$modal - .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�") + .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟缁勶紵") .then(function () { return console.log("鍋滄鎴愬姛"); }) @@ -1058,7 +1055,7 @@ // 鍏ㄩ儴寮�濮� AllStarted() { this.$modal - .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵") + .confirm("鏄惁寮�鍚叏閮ㄤ换鍔$粍锛�") .then(function () { return console.log("寮�鍚垚鍔�"); }) @@ -1068,10 +1065,10 @@ }) .catch(() => {}); }, - // 浠诲姟閲嶇疆 + // 浠诲姟缁勯噸缃� TaskReset() { this.$modal - .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�") + .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔$粍椤癸紵") .then(function () { return console.log("閫変腑鎴愬姛"); }) @@ -1089,11 +1086,19 @@ Seedetails(row) { this.$router.push({ path: "/followvisit/record/detailpage/", - query: { taskid: row.taskid, patid: row.patid,id: row.id}, + query: { taskid: row.taskid, patid: row.patid, id: row.id }, }); }, - // 瀵煎叆鎸夐挳 - toleadExport() {}, + // 渚挎嵎鎸夐挳 + toleadExport(too) { + if (too == 1) { + this.topqueryParams.sendstate = 4; + this.topqueryParams.excep = null; + } else if (too == 2) { + this.topqueryParams.excep = 1; + } + this.handleQuery(); + }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { this.download( @@ -1103,6 +1108,13 @@ }, `user_${new Date().getTime()}.xlsx` ); + }, + // 寮傚父鍒楁覆鏌� + tableRowClassName({ row, rowIndex }) { + if (row.excep == 1) { + return "warning-row"; + } + return ""; }, }, }; @@ -1118,6 +1130,9 @@ .document { // width: 100px; height: 50px; +} +::v-deep.el-table .warning-row { + background: #eec4c4; } .documentf { @@ -1197,6 +1212,13 @@ } } } +::v-deep.leftvlue .el-card__body { + background: #d0e9fd; +} +::v-deep.leftvlue .el-card__body:hover { + background: #8dc8f8; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} .button-bb { font-weight: 500; background-color: #2ba05c; diff --git a/src/views/patient/patient/PatientChart.vue b/src/views/patient/patient/PatientChart.vue deleted file mode 100644 index 68f1271..0000000 --- a/src/views/patient/patient/PatientChart.vue +++ /dev/null @@ -1,1115 +0,0 @@ -<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="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-input - v-model="queryParams.name" - placeholder="璇疯緭鍏ュ鍚�" - maxlength="30" - /> - </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-form> - - <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="6"> - <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 - fixed - label="搴忓彿" - align="center" - key="patid" - prop="patid" - /> - <el-table-column - fixed - 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="birthdate" - prop="birthdate" - width="160" - > - </el-table-column> - <el-table-column - label="灞呬綇鍦�" - align="center" - key="placeOfResidence" - prop="placeOfResidence" - 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.tagname }} </span> - </template> - </el-table-column> - <el-table-column - label="璇佷欢绫诲瀷" - align="center" - key="idcardtype" - prop="idcardtype" - width="120" - /><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" - > - </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=" - $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-textxga" - ><i class="el-icon-edit"></i>淇敼</span - ></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 - > - </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="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 dict.type.sys_user_sex" - :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="8"> - <el-form-item label="姘戞棌" prop="name"> - <el-input - v-model="form.nation" - placeholder="璇疯緭鍏ユ皯鏃�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="绫嶈疮" prop="age"> - <el-input - v-model="form.nativePlace" - placeholder="璇疯緭鍏ョ睄璐�" - maxlength="30" - /> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="鑱旂郴鏂瑰紡" prop="telcode"> - <el-input - v-model="form.telcode" - placeholder="璇疯緭鍏ヨ仈绯绘柟寮�" - maxlength="30" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="璇佷欢绫诲瀷" prop="idcardtype"> - <el-select v-model="form.idcardtype" 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="idcardno"> - <el-input - v-model="form.idcardno" - placeholder="璇疯緭鍏ヨ瘉浠跺彿" - maxlength="50" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="鍑虹敓鍦�" prop="idcardno"> - <el-input - v-model="form.birthplace" - placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" - maxlength="50" - /> - </el-form-item> </el-col - ><el-col :span="12"> - <el-form-item label="灞呬綇鍦�" prop="idcardno"> - <el-input - v-model="form.placeOfResidence" - placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅" - maxlength="50" - /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="24"> - <el-form-item label="鎮h�呯被鍨�"> - <el-select v-model="form.pattype" placeholder="璇烽�夋嫨绫诲瀷"> - <el-option - v-for="item in Patienttype" - :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-form-item label="澶囨敞"> - <el-input - v-model="form.remark" - 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> - - <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <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> - <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 - > - </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-column prop="opinion" 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="@/assets/images/瀵煎叆.png" /> - <p>瀵煎叆鎮h�呮垚鍔燂紒</p> - <p> - 鏈 - <span style="color: #158bb8; font-size: 20px">{{ - ImportQuantity - }}</span> - 鏉℃暟鎹垚鍔熷鍏�<span style="color: #72d3a9; font-size: 20px">{{ - ImportQuantity - }}</span - >浣嶆偅鑰� - </p> - </div> - <div v-if="dractive == 3"> - <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-column prop="opinion" 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 slot="footer" class="dialog-footer" v-if="dractive == 3"> - <!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> --> - <el-button @click="submitclose">瀹屾垚</el-button> - <el-button type="warning" @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> - <!-- 璺宠浆鏈嶅姟瀵硅瘽妗� --> - <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> - <div slot="footer" class="dialog-footer"> - <el-button @click="serviceVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="CreateService">鍒涘缓鏈嶅姟</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { delUser } from "@/api/system/user"; - -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, - options: [], - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - amendtag: false, //鏄惁淇敼 - serviceVisible: false, - serviceradio: 1, - // 鏃ユ湡鑼冨洿 - dateRange: [], - paperstypes: [ - { papersname: "韬唤璇�" }, - { papersname: "鎶ょ収" }, - { papersname: "涓浗娓境灞呮皯韬唤璇�" }, - { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" }, - ], - Patienttype: [ - { - value: "1", - label: "浣忛櫌鎮h��", - }, - { - value: "2", - label: "闂ㄨ瘖鎮h��", - }, - { - value: "3", - label: "浣撴鎮h��", - }, - ], - - - // 琛ㄥ崟鍙傛暟 - form: { - name: "", - age: "", - sex: "", - tagList: [], - idcardno: "", - telcode: "", - idcardtype: "", - relativetelcode: "", - }, - activeName: "first", //渚ц竟閫夋嫨 - //瀵煎叆杩涘害 - dractive: 1, - // 瀵煎叆灞曠ず琛ㄥ崟 - uploadingData: {}, - total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲� - Labelchange: false, //淇敼鏂板寮圭獥 - propss: { multiple: true }, - optionstag: [], //鏍囩鍒楄〃 - 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, - allhosp: "0", - pageSize: 10, - idcardno: 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", - // }, - // ], - }, - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - }, - }, - created() { - this.getList(); - this.gettabList(); - }, - methods: { - /** 鏌ヨ鎮h�呭垪琛� */ - getList() { - console.log(this.dict.type.sys_user_sex); - this.loading = true; - messagelistpatient(this.queryParams).then((response) => { - console.log(response); - this.userList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - handleClick() { - this.getList(); - }, - /** 鏌ヨ鏍囩鍒楄〃 */ - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagname: undefined, - tagdescription: undefined, - tagcategoryid: "0", - }; - listtag(tagqueryParams).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; - }); - }, - Distributionservice(row) { - this.serviceVisible = true; - }, - - // 鍙栨秷鎸夐挳 - 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(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - 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) { - 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(() => {}); - }, - //鏈嶅姟璺宠浆 - CreateService() { - this.$router.push({ - path: "/followvisit/particty", - query: { type: this.serviceradio }, - }); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - 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> -.Questionnairemanagement { -} -.sidecolumn { - width: 180px; - min-height: 100vh; - text-align: center; - // display: flex; - margin-top: 20px; - margin: 20px; - padding: 30px; - background: #d0e9fd; - 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); - .sidecolumn-top { - display: flex; - justify-content: space-between; - .top-wj { - font-size: 20px; - } - .top-tj { - font-size: 18px; - - color: rgb(0, 89, 255); - cursor: pointer; - } - } - .center-ss { - margin-top: 30px; - .input-with-select { - height: 40px !important; - } - } - .bottom-fl { - margin-top: 30px; - display: center !important; - } -} -::v-deep.el-tabs--left, -.el-tabs--right { - overflow: hidden; - align-items: center; - display: flex; -} -::v-deep.el-input--medium .el-input__inner { - height: 40px !important; -} -::v-deep.el-tabs--right .el-tabs__active-bar.is-right { - height: 40px; - width: 5px; - left: 0; -} -::v-deep.el-tabs--right .el-tabs__item.is-right { - display: block; - text-align: left; - font-size: 20px; -} -::v-deep.leftvlue .el-card__body { - background: #d0e9fd; -} -::v-deep.leftvlue .el-card__body:hover { - background: #8dc8f8; -} -.leftvlue { - margin-top: 10px; -} -.leftvlue-bg { - // display: flex; - // flex: 1; - margin-top: 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); - .mulsz { - font-size: 20px; - } -} -.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; - } - .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: 20px; - background: #daeaf5; - img { - width: 50px; - height: 50px; - } -} -.button-textsc { - color: #28cfe6; -} -.button-textxg { - color: #de7897; -} -</style> diff --git a/src/views/patient/propaganda/index.vue b/src/views/patient/propaganda/index.vue index 4f2c6bb..b2c50d3 100644 --- a/src/views/patient/propaganda/index.vue +++ b/src/views/patient/propaganda/index.vue @@ -11,7 +11,10 @@ label-width="98px" > <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.taskName" placeholder="璇烽�夋嫨浠诲姟鍚嶇О"></el-input> + <el-input + v-model="topqueryParams.taskName" + placeholder="璇烽�夋嫨浠诲姟鍚嶇О" + ></el-input> </el-form-item> <!-- <el-form-item label="鍙戣捣浜�"> <el-input v-model="topqueryParams.createBy"></el-input> @@ -135,7 +138,7 @@ size="medium" @click="toleadExport(2)" >缁撴灉寮傚父</el-button - > + >- </div> </div> </el-col> @@ -143,7 +146,7 @@ <el-table v-loading="loading" :data="userList" - height="660" + height="560" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> @@ -164,54 +167,54 @@ prop="sendname" /> <el-table-column - label="瀹f暀鐘舵��" - align="center" - key="sendstate" - prop="sendstate" - width="120" + label="瀹f暀鐘舵��" + align="center" + key="sendstate" + prop="sendstate" + width="120" > - <template slot-scope="scope"> - <div v-if="scope.row.sendstate == 1"> - <el-tag type="primary" :disable-transitions="false" + <template slot-scope="scope"> + <div v-if="scope.row.sendstate == 1"> + <el-tag type="primary" :disable-transitions="false" >琚鍙�</el-tag - > - </div> - <div v-if="scope.row.sendstate == 2"> - <el-tag type="primary" :disable-transitions="false" + > + </div> + <div v-if="scope.row.sendstate == 2"> + <el-tag type="primary" :disable-transitions="false" >寰呭彂閫�</el-tag - > - </div> - <div v-if="scope.row.sendstate == 3"> - <el-tag type="success" :disable-transitions="false" + > + </div> + <div v-if="scope.row.sendstate == 3"> + <el-tag type="success" :disable-transitions="false" >宸插彂閫佹湭棰嗗彇</el-tag - > - </div> - <div v-if="scope.row.sendstate == 4"> - <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag> - </div> - <div v-if="scope.row.sendstate == 5"> - <el-tag type="danger" :disable-transitions="false" + > + </div> + <div v-if="scope.row.sendstate == 4"> + <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag> + </div> + <div v-if="scope.row.sendstate == 5"> + <el-tag type="danger" :disable-transitions="false" >鍙戦�佸け璐�</el-tag - > - </div> - <div v-if="scope.row.sendstate == 6"> - <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag> - </div> - </template> - </el-table-column> + > + </div> + <div v-if="scope.row.sendstate == 6"> + <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag> + </div> + </template> + </el-table-column> - <el-table-column + <el-table-column label="缁撴灉鐘舵��" align="center" key="excep" prop="excep" width="120" - > + > <template slot-scope="scope"> <div v-if="scope.row.sendstate == 6"> <dict-tag - :options="dict.type.sys_yujing" - :value="scope.row.excep" + :options="dict.type.sys_yujing" + :value="scope.row.excep" /> </div> <div v-else> @@ -220,48 +223,49 @@ </template> </el-table-column> <el-table-column - label="澶勭悊鎰忚" - align="center" - key="suggest" - prop="suggest" - width="120" + label="澶勭悊鎰忚" + align="center" + key="suggest" + prop="suggest" + width="120" > - <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_suggest" - :value="scope.row.suggest" - /> + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_suggest" + :value="scope.row.suggest" + /> </template> </el-table-column> + <el-table-column - label="鍑洪櫌鏃ユ湡" - width="200" - align="center" - key="endtime" - prop="endtime" + label="鍑洪櫌鏃ユ湡" + width="200" + align="center" + key="endtime" + prop="endtime" > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.endtime) }}</span> - </template></el-table-column - > - <el-table-column - label="搴斿鏁欐棩鏈�" - width="200" - align="center" - key="longSendTime" - prop="longSendTime" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.longSendTime) }}</span> + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.endtime) }}</span> </template></el-table-column - > - <el-table-column + > + <el-table-column + label="搴斿鏁欐棩鏈�" + width="200" + align="center" + key="longSendTime" + prop="longSendTime" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.longSendTime) }}</span> + </template></el-table-column + > + <el-table-column label="鍑洪櫌澶╂暟" width="120" align="center" key="endDay" prop="endDay" - > + > <template slot-scope="scope"> <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "鏃ユ湡缂哄け" @@ -289,13 +293,7 @@ key="drname" prop="drname" /> - <el-table-column - label="瀹f暀寮傚父璁板綍" - width="120" - align="center" - key="remark" - prop="remark" - /> + <!-- <el-table-column label="鐥呭巻鍙�" @@ -341,6 +339,7 @@ align="center" key="templatename" prop="templatename" + :show-overflow-tooltip="true" width="200" /> @@ -351,40 +350,37 @@ prop="createBy" width="120" /> - <!-- <el-table-column - label="璐d换鍖诲笀" - align="center" - key="drname" - prop="drname" - width="120" - /> --> - <!-- <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="瀹f暀鏃堕棿" - sortable - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span v-if="scope.row.sendType != 3">{{ - formatTime(scope.row.createTime) - }}</span> - <span v-else>鍗冲埢鍙戦��</span> - </template> - </el-table-column> --> <el-table-column + fixed="right" + label="浠诲姟鍙戦�佹祦绋�" + align="center" + key="serviceSubtaskRecordList" + prop="serviceSubtaskRecordList" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span v-for="item in scope.row.serviceSubtaskRecordList" + >{{ item.remark }}銆� + </span> + </template> + </el-table-column> + <el-table-column + fixed="right" + label="浠诲姟缁撴灉璁板綍" + width="120" + align="center" + key="remark" + prop="remark" + > + <template slot-scope="scope" v-if="scope.row.remark"> + <el-tag type="success" v-if="scope.row.sendstate!=5&&scope.row.sendstate!=4&&scope.row.remark">{{ scope.row.remark }}</el-tag> + <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag> + </template> + </el-table-column> + <el-table-column + fixed="right" label="瀹f暀鏃堕棿" sortable align="center" @@ -408,7 +404,6 @@ <dict-tag :options="serviceState" :value="scope.row.sendstate" /> </template> </el-table-column> --> - </el-table> <pagination @@ -728,7 +723,7 @@ pageNum: 1, pageSize: 10, serviceType: 4, - searchscope:2, + searchscope: 2, }, propss: { multiple: true }, options: [], @@ -1005,10 +1000,10 @@ // 渚挎嵎鎸夐挳 toleadExport(too) { if (too == 1) { - this.topqueryParams.sendstate=4; - this.topqueryParams.excep=null; + this.topqueryParams.sendstate = 4; + this.topqueryParams.excep = null; } else if (too == 2) { - this.topqueryParams.excep=1; + this.topqueryParams.excep = 1; } this.handleQuery(); }, diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index f925090..0592dfc 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -1254,7 +1254,6 @@ value: "1", label: "浜哄伐", }, - { value: "2", label: "绾歌川", diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index aad6e51..a8b9f51 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -532,6 +532,16 @@ <el-radio :label="0">鍚�</el-radio> </el-radio-group> </el-form-item> + <el-form-item label="閫変腑鎻愮ず" v-if="topicobj.scriptType != 1"> + <el-input + style="width: 24vw" + type="textarea" + autosize + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="topicobj.prompt" + > + </el-input + ></el-form-item> <el-row> <el-col :span="24" ><el-form-item label="璇煶鏂囨湰"> @@ -617,6 +627,7 @@ @branchFlagfn="branchFlagfn" :branchFlag="topicobj.branchFlag ? true : false" :controlsc="false" + :scriptType="topicobj.scriptType" /> <!-- 鏃犲尮閰嶇被鍨� --> <div class="topicxq"> @@ -1051,9 +1062,19 @@ </el-select> </el-form-item ></el-col> --> </el-row> + <el-form-item label="閫変腑鎻愮ず" v-if="topicobj.scriptType != 1"> + <el-input + style="width: 24vw" + type="textarea" + autosize + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="indexform.prompt" + > + </el-input + ></el-form-item> <el-row :gutter="10"> <el-col :span="18" - ><el-form-item label="璇煶璇濇湳"> + ><el-form-item label="璇煶鏂囨湰"> <el-input style="width: 600px" type="textarea" @@ -1422,9 +1443,9 @@ inputValue: "", inputValueillness: "", topicobj: { - noMatchText: "", - noClearlyText: "", - slienceText: "", + noMatchText:'鎶辨瓑锛屾垜娌℃湁鍚噦锛屾偍鑳藉啀璇翠竴閬嶅悧?', + noClearlyText:'鎶辨瓑锛屾垜娌℃湁鍚竻鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?', + slienceText:'鎶辨瓑锛屾垜娌℃湁鍚埌鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?', }, total: 1, id: "", diff --git a/src/views/repositoryai/templateku/configurat/measurement.vue b/src/views/repositoryai/templateku/configurat/measurement.vue index 8c3ac2b..c5da2b7 100644 --- a/src/views/repositoryai/templateku/configurat/measurement.vue +++ b/src/views/repositoryai/templateku/configurat/measurement.vue @@ -158,7 +158,7 @@ }; // 鍙戣捣ws璇锋眰 sendWebsocket( - "ws://localhost:8095/chat?userId=1", + "ws://192.168.2.13:8095/chat?userId=1", obj, this.wsMessage, this.wsError @@ -205,6 +205,8 @@ }); return item; }); + console.log(this.questionList); + // IMUI.appendMessage(data); }, @@ -224,7 +226,7 @@ console.log(obj, "鍏ュ弬"); // 鍙戣捣ws璇锋眰 sendWebsocket( - "ws://localhost:8095/chat?userId=1", + "ws://192.168.2.13:8095/chat?userId=1", obj, this.wsMessage, this.wsError diff --git a/src/views/repositoryai/verbaltrick/particulars/index.vue b/src/views/repositoryai/verbaltrick/particulars/index.vue index 6008375..abac453 100644 --- a/src/views/repositoryai/verbaltrick/particulars/index.vue +++ b/src/views/repositoryai/verbaltrick/particulars/index.vue @@ -730,6 +730,9 @@ ivrLibaScriptTargetoptionList: [], ivrLibaScriptTagList: [], suitway: "2", + noMatchText:'鎶辨瓑锛屾垜娌℃湁鍚噦锛屾偍鑳藉啀璇翠竴閬嶅悧?', + noClearlyText:'鎶辨瓑锛屾垜娌℃湁鍚竻鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?', + slienceText:'鎶辨瓑锛屾垜娌℃湁鍚埌鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?', }, mode: [], questionclass: [], -- Gitblit v1.9.3