From a5cba9ab040f6f97558046885dce3017f9bab7e9 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 11 八月 2026 14:12:29 +0800
Subject: [PATCH] 提交
---
src/views/patient/propaganda/QuestionnaireTask.vue | 2034 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 1,173 insertions(+), 861 deletions(-)
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 2f19c12..763a462 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -69,17 +69,7 @@
placeholder="璇疯緭鍏ヤ换鍔℃弿杩�"
/>
</el-form-item>
- <!-- <el-form-item label="鏈嶅姟褰㈠紡">
- <el-radio-group v-model="checkList">
- <el-radio
- v-for="(item, index) in checkboxlist"
- :key="index"
- :label="item.value"
- >
- {{ item.label }}</el-radio
- >
- </el-radio-group>
- </el-form-item> -->
+
<el-form-item label="鏈嶅姟褰㈠紡">
<SortCheckbox
v-model="checkList"
@@ -90,6 +80,7 @@
@change="checkSelectionChange"
/>
</el-form-item>
+
<el-form-item label="鎵ц鍛ㄦ湡" prop="longTask">
<el-radio-group v-model="form.longTask">
<el-radio :label="0">鑷畾涔夊懆鏈�</el-radio>
@@ -207,14 +198,51 @@
</div>
</div>
</el-form-item>
+
<el-form-item label="浠诲姟鍏宠仈" prop="longTask">
<el-radio-group v-model="form.appltype">
<el-radio label="1">绉戝鍏宠仈</el-radio>
<el-radio label="2">鐥呭尯鍏宠仈</el-radio>
<el-radio label="3">鐤剧梾鍏宠仈</el-radio>
<el-radio label="4">鎵嬫湳鍏宠仈</el-radio>
+ <el-radio label="6" v-if="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+ >鑽搧鍏宠仈</el-radio
+ >
+ <el-radio label="5">浠诲姟缁�</el-radio>
</el-radio-group>
</el-form-item>
+
+ <!-- 鑽搧鍏宠仈 -->
+ <el-row v-if="form.appltype == 6">
+ <el-col :span="20">
+ <el-form-item label="鍏宠仈鑽搧" prop="region">
+ <el-select
+ v-model="medicalCodes"
+ @remove-tag="removeMedical"
+ style="width: 400px"
+ size="medium"
+ multiple
+ filterable
+ remote
+ reserve-keyword
+ :remote-method="remoteSearchMedical"
+ placeholder="璇疯緭鍏ヨ嵂鍝佸悕绉版悳绱�"
+ loading-text="鎼滅储涓�..."
+ >
+ <el-option
+ v-for="item in medicalOptions"
+ :key="item.id"
+ :label="
+ item.itemName + ' (' + item.manufacturerName + ')'
+ "
+ :value="item.itemCode"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <!-- 绉戝鍏宠仈 -->
<el-row v-if="form.appltype == 1">
<el-col :span="20"
><el-form-item label="閫傜敤绉戝" prop="region">
@@ -237,6 +265,8 @@
</el-select> </el-form-item
></el-col>
</el-row>
+
+ <!-- 鐥呭尯鍏宠仈 -->
<el-row v-if="form.appltype == 2">
<el-col :span="20"
><el-form-item label="閫傜敤鐥呭尯" prop="region">
@@ -259,6 +289,8 @@
</el-select> </el-form-item
></el-col>
</el-row>
+
+ <!-- 鐤剧梾鍏宠仈 -->
<el-row v-if="form.appltype == 3">
<div class="xinz-infs">
<el-form-item>
@@ -288,7 +320,6 @@
>
{{ tag.icdname }}
</el-tag>
- <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
</el-form-item>
</div>
<div
@@ -299,14 +330,7 @@
border-left: 4px solid #409eff;
"
>
- <p
- style="
- margin: 0;
- color: #606266;
- font-size: 13px;
- line-height: 1.4;
- "
- >
+ <p style="margin: 0; color: #606266; font-size: 13px">
<i
class="el-icon-info"
style="color: #409eff; margin-right: 6px"
@@ -314,7 +338,6 @@
閽堝鍚屼竴鐤剧梾鍦ㄥ绉戝/鐥呭尯涓嬪瓨鍦ㄧ殑鎯呭喌锛屽彲閫夋嫨鎬ч厤缃浐瀹氱瀹�/鐥呭尯
</p>
</div>
- <!-- 鏂板锛氱柧鐥呭叧鑱斾笅鐨勭瀹ら厤缃紙鍗曢�夛級 -->
<el-row :gutter="20" style="margin-top: 20px">
<el-col :span="12">
<el-form-item label="鍏宠仈绉戝" prop="diseaseDept">
@@ -341,7 +364,6 @@
</div>
</el-form-item>
</el-col>
-
<el-col :span="12">
<el-form-item label="鍏宠仈鐥呭尯" prop="diseaseWard">
<el-select
@@ -369,29 +391,385 @@
</el-col>
</el-row>
</el-row>
+
+ <!-- 鎵嬫湳鍏宠仈 -->
<el-row v-if="form.appltype == 4">
- <el-col :span="20"
- ><el-form-item label="閫傜敤鎵嬫湳" prop="region">
- <el-select
- v-model="form.oplevelcode"
- style="width: 400px"
- @remove-tag="removeopera"
- size="medium"
- :remote-method="remoteopcode"
- filterable
- remote
- placeholder="璇烽�夋嫨鎵嬫湳"
+ <el-form-item label="閫傜敤鎵嬫湳" prop="region">
+ <el-select
+ v-model="form.oplevelcode"
+ style="width: 400px"
+ @remove-tag="removeopera"
+ size="medium"
+ :remote-method="remoteopcode"
+ filterable
+ remote
+ placeholder="璇烽�夋嫨鎵嬫湳"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in baseoperaList"
+ :label="item.label"
+ :value="item.value"
>
- <el-option
- class="ruleFormaa"
- v-for="item in baseoperaList"
- :label="item.label"
- :value="item.value"
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <div
+ style="
+ margin-bottom: 20px;
+ padding: 8px 12px;
+ background-color: #f0f9ff;
+ border-left: 4px solid #409eff;
+ "
+ >
+ <p style="margin: 0; color: #606266; font-size: 13px">
+ <i
+ class="el-icon-info"
+ style="color: #409eff; margin-right: 6px"
+ ></i>
+ 閽堝鍚屼竴鎵嬫湳绫诲瀷鍦ㄥ绉戝/鐥呭尯涓嬪瓨鍦ㄧ殑鎯呭喌锛屽彲閫夋嫨鎬ч厤缃浐瀹氱瀹�/鐥呭尯
+ </p>
+ </div>
+ <el-row :gutter="20" style="margin-top: 20px">
+ <el-col :span="12">
+ <el-form-item label="鍏宠仈绉戝" prop="diseaseDept">
+ <el-select
+ v-model="diseaseDept"
+ style="width: 100%"
+ clearable
+ filterable
+ placeholder="璇烽�夋嫨绉戝锛堝彲閫夛級"
+ value-key="deptCode"
+ @change="handleDiseaseDeptChange"
>
- </el-option>
- </el-select> </el-form-item
- ></el-col>
+ <el-option
+ v-for="item in belongDepts"
+ :key="item.deptCode"
+ :label="item.deptName"
+ :value="item"
+ ></el-option>
+ </el-select>
+ <div v-if="diseaseDept" class="selected-info">
+ 宸查�夋嫨: {{ diseaseDept.deptName }} ({{
+ diseaseDept.deptCode
+ }})
+ </div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍏宠仈鐥呭尯" prop="diseaseWard">
+ <el-select
+ v-model="diseaseWard"
+ style="width: 100%"
+ clearable
+ filterable
+ placeholder="璇烽�夋嫨鐥呭尯锛堝彲閫夛級"
+ value-key="districtCode"
+ @change="handleDiseaseWardChange"
+ >
+ <el-option
+ v-for="item in belongWards"
+ :key="item.districtCode"
+ :label="item.districtName"
+ :value="item"
+ ></el-option>
+ </el-select>
+ <div v-if="diseaseWard" class="selected-info">
+ 宸查�夋嫨: {{ diseaseWard.districtName }} ({{
+ diseaseWard.districtCode
+ }})
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-row>
+
+ <!-- ========= 浠诲姟缁� (appltype=5) ========= -->
+ <div v-if="form.appltype == 5">
+ <el-divider content-position="left">浠诲姟缁勪富璁″垝</el-divider>
+ <el-form-item label="鎵ц鏂瑰紡">
+ <el-radio-group
+ v-model="form.serviceTaskScheduleVO.scheduleStyle"
+ >
+ <el-radio :label="0">闈炲惊鐜�</el-radio>
+ <el-radio :label="1">寰幆</el-radio>
+ </el-radio-group>
+ </el-form-item>
+
+ <div v-if="form.serviceTaskScheduleVO.scheduleStyle == 1">
+ <el-row :gutter="20" style="margin-top: 20px">
+ <el-col :span="12">
+ <el-form-item label="寰幆闂撮殧">
+ <el-input-number
+ v-model="form.serviceTaskScheduleVO.scheduleTimeNum"
+ :min="1"
+ style="width: 120px"
+ />
+ <el-select
+ v-model="
+ form.serviceTaskScheduleVO.scheduleTimeUnit
+ "
+ placeholder="鍗曚綅"
+ style="width: 100px; margin-left: 8px"
+ >
+ <el-option label="澶�" :value="1" />
+ <el-option label="鍛�" :value="2" />
+ <el-option label="鏈�" :value="3" />
+ <el-option label="骞�" :value="4" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鏈�澶ц疆娆�">
+ <el-input-number
+ v-model="form.serviceTaskScheduleVO.maxLoopCount"
+ :min="0"
+ :step="1"
+ placeholder="0琛ㄧず鏃犻檺"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <el-row :gutter="20" style="margin-top: 20px">
+ <el-col :span="12">
+ <el-form-item label="鍩哄噯鏃堕棿">
+ <el-radio-group
+ v-model="form.serviceTaskScheduleVO.scheduleBenchmark"
+ >
+ <el-radio :label="0">鑷畾涔�</el-radio>
+ <el-radio :label="1">鍏ラ櫌鏃堕棿</el-radio>
+ <el-radio :label="2">鍑洪櫌鏃堕棿</el-radio>
+ <el-radio :label="3">灏辫瘖鏃堕棿</el-radio>
+ <el-radio :label="4">鍏ョ粍鏃堕棿</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col
+ :span="12"
+ v-if="form.serviceTaskScheduleVO.scheduleBenchmark == 0"
+ >
+ <el-form-item label="鑷畾涔夊熀鍑嗘椂闂�">
+ <el-date-picker
+ v-model="
+ form.serviceTaskScheduleVO
+ .scheduleBenchmarkCustomTime
+ "
+ type="datetime"
+ placeholder="閫夋嫨鏃ユ湡鏃堕棿"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ />
+ </el-form-item>
+ </el-col>
+
+ <el-col :span="12">
+ <el-form-item label="涓嬫鎵ц鏃堕棿">
+ <el-date-picker
+ v-model="form.serviceTaskScheduleVO.nextExecuteTime"
+ type="datetime"
+ placeholder="閫夋嫨棣栨鎵ц鏃堕棿"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" style="margin-top: 20px">
+ <el-col :span="12">
+ <el-form-item label="鍏宠仈绉戝" prop="diseaseDept">
+ <el-select
+ v-model="diseaseDept"
+ style="width: 100%"
+ clearable
+ filterable
+ placeholder="璇烽�夋嫨绉戝锛堝彲閫夛級"
+ value-key="deptCode"
+ @change="handleDiseaseDeptChange"
+ >
+ <el-option
+ v-for="item in belongDepts"
+ :key="item.deptCode"
+ :label="item.deptName"
+ :value="item"
+ ></el-option>
+ </el-select>
+ <div v-if="diseaseDept" class="selected-info">
+ 宸查�夋嫨: {{ diseaseDept.deptName }} ({{
+ diseaseDept.deptCode
+ }})
+ </div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍏宠仈鐥呭尯" prop="diseaseWard">
+ <el-select
+ v-model="diseaseWard"
+ style="width: 100%"
+ clearable
+ filterable
+ placeholder="璇烽�夋嫨鐥呭尯锛堝彲閫夛級"
+ value-key="districtCode"
+ @change="handleDiseaseWardChange"
+ >
+ <el-option
+ v-for="item in belongWards"
+ :key="item.districtCode"
+ :label="item.districtName"
+ :value="item"
+ ></el-option>
+ </el-select>
+ <div v-if="diseaseWard" class="selected-info">
+ 宸查�夋嫨: {{ diseaseWard.districtName }} ({{
+ diseaseWard.districtCode
+ }})
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <div class="xinz-infs">
+ <el-form-item>
+ <template #label>
+ <el-tooltip
+ class="item"
+ effect="light"
+ content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
+ placement="top-start"
+ >
+ <i class="el-icon-warning-outline"></i>
+ </el-tooltip>
+ </template>
+ <div style="margin-bottom: 10px">
+ <el-button
+ type="warning"
+ @click="$refs.child.handleAddpatient()"
+ >娣诲姞鐤剧梾璇婃柇</el-button
+ >
+ </div>
+ <el-tag
+ v-for="tag in diagglist"
+ @close="removediagg(tag.icd10code)"
+ type="warning"
+ closable
+ :disable-transitions="false"
+ >
+ {{ tag.icdname }}
+ </el-tag>
+ </el-form-item>
+ </div>
+ </el-row>
+ <!-- 鏄庣粏鍒楄〃 -->
+ <el-row :gutter="20" style="margin-top: 20px">
+ <el-col :span="24">
+ <el-divider content-position="left"
+ >浠诲姟鏄庣粏鍒楄〃</el-divider
+ >
+ <el-button
+ type="primary"
+ size="small"
+ icon="el-icon-plus"
+ @click="addDetail"
+ >娣诲姞鏄庣粏</el-button
+ >
+ <el-table
+ :data="form.serviceTaskScheduleVO.detailList"
+ border
+ style="width: 100%; margin-top: 10px"
+ >
+ <el-table-column label="搴忓彿" width="80" align="center">
+ <template slot-scope="scope">{{
+ scope.row.seq
+ }}</template>
+ </el-table-column>
+ <el-table-column label="闂撮殧澶╂暟" width="120">
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.dayOffset"
+ :min="0"
+ size="small"
+ controls-position="right"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column label="妯℃澘" min-width="200">
+ <template slot-scope="scope">
+ <el-select
+ v-model="scope.row.templateid"
+ filterable
+ remote
+ :remote-method="remoteTemplate"
+ placeholder="鎼滅储妯℃澘"
+ size="small"
+ @change="
+ handleTemplateSelect(scope.$index, scope.row)
+ "
+ >
+ <el-option
+ v-for="item in templateOptions"
+ :key="item.svyid"
+ :label="item.svyname"
+ :value="item.svyid"
+ >
+ <span style="float: left">{{
+ item.svyname
+ }}</span>
+ <span
+ style="
+ float: right;
+ color: #8492a6;
+ font-size: 12px;
+ "
+ >{{ item.createBy }}</span
+ >
+ </el-option>
+ </el-select>
+ <span
+ style="
+ margin-left: 5px;
+ font-size: 12px;
+ color: #909399;
+ "
+ >{{ scope.row.templatename }}</span
+ >
+ </template>
+ </el-table-column>
+ <el-table-column label="寮�鍦虹櫧" min-width="150">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.kcb"
+ size="small"
+ placeholder="鍙��"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column label="缁撴潫璇�" min-width="150">
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.jsy"
+ size="small"
+ placeholder="鍙��"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ width="100"
+ align="center"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="mini"
+ type="danger"
+ icon="el-icon-delete"
+ @click="removeDetail(scope.$index)"
+ ></el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-col>
+ </el-row>
+ </div>
+ <!-- ===== 浠诲姟缁勭粨鏉� ===== -->
+
<el-row>
<el-col :span="12"
><el-form-item label="寮�鍦虹櫧" prop="kcb">
@@ -472,11 +850,6 @@
</el-table-column>
<el-table-column label="鎿嶄綔" align="center">
<template slot-scope="scope">
- <!-- <el-button
- size="mini"
- @click="variableEdit(scope.$index, scope.row)"
- >缂栬緫</el-button
- > -->
<el-button
size="mini"
type="danger"
@@ -500,7 +873,6 @@
@click="submitForm('ruleForm')"
>{{ quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆" }}</el-button
>
- <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
</div>
<!-- 浠诲姟璇︽儏 -->
<div v-if="Editprogress == 2">
@@ -541,22 +913,7 @@
>鏂板</el-button
>
</el-col>
-
- <!-- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="el-icon-delete"
- size="medium"
- :disabled="multiple"
- @click="handleDelete"
- >鍒犻櫎</el-button
- >
- </el-col> -->
-
- <!-- <el-col :span="1.5"> </el-col> -->
</el-row>
- <!-- 閫変腑鎮h�呭垪琛� -->
<SFtable
@details="detailhz"
@handleUpdate="handleUpdate"
@@ -568,13 +925,6 @@
:controlxz="false"
:typeinfo="2"
/>
- <!-- <pagination
- v-show="total > 0"
- :total="total"
- :page.sync="topqueryParams.pageNum"
- :limit.sync="topqueryParams.pageSize"
- @pagination="getList"
- /> -->
</el-row>
</div>
</div>
@@ -587,7 +937,6 @@
@click="submitForm('ruleForm')"
>{{ quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆" }}</el-button
>
- <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
</div>
</div>
<!-- 娣诲姞鎮h�� -->
@@ -601,7 +950,6 @@
<div class="examine-jic">
<div class="jic-value">
<el-row :gutter="20">
- <!--鐢ㄦ埛鏁版嵁-->
<el-form
:model="patientqueryParams"
ref="queryForm"
@@ -657,7 +1005,6 @@
>
</el-form-item>
</el-form>
- <!-- 閫夋嫨鎮h�呭垪琛� -->
<SFtable
ref="multipleTable"
@handleSelectionChange="handleSelectionChange"
@@ -855,21 +1202,6 @@
>淇濆瓨浣跨敤</el-button
>
</span>
- <!-- <span slot="footer" class="dialog-footer">
- <el-button
- v-if="(form.templateid && form.sendState == 1) || !form.templateid"
- type="primary"
- @click="Departmenttreatment"
- >{{ form.templateid ? "鏇挎崲浣跨敤" : "閫夋嫨浣跨敤" }}</el-button
- >
- <el-button
- :type="previewtftype ? 'success' : 'warning'"
- @click="previewGo"
- >{{
- previewtftype ? "鍓嶅線淇敼宸查�夋嫨妯℃澘" : "鏂板淇濆瓨骞跺墠寰�淇敼"
- }}</el-button
- >
- </span> -->
</el-dialog>
<el-drawer
title="闂嵎鍐呭鍒楄〃"
@@ -881,8 +1213,6 @@
<div class="examine-jic">
<div class="jic-value">
<el-row :gutter="20">
- <!--鐢ㄦ埛鏁版嵁-->
-
<el-form
:model="topqueryParams"
ref="queryForm"
@@ -897,17 +1227,6 @@
@keyup.enter.native="handleQuerymb"
></el-input>
</el-form-item>
- <!-- <el-form-item label="閫傜敤褰㈠紡" prop="status">
- <el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in taskoptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item> -->
<el-form-item>
<el-button
type="primary"
@@ -925,7 +1244,6 @@
</el-form-item>
</el-form>
<el-divider></el-divider>
- <!-- 閫夋嫨妯℃澘鍒楄〃 -->
<SFtable
@selectfn="selectfn"
:currentList="userList"
@@ -955,7 +1273,6 @@
/>
</div>
</template>
-
<script>
import { messagelistpatient } from "@/api/patient/homepage";
import store from "@/store";
@@ -980,12 +1297,14 @@
taskdepthospgetsondel,
taskdepthospgetsonlist,
taskdiaggetlist,
+ rwztaskdepthospgetsonlist,
+ rwztaskdiaggetlist,
taskopergetlist,
} from "@/api/AiCentre/index";
-import OptionalForm from "@/components/OptionalForm"; //鐤剧梾娣诲姞缁勪欢
-import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
-import SortCheckbox from "@/components/SortCheckbox"; //琛ㄦ牸缁勪欢
-
+import { listMedication } from "@/api/knowledge/drug";
+import OptionalForm from "@/components/OptionalForm";
+import SFtable from "@/components/SFtable";
+import SortCheckbox from "@/components/SortCheckbox";
import { MessageBox } from "element-ui";
export default {
@@ -993,31 +1312,31 @@
data() {
return {
title: "瀹f暀鍐呭鍒楄〃",
- currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闂嵎
- id: "", //
- previewid: "", //浠诲姟妯℃澘浼犻�抜d
+ currenttype: 1,
+ id: "",
+ previewid: "",
libName: "",
templateor: false,
- submitLoading: false, // 鎺у埗鎸夐挳鍔犺浇鐘舵��
+ submitLoading: false,
objyl: {},
- overallCase: [], //閫夋嫨鎮h�呮��
+ overallCase: [],
allpids: [],
appraiselist: [],
optionsclass: [],
illnesslist: [],
mode: [],
- libId: null, //妯℃澘搴撴ā鏉縤d
- Editprogress: 1, //缂栬緫杩涘害
- drawermb: false, //閫夋嫨妯℃澘寮圭獥
- previewtf: false, //棰勮
- loading: false, // 閬僵灞�
- patientloading: false, // 閬僵灞�
- previewtftype: 0, //棰勮鎯呭喌0鏂版ā鏉块瑙�1宸查�夋嫨妯℃澘淇敼
- dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
- dialogVisiblepatientjb: false, //娣诲姞鐤剧梾寮规
- deptcodesWards: [], //绉戝鏁版嵁
- leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁
- illnesscodes: [], //鐤剧梾鏁版嵁
+ libId: null,
+ Editprogress: 1,
+ drawermb: false,
+ previewtf: false,
+ loading: false,
+ patientloading: false,
+ previewtftype: 0,
+ dialogVisiblepatient: false,
+ dialogVisiblepatientjb: false,
+ deptcodesWards: [],
+ leavehospitaldistrictcodes: [],
+ illnesscodes: [],
radio: 1,
checkboxlist: [],
tableLabel: [],
@@ -1039,7 +1358,6 @@
],
props: { multiple: true, value: "deptCode", label: "deptName" },
propstask: { value: "deptCode", label: "deptName" },
- // 鎮h�呰〃鍗�
tableLabelhz: [
{ label: "鍑洪櫌鏃ユ湡", width: "150", prop: "inhosptime" },
{ label: "鎮h��", width: "", prop: "name" },
@@ -1053,7 +1371,6 @@
{ label: "绉戝", width: "240", prop: "dept" },
{ label: "鐥呭尯", width: "240", prop: "leavehospitaldistrictname" },
],
- // 鎮h�呰〃鍗�
tableLabelhzwb: [
{ label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
{ label: "鎮h��", width: "", prop: "name" },
@@ -1068,14 +1385,12 @@
{ label: "绉戝", width: "180", prop: "deptName" },
{ label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
],
-
tableLabelwj: [
{ label: "闂嵎鏍囬", width: "", prop: "svyname" },
{ label: "闂嵎鎻忚堪", width: "", prop: "description" },
{ label: "淇敼鏃ユ湡", width: "", prop: "updateTime" },
{ label: "鍒涘缓浜�", width: "", prop: "createBy" },
],
- // 鍙橀噺
tableLabelvariable: [
{ label: "鍙橀噺鍚嶇О", width: "", prop: "variablename" },
{ label: "鍖归厤绗�", width: "", prop: "character" },
@@ -1094,50 +1409,45 @@
{ label: "绾夸笅锛堢焊璐級", value: 10 },
{ label: "绾夸笂锛堢煭淇�/閽夐拤鐨勬枃鏈�侀棶鍗烽摼鎺ワ級", value: 11 },
],
- // 鏃堕棿澶勭悊
- daytime: [], //鏃ユ湡
- applydaytime: [], //璁$畻鏃ユ湡
- diseaseDept: null, // 鐤剧梾鍏宠仈涓嬬殑绉戝锛堝瓨鍌ㄦ暣涓璞★級
- diseaseWard: null, // 鐤剧梾鍏宠仈涓嬬殑鐥呭尯锛堝瓨鍌ㄦ暣涓璞★級
+ daytime: [],
+ applydaytime: [],
+ diseaseDept: null,
+ diseaseWard: null,
diseaseDepts: "",
diseaseWards: "",
- time1: "", //涓婂崍鏃堕棿娈�
- time2: "", //涓嬪崍鏃堕棿娈�
- time3: "", //鏅氫笂鏃堕棿娈�
- time4: "", //鏅氫笂鏃堕棿娈�
+ time1: "",
+ time2: "",
+ time3: "",
+ time4: "",
topqueryParams: {
- pageNum: 1, //
+ pageNum: 1,
pageSize: 10,
},
checkList: "",
selectedOrder: [],
deliverytopqueryParams: {
- pageNum: 1, //
+ pageNum: 1,
pageSize: 10,
},
patientqueryParams: {
- pageNum: 1, //
+ pageNum: 1,
pageSize: 10,
leavehospitaldistrictcodes: [],
leaveldeptcodes: [],
},
topicoptions: [{ children: [{ children: [] }] }],
- showSearch: true, //
- total: 0, //
- sontotal: 0, //
- patienttotal: 0, //
- // 閫変腑鏁扮粍
+ showSearch: true,
+ total: 0,
+ sontotal: 0,
+ patienttotal: 0,
ids: [],
- // 闈炲崟涓鐢�
single: true,
- // 闈炲涓鐢�
multiple: true,
- // 鐢ㄦ埛琛ㄦ牸鏁版嵁
- userList: [], //妯℃澘鍒楄〃
- multiplechoice: [], //澶氶�夌粨鏋�
- patientuserList: [], //閫夋嫨鎮h�呭垪琛�
- sonuserList: [], //閫変腑鎮h�呭垪琛�
- delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍
+ userList: [],
+ multiplechoice: [],
+ patientuserList: [],
+ sonuserList: [],
+ delvariableList: [],
longtype: [
{ value: 0, label: "鑷畾涔夊懆鏈�" },
{ value: 1, label: "闀挎湡浠诲姟" },
@@ -1161,7 +1471,7 @@
fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
default: true,
},
- ], //鍙橀噺鍒楄〃
+ ],
transitionList: [
{
name: "濮撳悕",
@@ -1183,8 +1493,9 @@
},
],
variableListTime: [],
- tasktopic: null, //鏂板绫诲瀷
+ tasktopic: null,
SelectPatientslist: [],
+ orgname: localStorage.getItem("orgname"),
form: {
patTaskRelevances: [],
sendType: 1,
@@ -1197,59 +1508,46 @@
localStorage.getItem("orgname") +
"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�",
jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈瀹f暀鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
+ // ===== 浠诲姟缁勪富瀵硅薄 =====
+ serviceTaskScheduleVO: {
+ scheduleStyle: 0,
+ scheduleTimeNum: null,
+ scheduleTimeUnit: null,
+ maxLoopCount: 0,
+ currentLoopCount: 0,
+ currentSeq: 0,
+ nextSeq: 0,
+ nextExecuteTime: "",
+ scheduleBenchmark: 0,
+ scheduleBenchmarkCustomTime: "",
+ detailList: [],
+ },
},
taskoptions: [
- {
- value: "4",
- label: "鍑洪櫌鐥呬汉",
- },
- {
- value: "1",
- label: "鍦ㄩ櫌鐥呬汉",
- },
- {
- value: "2",
- label: "闂ㄨ瘖鐥呬汉",
- },
- {
- value: "3",
- label: "浣撴鐥呬汉",
- },
- {
- value: "6",
- label: "闄㈠鎮h��",
- },
- {
- value: "5",
- label: "鎵嬫湳鐥呬汉",
- },
+ { value: "4", label: "鍑洪櫌鐥呬汉" },
+ { value: "1", label: "鍦ㄩ櫌鐥呬汉" },
+ { value: "2", label: "闂ㄨ瘖鐥呬汉" },
+ { value: "3", label: "浣撴鐥呬汉" },
+ { value: "6", label: "闄㈠鎮h��" },
+ { value: "5", label: "鎵嬫湳鐥呬汉" },
],
source: [
- {
- value: 0,
- label: "鎵�灞炴偅鑰�",
- },
- {
- value: 1,
- label: "绉戝鎮h��",
- },
- {
- value: 2,
- label: "鐥呭尯鎮h��",
- },
+ { value: 0, label: "鎵�灞炴偅鑰�" },
+ { value: 1, label: "绉戝鎮h��" },
+ { value: 2, label: "鐥呭尯鎮h��" },
],
-
tasktypes: store.getters.tasktypes,
- // 绉戝/鐥呭尯
belongWards: [],
deptlist: [],
hosplist: [],
diagglist: [],
operlist: [],
- tempDetpRelevanceslist: [], //绉戝鏁版嵁
- tempDetpRelevanceslistform: [], //绉戝鏁版嵁
- tempbelongWards: [], //鐥呭尯鏁版嵁
- tempbelongWardsform: [], //鐥呭尯鏁版嵁
+ medicalCodes: [],
+ medicalOptions: [],
+ tempDetpRelevanceslist: [],
+ tempDetpRelevanceslistform: [],
+ tempbelongWards: [],
+ tempbelongWardsform: [],
rules: {
taskName: [
{ required: true, message: "浠诲姟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
@@ -1263,23 +1561,20 @@
sendType: [
{ required: true, message: "鍙戦�佽缃笉鑳戒负绌�", trigger: "blur" },
],
-
longTask: [
{ required: true, message: "璇烽�夋嫨鎵ц鍛ㄦ湡", trigger: "blur" },
],
- // leavehospitaldistrictcode: [
- // { required: true, message: "閫傜敤鐥呭尯涓嶈兘涓虹┖", trigger: "blur" },
- // ],
},
belongDepts: [],
- // 绉戝闄㈠尯鏌ヨ鍏ュ弬
queryParamsdept: {},
quote: false,
serviceType: null,
+ // 妯℃澘鎼滅储
+ templateOptions: [],
+ templateLoading: false,
};
},
components: { SFtable, OptionalForm, SortCheckbox },
-
created() {
this.appraiselist = store.getters.appraiselist;
this.belongWards = store.getters.belongWards;
@@ -1305,20 +1600,17 @@
},
computed: {
displayedTags() {
- // 杩斿洖鍓�10涓猼ag
return this.illnesslist.slice(0, 10);
},
hasMore() {
- // 鍒ゆ柇鏄惁鏈夋洿澶氱殑tag
return this.illnesslist.length > 10;
},
remaining() {
- // 璁$畻鍓╀綑鐨則ag鏁伴噺
return this.illnesslist.length - 10;
},
},
methods: {
- // 鍙橀噺杞崲瀵硅薄杞暟缁�
+ // ---------- 宸ュ叿鏂规硶 ----------
convertFormat1ToFormat2(data) {
let result = [];
for (let key in data) {
@@ -1331,7 +1623,6 @@
}
return result;
},
- // 鏁扮粍杞璞�
convertFormat2ToFormat1(data) {
let result = {};
data.forEach((item) => {
@@ -1341,7 +1632,15 @@
});
return result;
},
- // 鑾峰彇褰撳墠绫诲瀷
+ daysBetween(endDate) {
+ if (!endDate) return "";
+ const now = new Date();
+ const end = new Date(endDate);
+ const diff = Math.floor((now - end) / (1000 * 60 * 60 * 24));
+ return diff > 0 ? diff : 0;
+ },
+
+ // ---------- 鏁版嵁鍔犺浇 ----------
Acquisitiontype() {
let queryParams = {
pageNum: this.topqueryParams.pageNum,
@@ -1353,23 +1652,10 @@
this.tableLabel = this.tableLabelwj;
if (this.form.serviceType == 1) {
this.checkboxlist = [
- {
- value: "1",
- label: "浜哄伐",
- },
-
- {
- value: "2",
- label: "绾歌川",
- },
- {
- value: "4",
- label: "鐭俊",
- },
- {
- value: "5",
- label: "寰俊鍏紬鍙�",
- },
+ { value: "1", label: "浜哄伐" },
+ { value: "2", label: "绾歌川" },
+ { value: "4", label: "鐭俊" },
+ { value: "5", label: "寰俊鍏紬鍙�" },
{ label: "寰俊灏忕▼搴�", value: "6" },
];
} else if (
@@ -1378,31 +1664,11 @@
this.form.serviceType == 15
) {
this.checkboxlist = [
- {
- value: "1",
- label: "浜哄伐",
- },
- {
- value: "3",
- label: "鏅鸿兘璇煶",
- },
- {
- value: "4",
- label: "鐭俊",
- },
- {
- value: "5",
- label: "寰俊鍏紬鍙�",
- },
- {
- value: "6",
- label: "寰俊灏忕▼搴�",
- },
-
- // {
- // value: "8",
- // label: "鏅鸿兘鏈哄櫒浜�",
- // },
+ { value: "1", label: "浜哄伐" },
+ { value: "3", label: "鏅鸿兘璇煶" },
+ { value: "4", label: "鐭俊" },
+ { value: "5", label: "寰俊鍏紬鍙�" },
+ { value: "6", label: "寰俊灏忕▼搴�" },
];
} else if (
this.form.serviceType == 7 ||
@@ -1414,34 +1680,13 @@
this.form.serviceType == 9
) {
this.checkboxlist = [
- {
- value: "1",
- label: "浜哄伐",
- },
- {
- value: "2",
- label: "绾歌川",
- },
- {
- value: "3",
- label: "鏅鸿兘璇煶",
- },
- {
- value: "4",
- label: "鐭俊",
- },
- {
- value: "5",
- label: "寰俊鍏紬鍙�",
- },
- {
- value: "6",
- label: "寰俊灏忕▼搴�",
- },
- {
- value: "7",
- label: "鏈悗闅忚",
- },
+ { value: "1", label: "浜哄伐" },
+ { value: "2", label: "绾歌川" },
+ { value: "3", label: "鏅鸿兘璇煶" },
+ { value: "4", label: "鐭俊" },
+ { value: "5", label: "寰俊鍏紬鍙�" },
+ { value: "6", label: "寰俊灏忕▼搴�" },
+ { value: "7", label: "鏈悗闅忚" },
];
} else if (
this.form.serviceType == 2 ||
@@ -1453,31 +1698,11 @@
this.form.serviceType == 4
) {
this.checkboxlist = [
- {
- value: "1",
- label: "浜哄伐",
- },
- {
- value: "3",
- label: "鏅鸿兘璇煶",
- },
- {
- value: "4",
- label: "鐭俊",
- },
- {
- value: "5",
- label: "寰俊鍏紬鍙�",
- },
- {
- value: "6",
- label: "寰俊灏忕▼搴�",
- },
-
- // {
- // value: "8",
- // label: "鏅鸿兘鏈哄櫒浜�",
- // },
+ { value: "1", label: "浜哄伐" },
+ { value: "3", label: "鏅鸿兘璇煶" },
+ { value: "4", label: "鐭俊" },
+ { value: "5", label: "寰俊鍏紬鍙�" },
+ { value: "6", label: "寰俊灏忕▼搴�" },
];
}
getQtemplatelist(this.topqueryParams).then((response) => {
@@ -1485,177 +1710,268 @@
this.total = response.total;
});
},
+ getQtemplateclassify() {
+ getQtemplateclassify({}).then((res) => {
+ this.optionsclass = res.rows;
+ });
+ },
+ getillnesslist() {
+ getillnesslist({ pageNum: 1, pageSize: 1000 }).then((res) => {
+ this.donorchargeList = res.rows;
+ });
+ },
+ getillness(id) {
+ if (id) {
+ getillness({ outid: id, type: 5 }).then((res) => {
+ this.illnesslist = res.rows;
+ this.illnesslist.forEach((item) => {
+ item.icdname = item.icd10name;
+ });
+ });
+ }
+ },
+ Getdetails() {
+ this.form = {
+ patTaskRelevances: [],
+ sendType: 1,
+ sendDay: 5,
+ templatename: "",
+ templateid: null,
+ libtemplateid: null,
+ kcb:
+ "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾垜浠槸" +
+ localStorage.getItem("orgname") +
+ "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�",
+ jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
+ serviceTaskScheduleVO: {
+ scheduleStyle: 0,
+ scheduleTimeNum: null,
+ scheduleTimeUnit: null,
+ maxLoopCount: 0,
+ currentLoopCount: 0,
+ currentSeq: 0,
+ nextSeq: 0,
+ nextExecuteTime: "",
+ scheduleBenchmark: 0,
+ scheduleBenchmarkCustomTime: "",
+ detailList: [],
+ },
+ };
+ this.questionList = [];
+ if (this.id) {
+ Questionnairetaskgetson({ taskid: this.id }).then((res) => {
+ if (res.code == 200) {
+ this.form = res.data;
+ // 濡傛灉杩斿洖浜� serviceTaskScheduleVO锛岃В鏋愭槑缁嗕腑鐨� content
+ if (
+ this.form.serviceTaskScheduleVO &&
+ this.form.serviceTaskScheduleVO.detailList
+ ) {
+ this.form.serviceTaskScheduleVO.detailList.forEach((item) => {
+ if (item.content) {
+ try {
+ const contentObj = JSON.parse(item.content);
+ item.kcb = contentObj.kcb || "";
+ item.jsy = contentObj.jsy || "";
+ item.textParam = contentObj.text_param || {};
+ } catch (e) {
+ item.kcb = "";
+ item.jsy = "";
+ item.textParam = {};
+ }
+ } else {
+ item.kcb = "";
+ item.jsy = "";
+ item.textParam = {};
+ }
+ });
+ } else {
+ // 鑻ュ悗鍙版湭杩斿洖锛屽垯鍒濆鍖栦负绌�
+ this.form.serviceTaskScheduleVO = {
+ scheduleStyle: 0,
+ scheduleTimeNum: null,
+ scheduleTimeUnit: null,
+ maxLoopCount: 0,
+ currentLoopCount: 0,
+ currentSeq: 0,
+ nextSeq: 0,
+ nextExecuteTime: "",
+ scheduleBenchmark: 0,
+ scheduleBenchmarkCustomTime: "",
+ detailList: [],
+ };
+ }
+ this.form.serviceType = this.serviceType;
+ this.form.patTaskRelevances = this.form.patTaskRelevances
+ ? this.form.patTaskRelevances
+ : [];
+ this.diseaseDept = {
+ deptCode: this.form.deptcode,
+ deptName: this.form.deptname,
+ };
+ this.diseaseWard = {
+ districtCode: this.form.leavehospitaldistrictcode,
+ districtName: this.form.leavehospitaldistrictname,
+ };
+ // 鑽搧鍏宠仈鍥炴樉
+ if (this.form.medicalCode) {
+ this.medicalCodes = this.form.medicalCode
+ .split(",")
+ .filter(Boolean);
+ // 鍔犺浇宸查�夎嵂鍝佺殑閫夐」鍒楄〃锛堢敤浜庡睍绀� label锛�
+ const codes = this.form.medicalCode;
+ listMedication({
+ itemCode: codes,
+ pageNum: 1,
+ pageSize: 200,
+ }).then((res) => {
+ this.medicalOptions = res.rows || [];
+ });
+ }
+ this.overallCase = this.form.patTaskRelevances.concat();
+ this.checkList = this.form.preachform
+ ? this.form.preachform.split(",")
+ : "";
+ this.selectedOrder = this.form.preachformList || [];
+ this.overallCase.forEach((item) => {
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+ });
+ if (this.form.showDate)
+ this.daytime = this.form.showDate.split(",");
+ if (this.form.showTimeMorn) {
+ if (this.form.sendType == 3) {
+ this.time4 = this.form.showTimeMorn;
+ } else {
+ this.time1 = this.form.showTimeMorn.split(",");
+ }
+ }
+ if (this.form.taskid) {
+ this.listDept();
+ }
+ if (this.form.showTimeNoon)
+ this.time2 = this.form.showTimeNoon.split(",");
+ if (this.form.showTimeNight)
+ this.time3 = this.form.showTimeNight.split(",");
+ let filteredArray = this.convertFormat1ToFormat2(
+ this.form.textParam || {}
+ );
+ this.variableList = this.transitionList.concat(filteredArray);
+ } else {
+ this.$modal.msgError(res.code);
+ }
+ if (this.newadd) {
+ this.neWaddfn();
+ }
+ });
+ }
+ },
+ neWaddfn() {
+ this.id = null;
+ this.form.taskName = "";
+ this.form.taskid = null;
+ this.overallCase = [];
+ this.form.patTaskRelevances = [];
+ this.daytime = [];
+ this.applydaytime = [];
+ this.time1 = "";
+ this.time2 = "";
+ this.time3 = "";
+ this.time4 = "";
+ // 閲嶇疆浠诲姟缁�
+ this.form.serviceTaskScheduleVO = {
+ scheduleStyle: 0,
+ scheduleTimeNum: null,
+ scheduleTimeUnit: null,
+ maxLoopCount: 0,
+ currentLoopCount: 0,
+ currentSeq: 0,
+ nextSeq: 0,
+ nextExecuteTime: "",
+ scheduleBenchmark: 0,
+ scheduleBenchmarkCustomTime: "",
+ detailList: [],
+ };
+ },
+
+ // ---------- 浠诲姟缁勬槑缁嗘搷浣� ----------
+ addDetail() {
+ const detailList = this.form.serviceTaskScheduleVO.detailList;
+ const seq = detailList.length + 1;
+ detailList.push({
+ seq: seq,
+ dayOffset: 0,
+ templateid: null,
+ libtemplateid: null,
+ templatename: "",
+ content: "",
+ kcb: "",
+ jsy: "",
+ textParam: {},
+ });
+ },
+ removeDetail(index) {
+ this.form.serviceTaskScheduleVO.detailList.splice(index, 1);
+ this.form.serviceTaskScheduleVO.detailList.forEach((item, idx) => {
+ item.seq = idx + 1;
+ });
+ },
+ handleTemplateSelect(index, row) {
+ const selected = this.templateOptions.find(
+ (item) => item.svyid === row.templateid
+ );
+ if (selected) {
+ row.templatename = selected.svyname;
+ row.libtemplateid = selected.svyid; // 妯℃澘搴揑D
+ } else {
+ row.templatename = "";
+ row.libtemplateid = null;
+ }
+ },
+ remoteTemplate(query) {
+ if (query !== "") {
+ this.templateLoading = true;
+ getQtemplatelist({ svyname: query, pageNum: 1, pageSize: 20 })
+ .then((res) => {
+ this.templateOptions = res.rows;
+ this.templateLoading = false;
+ })
+ .catch(() => {
+ this.templateLoading = false;
+ });
+ } else {
+ this.templateOptions = [];
+ }
+ },
+
+ // ---------- 姝ラ瀵艰埅 ----------
nextstep() {
this.$refs["form"].validate((valid) => {
if (valid) {
- if (this.Editprogress <= 3) {
- return this.Editprogress++;
- }
+ if (this.Editprogress <= 3) this.Editprogress++;
} else {
this.$modal.msgError("琛ㄥ崟鍐呭鏈畬鍠勶紝璇锋鏌�");
}
});
},
- // 淇濆瓨
- submitForm(formName) {
- console.log(this.submitLoading, "1");
-
- if (this.submitLoading) {
- return;
- }
- // 绗簩姝ワ細寮�鍚姞杞界姸鎬侊紝绂佺敤鎸夐挳
- this.submitLoading = true;
- console.log(this.submitLoading);
-
- try {
- if (this.time4 && this.form.sendType == 3)
- this.form.showTimeMorn = this.time4;
- this.form.sendTimeslot = [
- {
- begantime: this.time4,
- endtime: "",
- xh: 1,
- },
- ];
- console.log(1);
-
- if (this.form.appltype == 1) {
- this.leavehospitaldistrictcodes = [];
- this.form.oplevelcode = null;
- this.illnesscodes = [];
- } else if (this.form.appltype == 2) {
- this.deptcodesWards = [];
- this.form.oplevelcode = null;
- this.illnesscodes = [];
- } else if (this.form.appltype == 3) {
- this.deptcodesWards = [];
- this.leavehospitaldistrictcodes = [];
- this.form.oplevelcode = null;
- } else if (this.form.appltype == 4) {
- this.deptcodesWards = [];
- this.illnesscodes = [];
- this.leavehospitaldistrictcodes = [];
- }
- if (this.checkList) {
- this.form.preachform = this.checkList.join(",");
- this.form.preachformList = this.selectedOrder;
- } else {
- this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
- this.submitLoading = false;
-
- return;
- }
- console.log(2);
-
- if (
- this.deptcodesWards[0] ||
- this.leavehospitaldistrictcodes[0] ||
- this.diagglist[0] ||
- this.form.oplevelcode ||
- this.form.longTask == 2 ||
- this.serviceType == 3
- ) {
- } else {
- this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
- this.submitLoading = false;
- return;
- }
- //鏆傚仠浠诲姟鎮h�呴檺鍒�
- // if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
- // this.$modal.msgError("璇烽�夋嫨鐥呬汉");
- // return;
- // }
- console.log(3);
-
- if (!this.form.templatename && !this.templateor) {
- this.$modal.msgError("鏈�夋嫨妯℃澘");
- this.submitLoading = false;
-
- return;
- }
-
- if (
- (this.form.sendType == 1 && this.time1) ||
- this.form.sendType == 2
- ) {
- } else if (
- (this.form.sendType == 3 && this.time4) ||
- this.form.longTask
- ) {
- } else {
- this.submitLoading = false;
- return this.$modal.msgError("鏃堕棿淇℃伅缂哄け");
- }
- const filteredArray = this.variableList.filter(
- (item) =>
- item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃"
- );
- this.form.textParam = this.convertFormat2ToFormat1(filteredArray);
- if (this.form.taskid) {
- this.form.isoperation = 2;
- } else {
- this.form.isoperation = 1;
- }
- if (!this.form.type) {
- this.form.type = this.$route.query.type;
- }
- console.log(4);
- this.form.serviceType = this.serviceType;
- this.form.deptcode = this.deptcodesWards.join(",");
- this.form.leavehospitaldistrictcode =
- this.leavehospitaldistrictcodes.join(",");
- // this.form.opcode = this.operationcodes.join(",");
- if (this.form.appltype == 3) {
- if (this.diseaseDept) {
- this.form.deptcode = this.diseaseDept.deptCode;
- this.form.deptname = this.diseaseDept.deptName;
- }
-
- if (this.diseaseWard) {
- this.form.leavehospitaldistrictcode = this.diseaseWard.districtCode;
- this.form.leavehospitaldistrictname = this.diseaseWard.districtName;
- }
- }
-
- this.form.icd10code = this.diagglist
- .map((item) => item.icdcode)
- .join(",");
- this.form.icd10name = this.diagglist
- .map((item) => item.icdname)
- .join(",");
- Editsingletask(this.form).then((res) => {
- if (res.code == 200) {
- if (this.form.taskid) {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- } else {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- }
- this.$router.push({
- path: "/followvisit/tasklist",
- query: { tasktopic: this.form.serviceType },
- });
- this.submitLoading = false;
- }
- });
- } catch (error) {
- this.submitLoading = false;
- } finally {
- // 绗洓姝ワ細鏃犺鎴愬姛鎴栧け璐ワ紝鏈�缁堥兘鍏抽棴鍔犺浇鐘舵��
- }
+ laststep() {
+ this.Editprogress--;
},
+ resetForm(formName) {
+ this.$refs[formName].resetFields();
+ },
+
+ // ---------- 鍏宠仈閫夋嫨 ----------
handleDiseaseDeptChange(dept) {
- // 褰撻�夋嫨绉戝鏃讹紝瀛樺偍鏁翠釜绉戝瀵硅薄
this.diseaseDept = dept;
},
-
handleDiseaseWardChange(ward) {
- // 褰撻�夋嫨鐥呭尯鏃讹紝瀛樺偍鏁翠釜鐥呭尯瀵硅薄
this.diseaseWard = ward;
},
- // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
- // 閫夋嫨棰勮
+
+ // ---------- 妯℃澘鐩稿叧 ----------
selectfn(row, type) {
- // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭�
if (type == 1) {
this.libName = row.svyname;
this.libId = row.svyid;
@@ -1666,13 +1982,12 @@
if (this.form.longTask) {
this.objyl.longTemp = 1;
}
-
this.tempDetpRelevanceslist = [];
this.tempbelongWards = [];
- this.objyl.suitway = this.objyl.suitway.split(",");
+ this.objyl.suitway = this.objyl.suitway
+ ? this.objyl.suitway.split(",")
+ : [];
this.questionList = res.rows[0].svyTemplateLibScripts;
- console.log(this.questionList, "this.questionList");
-
this.questionList.forEach((item) => {
item.qremark = [];
});
@@ -1682,23 +1997,15 @@
});
this.previewid = row.svyid;
this.Variablehandling(row.svyTemplateLibScripts, 1);
- } else if (type == 2) {
- } else if (type == 3) {
}
},
- // 棰勮
previewfnmb() {
- // taskgetQtemplateobj({ id: this.form.templateid });
-
getTaskQuestioncomit(this.form.templateid).then((res) => {
if (res.code == 200) {
- console.log(res, "棰勮鏁版嵁");
this.objyl = res.data;
if (this.objyl.suitway)
this.objyl.suitway = this.objyl.suitway.split(",");
-
this.getillness(this.form.libtemplateid);
-
this.previewtf = true;
taskgetQtemplateobj({ id: this.form.templateid }).then((res) => {
if (res.code == 200) {
@@ -1716,103 +2023,188 @@
}
});
},
- checkSelectionChange(selectedValues, selectedOrder) {
- this.selectedOrder = selectedValues;
- console.log("褰撳墠閫変腑:", selectedValues);
- console.log("閫変腑椤哄簭:", selectedOrder);
- },
- // 鏈嶅姟褰㈠紡閫夊彇
- handleCheckedCitiesChange(row) {
- console.log(row, "鏈嶅姟");
- this.foncheckList = this.checkboxlist.filter((obj) =>
- row.includes(obj.value)
- );
- },
- // 鏈嶅姟褰㈠紡鍒犻櫎
- handleClosetag(tag) {
- console.log(tag, "tag");
- console.log(this.foncheckList, "foncheckList");
- this.checkList = this.checkList.filter((item) => item != tag.value);
- this.foncheckList = this.foncheckList.filter(
- (obj) => obj.value !== tag.value
- );
- },
- getillness(id) {
- if (id) {
- getillness({ outid: id, type: 5 }).then((res) => {
- this.illnesslist = res.rows;
- this.illnesslist.forEach((item) => {
- item.icdname = item.icd10name;
- });
- });
- }
- },
- getillnesslist() {
- getillnesslist({
- pageNum: 1,
- pageSize: 1000,
- }).then((res) => {
- this.donorchargeList = res.rows;
- });
- // getbaseopera({
- // pageNum: 1,
- // pageSize: 1000,
- // }).then((res) => {
- // this.baseoperaList = res.rows;
- // });
- },
- // 鎵嬫湳鏌ヨ
- remoteopcode(name) {
- // if (name) {
- // getbaseopera({
- // pageNum: 1,
- // pageSize: 1000,
- // opdesc: name,
- // }).then((res) => {
- // this.baseoperaList = res.rows;
- // });
- // }
- },
- // 鐤剧梾鏌ヨ
- remotedonor(name) {
- // if (name) {
- // getbaseopera({
- // pageNum: 1,
- // pageSize: 1000,
- // opdesc: name,
- // }).then((res) => {
- // this.baseoperaList = res.rows;
- // });
- // }
- },
- // 澶勭悊闂灞傚彉閲�
Variablehandling(arr, type) {
let Variablist = [];
if (type == 1) {
- // 寰幆闂
arr.forEach((res) => {
- // 寰幆閫夐」
- JSON.parse(res.otherdata).forEach((item) => {
- if (item.default != 1) {
- Variablist.push({
- value: item.variate,
- fill: "",
- name: item.variatename,
- });
- }
- });
+ if (res.otherdata) {
+ JSON.parse(res.otherdata).forEach((item) => {
+ if (item.default != 1) {
+ Variablist.push({
+ value: item.variate,
+ fill: "",
+ name: item.variatename,
+ });
+ }
+ });
+ }
});
const Aarr = Variablist.filter(
(obj, index, self) =>
index ===
self.findIndex((t) => t.name === obj.name && t.value === obj.value)
);
-
this.variableList = this.transitionList.concat(Aarr);
- // this.form.textParam = this.convertFormat2ToFormat1(this.variableList);
}
},
- // 瀛愪换鍔′簩绾у脊妗�
+ variableDelete(index, row) {
+ this.variableList.splice(index, 1);
+ row.isoperation = 3;
+ this.delvariableList.push(row);
+ },
+
+ // ---------- 绉戝/鐥呭尯/鐤剧梾/鎵嬫湳 鎿嶄綔 ----------
+ listDept() {
+ this.leavehospitaldistrictcodes = [];
+ this.deptcodesWards = [];
+ // this.queryParamsdept.taskId = this.form.taskid;
+ this.queryParamsdept.taskId = this.form.taskid;
+
+ if (this.form.appltype == 5) {
+ rwztaskdepthospgetsonlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ if (item.deptType == 1) {
+ this.deptlist.push(item);
+ this.deptcodesWards.push(item.deptCode);
+ } else if (item.deptType == 2) {
+ this.hosplist.push(item);
+ this.leavehospitaldistrictcodes.push(item.deptCode);
+ }
+ });
+ }
+ });
+ rwztaskdiaggetlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ if (localStorage.getItem("orgname") == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌") {
+ item.icdname = item.icd10name;
+ this.diagglist.push(item);
+ } else {
+ this.diagglist.push(item);
+ }
+ this.illnesscodes.push(item.icd10code);
+ });
+ }
+ });
+ } else {
+ taskdepthospgetsonlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ if (item.deptType == 1) {
+ this.deptlist.push(item);
+ this.deptcodesWards.push(item.deptCode);
+ } else if (item.deptType == 2) {
+ this.hosplist.push(item);
+ this.leavehospitaldistrictcodes.push(item.deptCode);
+ }
+ });
+ }
+ });
+ taskdiaggetlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ if (localStorage.getItem("orgname") == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌") {
+ item.icdname = item.icd10name;
+ this.diagglist.push(item);
+ } else {
+ getillnesslist({ icdname: item.icd10name }).then((res) => {
+ item.icdname = res.rows[0].icdname;
+ this.diagglist.push(item);
+ });
+ }
+ this.illnesscodes.push(item.icd10code);
+ });
+ }
+ });
+ }
+
+ taskopergetlist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows;
+ arr.forEach((item) => {
+ this.operlist.push(item);
+ this.operationcodes.push(item.opcode);
+ });
+ }
+ });
+ },
+ removetag(row) {
+ let result = this.deptlist
+ .filter((item) => item.deptCode == row)
+ .map((item) => item.id);
+ if (result.length) {
+ taskdepthospgetsondel(result).then((res) => {
+ if (res.code) this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ });
+ }
+ },
+ removehpsp(row) {
+ let result = this.hosplist
+ .filter((item) => item.deptCode == row)
+ .map((item) => item.id);
+ if (result.length) {
+ taskdepthospgetsondel(result).then((res) => {
+ if (res.code) this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ });
+ }
+ },
+ removeopera(row) {
+ let result = this.operlist
+ .filter((item) => item.opcode == row)
+ .map((item) => item.id);
+ if (result.length) {
+ taskoperhospgetsondel(result).then((res) => {
+ if (res.code) this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ });
+ }
+ },
+ removediagg(row) {
+ // 浠诲姟缁勶細鏈湴鍒犻櫎鍗冲彲锛屽悗绔繚瀛樻椂缁熶竴鏇存柊
+ if (this.form.appltype == 5) {
+ this.diagglist = this.diagglist.filter((item) => item.icd10code != row);
+ return;
+ }
+ // 鏅�氱柧鐥呭叧鑱旓細璋冨悗绔帴鍙i�愭潯鍒犻櫎
+ let result = this.diagglist
+ .filter((item) => item.icd10code == row)
+ .map((item) => item.id);
+ if (result.length) {
+ taskdiaghospgetsondel(result).then((res) => {
+ if (res.code) {
+ this.diagglist = this.diagglist.filter(
+ (item) => item.icd10code != row
+ );
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
+ }
+ },
+ remoteopcode(name) {
+ // 鍗犱綅
+ },
+ // 杩滅▼鎼滅储鑽搧
+ remoteSearchMedical(query) {
+ if (!query) {
+ this.medicalOptions = [];
+ return;
+ }
+ listMedication({ itemName: query, pageNum: 1, pageSize: 20 }).then(
+ (res) => {
+ this.medicalOptions = res.rows || [];
+ }
+ );
+ },
+ // 鍒犻櫎宸查�夎嵂鍝�
+ removeMedical(code) {
+ this.medicalCodes = this.medicalCodes.filter((c) => c !== code);
+ },
+
+ // ---------- 鎮h�呴�夋嫨 ----------
handleAddpatient(row) {
this.allpids = [];
this.overallCase.forEach((item) => {
@@ -1820,7 +2212,6 @@
});
if (this.patientqueryParams.allhosp == 4) {
this.tableLabelhz = [
- // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" },
{ label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
{ label: "鎮h��", width: "", prop: "name" },
{ label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
@@ -1870,8 +2261,6 @@
} else {
this.patientqueryParams.pids = null;
}
- // 鏉ユ簮鍒ゆ柇
-
if (this.patientqueryParams.allhosp == 4) {
this.patientqueryParams.hospitaldistrictcodes = [];
this.patientqueryParams.deptcodes = [];
@@ -1896,16 +2285,9 @@
});
this.dialogVisiblepatient = true;
},
- handleUpdate() {},
- handleDelete() {},
- handleExport() {},
-
- // 閫夋嫨鎮h�呰〃鏁版嵁
handleSelectionChange(selection) {
this.SelectPatientslist = structuredClone(selection);
this.multiple = !selection.length;
-
- // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍
this.SelectPatientslist.forEach((item) => {
const isExist = this.overallCase.find((obj) => obj.name == item.name);
if (!isExist) {
@@ -1919,46 +2301,37 @@
item.admindate = item.inhosptime;
item.diagname = item.leavediagname;
item.sfzh = item.idcardno;
- if (this.patientqueryParams.allhosp == 6) {
- item.patfrom = 1;
- }
- if (this.patientqueryParams.allhosp == 1) {
+ if (this.patientqueryParams.allhosp == 6) item.patfrom = 1;
+ if (this.patientqueryParams.allhosp == 1)
item.visittime = item.endtime;
- } else if (this.patientqueryParams.allhosp == 4) {
+ else if (this.patientqueryParams.allhosp == 4)
item.visittime = item.starttime;
- } else if (this.patientqueryParams.allhosp == 2) {
+ else if (this.patientqueryParams.allhosp == 2)
item.visittime = item.admitdate;
- }
this.overallCase.push(item);
this.form.patTaskRelevances.push(item);
}
});
},
- // 鍒囨崲椤靛悗鎭㈠閫変腑
Restorecheck() {
const allid = this.overallCase.map((item) => item.patid);
- const overlap = this.patientuserList.filter((value) => {
- return allid.includes(value.patid);
- });
- // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬�
+ const overlap = this.patientuserList.filter((value) =>
+ allid.includes(value.patid)
+ );
this.SelectPatientslist = overlap;
this.toggleSelection(overlap);
},
- // 鎸傝浇閫夋嫨鐘舵��
toggleSelection(rows) {
if (rows) {
- this.decision = true;
this.$nextTick(() => {
rows.forEach((row) => {
this.$refs.multipleTable.toggleRowSelection(row, true);
});
- this.decision = false;
});
} else {
this.$refs.multipleTable.clearSelection();
}
},
- // 鍒犻櫎閫変腑鎮h��
detailhz(row, info) {
this.$modal
.confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�')
@@ -1974,14 +2347,9 @@
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
});
},
- getList() {},
handleQuery() {
- // 鑾峰彇澶栭儴鎮h��
-
if (this.patientqueryParams.allhosp == 6) {
this.Externallist();
- console.log();
-
return;
}
if (
@@ -2015,7 +2383,6 @@
this.patientqueryParams.leaveldeptcodes = null;
this.handleAddpatient();
},
- // 鑾峰彇澶栭儴鎮h�呭鍏ュ垪琛�
Externallist() {
this.tableLabelhz = [
{ label: "鎮h��", width: "", prop: "name" },
@@ -2026,7 +2393,6 @@
{ label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
];
this.patientqueryParams.pageSize = 1000;
-
Externallist(this.patientqueryParams).then((response) => {
this.patientuserList = response.rows;
this.patientuserList.forEach((item) => {
@@ -2039,16 +2405,15 @@
this.loading = false;
});
},
-
resetQuerymb() {
this.topqueryParams = { svyname: "" };
this.handleQuerymb();
},
resetQuery() {
this.patientqueryParams = {
- pageNum: 1, //
+ pageNum: 1,
pageSize: 10,
- topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯
+ topica: 1,
leavehospitaldistrictcodes: [],
leaveldeptcodes: [],
};
@@ -2063,227 +2428,20 @@
handleClosehz() {
this.dialogVisiblepatient = false;
},
- // 涓婁竴姝�
- laststep() {
- this.Editprogress--;
- },
- // 鎻愪氦琛ㄥ崟
- resetForm(formName) {
- this.$refs[formName].resetFields();
- },
- // 棰勮妯℃澘
- PreviewTemplate() {},
- Acknowledgereference() {
- this.quote = true;
- },
- // 鑾峰彇璇︽儏
- Getdetails() {
- this.form = {
- patTaskRelevances: [],
- sendType: 1,
- sendDay: 5,
- templatename: "",
- templateid: null,
- libtemplateid: null,
- kcb:
- "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾垜浠槸" +
- localStorage.getItem("orgname") +
- "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�",
- jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
- };
-
- this.questionList = [];
- if (this.id) {
- Questionnairetaskgetson({ taskid: this.id }).then((res) => {
- let filteredArray = "";
- if (res.code == 200) {
- this.form = res.data;
- this.form.serviceType = this.serviceType;
- this.form.patTaskRelevances = this.form.patTaskRelevances
- ? this.form.patTaskRelevances
- : [];
- this.overallCase = this.form.patTaskRelevances.concat();
- this.checkList = this.form.preachform.split(",");
- this.selectedOrder = this.form.preachformList;
- this.overallCase.forEach((item) => {
- if (item.endtime) {
- item.endDay = this.daysBetween(item.endtime);
- }
- });
- if (this.form.showDate)
- this.daytime = this.form.showDate.split(",");
- if (this.form.showTimeMorn) {
- if (this.form.sendType == 3) {
- this.time4 = this.form.showTimeMorn;
- } else {
- this.time1 = this.form.showTimeMorn.split(",");
- }
- }
- // 鑾峰彇浠诲姟绉戝
- if (this.form.taskid) {
- this.listDept();
- }
- if (this.form.showTimeNoon)
- this.time2 = this.form.showTimeNoon.split(",");
- if (this.form.showTimeNight)
- this.time3 = this.form.showTimeNight.split(",");
- filteredArray = this.convertFormat1ToFormat2(this.form.textParam);
- this.variableList = this.transitionList.concat(filteredArray);
- } else {
- this.$modal.msgError(res.code);
- }
-
- if (this.newadd) {
- this.neWaddfn();
- }
- });
- }
- },
- // 渚濈収鏂板鏃跺鐞�
- neWaddfn() {
- this.id = null;
- this.form.taskName = "";
- this.form.taskid = null;
- this.overallCase = [];
- this.form.patTaskRelevances = [];
- this.daytime = []; //鏃ユ湡
- this.applydaytime = []; //璁$畻鏃ユ湡
- this.time1 = ""; //涓婂崍鏃堕棿娈�
- this.time2 = ""; //涓嬪崍鏃堕棿娈�
- this.time3 = ""; //鏅氫笂鏃堕棿娈�
- this.time4 = ""; //鏅氫笂鏃堕棿娈�
- },
- // 鑾峰彇鍚勭被
- listDept() {
- this.leavehospitaldistrictcodes = [];
- this.deptcodesWards = [];
- this.queryParamsdept.taskId = this.form.taskid;
- taskdepthospgetsonlist(this.queryParamsdept).then((res) => {
- if (res.code == 200) {
- let arr = res.rows;
- arr.forEach((item) => {
- if (item.deptType == 1) {
- this.deptlist.push(item);
- this.deptcodesWards.push(item.deptCode);
- } else if (item.deptType == 2) {
- this.hosplist.push(item);
- this.leavehospitaldistrictcodes.push(item.deptCode);
- }
- });
- }
- });
- taskdiaggetlist(this.queryParamsdept).then((res) => {
- if (res.code == 200) {
- let arr = res.rows;
- arr.forEach((item) => {
- if (localStorage.getItem("orgname") == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌") {
- item.icdname = item.icd10name;
- this.diagglist.push(item);
- } else {
- getillnesslist({
- icdname: item.icd10name,
- }).then((res) => {
- item.icdname = res.rows[0].icdname;
- this.diagglist.push(item);
- });
- }
- this.illnesscodes.push(item.icd10code);
- });
- }
- });
- taskopergetlist(this.queryParamsdept).then((res) => {
- if (res.code == 200) {
- let arr = res.rows;
- arr.forEach((item) => {
- this.operlist.push(item);
- this.operationcodes.push(item.opcode);
- });
- }
- });
- },
- // 浠诲姟绉戝鍒犻櫎瑙﹀彂
- removetag(row) {
- let result = this.deptlist
- .filter((item) => item.deptCode == row)
- .map((item) => item.id);
-
- if (result.length) {
- taskdepthospgetsondel(result).then((res) => {
- if (res.code) {
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }
- });
- }
- },
- // 闄㈠尯鍒犻櫎鍒犻櫎瑙﹀彂
- removehpsp(row) {
- let result = this.hosplist
- .filter((item) => item.deptCode == row)
- .map((item) => item.id);
- if (result.length) {
- taskdepthospgetsondel(result).then((res) => {
- if (res.code) {
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }
- });
- }
- },
- // 鎵嬫湳鍒犻櫎瑙﹀彂
- removeopera(row) {
- let result = this.operlist
- .filter((item) => item.opcode == row)
- .map((item) => item.id);
- if (result.length) {
- taskoperhospgetsondel(result).then((res) => {
- if (res.code) {
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }
- });
- }
- },
- // 鐤剧梾鍒犻櫎瑙﹀彂
- removediagg(row) {
- console.log(row, "row");
- console.log(this.diagglist, "this.diagglist");
-
- let result = this.diagglist
- .filter((item) => item.icd10code == row)
- .map((item) => item.id);
- if (result.length) {
- taskdiaghospgetsondel(result).then((res) => {
- if (res.code) {
- this.diagglist = this.diagglist.filter(
- (item) => item.icd10code != row
- );
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }
- });
- }
- },
-
- getQtemplateclassify() {
- getQtemplateclassify({}).then((res) => {
- this.optionsclass = res.rows;
- });
- },
- // 鏂板娲鹃�佹偅鑰�
AddDispatchpatients() {
- // this.SelectPatientslist.forEach((item) => {
- // item.isoperation = 1;
- // });
- // this.form.patTaskRelevances.push(...this.SelectPatientslist);
- // this.overallCase.push(...this.SelectPatientslist);
this.dialogVisiblepatient = false;
},
+ handleUpdate() {},
+ handleDelete() {},
+ handleExport() {},
- variableDelete(index, row) {
- this.variableList.splice(index, 1);
- row.isoperation = 3;
- this.delvariableList.push(row);
+ // ---------- 鏈嶅姟褰㈠紡鎺掑簭 ----------
+ checkSelectionChange(selectedValues, selectedOrder) {
+ this.selectedOrder = selectedValues;
},
- // 鏃堕棿----------
- changeTime(row) {
+ // ---------- 鏃堕棿澶勭悊 ----------
+ changeTime() {
this.processingTime();
},
Totaldate(row) {
@@ -2299,27 +2457,19 @@
getDates(startDate, endDate) {
const dates = [];
let currentDate = new Date(startDate);
-
while (currentDate <= endDate) {
dates.push(this.$moment(currentDate).format("YYYY-MM-DD"));
currentDate.setDate(currentDate.getDate() + 1);
}
-
return dates;
},
- // 鏃堕棿鏈�缁堝鐞嗘柟娉�
processingTime() {
const combinedData = [];
let serialnumber = 1;
- if (this.time3[0]) {
- serialnumber = 3;
- } else if (this.time2[0]) {
- serialnumber = 2;
- } else if (this.time1[0]) {
- serialnumber = 1;
- } else {
- return;
- }
+ if (this.time3 && this.time3[0]) serialnumber = 3;
+ else if (this.time2 && this.time2[0]) serialnumber = 2;
+ else if (this.time1 && this.time1[0]) serialnumber = 1;
+ else return;
for (let i = 0; i < this.applydaytime.length; i++) {
combinedData.push({
@@ -2343,31 +2493,28 @@
}
}
this.form.sendTimeslot = combinedData;
- // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄
-
this.form.showDate = this.daytime.join(",");
if (this.time1) this.form.showTimeMorn = this.time1.join(",");
if (this.time2) this.form.showTimeNoon = this.time2.join(",");
if (this.time3) this.form.showTimeNight = this.time3.join(",");
},
- // 鏌ョ湅妯℃澘
+
+ // ---------- 妯℃澘淇濆瓨涓庢浛鎹� ----------
previewGo() {
this.$modal.confirm("鏄惁鍓嶅線淇敼浠诲姟妯℃澘璇︾粏鍐呭锛�").then(() => {
- this.drawermb = false; //閫夋嫨妯℃澘寮圭獥
- this.previewtf = false; //棰勮
+ this.drawermb = false;
+ this.previewtf = false;
this.$router.push({
path: "/knowledge/tpuconfigurat/",
query: { id: this.previewid, task: true, data: this.form },
});
});
},
- // 淇濆瓨/鏇存柊浠诲姟妯℃澘
previewFn() {
if (Array.isArray(this.objyl.suitway)) {
this.objyl.suitway = this.objyl.suitway.join(",");
}
this.objyl.templateid = this.objyl.svyid;
-
this.objyl.isoperation = 1;
this.objyl.taskid = this.form.taskid;
this.objyl.svyTemplateLibScripts.forEach((item) => {
@@ -2379,7 +2526,6 @@
deleteTaskQuestioncomit(this.objyl.id).then((res) => {
if (res.code == 200) {
this.objyl.id = null;
-
TaskQuestioncomit(this.objyl).then((response) => {
this.previewtf = false;
this.form.libtemplateid = this.objyl.svyid;
@@ -2401,7 +2547,6 @@
});
}
},
- // 淇濆瓨绉戝/鐥呭尯
putbelongDepts(id) {
this.tempDetpRelevanceslistform.forEach((item) => {
item.tempid = id;
@@ -2422,8 +2567,6 @@
}
});
},
-
- // 绉戝澶勭悊
Departmenttreatment() {
if (!this.form.taskid) {
this.templateor = true;
@@ -2465,10 +2608,211 @@
}, 1000);
}
},
+
+ // ---------- 鎻愪氦琛ㄥ崟 ----------
+ submitForm(formName) {
+ if (this.submitLoading) return;
+ this.submitLoading = true;
+
+ try {
+ if (this.time4 && this.form.sendType == 3) {
+ this.form.showTimeMorn = this.time4;
+ }
+ this.form.sendTimeslot = [
+ {
+ begantime: this.time4,
+ endtime: "",
+ xh: 1,
+ },
+ ];
+
+ if (this.form.appltype == 1) {
+ this.leavehospitaldistrictcodes = [];
+ this.form.oplevelcode = null;
+ this.illnesscodes = [];
+ } else if (this.form.appltype == 2) {
+ this.deptcodesWards = [];
+ this.form.oplevelcode = null;
+ this.illnesscodes = [];
+ } else if (this.form.appltype == 3) {
+ this.deptcodesWards = [];
+ this.leavehospitaldistrictcodes = [];
+ this.form.oplevelcode = null;
+ } else if (this.form.appltype == 4) {
+ this.deptcodesWards = [];
+ this.illnesscodes = [];
+ this.leavehospitaldistrictcodes = [];
+ } else if (this.form.appltype == 6) {
+ this.deptcodesWards = [];
+ this.leavehospitaldistrictcodes = [];
+ this.illnesscodes = [];
+ this.form.oplevelcode = null;
+ }
+
+ // 鏈嶅姟褰㈠紡鏍¢獙
+ if (this.checkList) {
+ this.form.preachform = this.checkList.join(",");
+ this.form.preachformList = this.selectedOrder;
+ } else {
+ this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
+ this.submitLoading = false;
+ return;
+ }
+
+ // 浠诲姟鍏宠仈鏉′欢鏍¢獙锛堜换鍔$粍璺宠繃寮哄埗鍏宠仈锛�
+ const hasCondition =
+ this.deptcodesWards[0] ||
+ this.leavehospitaldistrictcodes[0] ||
+ this.diagglist[0] ||
+ this.form.oplevelcode ||
+ this.medicalCodes[0] ||
+ this.form.longTask == 2 ||
+ this.serviceType == 3 ||
+ this.form.appltype == 5;
+
+ if (!hasCondition) {
+ this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
+ this.submitLoading = false;
+ return;
+ }
+
+ if (!this.form.templatename && !this.templateor) {
+ this.$modal.msgError("鏈�夋嫨妯℃澘");
+ this.submitLoading = false;
+ return;
+ }
+
+ const isValidTime =
+ (this.form.sendType == 1 && this.time1) ||
+ this.form.sendType == 2 ||
+ (this.form.sendType == 3 && this.time4) ||
+ this.form.longTask;
+ if (!isValidTime) {
+ this.submitLoading = false;
+ this.$modal.msgError("鏃堕棿淇℃伅缂哄け");
+ return;
+ }
+
+ // 澶勭悊鍙橀噺
+ const filteredArray = this.variableList.filter(
+ (item) =>
+ item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃"
+ );
+ this.form.textParam = this.convertFormat2ToFormat1(filteredArray);
+
+ // 澶勭悊浠诲姟缁勬槑缁嗙殑 content
+ if (this.form.appltype == 5 && this.form.serviceTaskScheduleVO) {
+ this.form.serviceTaskScheduleVO.detailList.forEach((item) => {
+ const contentObj = {
+ kcb: item.kcb || "",
+ jsy: item.jsy || "",
+ text_param: item.textParam || {},
+ };
+ item.content = JSON.stringify(contentObj);
+ delete item.kcb;
+ delete item.jsy;
+ delete item.textParam;
+ });
+ // 灏嗕富瀵硅薄鏀惧叆 form 鎻愪氦锛堝凡瀛樺湪锛�
+ }
+
+ if (this.form.taskid) {
+ this.form.isoperation = 2;
+ } else {
+ this.form.isoperation = 1;
+ }
+ if (!this.form.type) {
+ this.form.type = this.$route.query.type;
+ }
+ console.log(this.diseaseDept, this.diseaseWard);
+
+ if (this.form.appltype == 1 || this.form.appltype == 2) {
+ this.form.deptcode = this.deptcodesWards.join(",");
+ this.form.leavehospitaldistrictcode =
+ this.leavehospitaldistrictcodes.join(",");
+ } else {
+ if (this.diseaseDept) {
+ this.form.deptcode = this.diseaseDept.deptCode;
+ this.form.deptname = this.diseaseDept.deptName;
+ }
+ if (this.diseaseWard) {
+ this.form.leavehospitaldistrictcode = this.diseaseWard.districtCode;
+ this.form.leavehospitaldistrictname = this.diseaseWard.districtName;
+ }
+ }
+
+ // 鑽搧鍏宠仈锛氱粍瑁呴�楀彿鍒嗛殧鐨勭紪鐮�/鍚嶇О/鍘傚
+ if (this.form.appltype == 6) {
+ const selectedMeds = this.medicalOptions.filter((m) =>
+ this.medicalCodes.includes(m.itemCode)
+ );
+ this.form.medicalCode = this.medicalCodes.join(",");
+ this.form.medicalName = selectedMeds.map((m) => m.itemName).join(",");
+ this.form.medicalCompany = selectedMeds
+ .map((m) => m.manufacturerName)
+ .join(",");
+ }
+
+ this.form.serviceType = this.serviceType;
+
+ this.form.icd10code = this.diagglist
+ .map((item) => item.icdcode)
+ .join(",");
+ this.form.icd10name = this.diagglist
+ .map((item) => item.icdname)
+ .join(",");
+ // 鐤剧梾/鎵嬫湳鍏宠仈鐨勭瀹�/鐥呭尯鏍¢獙
+ if (this.form.appltype == 3 || this.form.appltype == 4) {
+ const hasDept = this.diseaseDept?.deptCode;
+ const hasWard = this.diseaseWard?.districtCode;
+ if (!hasDept && !hasWard) {
+ this.$modal.msgError("闇�鍏宠仈绉戝鎴栫梾鍖�");
+ this.submitLoading = false;
+ return;
+ }
+
+ this.form.deptcode = hasDept;
+ this.form.leavehospitaldistrictcode = hasWard;
+ }
+ // 浠诲姟缁勭殑鏁版嵁澶勭悊
+ if (this.form.appltype == 5) {
+ this.form.serviceTaskScheduleVO.icd10codes = this.form.icd10code;
+ this.form.serviceTaskScheduleVO.wardCodes =
+ this.form.leavehospitaldistrictcode;
+ this.form.serviceTaskScheduleVO.deptCodes = this.form.deptcode;
+ }
+ Editsingletask(this.form)
+ .then((res) => {
+ if (res.code == 200) {
+ if (this.form.taskid) {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ } else {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ }
+ this.$router.push({
+ path: "/followvisit/tasklist",
+ query: { tasktopic: this.form.serviceType },
+ });
+ } else {
+ this.$modal.msgError(res.msg || "鎿嶄綔澶辫触");
+ }
+ })
+ .catch((error) => {
+ console.error("鎻愪氦澶辫触:", error);
+ this.$modal.msgError(error.message || "缃戠粶寮傚父锛岃绋嶅悗閲嶈瘯");
+ })
+ .finally(() => {
+ this.submitLoading = false;
+ });
+ } catch (error) {
+ console.error("琛ㄥ崟鎻愪氦寮傚父:", error);
+ this.$modal.msgError(error.message || "琛ㄥ崟鎻愪氦寮傚父");
+ this.submitLoading = false;
+ }
+ },
},
};
</script>
-
<style lang="scss" scoped>
.Questionnairemanagement {
}
@@ -2479,7 +2823,6 @@
.sidecolumn {
width: 100%;
- // min-height: 12vh;
margin: 20px;
margin-bottom: 0;
padding: 30px;
@@ -2490,11 +2833,8 @@
}
.leftvlue {
- // display: flex;
- // flex: 1;
width: 100%;
margin-top: 20px;
- // margin: 20px;
padding: 30px;
background: #ffff;
border: 1px solid #dcdfe6;
@@ -2513,7 +2853,6 @@
margin-bottom: 10px;
display: flex;
- // justify-content: space-between;
.Add-details {
font-size: 18px;
color: #02a7f0;
@@ -2563,32 +2902,11 @@
}
}
-// .leftvlue-jbxx {
-// margin-bottom: 50px;
-// font-size: 20px;
-// span {
-// position: absolute;
-// right: 80px;
-// }
-// .demo-cascader {
-// margin-right: 20px;
-// }
-// .PreviewTemplate {
-// color: #02a7f0;
-// cursor: pointer;
-// font-size: 20px;
-// margin: 0 20px;
-// }
-// }
.preview-left {
margin: 20px;
- // margin: 20px;
padding: 30px;
background: #ffff;
- // border: 1px solid #dcdfe6;
- // -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
- // 0 0 6px 0 rgba(0, 0, 0, 0.04);
.scriptTopic-dev {
margin-bottom: 25px;
font-size: 20px !important;
@@ -2647,9 +2965,6 @@
margin-bottom: 10px;
}
-// ::v-deep.el-input--medium {
-// font-size: 24px !important;
-// }
::v-deep.ruleFormaa.el-select {
display: inline-block;
position: relative;
@@ -2666,9 +2981,6 @@
height: 22px;
}
-// ::v-deep.topic-dev.el-radio__label {
-// font-size: 24px;
-// }
::v-deep.el-radio-group {
span {
font-size: 18px;
--
Gitblit v1.9.3