11
WXL
2023-08-24 f76f42312cbcbc6d63b2f25c1896a9e72b81eb88
11
已修改5个文件
361 ■■■■■ 文件已修改
src/api/smartorpor/svr_prjtask.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartorpor/svr_prjtaskline.js 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/tasklist/FollowupDetails/index.vue 313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/tasklist/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartorpor/svr_prjtask.js
@@ -68,7 +68,17 @@
        params: query
      })
    }
    /*
        功能: 在子任务中加入患者
        参数:query 指定查询参数
    */
    export function Addpatienttask(query) {
      return request({
        url: 'proc/smartor/data//data/taskline/patient',
        method: 'post',
        data: query
      })
    }
    /*
        功能: 读取列表信息
        参数:query 指定查询参数 
src/api/smartorpor/svr_prjtaskline.js
@@ -1,24 +1,6 @@
    /*患者服务任务表API接口
          id// 自增ID     schemeid// 方案ID     schemeplanid// 计划ID     patientid// 患者    state// 状态    plantime// 计划执行时间     actualtime// 实际完成时间     overtime// 逾期时间
   tasktype// 任务类型
   isartificial// 是否人工处理
   overduetipstime// 将逾期时间
   isabnormal// 是否异常跟进任务
   sendname //姓名
   phone  //电话
   sex   //性别
   sge   //年龄
   empident   //省份证号
   addr  //地址
   lastplantime// 最后一次计划执行时间
   istest// 是否为测试任务
   firstplantime// 第一次计划执行时间
   repeatsecond// 重发次数
   baselinetime// 基线时间
   patientsource// 患者来源    taskconfigid// 配置ID     relationid// 关联编号 科室项目问卷宣教     relationname// 关联名称     content// 介绍提醒内容     tipscontent// 提示内容     finshtime// 关闭时间     finshtype// 关闭类型    finshdesc// 关闭说明     termvaliditytime// 有效期     schemestatus// 是否生成方案    visitid// 就诊ID     visittype// 就诊类型     tasksource// 任务来源    relationtype// 关联项目类型    isartificial// 是否人工处理    overduetipstime// 将逾期时间     isabnormal// 是否异常跟进任务    artificialtag// 已经人工处理标志    relationcode// 关联代码 问卷、宣教、回访、复诊提醒、体检提醒     schemecode// 方案代码     lastplantime// 最后一次计划执行时间     istest// 是否为测试任务    firstplantime// 第一次计划执行时间     repeatsecond// 重发次数    isrepeat// 是否存在重发标记     ismanual// 手动执行标记     losstime// 失访时间     relationlistid//     orgid// 机构ID     del_flag// 删除标记     create_by// 创建人     create_time// 创建时间     update_by// 更新人     update_time// 更新时间     isupload// 上传标记     upload_time// 上传时间     pid//父ID    guid//GUID
    /*患者服务子任务明细表API接口
          id// 自增ID     schemeid// 方案ID     schemeplanid// 计划ID     patientid// 患者ID     state// 状态    baselinetime// 基线时间     plantime// 计划执行时间     actualtime// 实际完成时间     overtime// 逾期时间     patientsource// 患者来源    taskconfigid// 配置ID     relationid// 关联编号 科室项目问卷宣教     relationname// 关联名称     content// 介绍提醒内容     tipscontent// 提示内容     tasktype// 任务类型     finshtime// 关闭时间     finshtype// 关闭类型    finshdesc// 关闭说明     termvaliditytime// 有效期     schemestatus// 是否生成方案    visitid// 就诊ID     visittype// 就诊类型     tasksource// 任务来源    relationtype// 关联项目类型    isartificial// 是否人工处理    overduetipstime// 将逾期时间     isabnormal// 是否异常跟进任务    artificialtag// 已经人工处理标志    relationcode// 关联代码 问卷、宣教、回访、复诊提醒、体检提醒     schemecode// 方案代码     lastplantime// 最后一次计划执行时间     istest// 是否为测试任务    firstplantime// 第一次计划执行时间     repeatsecond// 重发次数    isrepeat// 是否存在重发标记     ismanual// 手动执行标记     losstime// 失访时间     relationlistid//     orgid// 机构ID     del_flag// 删除标记     create_by// 创建人     create_time// 创建时间     update_by// 更新人     update_time// 更新时间     isupload// 上传标记     upload_time// 上传时间     pid//子任务ID    guid//GUID    pguid//子任务guid    patname// 姓名     patsex// 性别   1:男  2:女    paticcardno// 证件号码     patbirthdate// 生日     patage// 年龄     pattelcode// 手机号码
    */
    import request from '@/utils/request'
