From 41b1f5280255ac539e40d4cd794532ae1829ce17 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 01 八月 2024 18:25:36 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/propaganda/particty.vue | 1222 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 900 insertions(+), 322 deletions(-) diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index 4ac1600..eb521a4 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -7,13 +7,14 @@ <el-step icon="el-icon-edit" title="鍩虹淇℃伅" - description="閫夋嫨瀹f暀妯$増銆佸舰寮忕瓑鍩虹淇℃伅" + description="閫夋嫨妯$増銆佸舰寮忕瓑鍩虹淇℃伅" ></el-step> <el-step icon="el-icon-user" - title="瀹f暀瀵硅薄" - description="鍦ㄦ湰閮ㄩ�夋嫨瀹f暀鐥呬汉" + title="浠诲姟涓讳綋" + description="鍦ㄦ湰閮ㄩ�夋嫨鏈嶅姟鎮h��" ></el-step> + <el-step icon="el-icon-user" title="妯$増纭"></el-step> </el-steps> </div> </div> @@ -21,11 +22,7 @@ <div class="leftvlue" style="margin: 0 20px"> <!-- 鍩烘湰淇℃伅 --> <div v-if="Editprogress == 1"> - <el-alert - title="閫夋嫨瀹f暀妯$増銆佸舰寮忕瓑鍩虹淇℃伅" - type="success" - effect="dark" - > + <el-alert title="閫夋嫨妯$増銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark"> </el-alert> <div class="leftvlue-jbxx"> <!-- 鍩虹淇℃伅 --> @@ -35,20 +32,130 @@ </div> <div class="jic-value"> <el-form ref="form" :model="form" label-width="105px"> - <el-form-item label="鍙戦�佹椂闂达細"> + <el-row :gutter="20"> + <el-col :span="12" + ><el-form-item label="浠诲姟鍚嶇О"> + <el-input + style="width: 220px" + v-model="form.taskName" + placeholder="璇疯緭鍏ヤ换鍔″悕绉�" + /> </el-form-item + ></el-col> + <el-col :span="8" + ><el-form-item label="妯$増鍚嶇О"> + <el-input + style="width: 220px" + :disabled="true" + v-model="form.templatename" + placeholder="鐐瑰嚮鍙充晶閫夋嫨" + /> </el-form-item + ></el-col> + <el-col :span="4"> + <el-button + type="primary" + icon="el-icon-edit" + @click="drawermb = true" + circle + ></el-button> + </el-col> + </el-row> + + <el-form-item label="浠诲姟鎻忚堪"> + <el-input + type="textarea" + v-model="form.taskDesc" + placeholder="璇疯緭鍏ヤ换鍔℃弿杩�" + /> + </el-form-item> + <el-form-item label="鍙戦�佽缃細" v-if="currenttype != 2"> + <el-radio-group v-model="form.sendType"> + <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio> + <el-radio :label="3">鏃堕棿鐐瑰彂閫�</el-radio> + <el-radio :label="2">鍗冲埢鍙戦��</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1"> <el-date-picker - v-model="form.name" - type="date" - placeholder="閫夋嫨鏃ユ湡" + v-model="daytime" + @change="changeTimeday" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + value-format="yyyy-MM-dd" > </el-date-picker> </el-form-item> - <el-form-item label="鍙戦�佹椂闂存锛�"> - <el-checkbox-group v-model="checkList"> - <el-checkbox label="涓婂崍锛�8:30-11:30锛�"></el-checkbox> - <el-checkbox label="涓嬪崍锛�14:30-16:30锛�"></el-checkbox> - <el-checkbox label="澶滈棿锛�18:30-20:30锛�"></el-checkbox> - </el-checkbox-group> + + <el-form-item label="鍙戦�佹椂闂寸偣锛�" v-if="form.sendType == 3"> + <div style="display: flex"> + <div style="margin-right: 10px"> + <el-date-picker + v-model="time4" + value-format="yyyy-MM-dd HH:mm:ss" + @change="Totaldate" + type="datetime" + placeholder="閫夋嫨鏃ユ湡鏃堕棿" + > + </el-date-picker> + </div> + </div> + </el-form-item> + + <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1"> + <div style="display: flex"> + <div style="margin-right: 10px"> + <span style="font-size: 18px; margin-right: 10px" + >鏃堕棿娈典竴</span + > + <el-time-picker + is-range + arrow-control + @change="changeTime" + v-model="time1" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + value-format="HH:mm:ss" + > + </el-time-picker> + </div> + <div style="margin-right: 10px"> + <span style="font-size: 18px; margin-right: 10px" + >鏃堕棿娈典簩</span + > + <el-time-picker + is-range + arrow-control + @change="changeTime" + v-model="time2" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + value-format="HH:mm:ss" + > + </el-time-picker> + </div> + <div style="margin-right: 10px"> + <span style="font-size: 18px; margin-right: 10px" + >鏃堕棿娈典笁</span + > + <el-time-picker + is-range + arrow-control + @change="changeTime" + v-model="time3" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + value-format="HH:mm:ss" + > + </el-time-picker> + </div> + </div> </el-form-item> <el-form-item label="鏈嶅姟褰㈠紡"> <el-checkbox-group v-model="checkList"> @@ -59,135 +166,64 @@ ></el-checkbox> </el-checkbox-group> </el-form-item> - <el-form-item label="缁勭粐褰㈠紡"> - <el-radio-group v-model="form.radio"> - <el-radio :label="3">鍗曚汉</el-radio> - <el-radio :label="6">澶氫汉</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="璇煶妯$増" prop="region"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨妯$増"> - <el-option label="涓�鍙锋ā鐗�" value="shanghai"></el-option> - <el-option label="浜屽彿妯$増" value="beijing"></el-option> - </el-select> - </el-form-item> </el-form> </div> </div> <div class="examine-jic"> <div class="headline"> - <div>{{ title }}</div> + <div>鍙橀噺鍖归厤閲忓弬</div> </div> <div class="examine-jic"> <div class="jic-value"> <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item label="瀹f暀涓婚"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="閫傜敤鐤剧梾"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - - <el-form-item label="瀹f暀绫诲瀷" prop="status"> - <el-select - v-model="topqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" + <el-table :data="variableList" style="width: 100%"> + <el-table-column + prop="name" + align="center" + label="鍙橀噺鍚嶇О" + > + </el-table-column> + <el-table-column prop="value" align="center" label="鍖归厤绗�"> + </el-table-column> + <el-table-column label="鏇挎崲鍊�" align="center"> + <template slot-scope="scope"> + <el-input + :disabled="scope.row.default" + v-model="scope.row.fill" + placeholder="璇疯緭鍏ュ唴瀹�" + ></el-input> + </template> + </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" + @click="variableDelete(scope.$index, scope.row)" + >鍒犻櫎</el-button > - </el-option> - </el-select> - </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 label="閫傜敤绉戝" prop="status"> - <el-select - v-model="topqueryParams.topicd" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <!-- 閫夋嫨浠诲姟鍒楄〃 --> - <SFtable - @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="userList" - :tableLabel="tableLabelxj" - :controlsc="false" - :multiplechoice="false" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="getList" - /> + </template> + </el-table-column> + </el-table> </el-row> </div> </div> </div> </div> - <el-button type="success" @click="submitForm('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏璁剧疆" + <el-button type="success" @click="nextstep('ruleForm')">{{ + quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> </div> <!-- 浠诲姟璇︽儏 --> <div v-if="Editprogress == 2"> - <el-alert title="鍦ㄦ湰闃舵閫夋嫨瀹f暀鐥呬汉" type="success" effect="dark"> + <el-alert title="鍦ㄦ湰闃舵閫夋嫨闅忚鐥呬汉" type="success" effect="dark"> </el-alert> <div class="leftvlue-jbxx"> <div class="examine-jic"> @@ -198,7 +234,7 @@ <div class="jic-value"> <el-row :gutter="20"> <!--鐢ㄦ埛鏁版嵁--> - <el-form + <!-- <el-form :model="topqueryParams" ref="queryForm" size="small" @@ -212,7 +248,7 @@ <el-form-item label="鎮h�呰寖鍥�" prop="status"> <el-select - v-model="topqueryParams.topic" + v-model="topqueryParams.scriptTopic" placeholder="璇烽�夋嫨" > <el-option @@ -227,7 +263,7 @@ <el-form-item label="鎮h�呯姸鎬�" prop="status"> <el-select - v-model="topqueryParams.topic" + v-model="topqueryParams.scriptTopic" placeholder="璇烽�夋嫨" > <el-option @@ -241,7 +277,7 @@ </el-form-item> <el-form-item label="闅忚缁撴灉" prop="status"> <el-select - v-model="topqueryParams.topic" + v-model="topqueryParams.scriptTopic" placeholder="璇烽�夋嫨" > <el-option @@ -278,11 +314,11 @@ > </el-form-item> </el-form> - <el-divider></el-divider> + <el-divider></el-divider> --> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-select - v-model="tasktopic" + v-model="patientqueryParams.allhosp" placeholder="璇烽�夋嫨鏂板绫诲瀷" > <el-option @@ -300,7 +336,7 @@ plain icon="el-icon-plus" size="medium" - :disabled="!tasktopic" + :disabled="!patientqueryParams.allhosp" @click="handleAddpatient" >鏂板</el-button > @@ -322,11 +358,15 @@ </el-row> <!-- 閫変腑鎮h�呭垪琛� --> <SFtable + @details="detailhz" @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="sonuserList" + :currentList="overallCase" :tableLabel="tableLabelhz" + :serialnumber="false" + :searchTrue="true" + :multiplechoice="false" :controlxz="false" + :typeinfo="2" /> <pagination v-show="total > 0" @@ -341,9 +381,9 @@ </div> </div> <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" @click="submitForm('ruleForm')" - >绔嬪嵆鍒涘缓</el-button - > + <el-button type="success" @click="submitForm('ruleForm')">{{ + quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" + }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> </div> </div> @@ -353,6 +393,7 @@ :visible.sync="dialogVisiblepatient" width="70%" :before-close="handleClosehz" + :close-on-click-modal="false" > <div class="examine-jic"> <div class="jic-value"> @@ -369,13 +410,160 @@ <el-form-item label="鎮h�呭悕绉帮細"> <el-input v-model="patientqueryParams.name"></el-input> </el-form-item> - <el-form-item label="鎮h�呮潵婧�" prop="status"> + + <el-form-item label="灏辫瘖绉戝" prop="status"> <el-select - v-model="patientqueryParams.topic" + v-model="patientqueryParams.scriptTopic" + placeholder="璇烽�夋嫨" + > + <el-option-group + v-for="group in topicoptions[0].children" + :key="group.deptName" + :label="group.deptName" + > + <el-option + v-for="item in group.children" + :key="item.deptId" + :label="item.deptName" + :value="item.deptId" + > + </el-option> + </el-option-group> + </el-select> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="handleQuery" + >鎼滅储</el-button + > + <el-button + icon="el-icon-refresh" + size="medium" + @click="resetQuery" + >鍙栨秷鍒涘缓</el-button + > + </el-form-item> + </el-form> + <!-- 閫夋嫨鎮h�呭垪琛� --> + <SFtable + ref="multipleTable" + @handleUpdate="handleUpdate" + @handleSelectionChange="handleSelectionChange" + :currentList="patientuserList" + :tableLabel="tableLabelhz" + :serialnumber="false" + :center="false" + :typeinfo="3" + /> + </el-row> + <pagination + v-show="patienttotal > 0" + :total="patienttotal" + :page.sync="patientqueryParams.pageNum" + :limit.sync="patientqueryParams.pageSize" + @pagination="handleAddpatient" + /> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button> + <el-button type="primary" @click="AddDispatchpatients" + >纭畾娣诲姞</el-button + > + </span> + </el-dialog> + <el-dialog title="妯$増棰勮" :visible.sync="previewtf" width="60%"> + <div class="preview-left"> + <!-- 鍗曢�� --> + <div + class="scriptTopic-dev" + v-for="(item, index) in questionList" + :key="item.aaa" + > + <div class="dev-text"> + {{ index + 1 }}銆�<span>{{ item.scriptContent }}</span> + </div> + + <div class="dev-xx" v-if="item.valueType == 1"> + <el-radio-group v-model="item.radio"> + <el-radio + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" + :key="items.id" + :label="items.id" + >{{ items.targetvalue }} + </el-radio> + </el-radio-group> + </div> + <div v-else> + <el-input + type="textarea" + placeholder="鏈幏鍙栧埌淇℃伅" + v-model.sync="item.scriptResult" + :rows="2" + /> + </div> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="previewGo">鍓嶅線妯$増璇︽儏淇敼</el-button> + <el-button type="primary" @click="previewFn">纭浣跨敤</el-button> + </span> + </el-dialog> + <el-drawer + title="闅忚鍐呭鍒楄〃" + :visible.sync="drawermb" + direction="rtl" + size="50%" + > + <div class="headline"></div> + <div class="examine-jic"> + <div class="jic-value"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + + <el-form + :model="topqueryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="98px" + > + <el-form-item + label="闅忚涓婚" + v-if="currenttype == 1 || currenttype == 8" + > + <el-input v-model="topqueryParams.name"></el-input> + </el-form-item> + <el-form-item + label="闅忚鍚嶇О" + v-if="currenttype == 2 || currenttype == 3 || currenttype == 7" + > + <el-input + v-model="topqueryParams.name" + ></el-input> </el-form-item + ><el-form-item + label="閫氱煡鍚嶇О" + v-if="currenttype == 4 || currenttype == 5" + > + <el-input v-model="topqueryParams.name"></el-input> + </el-form-item> + + <el-form-item + label="闅忚绫诲瀷" + prop="status" + v-if="currenttype == 1 || currenttype == 8" + > + <el-select + v-model="topqueryParams.scriptTopic" placeholder="璇烽�夋嫨" > <el-option - v-for="item in topicoptions" + v-for="item in taskoptions" :key="item.value" :label="item.label" :value="item.value" @@ -383,13 +571,35 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="鍑洪櫌绉戝" prop="status"> + <el-form-item + label="閫氱煡绫诲瀷" + prop="status" + v-if="currenttype == 4 || currenttype == 5" + > <el-select - v-model="patientqueryParams.topic" + v-model="topqueryParams.scriptTopic" placeholder="璇烽�夋嫨" > <el-option - v-for="item in topicoptions" + v-for="item in taskoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item + label="闅忚绫诲瀷" + prop="status" + v-if="currenttype == 2 || currenttype == 3 || currenttype == 7" + > + <el-select + v-model="topqueryParams.scriptTopic" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in taskoptions" :key="item.value" :label="item.label" :value="item.value" @@ -398,11 +608,20 @@ </el-select> </el-form-item> - <el-form-item label="鍑洪櫌鐥呭尯" prop="status"> - <el-select - v-model="patientqueryParams.topic" - placeholder="璇烽�夋嫨" - > + <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 label="閫傜敤绉戝" prop="status"> + <el-select v-model="topqueryParams.topicd" placeholder="璇烽�夋嫨"> <el-option v-for="item in topicoptions" :key="item.value" @@ -424,102 +643,116 @@ icon="el-icon-refresh" size="medium" @click="resetQuery" - >鍙栨秷鍒涘缓</el-button + >閲嶇疆</el-button > </el-form-item> </el-form> - <!-- 閫夋嫨鎮h�呭垪琛� --> + <el-divider></el-divider> + <!-- 閫夋嫨妯$増鍒楄〃 --> <SFtable - @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="patientuserList" - :tableLabel="tableLabelhz" + @selectfn="selectfn" + :currentList="userList" + :tableLabel="tableLabel" :controlsc="false" + :multiplechoice="false" + :typeinfo="1" + /> + <pagination + v-show="total > 0" + :total="total" + :page.sync="topqueryParams.pageNum" + :limit.sync="topqueryParams.pageSize" + @pagination="Acquisitiontype" /> </el-row> - <pagination - v-show="patienttotal > 0" - :total="patienttotal" - :page.sync="patientqueryParams.pageNum" - :limit.sync="patientqueryParams.pageSize" - @pagination="handleAddpatient" - /> </div> </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button> - <el-button type="primary" @click="AddDispatchpatients" - >纭畾娣诲姞</el-button - > - </span> - </el-dialog> + </el-drawer> </div> </template> <script> -import { listsvr_prjtask, Addpatienttask } from "@/api/smartorpor/svr_prjtask"; -import { listpat_archive } from "@/api/smartorpor/pat_archive"; -import { listsvr_prjtaskline } from "@/api/smartorpor/svr_prjtaskline"; import { messagelistpatient } from "@/api/patient/homepage"; +import store from "@/store"; +import { + getTaskpatient, + getlibrarylist, + getFollowuplist, + getQtemplatelist, + TaskTemplatecomit, + getTaskInfo, + gethetaskinfo, + delhetaskinfo, + Editsingletask, + getvFollowup, +} from "@/api/AiCentre/index"; +import { listDept } from "@/api/system/dept"; + import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 export default { name: "ServiceDetails", data() { return { - title: "瀹f暀鍐呭鍒楄〃", - currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闂嵎 + title: "闅忚鍐呭鍒楄〃", + currenttype: 1, //1闅忚2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闂嵎 + id: "", // + previewid: "", //浠诲姟妯$増浼犻�抜d + libName: "", + overallCase: [], //閫夋嫨鎮h�呮�� + allpids: [], + libId: null, //妯℃澘搴撴ā鐗坕d + nhh: null, //鏄惁渚濈収鏂板 Editprogress: 1, //缂栬緫杩涘害 + drawermb: false, //閫夋嫨妯$増寮圭獥 + previewtf: false, //棰勮 loading: false, // 閬僵灞� patientloading: false, // 閬僵灞� dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� + radio: 1, checkboxlist: [], tableLabel: [], + questionList: [], // 鎮h�呰〃鍗� tableLabelhz: [ + { label: "搴忓彿", width: "", prop: "patid" }, { label: "鎮h�呭悕绉�", width: "", prop: "name" }, { label: "鎬у埆", width: "", prop: "sex" }, { label: "骞撮緞", width: "", prop: "age" }, - { label: "灏辫瘖绉戝", width: "", prop: "impTemplate" }, - { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "create_time" }, - { label: "鍒涘缓浜�", width: "", prop: "update_by" }, + { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, + { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" }, + { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" }, ], - tableLabelxj: [ - { label: "瀹f暀鍚嶇О", width: "", prop: "name" }, - { label: "瀹f暀妯$増", width: "", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "", prop: "create_time" }, - { label: "鍒涘缓浜�", width: "", prop: "update_by" }, - ], + tableLabelmz: [ - { label: "闅忚鍚嶇О", width: "118", prop: "name" }, - { label: "闅忚妯$増", width: "130", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "136", prop: "create_time" }, - { label: "鍒涘缓浜�", width: "130", prop: "update_by" }, + { label: "闅忚鍚嶇О", width: "", prop: "templateName" }, + { label: "涓昏鍐呭", width: "", prop: "note" }, + { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" }, + { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" }, ], - tableLabelcy: [ - { label: "闅忚鍚嶇О", width: "118", prop: "name" }, - { label: "闅忚璁″垝", width: "130", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "136", prop: "create_time" }, - { label: "鍒涘缓浜�", width: "130", prop: "update_by" }, + + // 鍙橀噺 + tableLabelvariable: [ + { label: "鍙橀噺鍚嶇О", width: "", prop: "variablename" }, + { label: "鍖归厤绗�", width: "", prop: "character" }, + { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" }, ], - tableLabelfz: [ - { label: "閫氱煡鍚嶇О", width: "118", prop: "name" }, - { label: "閫氱煡妯$増", width: "130", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "136", prop: "create_time" }, - { label: "鍒涘缓浜�", width: "130", prop: "update_by" }, + preachform: [ + { label: "绾夸笅", value: 1 }, + { label: "鐢佃瘽", value: 2 }, + { label: "灏忕▼搴�", value: 3 }, + { label: "鐭俊", value: 4 }, + { label: "寰俊鍏紬", value: 5 }, + { label: "閽夐拤", value: 6 }, + { label: "鏅鸿兘鏈哄櫒浜�", value: 7 }, ], - tableLabeltj: [ - { label: "閫氱煡鍚嶇О", width: "118", prop: "name" }, - { label: "閫氱煡妯$増", width: "130", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "136", prop: "create_time" }, - { label: "鍒涘缓浜�", width: "130", prop: "update_by" }, - ], - tableLabelwj: [ - { label: "闂嵎鍚嶇О", width: "118", prop: "name" }, - { label: "闂嵎妯$増", width: "130", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "136", prop: "create_time" }, - { label: "鍒涘缓浜�", width: "130", prop: "update_by" }, - ], + // 鏃堕棿澶勭悊 + daytime: [], //鏃ユ湡 + applydaytime: [], //璁$畻鏃ユ湡 + time1: "", //涓婂崍鏃堕棿娈� + time2: "", //涓嬪崍鏃堕棿娈� + time3: "", //鏅氫笂鏃堕棿娈� + time4: "", //鏅氫笂鏃堕棿娈� topqueryParams: { pageNum: 1, // pageSize: 10, @@ -533,7 +766,7 @@ pageNum: 1, // pageSize: 10, }, - topicoptions: [], + topicoptions: [{ children: [{ children: [] }] }], showSearch: true, // total: 0, // sontotal: 0, // @@ -548,47 +781,69 @@ userList: [], //妯$増鍒楄〃 patientuserList: [], //閫夋嫨鎮h�呭垪琛� sonuserList: [], //閫変腑鎮h�呭垪琛� - tasktopic: null, //鏂板绫诲瀷 - form: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - desc: "", - }, - options: [ + delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 + variableList: [ { - value: "閫夐」1", - label: "榛勯噾绯�", + name: "濮撳悕", + value: "${name}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, }, { - value: "閫夐」2", - label: "鍙岀毊濂�", + name: "鍦板潃", + value: "${dzz}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, }, { - value: "閫夐」5", - label: "鍖椾含鐑ら腑", + name: "鐢佃瘽", + value: "${dhh}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, + }, + ], //鍙橀噺鍒楄〃 + transitionList: [ + { + name: "濮撳悕", + value: "${name}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, + }, + { + name: "鍦板潃", + value: "${dzz}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, + }, + { + name: "鐢佃瘽", + value: "${dhh}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, }, ], + variableListTime: [], + tasktopic: null, //鏂板绫诲瀷 + SelectPatientslist: [], + form: { + patTaskRelevances: [], + sendType: 1, + templatename: "", + templateid: null, + libtemplateid: null, + }, taskoptions: [ { value: "1", - label: "閫氱煡", + label: "鍑洪櫌鐥呬汉", }, { value: "2", - label: "闅忚", + label: "闂ㄨ瘖鐥呬汉", }, { value: "3", - label: "闂嵎", - }, - { - value: "4", - label: "瀹f暀", + label: "浣撴鐥呬汉", }, ], quote: false, @@ -597,99 +852,237 @@ components: { SFtable }, created() { - this.Addsubtask(); - this.Getsubtask(); + this.id = this.$route.query.id; + this.form.type = this.$route.query.type; + this.form.typename = this.$route.query.typename; + this.form.nhh = this.$route.query.nhh; + this.listDept(); this.Acquisitiontype(); + this.Getdetails(); }, methods: { + // { + // 濮撳悕: { "${name}": "榫欏偛澶�" }, + // 鍦板潃: { "${dzz}": "榫欏" }, + // 鐢佃瘽: { "${dhh}": "鍏釜鍏�" }, + // } + // 鍙橀噺杞崲瀵硅薄杞暟缁� + convertFormat1ToFormat2(data) { + let result = []; + for (let key in data) { + let innerKey = Object.keys(data[key])[0]; + result.push({ + name: key, + value: innerKey, + fill: data[key][innerKey], + }); + } + return result; + }, + // 鏁扮粍杞璞� + convertFormat2ToFormat1(data) { + let result = {}; + data.forEach((item) => { + let innerObj = {}; + innerObj[item.value] = item.fill; + result[item.name] = innerObj; + }); + return result; + }, // 鑾峰彇褰撳墠绫诲瀷 Acquisitiontype() { + let queryParams = { + pageNum: this.topqueryParams.pageNum, + pageSize: this.topqueryParams.pageSize, + isavailable: "", + }; this.currenttype = this.$route.query.type; - console.log(this.currenttype); - if (this.currenttype == 1) { - this.title = "瀹f暀鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelxj; - this.checkboxlist = [ - "褰撻潰", - "澶氬獟浣�", - "绾歌川", - "鐢佃瘽", - "鐭俊", - "寰俊鍏紬鍙�", - "寰俊灏忕▼搴�", - "閽夐拤", - ]; - } else if (this.currenttype == 2) { - this.title = "闅忚鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelmz; - this.checkboxlist = ["褰撻潰", "绾歌川", "鐢佃瘽", "鐭俊", "寰俊鍏紬鍙�"]; - } else if (this.currenttype == 3) { - this.title = "闅忚璁″垝鍒楄〃"; - this.tableLabel = this.tableLabelcy; - this.checkboxlist = ["褰撻潰", "绾歌川", "鐢佃瘽", "鐭俊", "寰俊鍏紬鍙�"]; - } else if (this.currenttype == 4) { - this.title = "閫氱煡鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelfz; - this.checkboxlist = ["鐢佃瘽", "鐭俊", "寰俊鍏紬鍙�"]; - } else if (this.currenttype == 5) { - this.title = "閫氱煡鍐呭鍒楄〃"; - this.tableLabel = this.tableLabeltj; - this.checkboxlist = ["绾歌川", "鐢佃瘽", "鐭俊", "寰俊鍏紬鍙�"]; - } else if (this.currenttype == 6) { - this.title = "闂嵎鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelwj; - this.checkboxlist = [ - "褰撻潰", - "澶氬獟浣�", - "绾歌川", - "鐢佃瘽", - "鐭俊", - "寰俊鍏紬鍙�", - "寰俊灏忕▼搴�", - "閽夐拤", - ]; - } + console.log(this.currenttype, "1"); + // 鍑洪櫌銆侀棬璇娿�佷笓鐥呴殢璁� + this.title = "闅忚鍐呭鍒楄〃"; + this.tableLabel = this.tableLabelmz; + this.checkboxlist = ["鐭俊", "寰俊", "浜哄伐鐢佃瘽", "鏅鸿兘鏈哄櫒浜�"]; + getFollowuplist(queryParams).then((response) => { + this.userList = response.rows; + this.total = response.total; + }); }, - // 涓嬩竴姝� - submitForm(formName) { + nextstep() { if (this.Editprogress <= 3) { return this.Editprogress++; } - // 鎻愪氦 - // this.$refs[formName].validate((valid, object) => { - // if (valid) { - // alert("submit!"); - // } else { - // console.log("error submit!!", object); - // return false; - // } - // }); + }, + // 淇濆瓨 + submitForm(formName) { + // this.form.preachform = this.checkList.join(","); + this.formatFn(1); + if (!this.form.patTaskRelevances[0]) { + this.$modal.msgError("璇烽�夋嫨鐥呬汉"); + return; + } + const filteredArray = this.variableList.filter( + (item) => + item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃" + ); + console.log(filteredArray, "瀛樺墠鍙橀噺"); + this.form.textParam = this.convertFormat2ToFormat1(filteredArray); + if (this.form.taskid) { + this.form.isoperation = 2; + } else { + this.form.isoperation = 1; + } + Editsingletask(this.form).then((res) => { + if (res.code == 200) { + if (this.form.taskid) { + this.$modal.msgSuccess("鏂板鎴愬姛"); + } else { + this.$modal.msgSuccess("淇敼鎴愬姛"); + } + this.$router.go(-1); + } + }); + }, + // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� + // 纭閫夋嫨妯$増鏀惧叆浠诲姟妯$増 + selectfn(row, type) { + // 妯$増鎯呭喌涓嬭幏鍙栨ā鐗堜俊鎭� + console.log(row, "閫夋嫨妯$増"); + this.libName = row.templateName; + this.libId = row.id; + getvFollowup({ id: row.id }).then((res) => { + if (res.code == 200) { + this.Tasktemplate = res.data; + const data = res.data; + this.questionList = data.ivrLibaTemplateScriptVOList; + this.previewtf = true; + this.previewid = data.id; + console.log(this.questionList, "questionList"); + this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1); + } + }); + }, + // 澶勭悊闂灞傚彉閲� + Variablehandling(arr, type) { + let Variablist = []; + this.variableList = []; //鍙橀噺鍒楄〃 + if (type == 1) { + console.log(arr); + // 寰幆闂 + arr.forEach((res) => { + console.log(JSON.parse(res.otherdata), "ss"); + // 寰幆閫夐」 + 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); + console.log(this.variableList, "variableList"); + // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); + } }, // 瀛愪换鍔′簩绾у脊妗� handleAddpatient(row) { - console.log(row, "瀛愮粍浠舵暟鎹�"); - messagelistpatient(this.patientqueryParams).then((response) => { + console.log(this.overallCase, "ssaaa"); + this.allpids = []; + this.overallCase.forEach((item) => { + this.allpids.push(item.patid); + }); + if (this.allpids[0]) { + this.patientqueryParams.pids = this.allpids; + console.log(this.patientqueryParams.pids); + } else { + this.patientqueryParams.pids = null; + } + + getTaskpatient(this.patientqueryParams).then((response) => { console.log(response); this.patientuserList = response.rows; this.patienttotal = response.total; this.loading = false; + this.Restorecheck(); }); this.dialogVisiblepatient = true; }, handleUpdate() {}, handleDelete() {}, handleExport() {}, - // 澶氶�夋閫変腑鏁版嵁 + // 閫変腑鎮h�呰〃 + handlePitchionChange() {}, + // 閫夋嫨鎮h�呰〃鏁版嵁 handleSelectionChange(selection) { - this.ids = null; - this.ids = selection.map((item) => item.patid).join(","); - // let result = this.ids.join(","); + console.log("澶氶�夋偅鑰�"); + this.SelectPatientslist = selection; this.multiple = !selection.length; - console.log(this.ids); + + // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍 + this.SelectPatientslist.forEach((item) => { + const isExist = this.overallCase.find((obj) => obj.name == item.name); + if (!isExist) { + console.log(this.patientqueryParams.allhosp, "allhosp"); + item.isoperation = 1; + item.hospType = this.patientqueryParams.allhosp; + this.overallCase.push(item); + this.form.patTaskRelevances.push(item); + console.log(this.overallCase, "this.overallCase"); + } + }); + }, + // 鍒囨崲椤靛悗鎭㈠閫変腑 + Restorecheck() { + console.log(this.overallCase, "this.overallCase"); + const allid = this.overallCase.map((item) => item.patid); + const overlap = this.patientuserList.filter((value) => { + return allid.includes(value.patid); + }); + // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬� + this.SelectPatientslist = overlap; + console.log(this.SelectPatientslist, "杩涘叆鍒嗛〉SelectPatientslist"); + + this.toggleSelection(overlap); + }, + // 鎸傝浇閫夋嫨鐘舵�� + toggleSelection(rows) { + if (rows) { + this.decision = true; + this.$nextTick(() => { + rows.forEach((row) => { + this.$refs.multipleTable.toggleRowSelection(row, true); + }); + this.decision = false; + }); + console.log(123); + } else { + this.$refs.multipleTable.clearSelection(); + } + }, + // 鍒犻櫎閫変腑鎮h�� + detailhz(row, info) { + this.$modal + .confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�') + .then(() => { + let indexa = this.overallCase.indexOf(row); + let indexb = this.form.patTaskRelevances.indexOf(row); + this.overallCase.splice(indexa, 1); + this.form.patTaskRelevances[indexb].isoperation = 3; + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }); }, getList() {}, - handleQuery() {}, + handleQuery() { + this.handleAddpatient(); + }, resetQuery() {}, handleClosehz() { this.dialogVisiblepatient = false; @@ -707,35 +1100,197 @@ Acknowledgereference() { this.quote = true; }, - // 鏂板瀛愪换鍔� - Addsubtask() { - this.topqueryParams.pguid = 2; - // addsvr_prjtask(this.topqueryParams).then((res) => { - // console.log(res); - // }); + // 鑾峰彇璇︽儏 + Getdetails() { + if (this.id) { + getTaskInfo({ taskid: this.id }).then((res) => { + let filteredArray = ""; + console.log(2233); + if (res.code == 200) { + this.form = res.data; + this.overallCase = this.form.patTaskRelevances.concat(); + this.formatFn(2); + console.log(this.form.showDate, "this.form"); + this.daytime = this.form.showDate.split(","); + this.changeTimeday(this.daytime); + if (this.form.showTimeMorn) { + if (this.form.sendType == 3) { + this.time4 = this.form.showTimeMorn; + } else { + this.time1 = this.form.showTimeMorn.split(","); + } + } + if (this.form.showTimeNoon) + this.time2 = this.form.showTimeNoon.split(","); + if (this.form.showTimeNight) + this.time3 = this.form.showTimeNight.split(","); + console.log(1122); + filteredArray = this.convertFormat1ToFormat2(this.form.textParam); + this.variableList = this.transitionList.concat(filteredArray); + } else { + this.$modal.msgError(res.code); + } + }); + } + }, + // 鑾峰彇绉戝鍒楄〃 + listDept() { + listDept().then((res) => { + this.topicoptions = this.handleTree(res.data, "deptId"); + console.log(this.topicoptions, "topicoptions"); + }); }, // 鏂板娲鹃�佹偅鑰� AddDispatchpatients() { - let objictpint = {}; - objictpint.patientes = this.ids; - objictpint.pguid = 2; - Addpatienttask(objictpint).then((res) => { - console.log(res); - }); + // this.SelectPatientslist.forEach((item) => { + // item.isoperation = 1; + // }); + // this.form.patTaskRelevances.push(...this.SelectPatientslist); + // this.overallCase.push(...this.SelectPatientslist); this.dialogVisiblepatient = false; }, - // 鏌ヨ瀛愪换鍔″垪琛� - Getsubtask() { - this.topqueryParams.pguid = 2; - console.log(this.topqueryParams); - messagelistpatient(this.topqueryParams).then((res) => { - this.userList = res.rows; - this.total = res.total; - console.log(this.userList); + variableDelete(index, row) { + this.variableList.splice(index, 1); + row.isoperation = 3; + this.delvariableList.push(row); + console.log(index, row); + }, + // 鏃堕棿---------- + changeTime(row) { + console.log(row, "鏃堕棿"); + this.processingTime(); + }, + Totaldate(row) { + console.log(row, "鏃堕棿"); + this.form.sendTimeslot = [{ begantime: row, endtime: row, xh: 1 }]; + this.form.showTimeMorn = row; + console.log(this.form.sendTimeslot, "鏃堕棿"); + }, + changeTimeday(row) { + console.log(row, "鏃ユ湡"); + const startDate = new Date(row[0]); + const endDate = new Date(row[1]); + this.applydaytime = this.getDates(startDate, endDate); + if (!top) { + this.processingTime(); + } + }, + 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; + } + + for (let i = 0; i < this.applydaytime.length; i++) { + combinedData.push({ + begantime: `${this.applydaytime[i]} ${this.time1[0]}`, + endtime: `${this.applydaytime[i]} ${this.time1[1]}`, + xh: serialnumber * i + 1, + }); + if (serialnumber >= 2) { + combinedData.push({ + begantime: `${this.applydaytime[i]} ${this.time2[0]}`, + endtime: `${this.applydaytime[i]} ${this.time2[1]}`, + xh: serialnumber * i + 2, + }); + } + if (serialnumber >= 3) { + combinedData.push({ + begantime: `${this.applydaytime[i]} ${this.time3[0]}`, + endtime: `${this.applydaytime[i]} ${this.time3[1]}`, + xh: serialnumber * i + 3, + }); + } + } + 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(","); + console.log(combinedData, "combinedData"); + }, + // 鏌ョ湅妯$増 + previewGo() { + this.$router.push({ + path: "/knowledge/templateku/configurat/", + query: { id: this.previewid, task: true, data: this.form }, }); }, - /** 鏌ヨ鎮h�呭垪琛� */ + previewFn() { + let id = this.Tasktemplate.id; + this.Tasktemplate.id = null; + this.Tasktemplate.ivrLibaTemplateScriptVOList.ivrTaskScriptTargetoptionList = + this.Tasktemplate.ivrLibaTemplateScriptVOList.ivrLibaScriptTargetoptionList; + this.Tasktemplate.ivrTaskTemplateScriptVOList = + this.Tasktemplate.ivrLibaTemplateScriptVOList; + this.Tasktemplate.ivrLibaTemplateTagList = null; + this.Tasktemplate.tempDetpRelevances = null; + this.Tasktemplate.libtemplateid = id; + this.Tasktemplate.isoperation = 1; + this.Tasktemplate.libtemplatename = this.Tasktemplate.templatename; + console.log(this.libName, this.libId); + + TaskTemplatecomit(this.Tasktemplate).then((response) => { + console.log(response); + this.previewtf = false; + this.form.templateid = response.data; + this.form.libtemplateid = this.libId; + this.form.templatename = this.libName; + console.log(this.form.templatename, "ss"); + this.$modal.msgSuccess("閫夋嫨妯$増鎴愬姛", this.form.templatename); + }); + }, + // 澶勭悊鏈嶅姟褰㈠紡 + formatFn(type) { + console.log(this.preachform, "preachform"); + console.log(this.checkList, "checklist"); + let list = []; + let formlist = []; + if (type == 1) { + this.preachform.forEach((item) => { + this.checkList.forEach((obj) => { + if (item.label == obj) { + list.push(item.value); + } + }); + }); + this.form.preachform = list.join(","); + } else { + console.log(this.form.preachform, "this.form.preachform"); + formlist = this.form.preachform.split(","); + console.log(11); + this.preachform.forEach((item) => { + formlist.forEach((obj) => { + if (item.value == obj) { + list.push(item.label); + } + }); + }); + this.checkList = list; + } + }, }, }; </script> @@ -770,6 +1325,7 @@ 0 0 6px 0 rgba(0, 0, 0, 0.04); } .examine-jic { + margin: 20px; .headline { font-size: 24px; border-left: 5px solid #41a1be; @@ -828,6 +1384,22 @@ // 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; + .dev-text { + margin-bottom: 10px; + } + } +} .jic-value { font-size: 20px; border-top: 1px solid #a7abac; @@ -884,7 +1456,7 @@ width: 22px; height: 22px; } -// ::v-deep.topic-dev.el-radio__label { +// ::v-deep.scriptTopic-dev.el-radio__label { // font-size: 24px; // } ::v-deep.el-radio-group { @@ -892,6 +1464,12 @@ font-size: 24px; } } +::v-deep.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #dfe4ed; + color: rgb(253, 66, 66); + cursor: not-allowed; +} ::v-deep.el-checkbox-group { span { font-size: 24px; -- Gitblit v1.9.3