From 5e1745487b290612c6282006822b431843a081af Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 15 五月 2025 14:49:36 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/record/index.vue | 1349 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 1,076 insertions(+), 273 deletions(-) diff --git a/src/views/followvisit/record/index.vue b/src/views/followvisit/record/index.vue index 89eea43..50b0605 100644 --- a/src/views/followvisit/record/index.vue +++ b/src/views/followvisit/record/index.vue @@ -1,5 +1,67 @@ <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 ? item.value : 0 }} + </div> + </div> + </el-card> + </el-col> + <el-col :span="2.5"> + <div class="ysfleftvlue"> + <el-card shadow="hover"> + <div style="padding: 8px"> + <span>琛ㄥ崟宸插彂閫�</span> + <div + style=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ yfsvalue }} + </div> + </div> + </el-card> + </div> + </el-col> + <el-col :span="2.5"> + <div class="errleftvlue"> + <el-card shadow="hover"> + <div style="padding: 8px"> + <span>寮傚父</span> + <div + style=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ ycvalue }} + </div> + </div> + </el-card> + </div> + </el-col> + </el-row> + </div> <el-row :gutter="20"> <!--鐢ㄦ埛鏁版嵁--> <el-form @@ -11,12 +73,13 @@ label-width="98px" > <el-form-item label="浠诲姟鍚嶇О"> - <el-input v-model="topqueryParams.name"></el-input> + <el-input + v-model="topqueryParams.taskName" + placeholder="璇烽�夋嫨浠诲姟鍚嶇О" + ></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-form-item label="鍑洪櫌鏃堕棿"> <el-date-picker v-model="dateRange" style="width: 240px" @@ -27,8 +90,26 @@ end-placeholder="缁撴潫鏃ユ湡" ></el-date-picker> </el-form-item> - <el-form-item label="闅忚绫诲瀷" 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-cascader + v-model="topqueryParams.scopetype" + placeholder="榛樿鍏ㄩ儴" + :options="sourcetype" + :props="{ expandTrigger: 'hover' }" + @change="handleChange" + ></el-cascader> + </el-form-item> + + <el-form-item label="浠诲姟鐘舵��" prop="status"> + <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨"> <el-option v-for="item in topicoptions" :key="item.value" @@ -38,10 +119,10 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="妯$増" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> + <el-form-item label="鎺掑簭鏂瑰紡" prop="status"> + <el-select v-model="topqueryParams.sort" placeholder="璇烽�夋嫨"> <el-option - v-for="item in topicoptions" + v-for="item in topicoptionssort" :key="item.value" :label="item.label" :value="item.value" @@ -49,23 +130,13 @@ </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" + @click="handleQuery(1)" >鎼滅储</el-button > <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" @@ -82,130 +153,177 @@ 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" + icon="el-icon-upload2" size="medium" @click="handleExport" - v-hasPermi="['system:user:export']" >瀵煎嚭</el-button > </div> </div> </el-col> - <!-- <el-col :span="1.5"> </el-col> --> + <el-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + type="warning" + plain + icon="el-icon-warning-outline" + size="medium" + @click="toleadExport(1)" + >鎵ц澶辫触</el-button + > + </div> + </div> + </el-col> + <el-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + type="danger" + plain + icon="el-icon-warning" + size="medium" + @click="toleadExport(2)" + >缁撴灉寮傚父</el-button + > + </div> + </div> + </el-col> + <el-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + type="success" + plain + size="medium" + @click="buidegetTasklist()" + >寰呭姙鏈嶅姟</el-button + > + </div> + </div> + </el-col> </el-row> <el-table v-loading="loading" :data="userList" + :row-class-name="tableRowClassName" @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="浠诲姟鍚嶇О" + fixed align="center" key="taskName" prop="taskName" - width="120" + width="180" /> - + <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> --> <el-table-column - label="闅忚鏂瑰紡锛堥渶璋冩暣鏍煎紡锛�" + label="濮撳悕" + width="100" 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" + key="sendname" + prop="sendname" > <template slot-scope="scope"> - <span>{{ parseTime(scope.row.admindate) }}</span> + <el-button + size="medium" + type="text" + @click=" + gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname) + " + ><span class="button-textsc">{{ + scope.row.sendname + }}</span></el-button + > </template> </el-table-column> <el-table-column - label="闅忚鏃堕棿" + label="浠诲姟鐘舵��" + align="center" + key="sendstate" + prop="sendstate" + width="120" + > + <template slot-scope="scope"> + <el-tooltip + class="item" + effect="dark" + :content="scope.row.remark" + placement="top-start" + > + <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" + >寰呴殢璁�</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-tooltip> + </template> + </el-table-column> + <!-- <el-table-column + label="浠诲姟寮傚父璇存槑" + width="120" + align="center" + key="remark" + prop="remark" --> + /> + + <el-table-column + 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="updateBy" + prop="updateBy" + width="120" + /> + <el-table-column + label="闅忚瀹屾垚鏃堕棿" sortable align="center" prop="finishtime" @@ -215,44 +333,200 @@ <span>{{ parseTime(scope.row.finishtime) }}</span> </template> </el-table-column> - <el-table-column - label="闅忚鐘舵��" - fixed="right" + label="鍑洪櫌鏃ユ湡" + width="200" align="center" - key="sendstate" - prop="sendstate" - width="120" - :show-overflow-tooltip="true" + key="endtime" + prop="endtime" > <template slot-scope="scope"> - <dict-tag :options="serviceState" :value="scope.row.sendstate" /> + <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></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 + "澶�" : "" }}</span> </template> </el-table-column> <el-table-column - label="浠诲姟璇︽儏" - fixed="right" + 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" + key="nurseName" + prop="nurseName" + /> + <el-table-column + label="涓绘不鍖荤敓" + width="120" + align="center" + key="drname" + prop="drname" + /> + + <!-- <el-table-column + label="鐥呭巻鍙�" + align="center" + sortable + key="medicalRecordNo" + prop="medicalRecordNo" + width="120" + /> --> + + <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> --> + <!-- <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex" /> --> + <!-- <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="leavehospitaldistrictname" + prop="leavehospitaldistrictname" + 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="templatename" + prop="templatename" + width="200" + /> + <el-table-column + label="浠诲姟鎵ц鏂瑰紡" + align="center" + key="preachform" + prop="preachform" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span v-for="item in scope.row.preachform">{{ item }}銆� </span> + </template> + </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="200" + align="center" + key="remark" + prop="remark" + > + <template slot-scope="scope" v-if="scope.row.remark"> + <el-tag + type="warning" + 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="鎿嶄綔" + align="center" + fixed="right" 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-tooltip + class="item" + effect="dark" + content="鍐嶆闅忚" + placement="top" > - <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 + size="medium" + type="text" + @click="followupvisit(scope.row)" + v-hasPermi="['system:user:edit']" + ><span class="button-bb" + ><i class="el-icon-s-promotion"></i>鍐嶆闅忚</span + ></el-button + > + </el-tooltip> --> + <!-- <el-tooltip + v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2" + class="item" + effect="dark" + content="鏆傚仠鏈嶅姟" + placement="top" + > + <el-button + size="medium" + type="text" + @click="handlestop(scope.row)" + v-hasPermi="['system:user:edit']" + ><span class="button-sc" + ><i class="el-icon-remove-outline"></i>鏆傚仠鏈嶅姟</span + ></el-button + > + </el-tooltip> --> + <el-button size="medium" type="text" @click="Seedetails(scope.row)" + ><span class="button-zx" + ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span ></el-button > </template> @@ -267,7 +541,7 @@ @pagination="getList" /> </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> + <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 --> <el-dialog :title="title" :visible.sync="addalteropen" @@ -310,7 +584,7 @@ </el-row> <el-row :gutter="20"> <el-col :span="24"> - <el-form-item label="闂ㄨ瘖闅忚瑕佹眰"> + <el-form-item label="褰卞儚闅忚瑕佹眰"> <el-input type="textarea" v-model="form.desc"></el-input> </el-form-item> </el-col> @@ -321,25 +595,150 @@ <el-button @click="cancel">杩� 鍥�</el-button> </div> </el-dialog> + <!-- 淇敼鍙戦�佹椂闂村璇濇 --> + <el-dialog + title="鍙戦�佹椂闂磋缃�" + :visible.sync="modificationVisible" + width="45%" + > + <div style="margin-bottom: 20px; color: red"> + 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿 + </div> + + <el-form + :model="ruleForm" + :rules="rules" + ref="ruleForm" + label-width="120px" + class="demo-ruleForm" + > + <el-form-item label="鍙戦�佹棩鏈�"> + <el-date-picker + v-model="ruleForm.value1" + type="date" + placeholder="閫夋嫨鏃ユ湡" + > + </el-date-picker> + </el-form-item> + + <el-form-item label="鏃堕棿娈�" prop="type"> + <el-checkbox-group v-model="ruleForm.type"> + <el-checkbox label="涓婂崍" name="type"></el-checkbox> + <el-checkbox label="涓嬪崍" name="type"></el-checkbox> + <el-checkbox label="鏅氫笂" name="type"></el-checkbox> + </el-checkbox-group> + </el-form-item> + <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required> + <el-time-picker + is-range + v-model="ruleForm.value2" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + > + </el-time-picker> + </el-form-item> + <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required> + <el-time-picker + is-range + v-model="ruleForm.value3" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + > + </el-time-picker> + </el-form-item> + <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required> + <el-time-picker + is-range + v-model="ruleForm.value4" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + > + </el-time-picker> + </el-form-item> + </el-form> + + <span slot="footer" class="dialog-footer"> + <el-button @click="modificationVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="modificationVisible = false" + >纭� 瀹�</el-button + > + </span> + </el-dialog> + <!-- 鍐嶆闅忚 --> + <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible"> + <el-form ref="form" :model="zcform" label-width="80px"> + <el-form-item label="鎮h�呭悕绉�"> + <el-input style="width: 400px" v-model="zcform.name"></el-input> + </el-form-item> + <el-form-item label="浠诲姟鍚嶇О"> + <el-input style="width: 400px" v-model="zcform.name"></el-input> + </el-form-item> + <el-form-item label="闅忚鏂瑰紡"> + <el-radio-group v-model="zcform.resource"> + <el-radio label="1">鏈梾鍖洪殢璁�</el-radio> + <el-radio label="2">闅忚涓績闅忚</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="鍗冲埢鍙戦��"> + <el-switch v-model="zcform.delivery"></el-switch> + </el-form-item> + <el-form-item label="闅忚鏃堕棿" v-if="!zcform.delivery"> + <el-col :span="11"> + <el-date-picker + type="date" + placeholder="閫夋嫨鏃ユ湡" + v-model="zcform.date1" + style="width: 100%" + ></el-date-picker> + </el-col> + <el-col class="line" :span="2">-</el-col> + <el-col :span="11"> + <el-time-picker + placeholder="閫夋嫨鏃堕棿" + v-model="zcform.date2" + style="width: 100%" + ></el-time-picker> + </el-col> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="dialogFormVisible = false" + >纭� 瀹�</el-button + > + </div> + </el-dialog> </div> </template> <script> import { + listUser, + getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, } from "@/api/system/user"; -import { getTaskservelist } from "@/api/AiCentre/index"; -import store from "@/store"; +import { + getTaskservelist, + buidegetTasklist, + query360PatInfo, +} from "@/api/AiCentre/index"; import Treeselect from "@riophae/vue-treeselect"; +import store from "@/store"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], + name: "Discharge", + dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], components: { Treeselect }, data() { return { @@ -353,14 +752,17 @@ multiple: true, // 鏄剧ず鎼滅储鏉′欢 showSearch: true, + dialogFormVisible: false, // 鎬绘潯鏁� total: 0, // 鐢ㄦ埛琛ㄦ牸鏁版嵁 userList: null, // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", + title: "鏂板褰卞儚闅忚", // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 addalteropen: false, + // 淇敼鍙戦�佹椂闂村璇濇 + modificationVisible: false, // 閮ㄩ棬鍚嶇О deptName: undefined, // 榛樿瀵嗙爜 @@ -369,105 +771,116 @@ dateRange: [], // 宀椾綅閫夐」 postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], + ruleForm: { + type: [], + }, + postData: { + XiaoXiTou: { + FaSongFCSJC: "ZJHES", + FaSongJGID: localStorage.getItem("orgid"), + FaSongJGMC: localStorage.getItem("orgname"), + FaSongSJ: "2025-01-09聽17:29:36", + FaSongXTJC: "SUIFANGXT", + FaSongXTMC: "闅忚绯荤粺", + XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171", + XiaoXiLX: "SC_LC_360STCX", + XiaoXiMC: "360聽瑙嗗浘鏌ヨ", + ZuHuID: localStorage.getItem("ZuHuID"), + ZuHuMC: localStorage.getItem("orgname"), + }, + YeWuXX: { + BingRenXX: { + ZhengJianHM: "", + ZhengJianLXDM: "01", + ZhengJianLXMC: "灞呮皯韬唤璇�", + ZuZhiJGID: localStorage.getItem("orgid"), + ZuZhiJGMC: localStorage.getItem("orgname"), + }, + YongHuXX: { + XiTongID: "SUIFANGXT", + XiTongMC: "闅忚绯荤粺", + YongHuID: "1400466972205912064", + YongHuXM: "JNRMYY", + ZuZhiJGID: localStorage.getItem("orgid"), + ZuZhiJGMC: localStorage.getItem("orgname"), + idp: "lyra", + }, + }, + }, + zcform: {}, dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 inputVisible: false, + ycvalue: "", + yfsvalue: "", inputValue: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 + preachform: "", + previewVisible: false, //褰卞儚闅忚棰勮寮规 radio: "", radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 + previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷 total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 + 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(); + + sourcetype: [ + { + value: 1, + label: "绉戝", + children: [], }, - 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); - }, - }, - ], - }, + { + value: 2, + label: "鐥呭尯", + children: [], + }, + { + value: 3, + label: "鍏ㄩ儴", + }, + ], + loading: false, + cardlist: [ + { + name: "鍑洪櫌鏈嶅姟鎬婚噺", + value: 0, + }, + // { + // name: "鎮h�呰繃婊�", + // value: 0, + // }, + { + name: "搴旈殢璁�", + value: 0, + }, + + // { + // name: "寮傚父", + // value: 0, + // }, + { + name: "鍙戦�佸け璐�", + value: 0, + }, + { + name: "寰呴殢璁�", + value: 0, + }, + { + name: "宸插彂閫�", + value: 0, + }, + + // { + // name: "琛ㄥ崟宸插彂閫�", + // value: 0, + // }, + ], + // 琛ㄥ崟鍙傛暟 form: { phonenumber: "", @@ -477,59 +890,261 @@ qystatus: "", btstatus: "", }, + // 鏌ヨ鍙傛暟 topqueryParams: { pageNum: 1, pageSize: 10, - hospType: 2, + serviceType: 13, + searchscope: 3, + sendstate: 2, + sort: 2, + scopetype: [], + leaveldeptcodes: [], + leavehospitaldistrictcodes: [], }, propss: { multiple: true }, options: [], topicoptions: [ { + value: null, + label: "鍏ㄩ儴", + }, + { value: 1, - label: "寰呭鏍�", + label: "琛ㄥ崟宸查鍙�", }, { value: 2, - label: "鎵ц涓�", + label: "寰呴殢璁�", }, { value: 3, - label: "鎵ц瀹屾垚", + label: "琛ㄥ崟宸插彂閫�", }, { value: 4, - label: "宸插仠姝�", + label: "涓嶆墽琛�", + }, + { + value: 5, + label: "鍙戦�佸け璐�", + }, + { + value: 6, + label: "宸插畬鎴�", }, ], + topicoptionsyj: [ + { + value: 1, + label: "寮傚父", + }, + { + value: 0, + label: "姝e父", + }, + ], + topicoptionssort: [ + { + value: 0, + label: "鍑洪櫌鏃堕棿(姝e簭)", + }, + { + value: 1, + label: "鍑洪櫌鏃堕棿(鍊掑簭)", + }, + { + value: 2, + label: "鍙戦�佹椂闂�(姝e簭)", + }, + { + value: 3, + label: "鍙戦�佹椂闂�(鍊掑簭)", + }, + ], + errtype: "", + leavehospitaldistrictcode: "", + serviceState: [], + checkboxlist: [], // 琛ㄥ崟鏍¢獙 rules: {}, - serviceState: [], }; }, watch: {}, created() { this.serviceState = store.getters.serviceState; - this.getList(); + this.checkboxlist = store.getters.checkboxlist; + this.errtype = this.$route.query.errtype; + this.leavehospitaldistrictcode = + this.$route.query.leavehospitaldistrictcode; + this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { + return { + label: dept.deptName, + value: dept.deptCode, + }; + }); + this.sourcetype[1].children = store.getters.belongWards.map((dept) => { + return { + label: dept.districtName, + value: dept.districtCode, + }; + }); + if (this.errtype) { + this.toleadExport(2); + } else { + this.getList(1); + } 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(1); }, methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */ - getList() { + /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */ + getList(refresh) { + // 榛樿鍏ㄩ儴 + if (this.topqueryParams.searchscope == 3) { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } + // 鎺ュ彈寮傚父璺宠浆 + if (this.errtype) { + this.topqueryParams.leavehospitaldistrictcodes.push( + this.leavehospitaldistrictcode + ); + console.log(this.topqueryParams.leavehospitaldistrictcodes, "11"); + } this.loading = true; + if ( + this.topqueryParams.leavehospitaldistrictcodes[0] && + this.topqueryParams.leaveldeptcodes[0] + ) { + this.topqueryParams.deptOrDistrict = 2; + } else { + this.topqueryParams.deptOrDistrict = 1; + } getTaskservelist(this.topqueryParams).then((response) => { - this.userList = response.rows; + this.userList = response.rows[0].serviceSubtaskList; this.total = response.total; + if (refresh) { + this.cardlist[0].value = + Number(response.rows[0].wzx) + Number(response.rows[0].ysf); + // this.cardlist[1].value = response.rows[0].wzx; + this.cardlist[1].value = response.rows[0].ysf; + this.ycvalue = response.rows[0].yc; + this.cardlist[2].value = response.rows[0].fssb; + this.cardlist[3].value = response.rows[0].dfs; + this.cardlist[4].value = response.rows[0].yfs2; + this.yfsvalue = response.rows[0].yfs; + } this.loading = false; + this.userList.forEach((item) => { + let idArray = null; + if (item.endtime) { + item.endDay = this.daysBetween(item.endtime); + } + + if (item.preachform) { + if (item.endtime) { + item.preachformson = item.preachform; + 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; + }); + }, + //鎮h��360璺宠浆 + gettoken360(sfzh, drcode, drname) { + this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh; + if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") { + this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728"; + this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY"; + } + query360PatInfo(this.postData).then((res) => { + if (res.data.url) { + window.open(res.data.url, "_blank"); + // this.linkUrl = res.data.url; + } else { + this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�"); + } + }); + }, + buidegetTasklist(type) { + if (this.topqueryParams.searchscope == 3) { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } + // 鎺ュ彈寮傚父璺宠浆 + if (this.errtype) { + this.topqueryParams.leavehospitaldistrictcodes.push( + this.leavehospitaldistrictcode + ); + } + let obj = { + pageNum: 1, + pageSize: 10, + leavehospitaldistrictcodes: + this.topqueryParams.leavehospitaldistrictcodes, + sendstates: [2, 3], + leaveldeptcodes: this.topqueryParams.leaveldeptcodes, + }; + buidegetTasklist(obj).then((response) => { + this.userList = response.rows[0].serviceSubtaskList; + this.total = response.total; + if (refresh) { + this.cardlist[0].value = + Number(response.rows[0].wzx) + Number(response.rows[0].ysf); + this.cardlist[1].value = response.rows[0].wzx; + this.cardlist[2].value = response.rows[0].ysf; + this.ycvalue = response.rows[0].yc; + this.cardlist[3].value = response.rows[0].fssb; + this.cardlist[4].value = response.rows[0].dfs; + this.cardlist[5].value = response.rows[0].yfs2; + this.yfsvalue = response.rows[0].yfs; + } + this.loading = false; + this.userList.forEach((item) => { + let idArray = null; + if (item.endtime) { + item.endDay = this.daysBetween(item.endtime); + } + + if (item.preachform) { + if (item.endtime) { + item.preachformson = item.preachform; + 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; }); }, // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 @@ -550,7 +1165,7 @@ this.options = []; } }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� + // 褰卞儚闅忚鐘舵�佷慨鏀� handleStatusChange(row) { let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; this.$modal @@ -589,17 +1204,54 @@ this.resetForm("form"); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { + handleQuery(refresh) { + if (this.topqueryParams.searchscope == 3) { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } this.topqueryParams.pageNum = 1; - this.getList(); + this.topqueryParams.startOutHospTime = this.dateRange[0]; + this.topqueryParams.endOutHospTime = this.dateRange[1]; + + this.getList(refresh); + }, + // 鎮h�呰寖鍥村鐞� + handleChange(value) { + let type = value[0]; + let code = value.slice(-1)[0]; + this.topqueryParams.leavehospitaldistrictcodes = []; + this.topqueryParams.leaveldeptcodes = []; + + if (type == 1) { + this.topqueryParams.leaveldeptcodes.push(code); + this.topqueryParams.leavehospitaldistrictcodes = []; + this.topqueryParams.searchscope = 1; + } else if (type == 2) { + this.topqueryParams.leavehospitaldistrictcodes.push(code); + this.topqueryParams.leaveldeptcodes = []; + this.topqueryParams.searchscope = 2; + } else { + this.topqueryParams.searchscope = 3; + } }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); + this.topqueryParams = { + pageNum: 1, + pageSize: 10, + serviceType: 13, + sort: 2, + searchscope: 2, + sendstate: 2, + scopetype: [], + leaveldeptcodes: [], + leavehospitaldistrictcodes: [], + }; + this.handleQuery(1); }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { @@ -630,17 +1282,14 @@ /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { this.$router.push({ - path: "/followvisit/particty", - query: { type: 7 }, + path: "/followvisit/QuestionnaireTask", + query: { + type: 2, + serviceType: 13, + }, }); }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.$router.push({ - path: "/followvisit/record/detailpage/", - query: { id: "1" }, - }); - }, + /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ handleResetPwd(row) { this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { @@ -666,13 +1315,13 @@ updateUser(this.form).then((response) => { this.$modal.msgSuccess("淇敼鎴愬姛"); this.open = false; - this.getList(); + this.getList(1); }); } else { addUser(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.open = false; - this.getList(); + this.getList(1); }); } } @@ -687,20 +1336,139 @@ return delUser(userIds); }) .then(() => { - this.getList(); + this.getList(1); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) .catch(() => {}); }, + // 鍏ㄩ儴鍋滄 + AllStop() { + this.$modal + .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�") + .then(function () { + return console.log("鍋滄鎴愬姛"); + }) + .then(() => { + this.getList(1); + this.$modal.msgWarning("鍋滄鎴愬姛"); + }) + .catch(() => {}); + }, + // 鍏ㄩ儴寮�濮� + AllStarted() { + this.$modal + .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵") + .then(function () { + return console.log("寮�鍚垚鍔�"); + }) + .then(() => { + this.getList(1); + this.$modal.msgSuccess("寮�鍚垚鍔�"); + }) + .catch(() => {}); + }, + // 浠诲姟閲嶇疆 + TaskReset() { + this.$modal + .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�") + .then(function () { + return console.log("閫変腑鎴愬姛"); + }) + .then(() => { + this.getList(1); + this.$modal.msgSuccess("閲嶇疆鎴愬姛"); + }) + .catch(() => {}); + }, + // 璁剧疆鍙戦�佹椂闂� + Sendtimesetting() { + this.modificationVisible = true; + }, + // 璺宠浆璇︽儏椤� + Seedetails(row) { + let type = ""; + console.log(row, "rwo"); + if (row.preachformson) { + if (row.preachformson.includes("3")) { + type = 1; + console.log(type, "rwo"); + } + } + this.$router.push({ + path: "/followvisit/record/detailpage/", + query: { + taskid: row.taskid, + patid: row.patid, + id: row.id, + Voicetype: type, + again: 1, + }, + }); + }, + // 鍐嶆闅忚 + followupvisit() { + this.dialogFormVisible = true; + }, + onSubmit() {}, + // 鏆傚仠鏈嶅姟 + handlestop(row) { + let objson = row; + this.$modal + .confirm( + '鏄惁纭鏆傚仠浠诲姟鍚嶇О涓�"' + + row.taskName + + '鎮h�呭悕绉颁负"' + + row.sendname + + '"鐨勬暟鎹」锛�' + ) + .then(() => { + getTaskservelist({ + patid: row.patid, + taskid: row.taskid, + }).then((res) => { + if (res.code == 200) { + objson.sendstate = 4; + objson.remark = "鏈嶅姟鏆傚仠"; + Editsingletaskson(objson).then((res) => { + if (res.code) { + this.$modal.msgSuccess("璁板綍鎴愬姛"); + this.getList(1); + } + }); + } + }); + }) + .catch(() => {}); + }, + // 渚挎嵎鎸夐挳 + 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.topqueryParams.pageNum = null; + this.topqueryParams.pageSize = null; this.download( - "system/user/export", + // "smartor/serviceSubtask/export", + "smartor/serviceSubtask/patItemExport", { ...this.topqueryParams, }, `user_${new Date().getTime()}.xlsx` ); + }, + // 寮傚父鍒楁覆鏌� + tableRowClassName({ row, rowIndex }) { + if (row.excep == 1) { + return "warning-row"; + } + return ""; }, }, }; @@ -714,8 +1482,11 @@ } .document { - width: 100px; + // width: 100px; height: 50px; +} +::v-deep.el-table .warning-row { + background: #eec4c4; } .documentf { @@ -795,17 +1566,48 @@ } } } +::v-deep.leftvlue .el-card__body { + background: #d0e9fd; +} +::v-deep.leftvlue .el-card__body:hover { + background: #8dc8f8; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} +::v-deep.errleftvlue .el-card__body { + background: #fdd0d7; +} +::v-deep.errleftvlue .el-card__body:hover { + background: #f88d96; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} + +::v-deep.ysfleftvlue .el-card__body { + background: #d0fdd8; +} +::v-deep.ysfleftvlue .el-card__body:hover { + background: #8df8a4; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} .button-bb { font-weight: 500; - color: #2ba05c; + background-color: #2ba05c; + padding: 5px; + border-radius: 1px; + color: #ffffff; } .button-xq { font-weight: 500; - color: #409eff; + background-color: #409eff; + padding: 5px; + border-radius: 1px; + color: #ffffff; } .button-sc { font-weight: 500; - color: #dd302a; + background-color: #b3a21f; + padding: 5px; + border-radius: 1px; + color: #ffffff; } .button-zx { background: #4fabe9; @@ -820,9 +1622,10 @@ } } -::v-deep.el-checkbox-group { - span { - font-size: 24px; - } -} +// 閫夐」瀛椾綋鏀惧ぇ +// ::v-deep.el-checkbox-group { +// span { +// font-size: 24px; +// } +// } </style> -- Gitblit v1.9.3