@@ -37,8 +19,8 @@
    export function listsvr_prjtaskline(query) {
      return request({
        url: 'proc/smartor/entity/svr/svr_prjtaskline/list',
        method: 'get',
        params: query
        method: 'post',
        data: query
      })
    }
src/views/followvisit/tasklist/FollowupDetails/index.vue
@@ -88,179 +88,7 @@
        }}</el-button>
        <el-button @click="resetForm('ruleForm')">重置</el-button>
      </div>
      <!-- 问卷设置 -->
      <!-- <div v-if="Editprogress == 2">
        <div class="leftvlue-jbxx">
          <div class="examine-jic">
            <div class="headline">方案设置</div>
            <div class="jic-value">
              <el-form ref="form" :model="form" label-width="105px">
                <el-form-item label="患者来源">
                  <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-item label="出院科室" prop="desc">
                  <el-cascader
                    class="demo-cascader"
                    placeholder="包含"
                    v-model="form.templatevalue"
                    :options="options"
                    :props="{ expandTrigger: 'hover' }"
                  ></el-cascader>
                  <el-select v-model="form.data2" placeholder="请选择适用科室">
                    <el-option
                      v-for="item in options"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
                <el-form-item label="出院病区" prop="desc">
                  <el-cascader
                    class="demo-cascader"
                    placeholder="不包含"
                    v-model="form.templatevalue"
                    :options="options"
                    :props="{ expandTrigger: 'hover' }"
                  ></el-cascader>
                  <el-select v-model="form.data2" placeholder="请选择适用科室">
                    <el-option
                      v-for="item in options"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
                <el-form-item label="患者来源" prop="desc">
                  <el-cascader
                    class="demo-cascader"
                    placeholder="包含"
                    v-model="form.templatevalue"
                    :options="options"
                    :props="{ expandTrigger: 'hover' }"
                  ></el-cascader>
                  <el-select v-model="form.data2" placeholder="请选择适用科室">
                    <el-option
                      v-for="item in options"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
                <el-form-item label="就诊科室" prop="desc">
                  <el-cascader
                    class="demo-cascader"
                    placeholder="包含"
                    v-model="form.templatevalue"
                    :options="options"
                    :props="{ expandTrigger: 'hover' }"
                  ></el-cascader>
                  <el-select v-model="form.data2" placeholder="请选择适用科室">
                    <el-option
                      v-for="item in options"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
                <el-form-item label="重复计划处理:">
                  <el-radio-group v-model="form.resource">
                    <el-radio label="新计划自动结案"></el-radio>
                    <el-radio label="原计划自动结案"></el-radio>
                  </el-radio-group>
                </el-form-item>
                <el-form-item label="过期任务处理:">
                  <el-radio-group v-model="form.resource">
                    <el-radio label="自动关闭"></el-radio>
                    <el-radio label="自动执行"></el-radio>
                    <el-radio label="人工处理"></el-radio>
                  </el-radio-group>
                </el-form-item>
                <el-form-item  label="所有任务完成自动结案:" label-width="158px">
                  <el-radio-group v-model="form.resource">
                    <el-radio label="是"></el-radio>
                    <el-radio label="否"></el-radio>
                  </el-radio-group>
                </el-form-item>
                <el-form-item label="">
                  <el-row gutter="5">
                    <el-col :span="8"
                      ><el-select v-model="form.value" placeholder="请选择自动结案方式">
                        <el-option
                          v-for="item in options"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                        >
                        </el-option> </el-select
                    ></el-col>
                  </el-row>
                  <el-row gutter="5">
                    <el-col :span="6"
                      ><el-select v-model="form.value" placeholder="请选择患者状态">
                        <el-option
                          v-for="item in options"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                        >
                        </el-option> </el-select
                    ></el-col>
                    <el-col :span="6"
                      ><el-select v-model="form.value" placeholder="请选择">
                        <el-option
                          v-for="item in options"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                        >
                        </el-option> </el-select
                    ></el-col>
                  </el-row>
                  <el-row type="flex" gutter="5">
                    <el-col :span="6"
                      ><el-select v-model="form.value" placeholder="请选择">
                        <el-option
                          v-for="item in options"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                        >
                        </el-option> </el-select
                    ></el-col>
                    <el-col :span="6"
                      ><el-select v-model="form.value" placeholder="请选择">
                        <el-option
                          v-for="item in options"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                        >
                        </el-option> </el-select
                    ></el-col>
                  </el-row>
                </el-form-item>
              </el-form>
            </div>
          </div>
        </div>
        <el-button type="primary" @click="laststep()">上一步</el-button>
        <el-button type="success" @click="submitForm('ruleForm')"
          >下一步</el-button
        >
        <el-button @click="resetForm('ruleForm')">重置</el-button>
      </div> -->
      <!-- 任务详情 -->
      <div v-if="Editprogress == 2">
        <div class="leftvlue-jbxx">
