| | |
| | | <el-step |
| | | icon="el-icon-edit" |
| | | title="基础信息" |
| | | description="选择宣教模版、形式等基础信息" |
| | | description="选择模版、形式等基础信息" |
| | | ></el-step> |
| | | <el-step |
| | | icon="el-icon-user" |
| | | title="宣教对象" |
| | | description="在本部选择宣教病人" |
| | | title="任务主体" |
| | | description="在本部选择服务患者" |
| | | ></el-step> |
| | | <el-step icon="el-icon-user" title="模版确认"></el-step> |
| | | </el-steps> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="leftvlue" style="margin: 0 20px"> |
| | | <!-- 基本信息 --> |
| | | <div v-if="Editprogress == 1"> |
| | | <el-alert |
| | | title="选择宣教模版、形式等基础信息" |
| | | type="success" |
| | | effect="dark" |
| | | > |
| | | <el-alert title="选择模版、形式等基础信息" type="success" effect="dark"> |
| | | </el-alert> |
| | | <div class="leftvlue-jbxx"> |
| | | <!-- 基础信息 --> |
| | |
| | | </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.bt" |
| | | placeholder="请在下方选择" |
| | | type="textarea" |
| | | v-model="form.taskDesc" |
| | | placeholder="请输入任务描述" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="发送时间:" v-if="currenttype != 2"> |
| | | <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="发送时间段:" v-if="currenttype != 2"> |
| | | <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 label="不定时"></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"> |
| | |
| | | ></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 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"> |
| | | <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="宣教类型" |
| | | 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 |
| | | @handleUpdate="handleUpdate" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | :currentList="userList" |
| | | :tableLabel="tableLabel" |
| | | :controlsc="false" |
| | | :multiplechoice="false" |
| | | /> |
| | | <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="submitForm('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>变量匹配量参</div> |
| | |
| | | <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" |
| | |
| | | </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>患者列表</div> |
| | |
| | | <div class="jic-value"> |
| | | <el-row :gutter="20"> |
| | | <!--用户数据--> |
| | | <el-form |
| | | <!-- <el-form |
| | | :model="topqueryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | |
| | | |
| | | <el-form-item label="患者范围" prop="status"> |
| | | <el-select |
| | | v-model="topqueryParams.topic" |
| | | v-model="topqueryParams.scriptTopic" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | |
| | | |
| | | <el-form-item label="患者状态" prop="status"> |
| | | <el-select |
| | | v-model="topqueryParams.topic" |
| | | v-model="topqueryParams.scriptTopic" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | |
| | | </el-form-item> |
| | | <el-form-item label="随访结果" prop="status"> |
| | | <el-select |
| | | v-model="topqueryParams.topic" |
| | | v-model="topqueryParams.scriptTopic" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | |
| | | > |
| | | </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 |
| | |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="medium" |
| | | :disabled="!tasktopic" |
| | | :disabled="!patientqueryParams.allhosp" |
| | | @click="handleAddpatient" |
| | | >新增</el-button |
| | | > |
| | |
| | | </el-row> |
| | | <!-- 选中患者列表 --> |
| | | <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" |
| | |
| | | </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> |
| | |
| | | :visible.sync="dialogVisiblepatient" |
| | | width="70%" |
| | | :before-close="handleClosehz" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="examine-jic"> |
| | | <div class="jic-value"> |
| | |
| | | <el-form-item label="患者名称:"> |
| | | <el-input v-model="patientqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="患者来源" 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> |
| | | <!-- 选择患者列表 --> |
| | | <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" |
| | |
| | | </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" |
| | |
| | | </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" |
| | |
| | | icon="el-icon-refresh" |
| | | size="medium" |
| | | @click="resetQuery" |
| | | >取消创建</el-button |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | <!-- 选择患者列表 --> |
| | | <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 { messagelistpatient } from "@/api/patient/homepage"; |
| | | import store from "@/store"; |
| | | import { |
| | | getTaskpatient, |
| | | 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: "宣教内容列表", |
| | | currenttype: 1, //1宣教2门诊3出院4复诊5体检6问卷 |
| | | id: "", |
| | | title: "随访内容列表", |
| | | currenttype: 1, //1随访2门诊3出院4复诊5体检6问卷 |
| | | id: "", // |
| | | previewid: "", //任务模版传递id |
| | | libName: "", |
| | | overallCase: [], //选择患者总 |
| | | allpids: [], |
| | | libId: null, //模板库模版id |
| | | nhh: null, //是否依照新增 |
| | | Editprogress: 1, //编辑进度 |
| | | drawermb: false, //选择模版弹窗 |
| | | previewtf: false, //预览 |
| | | loading: false, // 遮罩层 |
| | | patientloading: false, // 遮罩层 |
| | | dialogVisiblepatient: false, //添加患者弹框 |
| | | radio: 1, |
| | | checkboxlist: [], |
| | | tableLabel: [], |
| | | questionList: [], |
| | | // 患者表单 |
| | | tableLabelhz: [ |
| | | { label: "序号", width: "", prop: "patid" }, |
| | | { label: "患者名称", 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: "宣教名称", width: "", prop: "preachname" }, |
| | | { label: "宣教描述", width: "", prop: "note" }, |
| | | { label: "宣教形式", 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: [], //日期 |
| | | applydaytime: [], //计算日期 |
| | | time1: "", //上午时间段 |
| | | time2: "", //下午时间段 |
| | | time3: "", //晚上时间段 |
| | | time4: "", //晚上时间段 |
| | | topqueryParams: { |
| | | pageNum: 1, // |
| | | pageSize: 10, |
| | |
| | | pageNum: 1, // |
| | | pageSize: 10, |
| | | }, |
| | | topicoptions: [], |
| | | topicoptions: [{ children: [{ children: [] }] }], |
| | | showSearch: true, // |
| | | total: 0, // |
| | | sontotal: 0, // |
| | |
| | | userList: [], //模版列表 |
| | | patientuserList: [], //选择患者列表 |
| | | sonuserList: [], //选中患者列表 |
| | | 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: { |
| | | name: "", |
| | | region: "", |
| | | date1: "", |
| | | date2: "", |
| | | delivery: false, |
| | | type: [], |
| | | resource: "", |
| | | desc: "", |
| | | patTaskRelevances: [], |
| | | sendType: 1, |
| | | templatename: "", |
| | | templateid: null, |
| | | libtemplateid: null, |
| | | }, |
| | | taskoptions: [ |
| | | { |
| | |
| | | |
| | | created() { |
| | | this.id = this.$route.query.id; |
| | | this.Addsubtask(); |
| | | this.Getsubtask(); |
| | | 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: 1, |
| | | pageSize: 10, |
| | | pageNum: this.topqueryParams.pageNum, |
| | | pageSize: this.topqueryParams.pageSize, |
| | | isavailable: "", |
| | | }; |
| | | getTaskpatient({ allhosp: 1 }).then((res) => { |
| | | console.log(res); |
| | | }); |
| | | this.currenttype = this.$route.query.type; |
| | | console.log(this.currenttype); |
| | | if (this.currenttype == 1) { |
| | | this.title = "宣教内容列表"; |
| | | 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; |
| | | }); |
| | | } |
| | | 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() {}, |
| | | // 多选框选中数据 |
| | | // 选中患者表 |
| | | handlePitchionChange() {}, |
| | | // 选择患者表数据 |
| | | 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(); |
| | | } |
| | | }, |
| | | // 删除选中患者 |
| | | detailhz(row, info) { |
| | | this.$modal |
| | | .confirm('是否确认删除患者"' + 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; |
| | |
| | | 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 }, |
| | | }); |
| | | }, |
| | | // 变量--------------- |
| | | variableEdit(index, row) { |
| | | console.log(index, row); |
| | | 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); |
| | | }); |
| | | }, |
| | | variableDelete(index, row) { |
| | | console.log(index, row); |
| | | // 处理服务形式 |
| | | 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; |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | } |
| | | .examine-jic { |
| | | margin: 20px; |
| | | .headline { |
| | | font-size: 24px; |
| | | border-left: 5px solid #41a1be; |
| | |
| | | // 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; |
| | |
| | | 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 { |
| | |
| | | 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; |