From c1857baa3a4fbce727da5de733fe30d38477978f Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 25 四月 2024 15:05:09 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/propaganda/particty.vue | 1167 +++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 714 insertions(+), 453 deletions(-) diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index 7c5e6ef..42620a3 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -11,9 +11,10 @@ ></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> @@ -35,51 +36,121 @@ </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="12" + ><el-form-item label="妯$増鍚嶇О"> + <el-input + style="width: 220px" + :disabled="true" + v-model="form.templatename" + placeholder="璇峰湪涓嬪垪閫夋嫨" + /> </el-form-item + ></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-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-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"> - <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 + v-for="(item, index) in checkboxlist" + :key="index" + :label="item" + ></el-checkbox> </el-checkbox-group> - </el-form-item> - <el-form-item label="瀹f暀褰㈠紡"> - <el-checkbox-group v-model="checkList"> - <el-checkbox label="褰撻潰"></el-checkbox> - <el-checkbox label="澶氬獟浣�"></el-checkbox> - <el-checkbox label="绾歌川"></el-checkbox> - <el-checkbox label="鐢佃瘽"></el-checkbox> - <el-checkbox label="鐭俊"></el-checkbox> - <el-checkbox label="寰俊鍏紬鍙�"></el-checkbox> - <el-checkbox label="寰俊灏忕▼搴�"></el-checkbox> - <el-checkbox label="閽夐拤"></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>瀹f暀鍐呭鍒楄〃</div> + <div>{{ title }}</div> </div> <div class="examine-jic"> <div class="jic-value"> @@ -94,14 +165,99 @@ v-show="showSearch" label-width="98px" > - <el-form-item label="瀹f暀涓婚"> + <el-form-item + label="瀹f暀涓婚" + v-if="currenttype == 1 || currenttype == 8" + > <el-input v-model="topqueryParams.name"></el-input> </el-form-item> - <el-form-item label="閫傜敤鐤剧梾"> + <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="浣撴濂楅" 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"> + <el-form-item + label="瀹f暀绫诲瀷" + prop="status" + v-if="currenttype == 1 || currenttype == 8" + > + <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 || currenttype == 7 + " + > + <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="璇烽�夋嫨" @@ -161,91 +317,15 @@ </el-form-item> </el-form> <el-divider></el-divider> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column - type="selection" - width="50" - align="center" - /> - <el-table-column - label="搴忓彿" - align="center" - key="id" - prop="id" - /> - - <el-table-column - label="瀹f暀鍚嶇О" - align="center" - sortable - key="name" - prop="name" - :show-overflow-tooltip="true" - /> - <el-table-column - label="瀹f暀妯℃澘" - align="center" - key="impTemplate" - prop="impTemplate" - /> - <el-table-column - label="鍒涘缓鏃ユ湡" - align="center" - key="create_time" - prop="create_time" - /> - - <el-table-column - label="鍒涘缓浜�" - align="center" - key="update_by" - prop="update_by" - sortable - width="120" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鎿嶄綔" - align="center" - width="120" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-zx" - ><i class="el-icon-s-promotion"></i>寮�濮嬫墽琛�</span - ></el-button - > - </template> - </el-table-column> - <el-table-column - label="浠诲姟璇︽儏" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>閫夋嫨</span - ></el-button - > - </template> - </el-table-column> - </el-table> - + <!-- 閫夋嫨妯$増鍒楄〃 --> + <SFtable + @selectfn="selectfn" + :currentList="userList" + :tableLabel="tableLabel" + :controlsc="false" + :multiplechoice="false" + :typeinfo="1" + /> <pagination v-show="total > 0" :total="total" @@ -258,7 +338,7 @@ </div> </div> </div> - <el-button type="success" @click="submitForm('ruleForm')">{{ + <el-button type="success" @click="nextstep('ruleForm')">{{ quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏璁剧疆" }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> @@ -269,6 +349,51 @@ <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"> + <div class="jic-value"> + <el-row :gutter="20"> + <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 + > + </template> + </el-table-column> + </el-table> + </el-row> + </div> + </div> + </div> <div class="examine-jic"> <div class="headline"> <div>鎮h�呭垪琛�</div> @@ -361,7 +486,7 @@ <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-select - v-model="tasktopic" + v-model="patientqueryParams.allhosp" placeholder="璇烽�夋嫨鏂板绫诲瀷" > <el-option @@ -379,9 +504,8 @@ plain icon="el-icon-plus" size="medium" - :disabled="!tasktopic" - @click="handleAdd" - v-hasPermi="['system:user:add']" + :disabled="!patientqueryParams.allhosp" + @click="handleAddpatient" >鏂板</el-button > </el-col> @@ -394,152 +518,23 @@ size="medium" :disabled="multiple" @click="handleDelete" - v-hasPermi="['system:user:remove']" >鍒犻櫎</el-button > </el-col> <!-- <el-col :span="1.5"> </el-col> --> </el-row> - <!-- <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - :columns="columns" - ></right-toolbar> --> - <el-table - v-loading="loading" - :data="userList" - @selection-change="handleSelectionChange" - > - <el-table-column - type="selection" - width="50" - align="center" - /> - <el-table-column - label="搴忓彿" - align="center" - key="id" - prop="id" - /> - - <el-table-column - label="浠诲姟鍚嶇О" - align="center" - sortable - key="name" - prop="name" - :show-overflow-tooltip="true" - /> - <el-table-column - label="鏈嶅姟妯℃澘" - align="center" - key="impTemplate" - prop="impTemplate" - /> - <el-table-column - label="鍒涘缓鏃ユ湡" - align="center" - key="create_time" - prop="create_time" - /> - <el-table-column - label="鎵ц鐘舵��" - align="center" - key="phonenumber" - prop="phonenumber" - width="120" - /> - - <el-table-column - label="鎵ц鐘舵��" - align="center" - key="topicnumber" - prop="topicnumber" - width="120" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <div>鎵ц瀹屾垚/鎵ц澶辫触</div> - </template> - </el-table-column> - <el-table-column - label="鏇存柊浜�" - align="center" - key="update_by" - prop="update_by" - sortable - width="120" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="鏇存柊鏃堕棿" - sortable - align="center" - prop="update_time" - width="160" - > - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="120" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-zx" - ><i class="el-icon-s-promotion"></i>寮�濮嬫墽琛�</span - ></el-button - > - </template> - </el-table-column> - <el-table-column - label="浠诲姟璇︽儏" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-bb" - ><i class="el-icon-s-order"></i>鎶ヨ〃</span - ></el-button - > - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> - + <!-- 閫変腑鎮h�呭垪琛� --> + <SFtable + @details="detailhz" + @handleUpdate="handleUpdate" + @handleSelectionChange="handleSelectionChange" + :currentList="form.patTaskRelevances" + :tableLabel="tableLabelhz" + :serialnumber="false" + :controlxz="false" + :typeinfo="2" + /> <pagination v-show="total > 0" :total="total" @@ -581,7 +576,7 @@ <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="鎮h�呮潵婧�" prop="status"> <el-select v-model="patientqueryParams.topic" placeholder="璇烽�夋嫨" @@ -594,36 +589,28 @@ > </el-option> </el-select> - </el-form-item> - <el-form-item label="鍑洪櫌绉戝" prop="status"> + </el-form-item> --> + <el-form-item label="灏辫瘖绉戝" prop="status"> <el-select v-model="patientqueryParams.topic" placeholder="璇烽�夋嫨" > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" + <el-option-group + v-for="group in topicoptions[0].children" + :key="group.deptName" + :label="group.deptName" > - </el-option> + <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 label="鍑洪櫌鐥呭尯" prop="status"> - <el-select - v-model="patientqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> <el-form-item> <el-button type="primary" @@ -640,73 +627,16 @@ > </el-form-item> </el-form> - - <el-table - v-loading="patientloading" - :data="patientuserList" - @selection-change="handleSelectionChange" - > - <el-table-column type="selection" width="50" align="center" /> - <el-table-column - label="搴忓彿" - align="center" - key="patid" - prop="patid" - /> - - <el-table-column - label="鎮h�呭悕绉�" - align="center" - sortable - key="name" - prop="name" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="鎮h�呮潵婧�" - align="center" - key="source" - prop="source" - /> - <el-table-column - label="鎵嬫満鍙风爜" - align="center" - key="telcode" - prop="telcode" - width="120" - :show-overflow-tooltip="true" - /> - - <el-table-column - label="浠诲姟璇︽儏" - align="center" - width="200" - class-name="small-padding fixed-width" - > - <template slot-scope="scope"> - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-xq" - ><i class="el-icon-s-data"></i>璇︽儏</span - ></el-button - > - - <el-button - size="medium" - type="text" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button - > - </template> - </el-table-column> - </el-table> + <!-- 閫夋嫨鎮h�呭垪琛� --> + <SFtable + @handleUpdate="handleUpdate" + @handleSelectionChange="handleSelectionChange" + :currentList="patientuserList" + :tableLabel="tableLabelhz" + :serialnumber="false" + :center="false" + :typeinfo="3" + /> </el-row> <pagination v-show="patienttotal > 0" @@ -728,25 +658,98 @@ </template> <script> +import { messagelistpatient } from "@/api/patient/homepage"; +import store from "@/store"; import { - listsvr_prjtask, - getsvr_prjtask, - addsvr_prjtask, - updatesvr_prjtask, - delsvr_prjtask, - Addpatienttask, -} from "@/api/smartorpor/svr_prjtask"; -import { listpat_archive } from "@/api/smartorpor/pat_archive"; -import { listsvr_prjtaskline } from "@/api/smartorpor/svr_prjtaskline"; + getTaskpatient, + getlibrarylist, + getFollowuplist, + getQtemplatelist, + 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: "", Editprogress: 1, //缂栬緫杩涘害 loading: false, // 閬僵灞� patientloading: false, // 閬僵灞� - dialogVisible: false, //浠诲姟璇︽儏寮规 dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� + radio: 1, + checkboxlist: [], + tableLabel: [], + + // 鎮h�呰〃鍗� + tableLabelhz: [ + { label: "搴忓彿", width: "", prop: "patid" }, + { label: "鎮h�呭悕绉�", width: "", prop: "name" }, + { label: "鎬у埆", width: "", prop: "sex" }, + { label: "骞撮緞", width: "", prop: "age" }, + { 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: "updateBy" }, + ], + tableLabelmz: [ + { label: "闅忚鍚嶇О", width: "", prop: "templateName" }, + { label: "涓昏鍐呭", width: "", prop: "note" }, + { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" }, + { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" }, + ], + tableLabelcy: [ + { label: "闅忚鍚嶇О", width: "", prop: "templateName" }, + { label: "闅忚璁″垝", width: "", prop: "impTemplate" }, + { label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" }, + { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" }, + ], + tableLabelfz: [ + { label: "閫氱煡鍚嶇О", width: "", prop: "templateName" }, + { label: "閫氱煡妯$増", width: "", prop: "impTemplate" }, + { label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" }, + { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" }, + ], + tableLabeltj: [ + { label: "閫氱煡鍚嶇О", width: "", prop: "name" }, + { label: "閫氱煡妯$増", width: "", prop: "impTemplate" }, + { label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" }, + { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" }, + ], + tableLabelwj: [ + { label: "闂嵎鍚嶇О", width: "", prop: "name" }, + { label: "闂嵎妯$増", width: "", prop: "impTemplate" }, + { label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" }, + { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" }, + ], + // 鍙橀噺 + tableLabelvariable: [ + { label: "鍙橀噺鍚嶇О", width: "", prop: "variablename" }, + { label: "鍖归厤绗�", width: "", prop: "character" }, + { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" }, + ], + // 鏃堕棿澶勭悊 + daytime: [], //鏃ユ湡 + applydaytime: [], //璁$畻鏃ユ湡 + time1: "", //涓婂崍鏃堕棿娈� + time2: "", //涓嬪崍鏃堕棿娈� + time3: "", //鏅氫笂鏃堕棿娈� topqueryParams: { pageNum: 1, // pageSize: 10, @@ -760,7 +763,7 @@ pageNum: 1, // pageSize: 10, }, - topicoptions: [], + topicoptions: [{ children: [{ children: [] }] }], showSearch: true, // total: 0, // sontotal: 0, // @@ -772,100 +775,263 @@ // 闈炲涓鐢� multiple: true, // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - patientuserList: null, - sonuserList: null, - tasktopic: null, //鏂板绫诲瀷 - form: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - desc: "", - }, - options: [ + userList: [], //妯$増鍒楄〃 + patientuserList: [], //閫夋嫨鎮h�呭垪琛� + sonuserList: [], //閫変腑鎮h�呭垪琛� + delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 + variableList: [ { - value: "閫夐」1", - label: "榛勯噾绯�", + name: "濮撳悕", + value: "${name}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, }, { - value: "閫夐」2", - label: "鍙岀毊濂�", + name: "鍦板潃", + value: "${dzz}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, }, { - value: "閫夐」3", - label: "铓典粩鐓�", + name: "鐢佃瘽", + value: "${dhh}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, + }, + ], //鍙橀噺鍒楄〃 + transitionList: [ + { + name: "濮撳悕", + value: "${name}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, }, { - value: "閫夐」4", - label: "榫欓』闈�", + name: "鍦板潃", + value: "${dzz}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, }, { - value: "閫夐」5", - label: "鍖椾含鐑ら腑", + name: "鐢佃瘽", + value: "${dhh}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, }, ], + variableListTime: [], + tasktopic: null, //鏂板绫诲瀷 + SelectPatientslist: [], + form: { + serviceform: [], + patTaskRelevances: [], + sendType: 1, + templatename: "", + templateid: null, + }, taskoptions: [ { value: "1", - label: "閫氱煡", + label: "鍑洪櫌鐥呬汉", }, { value: "2", - label: "闅忚", + label: "闂ㄨ瘖鐥呬汉", }, { value: "3", - label: "闂嵎", - }, - { - value: "4", - label: "瀹f暀", + label: "浣撴鐥呬汉", }, ], quote: false, }; }, + components: { SFtable }, created() { - this.Addsubtask(); - this.Getsubtask(); + this.id = this.$route.query.id; + this.form.hospType = this.$route.query.type; + this.listDept(); + this.Acquisitiontype(); + this.Getdetails(); }, methods: { - // 涓嬩竴姝� - submitForm(formName) { + // { + // 濮撳悕: { "${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: 1, + pageSize: 10, + isavailable: "", + }; + this.currenttype = this.$route.query.type; + console.log(this.currenttype, "1"); + if (this.currenttype == 1 || this.currenttype == 8) { + // 鍖绘妧瀹f暀锛屾櫘閫氬鏁� + 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.currenttype == 3 || + this.currenttype == 7 + ) { + // 鍑洪櫌銆侀棬璇娿�佷笓鐥呴殢璁� + this.title = "闅忚鍐呭鍒楄〃"; + this.tableLabel = this.tableLabelmz; + this.checkboxlist = ["绾夸笅", "AI璇煶澶栧懠", "浜哄伐鐢佃瘽"]; + getFollowuplist(queryParams).then((response) => { + this.userList = response.rows; + this.total = response.total; + }); + } else if (this.currenttype == 4 || this.currenttype == 5) { + // 澶嶈瘖銆佷綋妫�閫氱煡 + this.title = "閫氱煡鍐呭鍒楄〃"; + this.tableLabel = this.tableLabelfz; + this.checkboxlist = ["绾夸笅", "AI璇煶澶栧懠", "浜哄伐鐢佃瘽", "鐭俊"]; + 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; + }); + } + }, + 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; - // } - // }); }, - // 瀛愪换鍔′竴绾у脊妗� - handleAdd() { - this.multiple = true; - listsvr_prjtaskline(this.deliverytopqueryParams).then((response) => { - console.log(response); - this.sonuserList = response.rows; - this.sontotal = response.total; - this.loading = false; + // 淇濆瓨 + submitForm(formName) { + this.form.serviceform = this.checkList.join(","); + this.form.hospType = this.currenttype; + const filteredArray = this.variableList.filter( + (item) => + item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃" + ); + console.log(filteredArray, "瀛樺墠鍙橀噺"); + this.form.textParam = this.convertFormat2ToFormat1(filteredArray); + if (this.form.id) { + this.form.isoperation = 2; + } else { + this.form.isoperation = 1; + } + Editsingletask(this.form).then((res) => { + if (res.code == 200) { + if (this.form.id) { + this.$modal.msgSuccess("鏂板鎴愬姛"); + } else { + this.$modal.msgSuccess("淇敼鎴愬姛"); + } + this.$router.go(-1); + } }); - this.dialogVisible = true; + }, + // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� + // 閫夋嫨妯$増 + selectfn(row, type) { + // 妯$増鎯呭喌涓嬭幏鍙栨ā鐗堜俊鎭� + if (type == 1) { + if ( + this.currenttype == 2 || + this.currenttype == 4 || + this.currenttype == 3 || + currenttype == 5 || + currenttype == 7 + ) { + this.form.templatename = row.templateName; + this.form.templateid = row.id; + } else if (this.currenttype == 1) { + this.form.templatename = row.preachname; + this.form.templateid = row.id; + } + getvFollowup({ id: row.id }).then((res) => { + if (res.code == 200) { + const data = res.data; + this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1); + } + }); + } else if (type == 2) { + } else if (type == 3) { + } + }, + // 澶勭悊闂灞傚彉閲� + Variablehandling(arr, type) { + let Variablist = []; + 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, + }); + } + }); + }); + console.log(Variablist, "Variablist"); + 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); + } }, // 瀛愪换鍔′簩绾у脊妗� - handleAddpatient() { - console.log(this.multiple); - listpat_archive(this.patientqueryParams).then((response) => { + handleAddpatient(row) { + getTaskpatient(this.patientqueryParams).then((response) => { console.log(response); this.patientuserList = response.rows; this.patienttotal = response.total; @@ -878,18 +1044,21 @@ handleExport() {}, // 澶氶�夋閫変腑鏁版嵁 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); }, + // 鍒犻櫎閫変腑鎮h�� + detailhz(row, info) {}, getList() {}, - handleQuery() {}, - resetQuery() {}, - handleCloserw() { - this.dialogVisible = false; + handleQuery() { + this.handleAddpatient(); }, + resetQuery() {}, handleClosehz() { this.dialogVisiblepatient = false; }, @@ -906,37 +1075,123 @@ 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 = ""; + if (res.code == 200) { + this.form = res.data; + this.checkList = this.form.serviceform.split(","); + this.daytime = this.form.sendlimitabegin.split(","); + if (this.form.sendlimitaend) + this.time1 = this.form.sendlimitaend.split(","); + if (this.form.sendlimitnbegin) + this.time2 = this.form.sendlimitaend.split(","); + if (this.form.sendlimitnend) + this.time3 = this.form.sendlimitaend.split(","); + filteredArray = this.convertFormat1ToFormat2(this.form.textParam); + console.log(filteredArray, "filteredArray"); + this.variableList = this.transitionList.concat(filteredArray); + } else { + this.$modal.msgError(res.code); + } + console.log(res); + }); + } + }, + // 鑾峰彇绉戝鍒楄〃 + 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.dialogVisiblepatient = false; }, - // 鏌ヨ瀛愪换鍔″垪琛� - Getsubtask() { - this.topqueryParams.pguid = 2; - console.log(this.topqueryParams); - // this.topqueryParams.pid = this.$route.query.id; - // console.log(this.topqueryParams.pid); - listsvr_prjtask(this.topqueryParams).then((res) => { - this.userList = res.rows; - this.total = res.total; - console.log(this.userList); - }); + // 鍙橀噺--------------- + // 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); }, - /** 鏌ヨ鎮h�呭垪琛� */ + // 鏃堕棿---------- + changeTime(row) { + console.log(row, "鏃堕棿"); + this.processingTime(); + }, + changeTimeday(row) { + const startDate = new Date(row[0]); + const endDate = new Date(row[1]); + this.applydaytime = this.getDates(startDate, endDate); + 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.sendlimitabegin = this.daytime.join(","); + if (this.time1) this.form.sendlimitaend = this.time1.join(","); + if (this.time2) this.form.sendlimitnbegin = this.time2.join(","); + if (this.time3) this.form.sendlimitnend = this.time3.join(","); + console.log(combinedData, "combinedData"); + }, }, }; </script> @@ -1093,6 +1348,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