@@ -410,7 +238,7 @@
            ></right-toolbar> -->
                  <el-table
                    v-loading="loading"
                    :data="sonuserList"
                    :data="userList"
                    @selection-change="handleSelectionChange"
                  >
                    <el-table-column
@@ -815,7 +643,7 @@
                <!--用户数据-->
                <el-form
                  :model="topqueryParams"
                  :model="deliverytopqueryParams"
                  ref="queryForm"
                  size="small"
                  :inline="true"
@@ -823,12 +651,12 @@
                  label-width="98px"
                >
                  <el-form-item label="任务名称">
                    <el-input v-model="topqueryParams.name"></el-input>
                    <el-input v-model="deliverytopqueryParams.name"></el-input>
                  </el-form-item>
                  <el-form-item label="任务类型" prop="status">
                    <el-select
                      v-model="topqueryParams.topic"
                      v-model="deliverytopqueryParams.topic"
                      placeholder="请选择"
                    >
                      <el-option
@@ -843,7 +671,7 @@
                  <el-form-item label="任务状态" prop="status">
                    <el-select
                      v-model="topqueryParams.topic"
                      v-model="deliverytopqueryParams.topic"
                      placeholder="请选择"
                    >
                      <el-option
@@ -934,11 +762,11 @@
                    prop="topicnumber"
                    width="120"
                    :show-overflow-tooltip="true"
                  >
                    <template slot-scope="scope">
                  />
                  <!-- <template slot-scope="scope">
                      <div>执行完成/执行失败</div>
                    </template>
                  </el-table-column>
                  </el-table-column> -->
                  <el-table-column
                    label="操作"
                    align="center"
@@ -987,6 +815,13 @@
                  </el-table-column>
                </el-table>
              </el-row>
              <pagination
                v-show="sontotal > 0"
                :total="sontotal"
                :page.sync="deliverytopqueryParams.pageNum"
                :limit.sync="deliverytopqueryParams.pageSize"
                @pagination="handleAdd"
              />
            </div>
          </div>
        </div>
@@ -1010,7 +845,7 @@
          <el-row :gutter="20">
            <!--用户数据-->
            <el-form
              :model="topqueryParams"
              :model="patientqueryParams"
              ref="queryForm"
              size="small"
              :inline="true"
@@ -1018,10 +853,13 @@
              label-width="98px"
            >
              <el-form-item label="患者名称:">
                <el-input v-model="topqueryParams.name"></el-input>
                <el-input v-model="patientqueryParams.name"></el-input>
              </el-form-item>
              <el-form-item label="患者来源" prop="status">
                <el-select v-model="topqueryParams.topic" placeholder="请选择">
                <el-select
                  v-model="patientqueryParams.topic"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in topicoptions"
                    :key="item.value"
@@ -1032,7 +870,10 @@
                </el-select>
              </el-form-item>
              <el-form-item label="出院科室" prop="status">
                <el-select v-model="topqueryParams.topic" placeholder="请选择">
                <el-select
                  v-model="patientqueryParams.topic"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in topicoptions"
                    :key="item.value"
@@ -1044,7 +885,10 @@
              </el-form-item>
              <el-form-item label="出院病区" prop="status">
                <el-select v-model="topqueryParams.topic" placeholder="请选择">
                <el-select
                  v-model="patientqueryParams.topic"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in topicoptions"
                    :key="item.value"
@@ -1072,45 +916,41 @@
            </el-form>
            <el-table
              v-loading="loading"
              :data="userList"
              v-loading="patientloading"
              :data="patientuserList"
              @selection-change="handleSelectionChange"
            >
              <el-table-column type="selection" width="50" align="center" />
              <el-table-column
                label="序号"
                align="center"
                key="userId"
                prop="userId"
                key="patid"
                prop="patid"
              />
              <el-table-column
                label="患者名称"
                align="center"
                sortable
                key="userName"
                prop="userName"
                key="name"
                prop="name"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="入院日期"
                label="患者来源"
                align="center"
                key="nickName"
                prop="nickName"
                key="source"
                prop="source"
              />
              <el-table-column
                label="执行状态"
                label="手机号码"
                align="center"
                key="topicnumber"
                prop="topicnumber"
                key="telcode"
                prop="telcode"
                width="120"
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <div>执行完成/执行失败</div>
                </template>
              </el-table-column>
              />
              <el-table-column
                label="任务详情"
