From d5806f320c4eb6520c1c0edfba081f00e0290a8c Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期五, 27 六月 2025 10:31:44 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/record/index.vue | 434 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 366 insertions(+), 68 deletions(-) diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/followvisit/record/index.vue similarity index 73% copy from src/views/patient/ycquestionnaire/index.vue copy to src/views/followvisit/record/index.vue index 67c3af9..1063d26 100644 --- a/src/views/patient/ycquestionnaire/index.vue +++ b/src/views/followvisit/record/index.vue @@ -17,7 +17,7 @@ font-weight: 600; " > - {{ item.value }} + {{ item.value ? item.value : 0 }} </div> </div> </el-card> @@ -119,6 +119,17 @@ </el-option> </el-select> </el-form-item> + <el-form-item label="鎺掑簭鏂瑰紡" prop="status"> + <el-select v-model="topqueryParams.sort" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in topicoptionssort" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> <el-form-item> <el-button @@ -154,7 +165,6 @@ icon="el-icon-upload2" size="medium" @click="handleExport" - v-hasPermi="['system:user:export']" >瀵煎嚭</el-button > </div> @@ -188,11 +198,32 @@ </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-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button type="success" size="medium" @click="onthatday()" + >褰撴棩鏈嶅姟</el-button + > + </div> + </div> + </el-col> </el-row> <el-table v-loading="loading" :data="userList" - height="660" :row-class-name="tableRowClassName" @selection-change="handleSelectionChange" > @@ -208,11 +239,24 @@ <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> --> <el-table-column label="濮撳悕" - fixed + width="100" align="center" key="sendname" prop="sendname" - /> + > + <template slot-scope="scope"> + <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="浠诲姟鐘舵��" align="center" @@ -221,32 +265,41 @@ width="120" > <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" - >寰呮墽琛�</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 + 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 @@ -258,7 +311,7 @@ /> <el-table-column - label="浜哄伐澶勭悊鎰忚" + label="澶勭悊鎰忚" align="center" key="suggest" prop="suggest" @@ -274,12 +327,12 @@ <el-table-column label="闅忚浜哄憳" align="center" - key="createBy" - prop="createBy" + key="updateBy" + prop="updateBy" width="120" /> <el-table-column - label="闅忚鏃堕棿" + label="闅忚瀹屾垚鏃堕棿" sortable align="center" prop="finishtime" @@ -361,7 +414,7 @@ /> --> <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> --> - <!-- <el-table-column label="鎬у埆" align="center" key="sex" prop="sex" /> --> + <!-- <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="绉戝" @@ -450,7 +503,7 @@ <!-- <el-tooltip class="item" effect="dark" - content="閲嶆柊闅忚" + content="鍐嶆闅忚" placement="top" > <el-button @@ -459,13 +512,15 @@ @click="followupvisit(scope.row)" v-hasPermi="['system:user:edit']" ><span class="button-bb" - ><i class="el-icon-s-promotion"></i></span - ></el-button> + ><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="鍋滄" + content="鏆傚仠鏈嶅姟" placement="top" > <el-button @@ -473,8 +528,10 @@ type="text" @click="handlestop(scope.row)" v-hasPermi="['system:user:edit']" - ><span class="button-sc"><i class="el-icon-delete"></i></span - ></el-button> + ><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" @@ -493,7 +550,7 @@ @pagination="getList" /> </el-row> - <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> + <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 --> <el-dialog :title="title" :visible.sync="addalteropen" @@ -536,7 +593,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> @@ -622,6 +679,50 @@ > </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> @@ -635,7 +736,11 @@ resetUserPwd, changeUserStatus, } from "@/api/system/user"; -import { getTaskservelist } from "@/api/AiCentre/index"; +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"; @@ -656,12 +761,13 @@ multiple: true, // 鏄剧ず鎼滅储鏉′欢 showSearch: true, + dialogFormVisible: false, // 鎬绘潯鏁� total: 0, // 鐢ㄦ埛琛ㄦ牸鏁版嵁 userList: null, // 寮瑰嚭灞傛爣棰� - title: "鏂板闂ㄨ瘖闅忚", + title: "鏂板褰卞儚闅忚", // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 addalteropen: false, // 淇敼鍙戦�佹椂闂村璇濇 @@ -677,19 +783,53 @@ 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: "", preachform: "", - previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 + previewVisible: false, //褰卞儚闅忚棰勮寮规 radio: "", radios: [], - previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 + previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷 total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� - //棰勮闂ㄨ瘖闅忚淇℃伅 + ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲� + //棰勮褰卞儚闅忚淇℃伅 previewvalue: { username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", }, @@ -718,10 +858,10 @@ name: "鍑洪櫌鏈嶅姟鎬婚噺", value: 0, }, - { - name: "鎮h�呰繃婊�", - value: 0, - }, + // { + // name: "鎮h�呰繃婊�", + // value: 0, + // }, { name: "搴旈殢璁�", value: 0, @@ -736,7 +876,7 @@ value: 0, }, { - name: "寰呮墽琛�", + name: "寰呴殢璁�", value: 0, }, { @@ -763,8 +903,10 @@ topqueryParams: { pageNum: 1, pageSize: 10, - serviceType: 9, + serviceType: 13, searchscope: 3, + sendstate: 2, + sort: 2, scopetype: [], leaveldeptcodes: [], leavehospitaldistrictcodes: [], @@ -774,12 +916,16 @@ topicoptions: [ { + value: null, + label: "鍏ㄩ儴", + }, + { value: 1, label: "琛ㄥ崟宸查鍙�", }, { value: 2, - label: "寰呮墽琛�", + label: "寰呴殢璁�", }, { value: 3, @@ -806,6 +952,24 @@ { value: 0, label: "姝e父", + }, + ], + topicoptionssort: [ + { + value: 0, + label: "鍑洪櫌鏃堕棿(姝e簭)", + }, + { + value: 1, + label: "鍑洪櫌鏃堕棿(鍊掑簭)", + }, + { + value: 2, + label: "鍙戦�佹椂闂�(姝e簭)", + }, + { + value: 3, + label: "鍙戦�佹椂闂�(鍊掑簭)", }, ], errtype: "", @@ -848,7 +1012,7 @@ this.getList(1); }, methods: { - /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */ + /** 鏌ヨ褰卞儚闅忚鏈嶅姟鍒楄〃 */ getList(refresh) { // 榛樿鍏ㄩ儴 if (this.topqueryParams.searchscope == 3) { @@ -866,12 +1030,93 @@ 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; + 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[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].dsf; + 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) { @@ -881,7 +1126,7 @@ 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[4].value = response.rows[0].dsf; this.cardlist[5].value = response.rows[0].yfs2; this.yfsvalue = response.rows[0].yfs; } @@ -893,8 +1138,10 @@ } if (item.preachform) { + if (item.endtime) { item.preachformson = item.preachform; idArray = item.preachform.split(","); + } item.preachform = idArray.map((value) => { // 鏌ユ壘id瀵瑰簲鐨勫璞� @@ -927,7 +1174,7 @@ this.options = []; } }, - // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� + // 褰卞儚闅忚鐘舵�佷慨鏀� handleStatusChange(row) { let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; this.$modal @@ -1005,8 +1252,13 @@ this.topqueryParams = { pageNum: 1, pageSize: 10, - serviceType: 9, + serviceType: 13, + sort: 2, searchscope: 2, + sendstate: 2, + scopetype: [], + leaveldeptcodes: [], + leavehospitaldistrictcodes: [], }; this.handleQuery(1); }, @@ -1027,6 +1279,15 @@ this.$refs.saveTagInput.$refs.input.focus(); }); }, + onthatday() { + this.topqueryParams.startSendDateTime = this.getCurrentDate(); + this.topqueryParams.endSendDateTime = this.getCurrentDate(); + this.getList(1); + }, + getCurrentDate() { + const now = new Date(); + return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD + }, //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 handleInputConfirm() { let inputValue = this.inputValue; @@ -1042,7 +1303,7 @@ path: "/followvisit/QuestionnaireTask", query: { type: 2, - serviceType: 9, + serviceType: 13, }, }); }, @@ -1158,8 +1419,44 @@ 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) { @@ -1176,7 +1473,8 @@ this.topqueryParams.pageNum = null; this.topqueryParams.pageSize = null; this.download( - "smartor/serviceSubtask/export", + // "smartor/serviceSubtask/export", + "smartor/serviceSubtask/patItemExport", { ...this.topqueryParams, }, @@ -1324,7 +1622,7 @@ } .button-sc { font-weight: 500; - background-color: #dd302a; + background-color: #b3a21f; padding: 5px; border-radius: 1px; color: #ffffff; -- Gitblit v1.9.3