|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <div>任务列表</div> | 
|---|
|  |  |  | <div class="app-container"> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <!--用户数据--> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | :model="topqueryParams" | 
|---|
|  |  |  | ref="queryForm" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | :inline="true" | 
|---|
|  |  |  | v-show="showSearch" | 
|---|
|  |  |  | label-width="98px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form-item label="任务名称"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="topqueryParams.taskName" | 
|---|
|  |  |  | @keyup.enter.native="handleQuery" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="创建人"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="topqueryParams.createBy" | 
|---|
|  |  |  | @keyup.enter.native="handleQuery" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="发送时间"> | 
|---|
|  |  |  | <el-date-picker | 
|---|
|  |  |  | v-model="dateRange" | 
|---|
|  |  |  | style="width: 240px" | 
|---|
|  |  |  | value-format="yyyy-MM-dd" | 
|---|
|  |  |  | type="daterange" | 
|---|
|  |  |  | range-separator="-" | 
|---|
|  |  |  | start-placeholder="开始日期" | 
|---|
|  |  |  | end-placeholder="结束日期" | 
|---|
|  |  |  | ></el-date-picker> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="任务模板" prop="status"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="topqueryParams.templatename" | 
|---|
|  |  |  | @keyup.enter.native="handleQuery" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="任务状态" prop="status"> | 
|---|
|  |  |  | <el-select v-model="topqueryParams.sendState" placeholder="请选择"> | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in dict.type.task_status" | 
|---|
|  |  |  | :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> | 
|---|
|  |  |  | <el-row :gutter="10" class="mb8"> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | @change="handleQuerytask" | 
|---|
|  |  |  | v-model="tasktopic" | 
|---|
|  |  |  | placeholder="请选择服务类型" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in taskoptions" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.value" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | @change="handleQuery" | 
|---|
|  |  |  | v-model="topqueryParams.type" | 
|---|
|  |  |  | placeholder="请选择执行类型" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in longtermlist" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.value" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | icon="el-icon-plus" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | @click="handleAdd" | 
|---|
|  |  |  | :disabled="!tasktopic" | 
|---|
|  |  |  | >新建任务</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- <el-col :span="19"> | 
|---|
|  |  |  | <div class="documentf"> | 
|---|
|  |  |  | <div class="document"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="warning" | 
|---|
|  |  |  | plain | 
|---|
|  |  |  | icon="el-icon-download" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | @click="handleExport" | 
|---|
|  |  |  | v-hasPermi="['system:user:export']" | 
|---|
|  |  |  | >导出</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </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"> | 
|---|
|  |  |  | <!-- <el-table-column | 
|---|
|  |  |  | label="序号" | 
|---|
|  |  |  | fixed | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="taskid" | 
|---|
|  |  |  | prop="taskid" | 
|---|
|  |  |  | /> --> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="任务名称" | 
|---|
|  |  |  | fixed | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="taskName" | 
|---|
|  |  |  | prop="taskName" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="任务描述" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="taskDesc" | 
|---|
|  |  |  | prop="taskDesc" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="服务项目" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="templatename" | 
|---|
|  |  |  | prop="templatename" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="总任务/已随访" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="nickName" | 
|---|
|  |  |  | width="120" | 
|---|
|  |  |  | prop="nickName" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <span | 
|---|
|  |  |  | >{{ | 
|---|
|  |  |  | scope.row.wfs || scope.row.wfs == 0 | 
|---|
|  |  |  | ? scope.row.wfs + scope.row.yfs | 
|---|
|  |  |  | : "" | 
|---|
|  |  |  | }}/{{ scope.row.yfs }}</span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="是否长期任务" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="longTask" | 
|---|
|  |  |  | prop="longTask" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <span>{{ scope.row.longTask ? "长期任务" : "非长期" }}</span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="状态" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="sendState" | 
|---|
|  |  |  | prop="sendState" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <dict-tag | 
|---|
|  |  |  | :options="dict.type.task_status" | 
|---|
|  |  |  | :value="scope.row.sendState" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="创建人" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="createBy" | 
|---|
|  |  |  | prop="createBy" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="创建时间" | 
|---|
|  |  |  | sortable | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | prop="createTime" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <span>{{ formatTime(scope.row.createTime) }}</span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="操作" | 
|---|
|  |  |  | fixed="right" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | width="240" | 
|---|
|  |  |  | class-name="small-padding fixed-width" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | v-if=" | 
|---|
|  |  |  | (scope.row.sendState == 1 || scope.row.sendState == 3) && | 
|---|
|  |  |  | !scope.row.longTask | 
|---|
|  |  |  | " | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click="sponsor(scope.row)" | 
|---|
|  |  |  | ><span class="button-zx" | 
|---|
|  |  |  | ><i class="el-icon-s-promotion"></i>发起</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <!-- <el-button size="medium" type="text" @click="newAdd(scope.row)" | 
|---|
|  |  |  | ><span class="button-xj" | 
|---|
|  |  |  | ><i class="el-icon-circle-plus-outline"></i>终止</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > --> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click="handleUpdate(scope.row, 1)" | 
|---|
|  |  |  | ><span class="button-xj" | 
|---|
|  |  |  | ><i class="el-icon-circle-plus-outline"></i>依照新增</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | v-if="scope.row.sendState == 2" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click="stop(scope.row)" | 
|---|
|  |  |  | ><span class="button-zt" | 
|---|
|  |  |  | ><i class="el-icon-circle-plus-outline"></i>暂停</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="任务详情" | 
|---|
|  |  |  | fixed="right" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | width="240" | 
|---|
|  |  |  | class-name="small-padding fixed-width" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | @click="handleUpdate(scope.row)" | 
|---|
|  |  |  | ><span class="button-xq" | 
|---|
|  |  |  | ><i class="el-icon-s-data"></i>详情</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-button size="medium" type="text" @click="deletefn(scope.row)" | 
|---|
|  |  |  | ><span class="button-sc" | 
|---|
|  |  |  | ><i class="el-icon-delete"></i>删除</span | 
|---|
|  |  |  | ></el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | </el-table> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <pagination | 
|---|
|  |  |  | v-show="total > 0" | 
|---|
|  |  |  | :total="total" | 
|---|
|  |  |  | :page.sync="topqueryParams.pageNum" | 
|---|
|  |  |  | :limit.sync="topqueryParams.pageSize" | 
|---|
|  |  |  | @pagination="getList" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <!-- 确认发起对话框 --> | 
|---|
|  |  |  | <el-dialog | 
|---|
|  |  |  | title="任务发起确认" | 
|---|
|  |  |  | :visible.sync="taskformVisible" | 
|---|
|  |  |  | width="50%" | 
|---|
|  |  |  | :before-close="handleClose" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-tabs type="border-card" v-model="activname"> | 
|---|
|  |  |  | <el-tab-pane> | 
|---|
|  |  |  | <span slot="label"><i class="el-icon-date"></i> 正常发起</span> | 
|---|
|  |  |  | <div style="font-size: 20px; color: red; margin-bottom: 20px"> | 
|---|
|  |  |  | 请确认任务"{{ taskform.taskName }}"的执行时间 | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | style="font-size: 18px; margin-bottom: 20px" | 
|---|
|  |  |  | v-if="taskform.showDate" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | 执行日期:<span | 
|---|
|  |  |  | style="font-size: 18px; color: #2376b7; margin-bottom: 20px" | 
|---|
|  |  |  | >{{ taskform.showDate[0] }} 至 {{ taskform.showDate[1] }}</span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | style="font-size: 18px; margin-bottom: 20px" | 
|---|
|  |  |  | v-if="taskform.showTimeMorn[0]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | 第一时间段:<span | 
|---|
|  |  |  | style="font-size: 18px; color: #2376b7; margin-bottom: 20px" | 
|---|
|  |  |  | >{{ taskform.showTimeMorn[0] }} 至 | 
|---|
|  |  |  | {{ taskform.showTimeMorn[1] }}</span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | style="font-size: 18px; margin-bottom: 20px" | 
|---|
|  |  |  | v-if="taskform.showTimeNight[0]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | 第二时间段:<span | 
|---|
|  |  |  | style="font-size: 18px; color: #2376b7; margin-bottom: 20px" | 
|---|
|  |  |  | >{{ taskform.showTimeNight[0] }} 至 | 
|---|
|  |  |  | {{ taskform.showTimeNight[1] }}</span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | style="font-size: 18px; margin-bottom: 20px" | 
|---|
|  |  |  | v-if="taskform.showTimeNoon[0]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | 第三时间段:<span | 
|---|
|  |  |  | style="font-size: 18px; color: #2376b7; margin-bottom: 20px" | 
|---|
|  |  |  | >{{ taskform.showTimeNoon[0] }} 至 | 
|---|
|  |  |  | {{ taskform.showTimeNoon[1] }}</span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-tab-pane> | 
|---|
|  |  |  | <el-tab-pane label="立即执行"> | 
|---|
|  |  |  | <div style="font-size: 20px; color: red; margin-bottom: 20px"> | 
|---|
|  |  |  | 此操作将立即发起并执行任务:{{ taskform.taskName }},请谨慎操作! | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-tab-pane> | 
|---|
|  |  |  | </el-tabs> | 
|---|
|  |  |  | <div style="text-align: right; margin: 20px 0"> | 
|---|
|  |  |  | <el-button style="margin-right: 20px" @click="taskformVisible = false" | 
|---|
|  |  |  | >取 消</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | style="margin-right: 20px" | 
|---|
|  |  |  | type="success" | 
|---|
|  |  |  | @click="confirmSponsor(taskform)" | 
|---|
|  |  |  | >确认执行</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button type="primary" @click="handleUpdate(taskform)" | 
|---|
|  |  |  | >前往修改</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-dialog> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getUser, | 
|---|
|  |  |  | delUser, | 
|---|
|  |  |  | addUser, | 
|---|
|  |  |  | updateUser, | 
|---|
|  |  |  | resetUserPwd, | 
|---|
|  |  |  | changeUserStatus, | 
|---|
|  |  |  | } from "@/api/system/user"; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getTasklist, | 
|---|
|  |  |  | getTaskInfo, | 
|---|
|  |  |  | Editsingletask, | 
|---|
|  |  |  | delTaskInfo, | 
|---|
|  |  |  | Questionnairetasklist, | 
|---|
|  |  |  | Questionnairetaskget, | 
|---|
|  |  |  | Questionnairetasksponsor, | 
|---|
|  |  |  | TaskTemplateSendExecution, | 
|---|
|  |  |  | } from "@/api/AiCentre/index"; | 
|---|
|  |  |  | import store from "@/store"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import Treeselect from "@riophae/vue-treeselect"; | 
|---|
|  |  |  | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: "Tasklist", | 
|---|
|  |  |  | dicts: ["sys_normal_disable", "sys_user_sex", "task_status"], | 
|---|
|  |  |  | components: { Treeselect }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return {}; | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | // 遮罩层 | 
|---|
|  |  |  | loading: true, | 
|---|
|  |  |  | // 选中数组 | 
|---|
|  |  |  | ids: [], | 
|---|
|  |  |  | // 非单个禁用 | 
|---|
|  |  |  | single: true, | 
|---|
|  |  |  | // 非多个禁用 | 
|---|
|  |  |  | multiple: true, | 
|---|
|  |  |  | // 显示搜索条件 | 
|---|
|  |  |  | showSearch: true, | 
|---|
|  |  |  | // 总条数 | 
|---|
|  |  |  | total: 0, | 
|---|
|  |  |  | // 用户表格数据 | 
|---|
|  |  |  | userList: null, | 
|---|
|  |  |  | // 弹出层标题 | 
|---|
|  |  |  | title: "新增影像随访", | 
|---|
|  |  |  | // 是否显示修改、添加弹出层 | 
|---|
|  |  |  | addalteropen: false, | 
|---|
|  |  |  | // 部门名称 | 
|---|
|  |  |  | deptName: undefined, | 
|---|
|  |  |  | // 默认密码 | 
|---|
|  |  |  | initPassword: undefined, | 
|---|
|  |  |  | // 日期范围 | 
|---|
|  |  |  | dateRange: [], | 
|---|
|  |  |  | // 岗位选项 | 
|---|
|  |  |  | postOptions: [], | 
|---|
|  |  |  | // 角色选项 | 
|---|
|  |  |  | roleOptions: [], | 
|---|
|  |  |  | longTask: 0, | 
|---|
|  |  |  | taskform: { | 
|---|
|  |  |  | showDate: [], | 
|---|
|  |  |  | showTimeMorn: [], | 
|---|
|  |  |  | showTimeNight: [], | 
|---|
|  |  |  | showTimeNoon: [], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | taskformVisible: false, | 
|---|
|  |  |  | dynamicTags: ["选项一", "选项二", "选项三"], //选项 | 
|---|
|  |  |  | inputVisible: false, | 
|---|
|  |  |  | inputValue: "", | 
|---|
|  |  |  | previewVisible: false, //影像随访预览弹框 | 
|---|
|  |  |  | TaskOperation: {}, | 
|---|
|  |  |  | radio: "", | 
|---|
|  |  |  | radios: [], | 
|---|
|  |  |  | previewtype: 2, //预览影像随访类型 | 
|---|
|  |  |  | total: 0, // 总条数 | 
|---|
|  |  |  | ImportQuantity: 999, //导影像随访数量 | 
|---|
|  |  |  | //预览影像随访信息 | 
|---|
|  |  |  | previewvalue: { | 
|---|
|  |  |  | username: "这个医生对你怎么样", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | longtermlist: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | label: "语音随访", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 2, | 
|---|
|  |  |  | label: "问卷随访", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 3, | 
|---|
|  |  |  | label: "宣教关怀", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 4, | 
|---|
|  |  |  | label: "消息通知", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | taskoptions: store.getters.tasktypes, | 
|---|
|  |  |  | tasktopic: 2, //新增类型 | 
|---|
|  |  |  | activname: "", | 
|---|
|  |  |  | value: [], | 
|---|
|  |  |  | list: [], | 
|---|
|  |  |  | loading: false, | 
|---|
|  |  |  | states: [ | 
|---|
|  |  |  | "Alabama", | 
|---|
|  |  |  | "Alaska", | 
|---|
|  |  |  | "Arizona", | 
|---|
|  |  |  | "Arkansas", | 
|---|
|  |  |  | "California", | 
|---|
|  |  |  | "Colorado", | 
|---|
|  |  |  | "Connecticut", | 
|---|
|  |  |  | "Delaware", | 
|---|
|  |  |  | "Florida", | 
|---|
|  |  |  | "Georgia", | 
|---|
|  |  |  | "Hawaii", | 
|---|
|  |  |  | "Idaho", | 
|---|
|  |  |  | "Illinois", | 
|---|
|  |  |  | "Indiana", | 
|---|
|  |  |  | "Iowa", | 
|---|
|  |  |  | "Kansas", | 
|---|
|  |  |  | "Kentucky", | 
|---|
|  |  |  | "Louisiana", | 
|---|
|  |  |  | "Maine", | 
|---|
|  |  |  | "Maryland", | 
|---|
|  |  |  | "Massachusetts", | 
|---|
|  |  |  | "Michigan", | 
|---|
|  |  |  | "Minnesota", | 
|---|
|  |  |  | "Mississippi", | 
|---|
|  |  |  | "Missouri", | 
|---|
|  |  |  | "Montana", | 
|---|
|  |  |  | "Nebraska", | 
|---|
|  |  |  | "Nevada", | 
|---|
|  |  |  | "New Hampshire", | 
|---|
|  |  |  | "New Jersey", | 
|---|
|  |  |  | "New Mexico", | 
|---|
|  |  |  | "New York", | 
|---|
|  |  |  | "North Carolina", | 
|---|
|  |  |  | "North Dakota", | 
|---|
|  |  |  | "Ohio", | 
|---|
|  |  |  | "Oklahoma", | 
|---|
|  |  |  | "Oregon", | 
|---|
|  |  |  | "Pennsylvania", | 
|---|
|  |  |  | "Rhode Island", | 
|---|
|  |  |  | "South Carolina", | 
|---|
|  |  |  | "South Dakota", | 
|---|
|  |  |  | "Tennessee", | 
|---|
|  |  |  | "Texas", | 
|---|
|  |  |  | "Utah", | 
|---|
|  |  |  | "Vermont", | 
|---|
|  |  |  | "Virginia", | 
|---|
|  |  |  | "Washington", | 
|---|
|  |  |  | "West Virginia", | 
|---|
|  |  |  | "Wisconsin", | 
|---|
|  |  |  | "Wyoming", | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | pickerOptions: { | 
|---|
|  |  |  | disabledDate(time) { | 
|---|
|  |  |  | return time.getTime() > Date.now(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | shortcuts: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | text: "今天", | 
|---|
|  |  |  | onClick(picker) { | 
|---|
|  |  |  | picker.$emit("pick", new Date()); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | text: "昨天", | 
|---|
|  |  |  | onClick(picker) { | 
|---|
|  |  |  | const date = new Date(); | 
|---|
|  |  |  | date.setTime(date.getTime() - 3600 * 1000 * 24); | 
|---|
|  |  |  | picker.$emit("pick", date); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | text: "一周前", | 
|---|
|  |  |  | onClick(picker) { | 
|---|
|  |  |  | const date = new Date(); | 
|---|
|  |  |  | date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); | 
|---|
|  |  |  | picker.$emit("pick", date); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 表单参数 | 
|---|
|  |  |  | form: { | 
|---|
|  |  |  | phonenumber: "", | 
|---|
|  |  |  | totagid: "", | 
|---|
|  |  |  | types: "", | 
|---|
|  |  |  | nickName: "", | 
|---|
|  |  |  | qystatus: "", | 
|---|
|  |  |  | btstatus: "", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 查询参数 | 
|---|
|  |  |  | topqueryParams: { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | type: 2, | 
|---|
|  |  |  | userName: undefined, | 
|---|
|  |  |  | tagid: undefined, | 
|---|
|  |  |  | topic: undefined, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | propss: { multiple: true }, | 
|---|
|  |  |  | options: [], | 
|---|
|  |  |  | checkboxlist: [], | 
|---|
|  |  |  | // 表单校验 | 
|---|
|  |  |  | rules: { | 
|---|
|  |  |  | userName: [ | 
|---|
|  |  |  | { required: true, message: "用户名称不能为空", trigger: "blur" }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | min: 2, | 
|---|
|  |  |  | max: 20, | 
|---|
|  |  |  | message: "用户名称长度必须介于 2 和 20 之间", | 
|---|
|  |  |  | trigger: "blur", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | nickName: [ | 
|---|
|  |  |  | { required: true, message: "用户昵称不能为空", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | password: [ | 
|---|
|  |  |  | { required: true, message: "用户密码不能为空", trigger: "blur" }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | min: 5, | 
|---|
|  |  |  | max: 20, | 
|---|
|  |  |  | message: "用户密码长度必须介于 5 和 20 之间", | 
|---|
|  |  |  | trigger: "blur", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | email: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | type: "email", | 
|---|
|  |  |  | message: "请输入正确的邮箱地址", | 
|---|
|  |  |  | trigger: ["blur", "change"], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | phonenumber: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, | 
|---|
|  |  |  | message: "请输入正确的手机号码", | 
|---|
|  |  |  | trigger: "blur", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | IDnumber: [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | pattern: | 
|---|
|  |  |  | /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, | 
|---|
|  |  |  | message: "请输入正确的身份证号码", | 
|---|
|  |  |  | trigger: "blur", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | watch: {}, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | // this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( | 
|---|
|  |  |  | //   (obj) => obj.deptCode | 
|---|
|  |  |  | // ); | 
|---|
|  |  |  | // this.topqueryParams.leavehospitaldistrictcodes = | 
|---|
|  |  |  | //   store.getters.belongWards.map((obj) => obj.districtCode); | 
|---|
|  |  |  | this.tasktopic = this.$route.query.tasktopic | 
|---|
|  |  |  | ? this.$route.query.tasktopic | 
|---|
|  |  |  | : this.tasktopic; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.getConfigKey("sys.user.initPassword").then((response) => { | 
|---|
|  |  |  | this.initPassword = response.msg; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.checkboxlist = store.getters.checkboxlist; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | activated() { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 搜索 | 
|---|
|  |  |  | mounted() { | 
|---|
|  |  |  | this.list = this.states.map((item) => { | 
|---|
|  |  |  | return { value: `value:${item}`, label: `label:${item}` }; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | /** 查询任务列表 */ | 
|---|
|  |  |  | getList() { | 
|---|
|  |  |  | this.loading = true; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | created() {}, | 
|---|
|  |  |  | this.topqueryParams.serviceType = Number(this.tasktopic); | 
|---|
|  |  |  | if ( | 
|---|
|  |  |  | this.tasktopic == 2 || | 
|---|
|  |  |  | this.tasktopic == 3 || | 
|---|
|  |  |  | this.tasktopic == 1 || | 
|---|
|  |  |  | this.tasktopic == 7 || | 
|---|
|  |  |  | this.tasktopic == 5 || | 
|---|
|  |  |  | this.tasktopic == 6 | 
|---|
|  |  |  | ) { | 
|---|
|  |  |  | if (!this.topqueryParams.type) this.topqueryParams.type = "2"; | 
|---|
|  |  |  | this.longtermlist = [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | label: "语音随访", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 2, | 
|---|
|  |  |  | label: "问卷随访", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ]; | 
|---|
|  |  |  | this.topqueryParams.type = 2; | 
|---|
|  |  |  | } else if (this.tasktopic == 4 || this.tasktopic == 8) { | 
|---|
|  |  |  | if (!this.topqueryParams.type) this.topqueryParams.type = "3"; | 
|---|
|  |  |  | this.longtermlist = [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 3, | 
|---|
|  |  |  | label: "宣教关怀", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ]; | 
|---|
|  |  |  | this.topqueryParams.type = 3; | 
|---|
|  |  |  | } else if (this.tasktopic == 16) { | 
|---|
|  |  |  | if (!this.topqueryParams.type) this.topqueryParams.type = "2"; | 
|---|
|  |  |  | this.longtermlist = [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 1, | 
|---|
|  |  |  | label: "语音随访", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 2, | 
|---|
|  |  |  | label: "问卷随访", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | value: 3, | 
|---|
|  |  |  | label: "宣教关怀", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ]; | 
|---|
|  |  |  | this.topqueryParams.type = 2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.topqueryParams.beginTime = this.dateRange[0]; | 
|---|
|  |  |  | this.topqueryParams.endTime = this.dateRange[1]; | 
|---|
|  |  |  | getTasklist(this.topqueryParams).then((response) => { | 
|---|
|  |  |  | this.userList = response.rows; | 
|---|
|  |  |  | this.total = response.total; | 
|---|
|  |  |  | this.$forceUpdate(); | 
|---|
|  |  |  | this.loading = false; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 查看影像随访详情 | 
|---|
|  |  |  | Referencequestion(row) { | 
|---|
|  |  |  | this.previewVisible = true; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 添加弹框搜索 | 
|---|
|  |  |  | remoteMethod(query) { | 
|---|
|  |  |  | if (query !== "") { | 
|---|
|  |  |  | this.loading = true; | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | this.loading = false; | 
|---|
|  |  |  | this.options = this.list.filter((item) => { | 
|---|
|  |  |  | return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, 200); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.options = []; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | methods: {}, | 
|---|
|  |  |  | // 表单重置 | 
|---|
|  |  |  | reset() { | 
|---|
|  |  |  | this.form = { | 
|---|
|  |  |  | userId: undefined, | 
|---|
|  |  |  | deptId: undefined, | 
|---|
|  |  |  | userName: undefined, | 
|---|
|  |  |  | nickName: undefined, | 
|---|
|  |  |  | password: undefined, | 
|---|
|  |  |  | phonenumber: undefined, | 
|---|
|  |  |  | email: undefined, | 
|---|
|  |  |  | sex: undefined, | 
|---|
|  |  |  | status: "0", | 
|---|
|  |  |  | remark: undefined, | 
|---|
|  |  |  | postIds: [], | 
|---|
|  |  |  | roleIds: [], | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.resetForm("form"); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** 搜索按钮操作 */ | 
|---|
|  |  |  | handleQuerytask() { | 
|---|
|  |  |  | this.topqueryParams.pageNum = 1; | 
|---|
|  |  |  | // this.topqueryParams.type = ''; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | handleQuery() { | 
|---|
|  |  |  | this.topqueryParams.pageNum = 1; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** 重置按钮操作 */ | 
|---|
|  |  |  | resetQuery() { | 
|---|
|  |  |  | this.dateRange = []; | 
|---|
|  |  |  | this.resetForm("queryForm"); | 
|---|
|  |  |  | this.topqueryParams = { | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | type: 2, | 
|---|
|  |  |  | userName: undefined, | 
|---|
|  |  |  | tagid: undefined, | 
|---|
|  |  |  | topic: undefined, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | // this.$refs.tree.setCurrentKey(null); | 
|---|
|  |  |  | this.handleQuery(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 多选框选中数据 | 
|---|
|  |  |  | handleSelectionChange(selection) { | 
|---|
|  |  |  | this.ids = selection.map((item) => item.userId); | 
|---|
|  |  |  | this.single = selection.length != 1; | 
|---|
|  |  |  | this.multiple = !selection.length; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //删除选项 | 
|---|
|  |  |  | handleClose(tag) { | 
|---|
|  |  |  | this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //触发新增输入 | 
|---|
|  |  |  | showInput() { | 
|---|
|  |  |  | this.inputVisible = true; | 
|---|
|  |  |  | this.$nextTick((_) => { | 
|---|
|  |  |  | this.$refs.saveTagInput.$refs.input.focus(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //获取失去焦点触发 | 
|---|
|  |  |  | handleInputConfirm() { | 
|---|
|  |  |  | let inputValue = this.inputValue; | 
|---|
|  |  |  | if (inputValue) { | 
|---|
|  |  |  | this.dynamicTags.push(inputValue); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.inputVisible = false; | 
|---|
|  |  |  | this.inputValue = ""; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** 新增按钮操作 */ | 
|---|
|  |  |  | handleAdd() { | 
|---|
|  |  |  | if (this.topqueryParams.type == 1) { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/followvisit/particty", | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | type: this.topqueryParams.type, | 
|---|
|  |  |  | serviceType: this.tasktopic, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else if (this.topqueryParams.type == 2) { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/followvisit/QuestionnaireTask", | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | type: this.topqueryParams.type, | 
|---|
|  |  |  | serviceType: this.tasktopic, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else if (this.topqueryParams.type == 3) { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/followvisit/Missioncreation", | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | type: this.topqueryParams.type, | 
|---|
|  |  |  | serviceType: this.tasktopic, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** 修改按钮操作 */ | 
|---|
|  |  |  | handleUpdate(row, newadd) { | 
|---|
|  |  |  | if (this.topqueryParams.type == 1) { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/followvisit/particty", | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | id: row.taskid, | 
|---|
|  |  |  | type: this.topqueryParams.type, | 
|---|
|  |  |  | serviceType: this.tasktopic, | 
|---|
|  |  |  | newadd: newadd, //是否依照新建 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else if (this.topqueryParams.type == 2) { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/followvisit/QuestionnaireTask", | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | id: row.taskid, | 
|---|
|  |  |  | type: this.topqueryParams.type, | 
|---|
|  |  |  | serviceType: this.tasktopic, | 
|---|
|  |  |  | newadd: newadd, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else if (this.topqueryParams.type == 3) { | 
|---|
|  |  |  | this.$router.push({ | 
|---|
|  |  |  | path: "/followvisit/Missioncreation", | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | id: row.taskid, | 
|---|
|  |  |  | type: this.topqueryParams.type, | 
|---|
|  |  |  | serviceType: this.tasktopic, | 
|---|
|  |  |  | newadd: newadd, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 删除任务 | 
|---|
|  |  |  | deletefn(row) { | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm( | 
|---|
|  |  |  | '是否删除任务名称为"' + | 
|---|
|  |  |  | row.taskName + | 
|---|
|  |  |  | '"的数据项,删除后不可撤回!是否继续' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | delTaskInfo(row.taskid).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.$modal.msgSuccess("删除成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 任务发起 | 
|---|
|  |  |  | sponsor(row) { | 
|---|
|  |  |  | console.log(row, "任务信息"); | 
|---|
|  |  |  | this.taskform = row; | 
|---|
|  |  |  | if (this.taskform.showDate && this.taskform.sendType != 2) { | 
|---|
|  |  |  | this.taskform.showDate = this.taskform.showDate.split(","); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.taskform.showTimeMorn && this.taskform.sendType != 2) { | 
|---|
|  |  |  | this.taskform.showTimeMorn = this.taskform.showTimeMorn.split(","); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.taskform.showTimeMorn = []; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.taskform.showTimeNight && this.taskform.sendType != 2) { | 
|---|
|  |  |  | this.taskform.showTimeNight = this.taskform.showTimeNight.split(","); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.taskform.showTimeNight = []; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.taskform.showTimeNoon && this.taskform.sendType != 2) { | 
|---|
|  |  |  | this.taskform.showTimeNoon = this.taskform.showTimeNoon.split(","); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.taskform.showTimeNoon = []; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.taskform.sendState != 2 && this.taskform.sendType != 2) { | 
|---|
|  |  |  | this.taskformVisible = true; | 
|---|
|  |  |  | } else if (this.taskform.sendState != 2 && this.taskform.sendType == 2) { | 
|---|
|  |  |  | this.TaskOperation.taskId = row.taskid; | 
|---|
|  |  |  | this.TaskOperation.taskType = this.topqueryParams.type; | 
|---|
|  |  |  | this.TaskOperation.sendState = 2; | 
|---|
|  |  |  | this.TaskOperation.sendType = 2; | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm( | 
|---|
|  |  |  | '当前选中任务名称为"' + | 
|---|
|  |  |  | row.taskName + | 
|---|
|  |  |  | '"的数据项为立即执行任务,发起执行后不可撤回!是否继续' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | TaskTemplateSendExecution(this.TaskOperation).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.$modal.msgSuccess("任务已立即执行"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.$modal.msgError("任务已发起,不可再次发起"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 确认发起 | 
|---|
|  |  |  | confirmSponsor(row) { | 
|---|
|  |  |  | if (this.activname == 0) { | 
|---|
|  |  |  | this.TaskOperation.taskId = row.taskid; | 
|---|
|  |  |  | this.TaskOperation.taskType = this.topqueryParams.type; | 
|---|
|  |  |  | this.TaskOperation.sendState = 2; | 
|---|
|  |  |  | TaskTemplateSendExecution(this.TaskOperation).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.$modal.msgSuccess("任务已成功加入执行队列"); | 
|---|
|  |  |  | this.taskformVisible = false; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else if (this.activname == 1) { | 
|---|
|  |  |  | this.immediateExecution(row); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 立即执行 | 
|---|
|  |  |  | immediateExecution(row) { | 
|---|
|  |  |  | console.log(row, "任务信息"); | 
|---|
|  |  |  | if (row.sendState != 2) { | 
|---|
|  |  |  | this.TaskOperation.taskType = this.topqueryParams.type; | 
|---|
|  |  |  | this.TaskOperation.taskId = row.taskid; | 
|---|
|  |  |  | this.TaskOperation.sendState = 2; | 
|---|
|  |  |  | this.TaskOperation.sendType = 2; | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm( | 
|---|
|  |  |  | '是否立即执行任务名称为为"' + | 
|---|
|  |  |  | row.taskName + | 
|---|
|  |  |  | '"的数据项?发起执行后不可撤回!' | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | TaskTemplateSendExecution(this.TaskOperation).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.$modal.msgSuccess("任务已立即执行"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(() => {}) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 暂停 | 
|---|
|  |  |  | stop(row) { | 
|---|
|  |  |  | console.log(row); | 
|---|
|  |  |  | if (row.sendState == 2) { | 
|---|
|  |  |  | this.TaskOperation.taskId = row.taskid; | 
|---|
|  |  |  | this.TaskOperation.sendState = 3; | 
|---|
|  |  |  | this.TaskOperation.sendType = ""; | 
|---|
|  |  |  | this.TaskOperation.taskType = row.type; | 
|---|
|  |  |  | TaskTemplateSendExecution(this.TaskOperation).then((res) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("任务已暂停"); | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** 提交按钮 */ | 
|---|
|  |  |  | submitForm: function () { | 
|---|
|  |  |  | this.$refs["form"].validate((valid) => { | 
|---|
|  |  |  | if (valid) { | 
|---|
|  |  |  | if (this.form.userId != undefined) { | 
|---|
|  |  |  | updateUser(this.form).then((response) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("修改成功"); | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | addUser(this.form).then((response) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("新增成功"); | 
|---|
|  |  |  | this.open = false; | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** 删除按钮操作 */ | 
|---|
|  |  |  | handleDelete(row) { | 
|---|
|  |  |  | const userIds = row.userId || this.ids; | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm('是否确认删除用户编号为"' + userIds + '"的数据项?') | 
|---|
|  |  |  | .then(function () { | 
|---|
|  |  |  | return delUser(userIds); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | this.getList(); | 
|---|
|  |  |  | this.$modal.msgSuccess("删除成功"); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => {}); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | /** 导出按钮操作 */ | 
|---|
|  |  |  | handleExport() { | 
|---|
|  |  |  | this.download( | 
|---|
|  |  |  | "system/user/export", | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ...this.topqueryParams, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | `user_${new Date().getTime()}.xlsx` | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | findLabelByValue(data, value) { | 
|---|
|  |  |  | const item = data.find((item) => item.value === value); | 
|---|
|  |  |  | return item ? item.label : null; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss" scoped></style> | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | .el-button--primary.is-plain { | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | background: #409eff; | 
|---|
|  |  |  | border-color: #4fabe9; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .document { | 
|---|
|  |  |  | width: 100px; | 
|---|
|  |  |  | height: 50px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .documentf { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | justify-content: flex-end; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .download { | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .el-upload__tip { | 
|---|
|  |  |  | font-size: 23px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .el-upload__text { | 
|---|
|  |  |  | font-size: 23px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .uploading { | 
|---|
|  |  |  | margin-top: 20px; | 
|---|
|  |  |  | margin: 20px; | 
|---|
|  |  |  | padding: 30px; | 
|---|
|  |  |  | background: #ffffff; | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .el-tag + .el-tag { | 
|---|
|  |  |  | margin-left: 10px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .button-new-tag { | 
|---|
|  |  |  | margin-left: 10px; | 
|---|
|  |  |  | height: 32px; | 
|---|
|  |  |  | line-height: 30px; | 
|---|
|  |  |  | padding-top: 0; | 
|---|
|  |  |  | padding-bottom: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .input-new-tag { | 
|---|
|  |  |  | width: 90px; | 
|---|
|  |  |  | margin-left: 10px; | 
|---|
|  |  |  | vertical-align: bottom; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .drexamine { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | padding: 30px; | 
|---|
|  |  |  | background: #daeaf5; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | img { | 
|---|
|  |  |  | width: 100px; | 
|---|
|  |  |  | height: 100px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .qrcode-dialo { | 
|---|
|  |  |  | // text-align: center; | 
|---|
|  |  |  | //   display: flex; | 
|---|
|  |  |  | margin: 20px; | 
|---|
|  |  |  | padding: 30px; | 
|---|
|  |  |  | background: #edf1f7; | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .topic-dev { | 
|---|
|  |  |  | margin-bottom: 25px; | 
|---|
|  |  |  | font-size: 20px !important; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .dev-text { | 
|---|
|  |  |  | margin-bottom: 10px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-bb { | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #2ba05c; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-xq { | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #409eff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-sc { | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #dd302a; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-zx { | 
|---|
|  |  |  | background: #4fabe9; | 
|---|
|  |  |  | padding: 5px; | 
|---|
|  |  |  | border-radius: 1px; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-lj { | 
|---|
|  |  |  | background: #e9614f; | 
|---|
|  |  |  | padding: 5px; | 
|---|
|  |  |  | border-radius: 1px; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-xj { | 
|---|
|  |  |  | background: #815c94; | 
|---|
|  |  |  | padding: 5px; | 
|---|
|  |  |  | border-radius: 1px; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .button-zt { | 
|---|
|  |  |  | background: #f9c116; | 
|---|
|  |  |  | padding: 5px; | 
|---|
|  |  |  | border-radius: 1px; | 
|---|
|  |  |  | color: #ffffff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ::v-deep.el-radio-group { | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ::v-deep.el-button + .el-button { | 
|---|
|  |  |  | margin-left: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ::v-deep.el-checkbox-group { | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|