@@ -1142,11 +982,18 @@
              </el-table-column>
            </el-table>
          </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="dialogVisiblepatient = false"
        <el-button type="primary" @click="AddDispatchpatients"
          >确定添加</el-button
        >
      </span>
@@ -1161,19 +1008,36 @@
  addsvr_prjtask,
  updatesvr_prjtask,
  delsvr_prjtask,
  Addpatienttask,
} from "@/api/smartorpor/svr_prjtask";
import { listpat_archive } from "@/api/smartorpor/pat_archive";
import { listsvr_prjtaskline } from "@/api/smartorpor/svr_prjtaskline";
export default {
  data() {
    return {
      Editprogress: 2, //编辑进度
      loading: false, // 遮罩层
      patientloading: false, // 遮罩层
      dialogVisible: false, //任务详情弹框
      dialogVisiblepatient: false, //添加患者弹框
      topqueryParams: {},
      topqueryParams: {
        pageNum: 1, //
        pageSize: 10,
      },
      deliverytopqueryParams: {
        pageNum: 1, //
        pageSize: 10,
      },
      patientqueryParams: {
        pageNum: 1, //
        pageSize: 10,
      },
      topicoptions: [],
      showSearch: true, //
      total: 0, //
      sontotal: 0, //
      patienttotal: 0, //
      // 选中数组
      ids: [],
      // 非单个禁用
@@ -1182,6 +1046,7 @@
      multiple: true,
      // 用户表格数据
      userList: null,
      patientuserList: null,
      sonuserList: null,
      form: {
        name: "",
@@ -1240,16 +1105,35 @@
      //   }
      // });
    },
    // 子任务一级弹框
    handleAdd() {
      listsvr_prjtaskline(this.deliverytopqueryParams).then((response) => {
        console.log(response);
        this.sonuserList = response.rows;
        this.sontotal = response.total;
        this.loading = false;
      });
      this.dialogVisible = true;
    },
    // 子任务二级弹框
    handleAddpatient() {
      listpat_archive(this.patientqueryParams).then((response) => {
        console.log(response);
        this.patientuserList = response.rows;
        this.patienttotal = response.total;
        this.loading = false;
      });
      this.dialogVisiblepatient = true;
    },
    handleUpdate() {},
    handleDelete() {},
    handleExport() {},
    handleSelectionChange() {},
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map((item) => item.patid).join(",");
      // let result = this.ids.join(",");
      console.log(this.ids);
    },
    getList() {},
    handleQuery() {},
    resetQuery() {},
@@ -1275,10 +1159,21 @@
    // 新增子任务
    Addsubtask() {
      this.topqueryParams.pguid = 2;
      addsvr_prjtask(this.topqueryParams).then((res) => {
      // addsvr_prjtask(this.topqueryParams).then((res) => {
      //   console.log(res);
      // });
    },
    // 新增派送患者
    AddDispatchpatients() {
      let objictpint = {};
      objictpint.patientes = this.ids;
      objictpint.pguid = 2;
      Addpatienttask(objictpint).then((res) => {
        console.log(res);
      });
      this.dialogVisiblepatient = false;
    },
    // 查询子任务列表
    Getsubtask() {
      this.topqueryParams.pguid = 2;
@@ -1286,10 +1181,12 @@
      // this.topqueryParams.pid = this.$route.query.id;
      // console.log(this.topqueryParams.pid);
      listsvr_prjtask(this.topqueryParams).then((res) => {
        this.sonuserList = res.rows;
        console.log(this.sonuserList);
        this.userList = res.rows;
        this.total = res.total;
        console.log(this.userList);
      });
    },
    /** 查询患者列表 */
  },
};
</script>
src/views/followvisit/tasklist/index.vue
@@ -161,13 +161,13 @@
          key="nickName"
          prop="nickName"
        />
        <el-table-column
        <!-- <el-table-column
          label="患者总数"
          align="center"
          key="phonenumber"
          prop="phonenumber"
          width="120"
        />
        /> -->
        <el-table-column
          label="创建人"
@@ -237,7 +237,7 @@
                ><i class="el-icon-s-data"></i>详情</span
              ></el-button
            >
            <el-button
            <!-- <el-button
              size="medium"
              type="text"
              @click="handleUpdate(scope.row)"
@@ -245,7 +245,7 @@
              ><span class="button-bb"
                ><i class="el-icon-s-order"></i>报表</span
              ></el-button
            >
            > -->
            <el-button
              size="medium"
              type="text"
src/views/patient/patient/index.vue
@@ -479,7 +479,7 @@
  delpat_archive,
} from "@/api/smartorpor/pat_archive";
import { listbase_tag } from "@/api/smartorpor/base_tag";
import { listtag } from "@/api/system/label";
import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";