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 | 1115 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 661 insertions(+), 454 deletions(-) diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index c60ded7..eb521a4 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -7,12 +7,12 @@ <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> @@ -22,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"> <!-- 鍩虹淇℃伅 --> @@ -36,23 +32,49 @@ </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 - style="width: 220px" - v-model="form.templatename" - placeholder="璇峰湪涓嬪垪閫夋嫨" + 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="3">鏃堕棿鐐瑰彂閫�</el-radio> + <el-radio :label="2">鍗冲埢鍙戦��</el-radio> </el-radio-group> </el-form-item> - <el-form-item - label="鍙戦�佹棩鏈燂細" - v-if="currenttype != 2 && form.sendType == 1" - > + <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1"> <el-date-picker v-model="daytime" @change="changeTimeday" @@ -64,17 +86,31 @@ > </el-date-picker> </el-form-item> - <el-form-item - label="鍙戦�佹椂闂存锛�" - v-if="currenttype != 2 && form.sendType == 1" - > + + <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 + >鏃堕棿娈典竴</span > <el-time-picker is-range + arrow-control @change="changeTime" v-model="time1" range-separator="鑷�" @@ -87,10 +123,11 @@ </div> <div style="margin-right: 10px"> <span style="font-size: 18px; margin-right: 10px" - >涓嬪崍</span + >鏃堕棿娈典簩</span > <el-time-picker is-range + arrow-control @change="changeTime" v-model="time2" range-separator="鑷�" @@ -103,10 +140,11 @@ </div> <div style="margin-right: 10px"> <span style="font-size: 18px; margin-right: 10px" - >鏅氶棿</span + >鏃堕棿娈典笁</span > <el-time-picker is-range + arrow-control @change="changeTime" v-model="time3" range-separator="鑷�" @@ -133,200 +171,6 @@ </div> <div class="examine-jic"> <div class="headline"> - <div>{{ title }}</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暀涓婚" v-if="currenttype == 1"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item - label="闅忚鍚嶇О" - v-if="currenttype == 2 || currenttype == 3" - > - <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="浣撴濂楅" v-if="currenttype == 5"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="闂嵎涓婚" v-if="currenttype == 6"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="閫傜敤鐤剧梾" v-if="currenttype != 5"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - - <el-form-item - label="瀹f暀绫诲瀷" - prop="status" - v-if="currenttype == 1" - > - <el-select - v-model="topqueryParams.topic" - 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" - v-if="currenttype == 4 || currenttype == 5" - > - <el-select - v-model="topqueryParams.topic" - 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" - v-if="currenttype == 2 || currenttype == 3" - > - <el-select - v-model="topqueryParams.topic" - 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" - v-if="currenttype == 6" - > - <el-select - v-model="topqueryParams.topic" - 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.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 - @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="getList" - /> - </el-row> - </div> - </div> - </div> - </div> - <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> - <div class="leftvlue-jbxx"> - <div class="examine-jic"> - <div class="headline"> <div>鍙橀噺鍖归厤閲忓弬</div> </div> <div class="examine-jic"> @@ -334,32 +178,29 @@ <el-row :gutter="20"> <el-table :data="variableList" style="width: 100%"> <el-table-column - prop="variablename" + prop="name" align="center" label="鍙橀噺鍚嶇О" > </el-table-column> - <el-table-column - prop="character" - align="center" - label="鍖归厤绗�" - > + <el-table-column prop="value" align="center" label="鍖归厤绗�"> </el-table-column> <el-table-column label="鏇挎崲鍊�" align="center"> <template slot-scope="scope"> <el-input - v-model="scope.row.Replacementvalue" + :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 + <!-- <el-button size="mini" @click="variableEdit(scope.$index, scope.row)" >缂栬緫</el-button - > + > --> <el-button size="mini" type="danger" @@ -373,6 +214,18 @@ </div> </div> </div> + </div> + <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="鍦ㄦ湰闃舵閫夋嫨闅忚鐥呬汉" type="success" effect="dark"> + </el-alert> + <div class="leftvlue-jbxx"> <div class="examine-jic"> <div class="headline"> <div>鎮h�呭垪琛�</div> @@ -381,7 +234,7 @@ <div class="jic-value"> <el-row :gutter="20"> <!--鐢ㄦ埛鏁版嵁--> - <el-form + <!-- <el-form :model="topqueryParams" ref="queryForm" size="small" @@ -395,7 +248,7 @@ <el-form-item label="鎮h�呰寖鍥�" prop="status"> <el-select - v-model="topqueryParams.topic" + v-model="topqueryParams.scriptTopic" placeholder="璇烽�夋嫨" > <el-option @@ -410,7 +263,7 @@ <el-form-item label="鎮h�呯姸鎬�" prop="status"> <el-select - v-model="topqueryParams.topic" + v-model="topqueryParams.scriptTopic" placeholder="璇烽�夋嫨" > <el-option @@ -424,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 @@ -461,7 +314,7 @@ > </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 @@ -505,10 +358,13 @@ </el-row> <!-- 閫変腑鎮h�呭垪琛� --> <SFtable + @details="detailhz" @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="form.patTaskRelevances" + :currentList="overallCase" :tableLabel="tableLabelhz" + :serialnumber="false" + :searchTrue="true" + :multiplechoice="false" :controlxz="false" :typeinfo="2" /> @@ -525,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> @@ -537,6 +393,7 @@ :visible.sync="dialogVisiblepatient" width="70%" :before-close="handleClosehz" + :close-on-click-modal="false" > <div class="examine-jic"> <div class="jic-value"> @@ -553,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" @@ -567,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" @@ -582,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" @@ -608,37 +643,31 @@ 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" - :serialnumber="false" + @selectfn="selectfn" + :currentList="userList" + :tableLabel="tableLabel" :controlsc="false" - :typeinfo="3" + :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> @@ -650,81 +679,72 @@ getlibrarylist, getFollowuplist, getQtemplatelist, - edithetask, - addhetask, + 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闂嵎 - id: "", + 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: "uploadTime" }, + { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, + { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" }, { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" }, ], - tableLabelxj: [ - { label: "瀹f暀鍚嶇О", width: "", prop: "preachname" }, - { label: "瀹f暀鎻忚堪", width: "", prop: "note" }, - { label: "瀹f暀褰㈠紡", width: "", prop: "playType" }, - { label: "閫傜敤鏂瑰紡", width: "", prop: "suitway" }, - { label: "鍒涘缓鏃ユ湡", width: "", prop: "uploadTime" }, - { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" }, - ], + tableLabelmz: [ - { label: "闅忚鍚嶇О", width: "118", prop: "templateName" }, - { label: "闅忚妯$増", width: "130", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "136", prop: "uploadTime" }, - { 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: "templateName" }, - { label: "闅忚璁″垝", width: "130", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "136", prop: "uploadTime" }, - { label: "鍒涘缓浜猴紙缂猴級", width: "130", prop: "update_by" }, - ], - tableLabelfz: [ - { label: "閫氱煡鍚嶇О", width: "118", prop: "templateName" }, - { label: "閫氱煡妯$増", width: "130", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "136", prop: "uploadTime" }, - { label: "鍒涘缓浜猴紙缂猴級", width: "130", prop: "update_by" }, - ], - tableLabeltj: [ - { label: "閫氱煡鍚嶇О", width: "118", prop: "name" }, - { label: "閫氱煡妯$増", width: "130", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "136", prop: "uploadTime" }, - { label: "鍒涘缓浜猴紙缂猴級", width: "130", prop: "update_by" }, - ], - tableLabelwj: [ - { label: "闂嵎鍚嶇О", width: "118", prop: "name" }, - { label: "闂嵎妯$増", width: "130", prop: "impTemplate" }, - { label: "鍒涘缓鏃ユ湡", width: "136", prop: "uploadTime" }, - { label: "鍒涘缓浜猴紙缂猴級", width: "130", prop: "update_by" }, - ], + // 鍙橀噺 tableLabelvariable: [ { label: "鍙橀噺鍚嶇О", width: "", prop: "variablename" }, { label: "鍖归厤绗�", width: "", prop: "character" }, { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" }, + ], + preachform: [ + { label: "绾夸笅", value: 1 }, + { label: "鐢佃瘽", value: 2 }, + { label: "灏忕▼搴�", value: 3 }, + { label: "鐭俊", value: 4 }, + { label: "寰俊鍏紬", value: 5 }, + { label: "閽夐拤", value: 6 }, + { label: "鏅鸿兘鏈哄櫒浜�", value: 7 }, ], // 鏃堕棿澶勭悊 daytime: [], //鏃ユ湡 @@ -732,6 +752,7 @@ time1: "", //涓婂崍鏃堕棿娈� time2: "", //涓嬪崍鏃堕棿娈� time3: "", //鏅氫笂鏃堕棿娈� + time4: "", //鏅氫笂鏃堕棿娈� topqueryParams: { pageNum: 1, // pageSize: 10, @@ -745,7 +766,7 @@ pageNum: 1, // pageSize: 10, }, - topicoptions: [], + topicoptions: [{ children: [{ children: [] }] }], showSearch: true, // total: 0, // sontotal: 0, // @@ -760,32 +781,56 @@ userList: [], //妯$増鍒楄〃 patientuserList: [], //閫夋嫨鎮h�呭垪琛� sonuserList: [], //閫変腑鎮h�呭垪琛� + delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 variableList: [ { - variablename: "濮撳悕", - character: "${name}", - Replacementvalue: "榫欏偛澶�", + name: "濮撳悕", + value: "${name}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, }, { - variablename: "鍦板潃", - character: "${dzz}", - Replacementvalue: "榫欏", + name: "鍦板潃", + value: "${dzz}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, }, { - variablename: "鐢佃瘽", - character: "${dhh}", - Replacementvalue: "鍏釜鍏�", + 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: { - serviceform: [], patTaskRelevances: [], sendType: 1, templatename: "", templateid: null, + libtemplateid: null, }, taskoptions: [ { @@ -809,9 +854,11 @@ created() { this.id = this.$route.query.id; this.form.type = this.$route.query.type; - this.Addsubtask(); - this.Getsubtask(); + this.form.typename = this.$route.query.typename; + this.form.nhh = this.$route.query.nhh; + this.listDept(); this.Acquisitiontype(); + this.Getdetails(); }, methods: { @@ -846,81 +893,20 @@ // 鑾峰彇褰撳墠绫诲瀷 Acquisitiontype() { let queryParams = { - pageNum: 1, - pageSize: 10, + pageNum: this.topqueryParams.pageNum, + pageSize: this.topqueryParams.pageSize, isavailable: "", }; this.currenttype = this.$route.query.type; console.log(this.currenttype, "1"); - if (this.currenttype == 1) { - this.title = "瀹f暀鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelxj; - this.checkboxlist = [ - "绾夸笅", - "瑙嗛", - "绾歌川", - "璇煶", - "鐭俊", - "寰俊鍏紬鍙�", - "寰俊灏忕▼搴�", - "鏀粯瀹�", - "浜岀淮鐮�", - "閽夐拤", - ]; - getlibrarylist(queryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - } else if (this.currenttype == 2) { - this.title = "闅忚鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelmz; - this.checkboxlist = ["绾夸笅", "绾歌川", "璇煶", "鐭俊", "寰俊鍏紬鍙�"]; - getFollowuplist(queryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - } else if (this.currenttype == 3) { - this.title = "闅忚璁″垝鍒楄〃"; - this.tableLabel = this.tableLabelcy; - this.checkboxlist = ["绾夸笅", "绾歌川", "璇煶", "鐭俊", "寰俊鍏紬鍙�"]; - getFollowuplist(queryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - } else if (this.currenttype == 4) { - this.title = "閫氱煡鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelfz; - this.checkboxlist = ["璇煶", "鐭俊", "寰俊鍏紬鍙�"]; - getFollowuplist(queryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - } else if (this.currenttype == 5) { - this.title = "閫氱煡鍐呭鍒楄〃"; - this.tableLabel = this.tableLabeltj; - this.checkboxlist = ["绾歌川", "璇煶", "鐭俊", "寰俊鍏紬鍙�"]; - getFollowuplist(queryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - } else if (this.currenttype == 6) { - this.title = "闂嵎鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelwj; - this.checkboxlist = [ - "绾夸笅", - "瑙嗛", - "绾歌川", - "璇煶", - "鐭俊", - "寰俊鍏紬鍙�", - "寰俊灏忕▼搴�", - "閽夐拤", - ]; - getQtemplatelist(queryParams).then((response) => { - this.userList = response.rows; - this.total = response.total; - }); - } + // 鍑洪櫌銆侀棬璇娿�佷笓鐥呴殢璁� + this.title = "闅忚鍐呭鍒楄〃"; + this.tableLabel = this.tableLabelmz; + this.checkboxlist = ["鐭俊", "寰俊", "浜哄伐鐢佃瘽", "鏅鸿兘鏈哄櫒浜�"]; + getFollowuplist(queryParams).then((response) => { + this.userList = response.rows; + this.total = response.total; + }); }, nextstep() { if (this.Editprogress <= 3) { @@ -929,20 +915,26 @@ }, // 淇濆瓨 submitForm(formName) { - this.form.serviceform = this.checkList.join(","); - this.form.textParam = { - 濮撳悕: { "${name}": "榫欏偛澶�" }, - 鍦板潃: { "${dzz}": "榫欏" }, - 鐢佃瘽: { "${dhh}": "鍏釜鍏�" }, - }; - if (this.form.id) { + // 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((response) => { + Editsingletask(this.form).then((res) => { if (res.code == 200) { - if (this.form.id) { + if (this.form.taskid) { this.$modal.msgSuccess("鏂板鎴愬姛"); } else { this.$modal.msgSuccess("淇敼鎴愬姛"); @@ -950,53 +942,147 @@ this.$router.go(-1); } }); - // 鎻愪氦 - // this.$refs[formName].validate((valid, object) => { - // if (valid) { - // alert("submit!"); - // } else { - // console.log("error submit!!", object); - // return false; - // } - // }); }, // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� - // 閫夋嫨 + // 纭閫夋嫨妯$増鏀惧叆浠诲姟妯$増 selectfn(row, type) { - console.log(row); - console.log(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) { - this.form.templatename = row.preachname; - this.form.templateid = row.templateid; - } else if (type == 2) { - } else if (type == 3) { + 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(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) { console.log("澶氶�夋偅鑰�"); this.SelectPatientslist = selection; - this.ids = null; - this.ids = selection.map((item) => item.patid).join(","); - // let result = this.ids.join(","); 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; @@ -1014,37 +1100,60 @@ 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() { - this.SelectPatientslist.forEach((item) => { - item.isoperation = 1; - }); - this.form.patTaskRelevances.push(...this.SelectPatientslist); + // 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, "aa"); - messagelistpatient(this.topqueryParams).then((res) => { - this.userList = res.rows; - this.total = res.total; - console.log(this.userList, "ss"); - }); - }, - // 鍙橀噺--------------- - variableEdit(index, row) { - console.log(index, row); - }, variableDelete(index, row) { + this.variableList.splice(index, 1); + row.isoperation = 3; + this.delvariableList.push(row); console.log(index, row); }, // 鏃堕棿---------- @@ -1052,11 +1161,20 @@ 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); - this.processingTime(); + if (!top) { + this.processingTime(); + } }, getDates(startDate, endDate) { const dates = []; @@ -1105,7 +1223,73 @@ } } 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 }, + }); + }, + 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; + } }, }, }; @@ -1141,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; @@ -1199,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; @@ -1255,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 { @@ -1263,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