| | |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | <el-col :span="2.5"> |
| | | <div class="ysfleftvlue"> |
| | | <el-card shadow="hover"> |
| | | <div style="padding: 8px"> |
| | | <span>已发送未领取</span> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | font-size: 18px; |
| | | margin-top: 10px; |
| | | font-weight: 600; |
| | | " |
| | | > |
| | | {{ yfsvalue }} |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="2.5"> |
| | | <div class="errleftvlue"> |
| | | <el-card shadow="hover"> |
| | | <div style="padding: 8px"> |
| | | <span>异常</span> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | font-size: 18px; |
| | | margin-top: 10px; |
| | | font-weight: 600; |
| | | " |
| | | > |
| | | {{ ycvalue }} |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <el-row :gutter="20"> |
| | |
| | | placeholder="请输入患者姓名" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="患者范围" prop="status"> |
| | | <el-select |
| | | v-model="topqueryParams.searchscope" |
| | | placeholder="请选择患者范围" |
| | | > |
| | | <el-option |
| | | v-for="item in source" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-cascader |
| | | v-model="topqueryParams.scopetype" |
| | | placeholder="默认全部" |
| | | :options="sourcetype" |
| | | :props="{ expandTrigger: 'hover' }" |
| | | @change="handleChange" |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="任务状态" prop="status"> |
| | |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="handleQuery" |
| | | @click="handleQuery(1)" |
| | | >搜索</el-button |
| | | > |
| | | <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" |
| | |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.sendstate == 1"> |
| | | <el-tooltip class="item" effect="dark" :content="scope.row.remark" placement="top-start"> |
| | | <div v-if="scope.row.sendstate == 1"> |
| | | <el-tag type="primary" :disable-transitions="false" |
| | | >被领取</el-tag |
| | | > |
| | |
| | | <div v-if="scope.row.sendstate == 6"> |
| | | <el-tag type="danger" :disable-transitions="false">已完成</el-tag> |
| | | </div> |
| | | </el-tooltip> |
| | | |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column |
| | |
| | | prop="endDay" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ |
| | | scope.row.endDay ? scope.row.endDay + "天" : "日期缺失" |
| | | }}</span> |
| | | <span>{{ scope.row.endDay ? scope.row.endDay + "天" : "" }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | <span v-for="item in scope.row.preachform">{{ item }}、 </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | label="任务发送流程" |
| | | align="center" |
| | | key="serviceSubtaskRecordList" |
| | |
| | | >{{ item.remark }}、 |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | <el-table-column |
| | | label="任务结果说明" |
| | | width="120" |
| | | width="200" |
| | | align="center" |
| | | key="remark" |
| | | prop="remark" |
| | | > |
| | | <template slot-scope="scope" v-if="scope.row.remark"> |
| | | <el-tag |
| | | type="success" |
| | | type="warning" |
| | | v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4" |
| | | >{{ scope.row.remark }}</el-tag |
| | | > |
| | |
| | | }, |
| | | dynamicTags: ["选项一", "选项二", "选项三"], //选项 |
| | | inputVisible: false, |
| | | ycvalue: "", |
| | | yfsvalue: "", |
| | | inputValue: "", |
| | | preachform: "", |
| | | previewVisible: false, //门诊随访预览弹框 |
| | | radio: "", |
| | | radios: [], |
| | |
| | | }, |
| | | value: [], |
| | | list: [], |
| | | source: [ |
| | | { |
| | | value: 0, |
| | | label: "所属患者", |
| | | }, |
| | | |
| | | sourcetype: [ |
| | | { |
| | | value: 1, |
| | | label: "科室患者", |
| | | label: "科室", |
| | | children: [], |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "病区患者", |
| | | label: "病区", |
| | | children: [], |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "全部", |
| | | }, |
| | | ], |
| | | loading: false, |
| | | cardlist: [ |
| | | { |
| | | name: "全部服务", |
| | | name: "出院服务总量", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "患者过滤", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "应随访", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "不执行", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "异常", |
| | | value: 0, |
| | | }, |
| | | |
| | | // { |
| | | // name: "异常", |
| | | // value: 0, |
| | | // }, |
| | | { |
| | | name: "发送失败", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "被领取", |
| | | name: "待发送", |
| | | value: 0, |
| | | }, |
| | | { |
| | | name: "已发送未领取", |
| | | name: "已发送", |
| | | value: 0, |
| | | }, |
| | | |
| | | // { |
| | | // name: "已发送未领取", |
| | | // value: 0, |
| | | // }, |
| | | ], |
| | | 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: "", |
| | |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | serviceType: 2, |
| | | searchscope: 2, |
| | | searchscope: 3, |
| | | scopetype: [], |
| | | leaveldeptcodes: [], |
| | | leavehospitaldistrictcodes: [], |
| | | }, |
| | | propss: { multiple: true }, |
| | | options: [], |
| | |
| | | label: "正常", |
| | | }, |
| | | ], |
| | | errtype: "", |
| | | leavehospitaldistrictcode: "", |
| | | serviceState: [], |
| | | checkboxlist: [], |
| | | // 表单校验 |
| | |
| | | created() { |
| | | this.serviceState = store.getters.serviceState; |
| | | this.checkboxlist = store.getters.checkboxlist; |
| | | |
| | | this.getList(); |
| | | this.errtype = this.$route.query.errtype; |
| | | this.leavehospitaldistrictcode = |
| | | this.$route.query.leavehospitaldistrictcode; |
| | | this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { |
| | | return { |
| | | label: dept.deptName, |
| | | value: dept.deptCode, |
| | | }; |
| | | }); |
| | | this.sourcetype[1].children = store.getters.belongWards.map((dept) => { |
| | | return { |
| | | label: dept.districtName, |
| | | value: dept.districtCode, |
| | | }; |
| | | }); |
| | | if (this.errtype) { |
| | | this.toleadExport(2); |
| | | } else { |
| | | this.getList(1); |
| | | } |
| | | this.getConfigKey("sys.user.initPassword").then((response) => { |
| | | this.initPassword = response.msg; |
| | | }); |
| | | }, |
| | | activated() { |
| | | this.getList(); |
| | | this.getList(1); |
| | | }, |
| | | methods: { |
| | | /** 查询门诊随访服务列表 */ |
| | | getList() { |
| | | if (this.topqueryParams.searchscope == 1) { |
| | | this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.topqueryParams.leavehospitaldistrictcodes = null; |
| | | } else if (this.topqueryParams.searchscope == 2) { |
| | | this.topqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | this.topqueryParams.leaveldeptcodes = null; |
| | | } else { |
| | | getList(refresh) { |
| | | // 默认全部 |
| | | if (this.topqueryParams.searchscope == 3) { |
| | | this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.topqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | } |
| | | // 接受异常跳转 |
| | | if (this.errtype) { |
| | | this.topqueryParams.leavehospitaldistrictcodes.push( |
| | | this.leavehospitaldistrictcode |
| | | ); |
| | | console.log(this.topqueryParams.leavehospitaldistrictcodes, "11"); |
| | | } |
| | | this.loading = true; |
| | | getTaskservelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows[0].serviceSubtaskList; |
| | | this.total = response.total; |
| | | this.cardlist[0].value = |
| | | Number(response.rows[0].wzx) + Number(response.rows[0].ysf); |
| | | this.cardlist[1].value = response.rows[0].ysf; |
| | | this.cardlist[2].value = response.rows[0].wzx; |
| | | this.cardlist[3].value = response.rows[0].yc; |
| | | this.cardlist[4].value = response.rows[0].fssb; |
| | | this.cardlist[5].value = response.rows[0].blq; |
| | | this.cardlist[6].value = response.rows[0].yfs; |
| | | if (refresh) { |
| | | this.cardlist[0].value = |
| | | Number(response.rows[0].wzx) + Number(response.rows[0].ysf); |
| | | this.cardlist[1].value = response.rows[0].wzx; |
| | | this.cardlist[2].value = response.rows[0].ysf; |
| | | this.ycvalue = response.rows[0].yc; |
| | | this.cardlist[3].value = response.rows[0].fssb; |
| | | this.cardlist[4].value = response.rows[0].dfs; |
| | | this.cardlist[5].value = response.rows[0].yfs2; |
| | | this.yfsvalue = response.rows[0].yfs; |
| | | } |
| | | this.loading = false; |
| | | this.userList.forEach((item) => { |
| | | const idArray = null; |
| | | let idArray = null; |
| | | if (item.endtime) { |
| | | item.endDay = this.daysBetween(item.endtime); |
| | | } |
| | | if (item.endtime) { |
| | | idArray = item.preachform.split(","); |
| | | } |
| | | |
| | | item.preachform = idArray.map((value) => { |
| | | // 查找id对应的对象 |
| | | const item = this.checkboxlist.find((item) => item.value == value); |
| | | // 如果找到对应的id,返回label值,否则返回null |
| | | return item ? item.label : null; |
| | | }); |
| | | if (item.preachform) { |
| | | if (item.endtime) { |
| | | item.preachformson = item.preachform; |
| | | idArray = item.preachform.split(","); |
| | | } |
| | | |
| | | item.preachform = idArray.map((value) => { |
| | | // 查找id对应的对象 |
| | | const item = this.checkboxlist.find( |
| | | (item) => item.value == value |
| | | ); |
| | | // 如果找到对应的id,返回label值,否则返回null |
| | | return item ? item.label : null; |
| | | }); |
| | | } |
| | | }); |
| | | this.total = response.total; |
| | | }); |
| | |
| | | this.resetForm("form"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | if (this.topqueryParams.searchscope == 1) { |
| | | this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.topqueryParams.leavehospitaldistrictcodes = null; |
| | | } else if (this.topqueryParams.searchscope == 2) { |
| | | this.topqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | this.topqueryParams.leaveldeptcodes = null; |
| | | } else { |
| | | handleQuery(refresh) { |
| | | if (this.topqueryParams.searchscope == 3) { |
| | | this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | |
| | | this.topqueryParams.startOutHospTime = this.dateRange[0]; |
| | | this.topqueryParams.endOutHospTime = this.dateRange[1]; |
| | | |
| | | this.getList(); |
| | | this.getList(refresh); |
| | | }, |
| | | // 患者范围处理 |
| | | handleChange(value) { |
| | | let type = value[0]; |
| | | let code = value.slice(-1)[0]; |
| | | this.topqueryParams.leavehospitaldistrictcodes = []; |
| | | this.topqueryParams.leaveldeptcodes = []; |
| | | |
| | | if (type == 1) { |
| | | this.topqueryParams.leaveldeptcodes.push(code); |
| | | this.topqueryParams.leavehospitaldistrictcodes = []; |
| | | this.topqueryParams.searchscope = 1; |
| | | } else if (type == 2) { |
| | | this.topqueryParams.leavehospitaldistrictcodes.push(code); |
| | | this.topqueryParams.leaveldeptcodes = []; |
| | | this.topqueryParams.searchscope = 2; |
| | | } else { |
| | | this.topqueryParams.searchscope = 3; |
| | | } |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | |
| | | serviceType: 2, |
| | | searchscope: 2, |
| | | }; |
| | | this.handleQuery(); |
| | | this.handleQuery(1); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | |
| | | updateUser(this.form).then((response) => { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | this.getList(1); |
| | | }); |
| | | } else { |
| | | addUser(this.form).then((response) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList(); |
| | | this.getList(1); |
| | | }); |
| | | } |
| | | } |
| | |
| | | return delUser(userIds); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.getList(1); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => {}); |
| | |
| | | return console.log("停止成功"); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.getList(1); |
| | | this.$modal.msgWarning("停止成功"); |
| | | }) |
| | | .catch(() => {}); |
| | |
| | | return console.log("开启成功"); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.getList(1); |
| | | this.$modal.msgSuccess("开启成功"); |
| | | }) |
| | | .catch(() => {}); |
| | |
| | | return console.log("选中成功"); |
| | | }) |
| | | .then(() => { |
| | | this.getList(); |
| | | this.getList(1); |
| | | this.$modal.msgSuccess("重置成功"); |
| | | }) |
| | | .catch(() => {}); |
| | |
| | | // 跳转详情页 |
| | | Seedetails(row) { |
| | | let type = ""; |
| | | if (row.preachform == 3) { |
| | | type = 1; |
| | | console.log(row, "rwo"); |
| | | if (row.preachformson) { |
| | | if (row.preachformson.includes("3")) { |
| | | type = 1; |
| | | console.log(type, "rwo"); |
| | | } |
| | | } |
| | | this.$router.push({ |
| | | path: "/followvisit/record/detailpage/", |
| | |
| | | taskid: row.taskid, |
| | | patid: row.patid, |
| | | id: row.id, |
| | | Voicetype: 1, |
| | | Voicetype: type, |
| | | }, |
| | | }); |
| | | }, |
| | |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | this.topqueryParams.pageNum = null; |
| | | this.topqueryParams.pageSize = null; |
| | | this.download( |
| | | "system/user/export", |
| | | "smartor/serviceSubtask/export", |
| | | { |
| | | ...this.topqueryParams, |
| | | }, |
| | |
| | | background: #8dc8f8; |
| | | cursor: pointer; /* 鼠标悬浮时变为手形 */ |
| | | } |
| | | ::v-deep.errleftvlue .el-card__body { |
| | | background: #fdd0d7; |
| | | } |
| | | ::v-deep.errleftvlue .el-card__body:hover { |
| | | background: #f88d96; |
| | | cursor: pointer; /* 鼠标悬浮时变为手形 */ |
| | | } |
| | | |
| | | ::v-deep.ysfleftvlue .el-card__body { |
| | | background: #d0fdd8; |
| | | } |
| | | ::v-deep.ysfleftvlue .el-card__body:hover { |
| | | background: #8df8a4; |
| | | cursor: pointer; /* 鼠标悬浮时变为手形 */ |
| | | } |
| | | .button-bb { |
| | | font-weight: 500; |
| | | background-color: #2ba05c; |