WXL
2024-09-04 7eaee92ee52e1501480adbbe8a1af9ddecc04275
测试完成
已修改44个文件
1109 ■■■■■ 文件已修改
dist.zip 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/Followup.js 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/Qtemplate.js 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/SingleTask.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/external.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/general.js 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/publicity.js 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/OptionalForm/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/SFtable/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Intelligentcenter/centercontrol/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/discharge/index.vue 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/outpatient/index.vue 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/record/detailpage/index.vue 252 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/record/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/satisfaction/particulars/index.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/tasklist/FollowupDetails/index.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/tasklist/index.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/education/compilequer/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/education/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionbank/particulars/index.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionnaire/compilequer/index.vue 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionnaire/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/outsideChainwt.vue 92 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/medtechnician/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/PatientChart.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/physical/index.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/Missioncreation.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/Missionotice.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/QuestionnaireTask.vue 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/particty.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/questionnaire/index.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/subsequent/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/general/particulars/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/matching/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/configurat/index.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/configurat/measurement.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sfstatistics/propaganda/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sfstatistics/statement/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/shortmessage/healthinformation/compilequer/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/shortmessage/messagebank/compile/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist.zip
Binary files differ
src/api/AiCentre/Followup.js
@@ -1,6 +1,6 @@
import request from "@/utils/request";
// 查询随访模版列表
// 查询随访模板列表
export function getFollowuplist(data) {
  return request({
    url: "/smartor/template/list",
@@ -8,21 +8,21 @@
    data: data,
  });
}
// 随访模版详情
// 随访模板详情
export function Followupinfo(Id) {
  return request({
    url: "/smartor/template/" + Id,
    method: "get",
  });
}
// 删除随访模版
// 删除随访模板
export function delFollowupinfo(Id) {
    return request({
      url: "/smartor/template/remove/" + Id,
      method: "get",
    });
  }
// 新增或修改随访模版
// 新增或修改随访模板
export function compileFollowup(data) {
    return request({
      url: "/smartor/template/saveOrUpdateScript",
@@ -30,7 +30,7 @@
      data: data,
    });
  }
    // 查询随访模版详情列表
    // 查询随访模板详情列表
export function getvFollowup(data) {
    return request({
        url: "/smartor/template/selectInfoByCondition",
@@ -39,7 +39,7 @@
    });
  }
  // 新增随访模版分类树
  // 新增随访模板分类树
  export function addFollowupclassify(data) {
    return request({
      url: "/smartor/templateassort/addtree",
@@ -47,7 +47,7 @@
      data: data,
    });
  }
  // 新增随访模版分类树
  // 新增随访模板分类树
  export function editFollowupclassify(data) {
    return request({
      url: "/smartor/templateassort/edit",
@@ -55,18 +55,18 @@
      data: data,
    });
  }
  // 删除随访模版分类
  // 删除随访模板分类
export function delFollowupclassify(Id) {
  return request({
    url: "/smartor/templateassort/remove/" + Id,
    method: "get",
  });
}
  // 查询随访模版分类树
  // 查询随访模板分类树
  export function getFollowupclassify(data) {
    return request({
      url: "/smartor/templateassort/selectIvrLibaTemplateAssortList",
      method: "post",
      data: data,
    });
  }
  }
src/api/AiCentre/Qtemplate.js
@@ -1,7 +1,7 @@
import request from "@/utils/request";
import { param } from "jquery";
// 查询问卷模版列表
// 查询问卷模板列表
export function getQtemplateobj(data) {
  return request({
    url: "/smartor/svyLibTemplate/selectSvyLibTemplatelist",
@@ -9,7 +9,7 @@
    data: data,
  });
}
// 问卷模版列表
// 问卷模板列表
export function getQtemplatelist(data) {
  return request({
    url: "/smartor/svyLibTemplate/list",
@@ -17,21 +17,21 @@
    params: data,
  });
}
// 问卷模版详情
// 问卷模板详情
export function Qtemplateinfo(Id) {
  return request({
    url: "/smartor/svyLibTemplate/" + Id,
    method: "get",
  });
}
// 删除问卷模版
// 删除问卷模板
export function delQtemplateinfo(Id) {
    return request({
      url: "/smartor/svyLibTemplate/remove/" + Id,
      method: "get",
    });
  }
// 新增或修改问卷模版详情
// 新增或修改问卷模板详情
export function compileQtemplate(data) {
    return request({
      url: "/smartor/svyLibTemplate/saveOrUpdateTemplate",
@@ -41,7 +41,7 @@
  }
  // 新增问卷模版分类
  // 新增问卷模板分类
  export function addQtemplateclassify(data) {
    return request({
      url: "/smartor/svyLibTemplateCategory/addtree",
@@ -49,7 +49,7 @@
      data: data,
    });
  }
    // 新增问卷模版分类
    // 新增问卷模板分类
    export function editQtemplateclassify(data) {
      return request({
        url: "/smartor/svyLibTemplateCategory/edit",
@@ -57,14 +57,14 @@
        data: data,
      });
    }
  // 删除问卷模版分类
  // 删除问卷模板分类
export function delQtemplateclassify(Id) {
  return request({
    url: "/smartor/svyLibTemplateCategory/remove/" + Id,
    method: "get",
  });
}
  // 查询问卷模版分类树
  // 查询问卷模板分类树
  export function getQtemplateclassify(data) {
    return request({
      url: "/smartor/svyLibTemplateCategory/list",
@@ -72,7 +72,7 @@
      data: data,
    });
  }
  // 查询问卷模版分类树
  // 查询问卷模板分类树
  export function getQRcode(data) {
    return request({
      url: "/qrcode/getQRcode",
@@ -112,7 +112,7 @@
        data: data,
      });
    }
    // 问卷任务模版新增修改
    // 问卷任务模板新增修改
   export function TaskQuestioncomit(data) {
    return request({
      url: "/smartor/svytemplateTask/saveOrUpdateTaskTemp",
src/api/AiCentre/SingleTask.js
@@ -23,7 +23,7 @@
      method: "get",
    });
  }
// 新增模版
// 新增模板
export function addhetask(data) {
    return request({
      url: "/smartor/serviceSubtask/add",
@@ -96,14 +96,14 @@
      });
    }
    // 获取任务模版详情
    // 获取任务模板详情
  export function TaskTemplategetinfo(id) {
    return request({
      url: "/smartor/ivrTaskTemplate/getInfo/"+id,
      method: "get",
    });
  }
   // 任务模版新增修改
   // 任务模板新增修改
   export function TaskTemplatecomit(data) {
    return request({
      url: "/smartor/ivrTaskTemplate/saveOrUpdateTempScript",
src/api/AiCentre/external.js
@@ -44,3 +44,12 @@
    data: data
  });
}
// 提交问卷
export function getsearchrResult(data) {
  return request({
    url: "/smartor/subtaskAnswer/selectPatQuestionResult",
    method: "post",
    data: data
  });
}
src/api/AiCentre/general.js
@@ -1,6 +1,6 @@
import request from "@/utils/request";
// 查询通用模版列表
// 查询通用模板列表
export function getgenerallist(data) {
  return request({
    url: "/smartor/extemplate/list",
@@ -9,21 +9,21 @@
  });
}
// 删除通用模版
// 删除通用模板
export function delgeneralinfo(Id) {
    return request({
      url: "/smartor/extemplate/remove/" + Id,
      method: "get",
    });
  }
    // 查询通用模版详情列表
    // 查询通用模板详情列表
    export function getgeneralinfo(Id) {
    return request({
      url: "/smartor/extemplate/" + Id,
      method: "get",
    });
  }
// 新增模版
// 新增模板
export function addgeneral(data) {
    return request({
      url: "/smartor/extemplate/add",
@@ -31,7 +31,7 @@
      data: data,
    });
  }
//   修改通用模版
//   修改通用模板
  export function editgeneral(data) {
    return request({
      url: "/smartor/extemplate/edit",
@@ -41,7 +41,7 @@
  }
  // 新增通用模版分类树
  // 新增通用模板分类树
  export function addgeneralclassify(data) {
    return request({
      url: "/smartor/category/add",
@@ -49,14 +49,14 @@
      data: data,
    });
  }
  // 删除通用模版分类
  // 删除通用模板分类
export function delgeneralclassify(Id) {
  return request({
    url: "/smartor/category/remove/" + Id,
    method: "get",
  });
}
  // 查询通用模版分类树
  // 查询通用模板分类树
  export function getgeneralclassify(data) {
    return request({
      url: "/smartor/category/list",
@@ -64,7 +64,7 @@
      data: data,
    });
  }
  // 查询通用模版话术列表
  // 查询通用模板话术列表
export function getgeneravaluellist(data) {
    return request({
      url: "/smartor/extemplatescript/list",
@@ -72,22 +72,22 @@
      data: data,
    });
  }
  // 删除通用模版话术
  // 删除通用模板话术
  export function delgeneravaluelinfo(Id) {
      return request({
        url: "/smartor/extemplatescript/remove/" + Id,
        method: "get",
      });
    }
      // 查询通用模版话术详情
      // 查询通用模板话术详情
      export function getgeneravaluelinfo(Id) {
      return request({
        url: "/smartor/extemplatescript/" + Id,
        method: "get",
      });
    }
  // 新增模版话术
  // 新增模板话术
  export function addgeneravaluel(data) {
      return request({
        url: "/smartor/extemplatescript/add",
@@ -95,7 +95,7 @@
        data: data,
      });
    }
  //   修改通用模版话术
  //   修改通用模板话术
    export function editgeneravaluel(data) {
      return request({
        url: "/smartor/extemplatescript/edit",
@@ -103,4 +103,3 @@
        data: data,
      });
    }
src/api/AiCentre/publicity.js
@@ -1,6 +1,6 @@
import request from "@/utils/request";
// 查询宣教模版列表
// 查询宣教模板列表
export function getlibrarylist(data) {
  return request({
    url: "/smartor/library/list",
@@ -9,14 +9,14 @@
  });
}
// 删除宣教模版
// 删除宣教模板
export function dellibraryinfo(Id) {
    return request({
      url: "/smartor/library/remove/" + Id,
      method: "get",
    });
  }
    // 查询宣教模版详情列表
    // 查询宣教模板详情列表
    export function getlibraryinfo(data) {
    return request({
      url: "/smartor/library/selectInfoByCondition",
@@ -24,7 +24,7 @@
      data: data,
    });
  }
// 新增或修改宣教模版
// 新增或修改宣教模板
export function compilelibrary(data) {
    return request({
      url: "/smartor/library/saveOrUpdateHeLibrary",
@@ -32,7 +32,7 @@
      data: data,
    });
  }
  // 新增或修改宣教模版
  // 新增或修改宣教模板
export function getcompiletask(data) {
  return request({
    url: "/smartor/heTaskSingle/queryHeTaskByCondition",
@@ -47,7 +47,7 @@
      data: data,
    });
  }
  // 新增宣教模版分类树
  // 新增宣教模板分类树
  export function addheLibraryAssort(data) {
    return request({
      url: "/smartor/heLibraryAssort/addtree",
@@ -55,7 +55,7 @@
      data: data,
    });
  }
   // 新增宣教模版分类树
   // 新增宣教模板分类树
   export function editheLibraryAssort(data) {
    return request({
      url: "/smartor/heLibraryAssort/edit",
@@ -63,14 +63,14 @@
      data: data,
    });
  }
  // 删除宣教模版分类
  // 删除宣教模板分类
export function delheLibraryAssort(Id) {
  return request({
    url: "/smartor/heLibraryAssort/remove/" + Id,
    method: "get",
  });
}
  // 查询宣教模版分类树
  // 查询宣教模板分类树
  export function getheLibraryAssort(data) {
    return request({
      url: "/smartor/heLibraryAssort/selectHeLibraryAssortList",
src/components/OptionalForm/index.vue
@@ -136,7 +136,7 @@
      required: true,
      default: () => [],
    },
    // 5问卷模版、3随访模版、6宣教
    // 5问卷模板、3随访模板、6宣教
    type: {
      type: Number,
      default: () => {
src/components/SFtable/index.vue
@@ -159,7 +159,7 @@
      type: Boolean,
      default: true,
    },
    // 1模版列表 2选中患者 3患者列表
    // 1模板列表 2选中患者 3患者列表
    typeinfo: {
      type: Number,
      default: 1,
@@ -209,7 +209,7 @@
    clearSelection() {
      // 在这里编写清除选择的逻辑
      this.$refs.multipleTableson.clearSelection();
    },
  },
};
src/views/Intelligentcenter/centercontrol/index.vue
@@ -48,7 +48,7 @@
          <el-menu-item-group>
            <el-menu-item index="3-1">话术库</el-menu-item>
            <el-menu-item index="3-2">意图管理</el-menu-item>
            <el-menu-item index="3-3">模版库</el-menu-item>
            <el-menu-item index="3-3">模板库</el-menu-item>
          </el-menu-item-group>
          <!-- <el-submenu index="1-4">
            <template slot="title">选项4</template>
src/views/followvisit/discharge/index.vue
@@ -11,12 +11,12 @@
        label-width="98px"
      >
        <el-form-item label="任务名称">
          <el-input v-model="topqueryParams.name"></el-input>
          <el-input v-model="topqueryParams.taskName"></el-input>
        </el-form-item>
        <el-form-item label="审核人">
          <el-input v-model="topqueryParams.name"></el-input>
        <el-form-item label="发起人">
          <el-input v-model="topqueryParams.createBy"></el-input>
        </el-form-item>
        <el-form-item label="审核时间">
        <!-- <el-form-item label="审核时间">
          <el-date-picker
            v-model="dateRange"
            style="width: 240px"
@@ -37,20 +37,12 @@
            >
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="模版" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
        </el-form-item> -->
        <el-form-item label="模板名称" prop="status">
          <el-input v-model="topqueryParams.templatename"></el-input>
        </el-form-item>
        <el-form-item label="出院随访状态" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
          <el-select v-model="topqueryParams.sendstate" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
              :key="item.value"
@@ -86,7 +78,7 @@
            >新增</el-button
          >
        </el-col>
        <el-col :span="1.5">
        <!-- <el-col :span="1.5">
          <div class="documentf">
            <div class="document">
              <el-button
@@ -171,7 +163,7 @@
              >
            </div>
          </div>
        </el-col>
        </el-col> -->
        <!-- <el-col :span="1.5"> </el-col> -->
      </el-row>
@@ -300,7 +292,7 @@
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-tooltip
            <!-- <el-tooltip
              class="item"
              effect="dark"
              content="重新随访"
@@ -314,8 +306,8 @@
                ><span class="button-bb"
                  ><i class="el-icon-s-promotion"></i></span
              ></el-button>
            </el-tooltip>
            <el-tooltip
            </el-tooltip> -->
            <!-- <el-tooltip
              class="item"
              effect="dark"
              content="停止"
@@ -328,8 +320,8 @@
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"><i class="el-icon-delete"></i></span
              ></el-button>
            </el-tooltip>
            <el-tooltip
            </el-tooltip> -->
            <!-- <el-tooltip
              class="item"
              effect="dark"
              content="查看任务详情"
@@ -342,7 +334,16 @@
                v-hasPermi="['system:user:edit']"
                ><span class="button-zx"><i class="el-icon-s-order"></i></span
              ></el-button>
            </el-tooltip>
            </el-tooltip> -->
            <el-button
              size="medium"
              type="text"
              @click="Seedetails(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-zx"
                ><i class="el-icon-s-order"></i>查看详情</span
              ></el-button
            >
          </template>
        </el-table-column>
      </el-table>
@@ -649,7 +650,7 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        hospType: 1,
        serviceType:2,
      },
      propss: { multiple: true },
      options: [],
@@ -657,19 +658,15 @@
      topicoptions: [
        {
          value: 1,
          label: "待审核",
          label: "被领取",
        },
        {
          value: 2,
          label: "执行中",
          label: "待发送",
        },
        {
          value: 3,
          label: "执行完成",
        },
        {
          value: 4,
          label: "已停止",
          label: "已发送",
        },
      ],
      serviceState: [],
@@ -902,10 +899,10 @@
      this.modificationVisible = true;
    },
    // 跳转详情页
    Seedetails() {
    Seedetails(row) {
      this.$router.push({
        path: "/followvisit/record/detailpage/",
        query: { id: "1" },
        query: { taskid: row.taskid, patid: row.patid },
      });
    },
    // 导入按钮
src/views/followvisit/outpatient/index.vue
@@ -12,12 +12,12 @@
        label-width="98px"
      >
        <el-form-item label="任务名称">
          <el-input v-model="topqueryParams.name"></el-input>
          <el-input v-model="topqueryParams.taskName"></el-input>
        </el-form-item>
        <el-form-item label="审核人">
          <el-input v-model="topqueryParams.name"></el-input>
        <el-form-item label="发起人">
          <el-input v-model="topqueryParams.createBy"></el-input>
        </el-form-item>
        <el-form-item label="审核时间">
        <!-- <el-form-item label="审核时间">
          <el-date-picker
            v-model="dateRange"
            style="width: 240px"
@@ -27,31 +27,14 @@
            start-placeholder="开始日期"
            end-placeholder="结束日期"
          ></el-date-picker>
        </el-form-item>
        <el-form-item label="随访类型" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="模版" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
        </el-form-item> -->
        <el-form-item label="模板名称" prop="status">
          <el-input v-model="topqueryParams.templatename"></el-input>
        </el-form-item>
        <el-form-item label="门诊随访状态" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
          <el-select v-model="topqueryParams.sendstate" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
              :key="item.value"
@@ -87,7 +70,7 @@
            >新增</el-button
          >
        </el-col>
        <el-col :span="1.5">
        <!-- <el-col :span="1.5">
          <div class="documentf">
            <div class="document">
              <el-button
@@ -101,8 +84,8 @@
              >
            </div>
          </div>
        </el-col>
        <el-col :span="1.5">
        </el-col> -->
        <!-- <el-col :span="1.5">
          <div class="documentf">
            <div class="document">
              <el-button
@@ -172,7 +155,7 @@
              >
            </div>
          </div>
        </el-col>
        </el-col> -->
        <!-- <el-col :span="1.5"> </el-col> -->
      </el-row>
@@ -299,7 +282,7 @@
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-button
            <!-- <el-button
              size="medium"
              type="text"
              @click="followupvisit(scope.row)"
@@ -316,7 +299,7 @@
              ><span class="button-sc"
                ><i class="el-icon-delete"></i>停止</span
              ></el-button
            >
            > -->
            <el-button
              size="medium"
              type="text"
@@ -633,28 +616,23 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        hospType:2
        serviceType:3,
      },
      propss: { multiple: true },
      options: [],
      topicoptions: [
        {
      {
          value: 1,
          label: "待审核",
          label: "被领取",
        },
        {
          value: 2,
          label: "执行中",
          label: "待发送",
        },
        {
          value: 3,
          label: "执行完成",
        },
        {
          value: 4,
          label: "已停止",
          label: "已发送",
        },
      ],
      serviceState:[],
@@ -891,10 +869,10 @@
      this.modificationVisible = true;
    },
    // 跳转详情页
    Seedetails() {
    Seedetails(row) {
      this.$router.push({
        path: "/followvisit/record/detailpage/",
        query: { id: "1" },
        query: { taskid: row.taskid, patid: row.patid },
      });
    },
    // 导入按钮
src/views/followvisit/record/detailpage/index.vue
@@ -3,39 +3,44 @@
  <div class="Followupdetailspage">
    <div class="Followuserinfo">
      <div>
        <div class="userinfo-text"><span>随访详情</span> <el-button type="success">随访后短信</el-button></div>
        <div class="userinfo-text">{{ sendname }}<span>患者服务详情详情</span>
          <!-- <el-button type="success">随访后短信</el-button> -->
        </div>
      </div>
      <div>
        <el-table :data="tableDatatop" style="width: 100%">
        <el-table :data="logsheetlist" style="width: 100%">
          <el-table-column
            prop="beneficiaryname"
            prop="sendname"
            align="center"
            label="姓名"
          >
          </el-table-column>
          <el-table-column
            prop="beneficiaryname"
            prop="sendstate"
            align="center"
            label="通知状态"
            label="服务状态"
          >
          </el-table-column>
          <el-table-column
            prop="title"
            prop="updateTime"
            align="center"
            label="完成时间"
            width="200"
            show-overflow-tooltip
          >
          </el-table-column>
          <el-table-column prop="taskName" align="center" width="200"
          show-overflow-tooltip label="任务名称">
          </el-table-column>
          <el-table-column
            prop="idcardno"
            prop="templatename"
            align="center"
            label="审核意见"
            label="服务模板"
            width="200"
            show-overflow-tooltip
          >
          </el-table-column>
          <el-table-column prop="depositbank" align="center" label="随访方案">
          </el-table-column>
          <el-table-column
            prop="bankcardno"
            align="center"
@@ -43,14 +48,25 @@
            width="210"
          >
          </el-table-column>
          <el-table-column prop="price" align="center" label="被叫号码">
          </el-table-column>
          <el-table-column prop="quantity"  width="200" align="center" label="审核意见">
          </el-table-column>
          <el-table-column prop="amount"  width="200" align="center" label="通知结果">
          </el-table-column>
          <el-table-column prop="taxedamount"  width="200" align="center" label="医生意见">
          </el-table-column>
          <el-table-column
          label="操作"
          fixed="right"
          align="center"
          width="200"
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-button
              size="medium"
              type="text"
              @click="Seedetails(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-zx"
                ><i class="el-icon-s-order"></i>查看服务</span
              ></el-button
            >
          </template>
        </el-table-column>
        </el-table>
      </div>
    </div>
@@ -58,52 +74,102 @@
      <el-tabs type="border-card">
        <el-tab-pane>
          <span class="mulsz" slot="label"
            ><i class="el-icon-headset"></i> 语音详情1</span
            ><i class="el-icon-notebook-1"></i> 问卷随访结果</span
          >
          <div class="CONTENT">
      <div class="title">{{ taskname ? taskname : "问卷" }}</div>
      <div class="preview-left">
        <!-- 单选 -->
        <div
          class="topic-dev"
          v-for="(item, index) in tableDatatop"
          :key="item.aaa"
        >
          <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 1">
            <div class="dev-text">
              {{ index + 1 }}、[单选]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-radio-group
                v-model="item.scriptResult"
                @change="handleOptionChange($event, index, item)"
              >
                <el-radio
                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
                  :key="index"
                  :label="items.optioncontent"
                  >{{ items.optioncontent }}</el-radio
                >
              </el-radio-group>
            </div>
            <div v-show="item.prompt">
              <el-alert :title="item.prompt" type="warning"> </el-alert>
            </div>
          </div>
          <!-- 多选 -->
          <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2">
            <div class="dev-text">
              {{ index + 1 }}、[多选]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-checkbox-group
                v-model="item.scriptResult"
                @change="updateScore($event, index, item)"
              >
                <el-checkbox
                  @change="$forceUpdate()"
                  v-for="(items, indexs) in item.svyLibTemplateTargetoptions"
                  :key="indexs"
                  :label="items.optioncontent"
                >
                  {{ items.optioncontent }}
                </el-checkbox>
              </el-checkbox-group>
            </div>
            <div v-show="item.prompt && item.scriptResult[0]">
              <el-alert :title="item.prompt" type="warning"> </el-alert>
            </div>
          </div>
          <!-- 填空 -->
          <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 4">
            <div class="dev-text">
              {{ index + 1 }}、[问答]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-input
                type="textarea"
                :rows="2"
                placeholder="请输入答案"
                v-model="item.scriptResult"
                clearable
              >
              </el-input>
            </div>
          </div>
        </div>
      </div>
    </div>
        </el-tab-pane>
        <el-tab-pane>
          <span class="mulsz" slot="label"
            ><i class="el-icon-headset"></i> 语音随访详情</span
          >
          <div class="borderdiv">
            <div>
              <div class="leftside">
                <i class="el-icon-phone-outline"></i><span>说撒啊小说</span>
                <i class="el-icon-phone-outline"></i><span>您今天身体情况怎么样</span>
              </div>
              <div class="offside">
                <i class="el-icon-user"></i>
                <div class="offside-value">
                  <el-input v-model="input"></el-input>
                  <el-radio v-model="radio" label="1">备选项</el-radio>
                  <el-radio v-model="radio" label="2">备选项2</el-radio>
                  <el-radio v-model="radio" label="3">备选项3</el-radio>
                  <el-radio v-model="radio" label="4">备选项4</el-radio>
                  <el-radio v-model="radio" label="1">很棒</el-radio>
                  <el-radio v-model="radio" label="2">还可以</el-radio>
                  <el-radio v-model="radio" label="3">不太好</el-radio>
                  <el-radio v-model="radio" label="4">比较差</el-radio>
                </div>
              </div>
            </div>
          </div>
        </el-tab-pane>
        <el-tab-pane>
          <span class="mulsz" slot="label"
            ><i class="el-icon-headset"></i> 语音详情2</span
          >
          <div class="borderdiv">语音详情2</div>
        </el-tab-pane>
        <el-tab-pane>
          <span class="mulsz" slot="label"
            ><i class="el-icon-notebook-1"></i> 语音信息</span
          >
          <div class="borderdiv">语音信息</div>
        </el-tab-pane>
        <el-tab-pane>
          <span class="mulsz" slot="label"
            ><i class="el-icon-phone-outline"></i> 外呼信息</span
          >
          <div class="borderdiv">外呼信息</div>
        </el-tab-pane>
        <el-tab-pane>
          <span class="mulsz" slot="label"
            ><i class="el-icon-s-operation"></i> 标签状态</span
          >
          <div class="borderdiv">
            <el-radio v-model="radio" label="1">不处理</el-radio>
            <el-radio v-model="radio" label="2">继续跟踪</el-radio
            ><el-radio v-model="radio" label="3">通知医院就诊</el-radio>
          </div>
        </el-tab-pane>
      </el-tabs>
@@ -112,20 +178,63 @@
</template>
<script>
import {
  getsearchrResult,
  getTaskservelist,
} from "@/api/AiCentre/index";
export default {
  data() {
    return {
      radio: "1",
      userid: "",
      input: "",
      input: "今天身体还不错",
      radio: "2",
      tableDatatop: [],
      taskname:'',
      tableDatatop: [],//题目表
      logsheetlist:[],
      sendname:null,
      serviceType:null,
      taskid:null,
      patid:null,
    };
  },
  created() {},
  created() {
    this.taskid=this.$route.query.taskid;
    this.sendname=this.$route.query.sendname;
    this.patid=this.$route.query.patid;
    this.serviceType=this.$route.query.serviceType;
    this.getsearchrResult();
    this.getTaskservelist();
  },
  methods: {},
  methods: {
    // 获取问卷数据
    getsearchrResult(){
      getsearchrResult({
        taskid:this.taskid,
        patid:this.patid,
      }).then((res) => {
        if (res.code === 200) {
          this.tableDatatop = res.data.scriptResult.script;
          this.taskname = res.data.taskName;
        }
      });
    },
    // 获取患者记录
    getTaskservelist(){
      getTaskservelist({
        patid:this.patid,
      }).then((res) => {
        if (res.code == 200) {
          this.logsheetlist = res.rows;
        }
      });
    },
    Seedetails(){},
  },
};
</script>
@@ -180,6 +289,31 @@
    }
  }
}
.CONTENT {
    padding: 10px;
    .title {
      font-size: 22px;
      font-weight: bold;
      margin-bottom: 20px;
      text-align: center;
    }
  }
  .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);
  .topic-dev {
    margin-bottom: 25px;
    font-size: 20px !important;
    .dev-text {
      margin-bottom: 10px;
    }
  }
}
::v-deep.offside-value .el-radio__label {
  color: #fff;
}
src/views/followvisit/record/index.vue
@@ -38,7 +38,7 @@
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="模版" prop="status">
        <el-form-item label="模板" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
src/views/followvisit/satisfaction/particulars/index.vue
@@ -7,7 +7,7 @@
          <el-step
            icon="el-icon-edit"
            title="基础信息"
            description="选择宣教模版、形式等基础信息"
            description="选择宣教模板、形式等基础信息"
          ></el-step>
          <el-step
            icon="el-icon-user"
@@ -22,7 +22,7 @@
      <!-- 基本信息 -->
      <div v-if="Editprogress == 1">
        <el-alert
          title="选择宣教模版、形式等基础信息"
          title="选择宣教模板、形式等基础信息"
          type="success"
          effect="dark"
        >
@@ -65,10 +65,10 @@
                    <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-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>
@@ -540,7 +540,7 @@
      // 非多个禁用
      multiple: true,
      // 用户表格数据
      userList: [], //模版列表
      userList: [], //模板列表
      patientuserList: [], //选择患者列表
      sonuserList: [], //选中患者列表
      tasktopic: null, //新增类型
@@ -676,7 +676,7 @@
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    // 预览模版
    // 预览模板
    PreviewTemplate() {},
    Acknowledgereference() {
      this.quote = true;
src/views/followvisit/tasklist/FollowupDetails/index.vue
@@ -54,7 +54,7 @@
            <div class="headline">任务设置</div>
            <div class="jic-value">
              <el-form ref="form" :model="form" label-width="80px">
                <el-form-item label="引用模版" prop="desc">
                <el-form-item label="引用模板" prop="desc">
                  <el-cascader
                    class="demo-cascader"
                    v-model="form.templatevalue"
@@ -72,7 +72,7 @@
                  </el-select>
                  <div style="display: flex; margin-top: 20px">
                    <div class="PreviewTemplate" @click="PreviewTemplate()">
                      预览模版
                      预览模板
                    </div>
                    <el-button type="primary" @click="Acknowledgereference"
                      >确认引用</el-button
@@ -429,7 +429,7 @@
            <el-form-item label="选择问卷:">
              <el-row :gutter="20">
                <el-col :span="6"
                  ><el-select v-model="form.region" placeholder="请选择模版">
                  ><el-select v-model="form.region" placeholder="请选择模板">
                    <el-option label="区域一" value="shanghai"></el-option>
                    <el-option
                      label="区域二"
@@ -534,7 +534,7 @@
                  ></el-col>
                </el-row>
              </el-form-item>
              <el-form-item label="Ai外呼模版">
              <el-form-item label="Ai外呼模板">
                <el-select v-model="form.value" placeholder="请选择">
                  <el-option
                    v-for="item in options"
@@ -581,12 +581,12 @@
                  <el-radio label="AI电话"></el-radio>
                </el-radio-group>
              </el-form-item>
              <el-form-item label="推送模版">
              <el-form-item label="推送模板">
                <el-row :gutter="20">
                  <el-col :span="6"
                    ><el-select
                      v-model="form.value"
                      placeholder="请选择短信模版"
                      placeholder="请选择短信模板"
                    >
                      <el-option
                        v-for="item in options"
@@ -599,7 +599,7 @@
                  <el-col :span="6"
                    ><el-select
                      v-model="form.value"
                      placeholder="请选择微信模版"
                      placeholder="请选择微信模板"
                    >
                      <el-option
                        v-for="item in options"
@@ -1153,7 +1153,7 @@
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    // 预览模版
    // 预览模板
    PreviewTemplate() {},
    Acknowledgereference() {
      this.quote = true;
src/views/followvisit/tasklist/index.vue
@@ -811,13 +811,21 @@
    },
    // 删除任务
    deletefn(row) {
      delTaskInfo(row.taskid).then((res) => {
        console.log(2);
        if (res.code == 200) {
          this.getList();
          this.$modal.msgSuccess("删除成功");
        }
      });
      this.$modal
        .confirm(
          '是否删除任务名称为"' +
            row.taskName +
            '"的数据项,删除后不可撤回!是否继续'
        )
        .then(() => {
          delTaskInfo(row.taskid).then((res) => {
            if (res.code == 200) {
              this.getList();
              this.$modal.msgSuccess("删除成功");
            }
          });
        })
        .catch(() => {});
    },
    // 任务发起
    sponsor(row) {
src/views/knowledge/education/compilequer/index.vue
@@ -828,7 +828,7 @@
    // --------------------------
    // 预览模版
    // 预览模板
    PreviewTemplate() {
      this.drawer = true;
    },
src/views/knowledge/education/index.vue
@@ -444,13 +444,13 @@
        <div class="qrcode-img"></div>
      </div>
    </el-dialog>
    <el-dialog title="模版预览" :visible.sync="previewtf" width="60%">
    <el-dialog title="模板预览" :visible.sync="previewtf" width="60%">
      <div class="preview-left">
        <!-- 单选 -->
        <div v-html="richText"></div>
      </div>
      <!-- <span slot="footer" class="dialog-footer">
        <el-button @click="previewGo">前往模版详情修改</el-button>
        <el-button @click="previewGo">前往模板详情修改</el-button>
        <el-button type="primary" @click="previewFn">确认使用</el-button>
      </span> -->
    </el-dialog>
src/views/knowledge/questionbank/particulars/index.vue
@@ -103,6 +103,7 @@
                  ><el-form-item label="是否可用">
                    <el-radio-group v-model="topicobj.isavailable">
                      <el-radio
                      @change="$forceUpdate()"
                        v-for="(item, index) in usable"
                        :label="item.value"
                        >{{ item.label }}</el-radio
@@ -114,6 +115,7 @@
                  <el-form-item label="是否必填">
                    <el-radio-group v-model="topicobj.ismandatory">
                      <el-radio
                      @change="$forceUpdate()"
                        v-for="(item, index) in required"
                        :label="item.value"
                        >{{ item.label }}</el-radio
@@ -842,12 +844,10 @@
      if (this.$route.query.categoryid) {
        this.topicobj.categoryid = Number(this.$route.query.categoryid);
      }
      this.topicobj.isavailable = "1";
      this.topicobj.language = "普通话";
      // 分类
      getissueclassify({}).then((res) => {
        this.classifylist = res.rows;
        console.log(this.classifylist, "分类");
      });
      if (!this.id) {
        return;
@@ -1060,8 +1060,6 @@
          this.topicobj.scriptContent = row.targetdesc;
          this.topicobj.targetid = row.id;
          this.topicobj.targetname = row.targetname;
          this.topicobj.isavailable = "0";
          this.topicobj.language = "普通话";
          this.topicobj.svyLibScriptOptions = [];
          const labellist = row.targetoptionList;
          labellist.forEach((item) => {
src/views/knowledge/questionnaire/compilequer/index.vue
@@ -198,37 +198,56 @@
            </el-select>
          </el-form-item>
          <el-form-item label="适用院区" prop="region">
            <el-select
              v-model="ruleForm.campus"
              size="medium"
              filterable
              placeholder="请选择分类"
          <el-row>
            <el-col :span="10"
              ><el-form-item label="适用院区" prop="region">
                <el-select
                  v-model="ruleForm.campus"
                  size="medium"
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in courtyardlist"
                    :key="item.label"
                    :label="item.label"
                    :value="item.label"
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
            <el-col :span="12"
              ><el-form-item label="适用科室" prop="region">
                <el-cascader
                style="width: 400px;"
                  v-model="tempDetpRelevanceslist"
                  :options="deptList"
                  :props="props"
                  :show-all-levels="false"
                  clearable
                >
                  <template slot-scope="{ node, data }">
                    <span>{{ data.deptName }}</span>
                    <span v-if="!node.isLeaf">
                      ({{ data.children.length }})
                    </span>
                  </template>
                </el-cascader>
              </el-form-item></el-col
            >
              <el-option
                class="ruleFormaa"
                v-for="item in courtyardlist"
                :key="item.label"
                :label="item.label"
                :value="item.label"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="适用科室" prop="region">
            <el-cascader
              v-model="tempDetpRelevanceslist"
              :options="deptList"
              :props="props"
              :show-all-levels="false"
              clearable
          </el-row>
          <el-form-item label="问卷结束语">
            <el-input
              style="width: 40vw"
              type="textarea"
              autosize
              placeholder="请输入内容"
              v-model="ruleForm.conclusion"
            >
              <template slot-scope="{ node, data }">
                <span>{{ data.deptName }}</span>
                <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
              </template>
            </el-cascader>
          </el-form-item>
            </el-input
          ></el-form-item>
          <el-form-item>
            <el-button type="success" @click="nextstep('ruleForm')"
              >下一步</el-button
@@ -497,6 +516,16 @@
                    <el-radio :label="0">否</el-radio>
                  </el-radio-group>
                </el-form-item>
                <el-form-item label="选中提示" v-if="topicobj.scriptType != 1">
                  <el-input
                    style="width: 24vw"
                    type="textarea"
                    autosize
                    placeholder="请输入内容"
                    v-model="topicobj.prompt"
                  >
                  </el-input
                ></el-form-item>
                <div
                  v-if="topicobj.scriptType == 1 || topicobj.scriptType == 2"
                >
@@ -565,10 +594,10 @@
                          </el-input> </el-form-item
                      ></el-col>
                    </el-row>
                    <el-row :gutter="10">
                    <el-row :gutter="10" v-if="topicobj.scriptType == 1">
                      <el-form-item label="选中提示">
                        <el-input
                          style="width: 20vw"
                          style="width: 24vw"
                          type="textarea"
                          autosize
                          placeholder="请输入内容"
@@ -1069,7 +1098,7 @@
                        </el-radio-group>
                      </el-form-item>
                    </el-row>
                    <el-row :gutter="10">
                    <el-row :gutter="10" v-if="item.scriptType == 1">
                      <el-form-item label="选中提示">
                        <el-input
                          style="width: 400px"
@@ -1277,9 +1306,23 @@
    };
  },
  activated() {
    console.log(this.id);
    if (this.id != this.$route.query.id) {
      this.getissueinfo();
      this.gettabList();
    } else {
      this.ruleForm.svyTemplateLibScripts =
        this.ruleForm.svyTemplateLibScripts.filter(
          (item) => item.isoperation != 3
        );
      this.ruleForm.svyLibTemplateTagList =
        this.ruleForm.svyLibTemplateTagList.filter(
          (item) => item.isoperation != 3
        );
      this.delScriptVOList = [];
      this.$forceUpdate();
      console.log(this.ruleForm.svyTemplateLibScripts);
    }
  },
  created() {
@@ -1342,6 +1385,7 @@
        tempDetpRelevances: [],
        svyLibTemplateTagList: [],
      };
      this.topicobj = {};
      if (this.id) {
        getQtemplateobj({ svyid: this.id }).then((res) => {
@@ -1372,7 +1416,9 @@
    },
    submitForm(formName) {
      this.$modal.loading("正在修正保存数据,请稍候...");
      this.ruleForm.suitway = this.ruleForm.suitway.join(",");
      if (this.ruleForm.suitway) {
        this.ruleForm.suitway = this.ruleForm.suitway.join(",");
      }
      if (!this.ruleForm.categoryid) {
        this.ruleForm.categoryid = -1;
      }
@@ -1471,7 +1517,6 @@
    // 新增题目
    addtopic(row) {
      row.isoperation = 1;
      console.log(row, "row");
      row.svyLibScriptOptions.forEach((item) => {
        item.isoperation = 1;
      });
@@ -1490,7 +1535,6 @@
    handleUpdate(row) {
      this.topicobj = row;
      this.radioas = "";
      console.log(this.topicobj, "看数据");
      // getissuelist({ svyid: row.svyid }).then((res) => {
      // });
    },
@@ -1545,7 +1589,7 @@
          this.drawer = false;
          this.sortFn();
          this.$modal.msgSuccess("题目新增成功,保存模版失效");
          this.$modal.msgSuccess("题目新增成功,保存模板失效");
        });
    },
    // 新增变量
@@ -1799,7 +1843,7 @@
    sumArray(arr) {
      // const arrsum = arr;
      // arrsum.forEach((item) => {
      //   // 判断题目和模版层级
      //   // 判断题目和模板层级
      //   console.log(item, "一条链路");
      //   const totalScore = item.reduce((accumulator, current) => {
@@ -1826,7 +1870,7 @@
      if (allGreaterThanTen) {
        this.$modal.msgSuccess("分值校验成功");
      } else {
        this.$modal.msgError("题目分值累加和模版分值不符");
        this.$modal.msgError("题目分值累加和模板分值不符");
      }
    },
src/views/knowledge/questionnaire/index.vue
@@ -401,7 +401,7 @@
        </div>
      </div>
    </el-dialog> -->
    <!-- 问卷模版预览 -->
    <!-- 问卷模板预览 -->
    <el-dialog title="随访题目预览" :visible.sync="topicVisible" width="50%">
      <div class="preview-left">
        <!-- 单选 -->
src/views/outsideChainwt.vue
@@ -14,7 +14,10 @@
              {{ index + 1 }}、[单选]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-radio-group v-model="item.scriptResult" @change="handleOptionChange($event, index, item)">
              <el-radio-group
                v-model="item.scriptResult"
                @change="handleOptionChange($event, index, item)"
              >
                <el-radio
                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
                  :key="index"
@@ -23,6 +26,9 @@
                >
              </el-radio-group>
            </div>
            <div v-show="item.prompt">
              <el-alert :title="item.prompt" type="warning"> </el-alert>
            </div>
          </div>
          <!-- 多选 -->
          <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2">
@@ -30,7 +36,10 @@
              {{ index + 1 }}、[多选]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-checkbox-group v-model="item.scriptResult">
              <el-checkbox-group
                v-model="item.scriptResult"
                @change="updateScore($event, index, item)"
              >
                <el-checkbox
                  @change="$forceUpdate()"
                  v-for="(items, indexs) in item.svyLibTemplateTargetoptions"
@@ -40,6 +49,9 @@
                  {{ items.optioncontent }}
                </el-checkbox>
              </el-checkbox-group>
            </div>
            <div v-show="item.prompt && item.scriptResult[0]">
              <el-alert :title="item.prompt" type="warning"> </el-alert>
            </div>
          </div>
          <!-- 填空 -->
@@ -63,10 +75,18 @@
      <el-form :model="formData" label-width="80px">
        <el-form-item>
          <el-button type="primary" @click="cache(true)">提交问卷</el-button>
          <el-button type="primary" @click="cache">缓存问卷</el-button>
          <!-- <el-button type="primary" @click="cache">缓存问卷</el-button> -->
        </el-form-item>
      </el-form>
    </div>
    <el-dialog
      :visible.sync="dialogVisible"
      width="50%"
    >
      <div>
        <el-alert :title="revisitAfter" type="success"> </el-alert>
      </div>
    </el-dialog>
  </div>
</template>
@@ -84,6 +104,8 @@
      taskid: 355,
      patid: 265823,
      questionList: null,
      revisitAfter: null,
      dialogVisible:false,
      // 前端公钥
      publicKey:
        "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKR0yHv0rbJWQE+Sc7/FwpW66qMd9qX2k6z+SDgkSdxWh/1GbBoAP7bDQQRF6vXmoKsD2ya42H6XRLSDXAoayuMCAwEAAQ== ",
@@ -97,7 +119,12 @@
      },
    };
  },
  mounted() {
    window.addEventListener("beforeunload", this.cache);
  },
  beforeDestroy() {
    window.removeEventListener("beforeunload", this.cache);
  },
  created() {
    this.getQuestionnaire();
  },
@@ -113,13 +140,8 @@
      //   "CVk0j8O86AeCqhV5WPsBBYDg9fec0wDoDlP9imYK4wDBNIkxywZzMJEGlPagOxnq6qr2WYZo0U8MUGWRGnq8ZA==";
      // this.taskid = this.decrypt(taskid);
      // this.patid = this.decrypt(patid);
      // this.$modal.msgSuccess("用户id为" + this.patid);
      // this.$modal.msgSuccess("任务id为" + this.taskid);
      // let taskids = this.encrypt(this.taskid);
      // let patids = this.encrypt(this.patid);
      console.log(this.$route.query.param1);
      console.log(this.$route.query.param2);
      // 先取缓存
      getCachequestionnaire({ param1: this.taskid, param2: this.patid }).then(
        (res) => {
@@ -127,8 +149,10 @@
            this.questionList = res.data;
            if (this.questionList[0]) {
              this.questionList.forEach((item) => {
                if (item.scriptResult) {
                if (item.scriptResult && item.scriptType != 2) {
                  item.scriptResult = JSON.parse(item.scriptResult);
                } else if (item.scriptResult && item.scriptType == 2) {
                  item.scriptResult = item.scriptResult.split("&");
                }
              });
              return;
@@ -146,7 +170,8 @@
      getExternalfollowup({ param1: this.taskid, param2: this.patid }).then(
        (res) => {
          if (res.code == 200) {
            this.questionList = res.rows;
            this.questionList = res.data.script;
            this.revisitAfter = res.data.revisitAfter;
            // 处理题目收集结果格式
            this.questionList.forEach((item) => {
              item.nextScriptno = Number(item.nextScriptno);
@@ -158,14 +183,12 @@
        }
      );
    },
    // 加密函数
    encrypt(txt) {
      const encryptor = new JSEncrypt();
      encryptor.setPublicKey(this.publicKey); // 设置公钥
      return encryptor.encrypt(txt); // 对数据进行加密
    },
    // 解密函数
    decrypt(txt) {
      const encryptor = new JSEncrypt();
@@ -181,22 +204,25 @@
        serviceSubtaskDetailList: [],
      };
      const arr = structuredClone(this.questionList);
      arr.forEach((item) => {
        item.asrtext = JSON.stringify(item.scriptResult);
        if (item.scriptType == 2 && item.scriptResult[0]) {
          item.asrtext = item.scriptResult.join("&");
        }
      });
      // arr.forEach((item) => {
      //   item.asrtext = JSON.stringify(item.scriptResult);
      //   if (item.scriptType == 2 && item.scriptResult[0]) {
      //     item.scriptResult = item.scriptResult.join("&");
      //   }
      // });
      form.serviceSubtaskDetailList = arr;
      Submitaquestionnaire(form).then((res) => {
        if (res.code == 200) {
          if (this.revisitAfter) {
            this.dialogVisible=true
          }
          this.$modal.msgSuccess("提交成功");
        }
      });
      // 可以将数据提交到后端或者进行其他处理
    },
    // 缓存
    cache(subm) {
      console.log("进入缓存");
      let form = {
        param1: this.taskid,
        param2: this.patid,
@@ -204,7 +230,11 @@
      };
      const arr = structuredClone(this.questionList);
      arr.forEach((item) => {
        item.scriptResult = JSON.stringify(item.scriptResult);
        if (item.scriptType == 2 && item.scriptResult[0]) {
          item.scriptResult = item.scriptResult.join("&");
        } else if (item.scriptType != 2 && item.scriptResult) {
          item.scriptResult = JSON.stringify(item.scriptResult);
        }
      });
      form.svyLibTemplateScriptVOS = arr;
      Cachequestionnaire(form).then((res) => {
@@ -216,8 +246,8 @@
        }
      });
    },
    // 处理选项
    handleOptionChange(selectedvalue, index,arr) {
    // 处理单选选项
    handleOptionChange(selectedvalue, index, arr) {
      // 查找选中的选项对象
      const selectedOption = arr.svyLibTemplateTargetoptions.find(
        (option) => option.optioncontent == selectedvalue
@@ -225,8 +255,24 @@
      if (selectedOption) {
        // 将选中的选项对象的 id 赋值给 obj.sonId
        this.questionList[index].nextScriptno = selectedOption.nextQuestion;
        this.questionList[index].score = selectedOption.score;
        this.questionList[index].prompt = selectedOption.prompt;
      }
    },
    // 处理多选选项
    updateScore(selectedvalues, index, arr) {
      // ��加分数
      let score = 0;
      selectedvalues.forEach((value) => {
        const selectedOption = arr.svyLibTemplateTargetoptions.find(
          (option) => option.optioncontent == value
        );
        if (selectedOption) {
          score += Number(selectedOption.score);
        }
      });
      this.questionList[index].score = score;
    },
  },
};
</script>
src/views/patient/medtechnician/index.vue
@@ -38,7 +38,7 @@
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="模版" prop="status">
        <el-form-item label="模板" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
src/views/patient/patient/PatientChart.vue
@@ -500,7 +500,7 @@
              href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4"
              target="_blank"
            >
              查看模版</el-link
              查看模板</el-link
            >
          </div>
        </el-upload>
src/views/patient/patient/index.vue
@@ -677,7 +677,7 @@
              href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4"
              target="_blank"
            >
              查看模版</el-link
              查看模板</el-link
            >
          </div>
        </el-upload>
src/views/patient/physical/index.vue
@@ -298,7 +298,7 @@
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-button
            <!-- <el-button
              size="medium"
              type="text"
              @click="followupvisit(scope.row)"
@@ -315,7 +315,7 @@
              ><span class="button-sc"
                ><i class="el-icon-delete"></i>停止</span
              ></el-button
            >
            > -->
            <el-button
              size="medium"
              type="text"
@@ -479,6 +479,9 @@
  resetUserPwd,
  changeUserStatus,
} from "@/api/system/user";
import {
  getTaskservelist
} from "@/api/AiCentre/index";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -604,9 +607,7 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        userName: undefined,
        tagid: undefined,
        topic: undefined,
        serviceType:1,
      },
      propss: { multiple: true },
      options: [],
@@ -694,9 +695,9 @@
    /** 查询门诊随访列表 */
    getList() {
      this.loading = true;
      listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
      getTaskservelist(this.topqueryParams).then(
        (response) => {
          this.userList = [];
          this.userList = response.rows;
          this.total = response.total;
          this.loading = false;
        }
@@ -903,10 +904,10 @@
      this.modificationVisible = true;
    },
    // 跳转详情页
    Seedetails() {
    Seedetails(row) {
      this.$router.push({
        path: "/followvisit/record/detailpage/",
        query: { id: "1" },
        query: { taskid: row.taskid, patid: row.patid },
      });
    },
    // 导入按钮
src/views/patient/propaganda/Missioncreation.vue
@@ -7,7 +7,7 @@
          <el-step
            icon="el-icon-edit"
            title="基础信息"
            description="选择模版、形式等基础信息"
            description="选择模板、形式等基础信息"
          ></el-step>
          <el-step
            icon="el-icon-user"
@@ -21,7 +21,7 @@
    <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">
          <!-- 基础信息 -->
@@ -41,7 +41,7 @@
                      /> </el-form-item
                  ></el-col>
                  <el-col :span="8"
                    ><el-form-item label="模版名称">
                    ><el-form-item label="模板名称">
                      <el-input
                        style="width: 220px"
                        :disabled="true"
@@ -434,13 +434,13 @@
        >
      </span>
    </el-dialog>
    <el-dialog title="模版预览" :visible.sync="previewtf" width="60%">
    <el-dialog title="模板预览" :visible.sync="previewtf" width="60%">
      <div class="preview-left">
        <!-- 单选 -->
        <div v-html="richText"></div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="previewGo">前往模版详情修改</el-button>
        <el-button @click="previewGo">前往模板详情修改</el-button>
        <el-button type="primary" @click="previewFn">确认使用</el-button>
      </span>
    </el-dialog>
@@ -532,7 +532,7 @@
              </el-form-item>
            </el-form>
            <el-divider></el-divider>
            <!-- 选择模版列表 -->
            <!-- 选择模板列表 -->
            <SFtable
              @selectfn="selectfn"
              :currentList="userList"
@@ -584,13 +584,13 @@
      title: "宣教内容列表",
      currenttype: 1, //1宣教2门诊3出院4复诊5体检6问卷
      id: "", //
      previewid: "", //任务模版传递id
      previewid: "", //任务模板传递id
      libName: "",
      overallCase: [], //选择患者总
      allpids: [],
      libId: null, //模板库模版id
      libId: null, //模板库模板id
      Editprogress: 1, //编辑进度
      drawermb: false, //选择模版弹窗
      drawermb: false, //选择模板弹窗
      previewtf: false, //预览
      loading: false, // 遮罩层
      patientloading: false, // 遮罩层
@@ -666,7 +666,7 @@
      // 非多个禁用
      multiple: true,
      // 用户表格数据
      userList: [], //模版列表
      userList: [], //模板列表
      patientuserList: [], //选择患者列表
      sonuserList: [], //选中患者列表
      delvariableList: [], //删除变量临时存储
@@ -895,9 +895,9 @@
      });
    },
    // ----------------------表格子组件事件
    // 确认选择模版放入任务模版
    // 确认选择模板放入任务模板
    selectfn(row, type) {
      // 模版情况下获取模版信息
      // 模板情况下获取模板信息
      this.libName = row.preachname;
      this.richText = null;
      this.libId = row.id;
@@ -1078,7 +1078,7 @@
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    // 预览模版
    // 预览模板
    PreviewTemplate() {},
    Acknowledgereference() {
      this.quote = true;
@@ -1222,7 +1222,7 @@
      if (this.time3) this.form.showTimeNight = this.time3.join(",");
      console.log(combinedData, "combinedData");
    },
    // 查看模版
    // 查看模板
    previewGo() {
      this.$router.push({
        path: "/knowledge/tpuconfigurat/",
@@ -1240,7 +1240,7 @@
        this.form.templateid = response.data;
        this.form.libtemplateid = this.libId;
        this.form.templatename = this.libName;
        this.$modal.msgSuccess("选择模版成功");
        this.$modal.msgSuccess("选择模板成功");
      });
    },
    // 处理服务形式
src/views/patient/propaganda/Missionotice.vue
@@ -38,7 +38,7 @@
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="模版" prop="status">
        <el-form-item label="模板" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
@@ -172,7 +172,7 @@
        </el-table-column>
        <el-table-column
          label="通知模版"
          label="通知模板"
          align="center"
          key="templatename"
          prop="templatename"
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -7,7 +7,7 @@
          <el-step
            icon="el-icon-edit"
            title="基础信息"
            description="选择模版、形式等基础信息"
            description="选择模板、形式等基础信息"
          ></el-step>
          <el-step
            icon="el-icon-user"
@@ -21,7 +21,7 @@
    <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">
          <!-- 基础信息 -->
@@ -40,23 +40,6 @@
                        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="任务描述">
@@ -167,6 +150,33 @@
                    >
                  </el-checkbox-group>
                </el-form-item>
                <el-row :gutter="20">
                  <el-col :span="10"
                    ><el-form-item label="模板名称">
                      <el-input
                        style="width: 300px"
                        :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-button
                    v-if="this.form.libtemplateid"
                      type="success"
                      icon="el-icon-search"
                      @click="previewfnmb"
                      circle
                    ></el-button>
                  </el-col>
                </el-row>
              </el-form>
            </div>
          </div>
@@ -376,7 +386,7 @@
        >
      </span>
    </el-dialog>
    <el-dialog title="模版预览" :visible.sync="previewtf" width="60%">
    <el-dialog title="模板预览" :visible.sync="previewtf" width="60%">
      <div class="preview-left">
        <!-- 单选 -->
        <div
@@ -437,7 +447,7 @@
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="previewGo">前往模版详情修改</el-button>
        <el-button @click="previewGo">前往模板详情修改</el-button>
        <el-button type="primary" @click="previewFn">确认使用</el-button>
      </span>
    </el-dialog>
@@ -462,17 +472,10 @@
              label-width="98px"
            >
              <el-form-item label="问卷名称">
                <el-input
                  v-model="topqueryParams.name"
                ></el-input> </el-form-item
              ><el-form-item label="通知名称">
                <el-input v-model="topqueryParams.name"></el-input>
              </el-form-item>
              <el-form-item label="问卷主题">
                <el-input v-model="topqueryParams.name"></el-input>
                <el-input v-model="topqueryParams.svyname"></el-input>
              </el-form-item>
              <el-form-item label="问卷类型" prop="status">
              <!-- <el-form-item label="问卷类型" prop="status">
                <el-select v-model="topqueryParams.topic" placeholder="请选择">
                  <el-option
                    v-for="item in taskoptions"
@@ -482,7 +485,7 @@
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              </el-form-item> -->
              <el-form-item label="适用形式" prop="status">
                <el-select v-model="topqueryParams.topica" placeholder="请选择">
                  <el-option
@@ -495,7 +498,7 @@
                </el-select>
              </el-form-item>
              <el-form-item label="适用科室" prop="status">
              <!-- <el-form-item label="适用科室" prop="status">
                <el-select v-model="topqueryParams.topicd" placeholder="请选择">
                  <el-option
                    v-for="item in topicoptions"
@@ -505,13 +508,13 @@
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              </el-form-item> -->
              <el-form-item>
                <el-button
                  type="primary"
                  icon="el-icon-search"
                  size="medium"
                  @click="handleQuery"
                  @click="handleQuerymb"
                  >搜索</el-button
                >
                <el-button
@@ -523,7 +526,7 @@
              </el-form-item>
            </el-form>
            <el-divider></el-divider>
            <!-- 选择模版列表 -->
            <!-- 选择模板列表 -->
            <SFtable
              @selectfn="selectfn"
              :currentList="userList"
@@ -572,13 +575,13 @@
      title: "宣教内容列表",
      currenttype: 1, //1宣教2门诊3出院4复诊5体检6问卷
      id: "", //
      previewid: "", //任务模版传递id
      previewid: "", //任务模板传递id
      libName: "",
      overallCase: [], //选择患者总
      allpids: [],
      libId: null, //模板库模版id
      libId: null, //模板库模板id
      Editprogress: 1, //编辑进度
      drawermb: false, //选择模版弹窗
      drawermb: false, //选择模板弹窗
      previewtf: false, //预览
      loading: false, // 遮罩层
      patientloading: false, // 遮罩层
@@ -656,7 +659,7 @@
      // 非多个禁用
      multiple: true,
      // 用户表格数据
      userList: [], //模版列表
      userList: [], //模板列表
      multiplechoice: [], //多选结果
      patientuserList: [], //选择患者列表
      sonuserList: [], //选中患者列表
@@ -726,6 +729,7 @@
        },
      ],
      quote: false,
      serviceType:null,
    };
  },
  components: { SFtable },
@@ -734,10 +738,18 @@
    this.id = this.$route.query.id;
    this.form.type = this.$route.query.type;
    this.form.typename = this.$route.query.typename;
    this.serviceType = Number(this.$route.query.serviceType);
    this.form.serviceType = Number(this.$route.query.serviceType);
    this.listDept();
    this.Acquisitiontype();
    this.Getdetails();
  },
  activated() {
    if (this.id != this.$route.query.id) {
      this.listDept();
      this.Acquisitiontype();
      this.Getdetails();
    }
  },
  methods: {
@@ -846,7 +858,7 @@
            label: "微信小程序",
          },
        ];
      }else if (this.form.serviceType == 2 || this.form.serviceType == 3) {
      } else if (this.form.serviceType == 2 || this.form.serviceType == 3) {
        this.checkboxlist = [
          {
            value: "1",
@@ -875,7 +887,7 @@
          },
        ];
      }
      getQtemplatelist(queryParams).then((response) => {
      getQtemplatelist(this.topqueryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
      });
@@ -907,6 +919,7 @@
      if (!this.form.type) {
        this.form.type = this.$route.query.type;
      }
      this.form.serviceType=this.serviceType;
      Editsingletask(this.form).then((res) => {
        if (res.code == 200) {
          if (this.form.taskid) {
@@ -922,13 +935,13 @@
      });
    },
    // ----------------------表格子组件事件
    // 确认选择模版放入任务模版
    // 确认选择模板放入任务模板
    selectfn(row, type) {
      // 模版情况下获取模版信息
      // 模板情况下获取模板信息
      if (type == 1) {
        this.libName = row.svyname;
        this.libId = row.svyid;
        console.log(row, "row");
        this.Tasktemplate = row;
        this.questionList = row.svyTemplateLibScripts;
        this.previewtf = true;
@@ -937,6 +950,19 @@
      } else if (type == 2) {
      } else if (type == 3) {
      }
    },
    // 预览
    previewfnmb() {
      console.log(this.form);
      getQtemplatelist({ svyid: this.form.libtemplateid }).then((res) => {
        if (res.code == 200) {
          console.log();
          this.questionList = res.rows[0].svyTemplateLibScripts;
          this.previewtf = true;
        }
      });
    },
    // 处理问题层变量
    Variablehandling(arr, type) {
@@ -1077,6 +1103,12 @@
      this.handleAddpatient();
    },
    resetQuery() {},
    handleQuerymb() {
      getQtemplatelist(this.topqueryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
      });
    },
    handleClosehz() {
      this.dialogVisiblepatient = false;
    },
@@ -1088,20 +1120,27 @@
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    // 预览模版
    // 预览模板
    PreviewTemplate() {},
    Acknowledgereference() {
      this.quote = true;
    },
    // 获取详情
    Getdetails() {
      this.form= {
        patTaskRelevances: [],
        sendType: 1,
        templatename: "",
        templateid: null,
        libtemplateid: null,
      };
      this.questionList=[];
      if (this.id) {
        Questionnairetaskget({ taskid: this.id }).then((res) => {
          let filteredArray = "";
          console.log(2233);
          if (res.code == 200) {
            this.form = res.data;
            this.form.serviceType=this.serviceType;
            this.form.patTaskRelevances = this.form.patTaskRelevances
              ? this.form.patTaskRelevances
              : [];
@@ -1224,7 +1263,7 @@
      if (this.time3) this.form.showTimeNight = this.time3.join(",");
      console.log(combinedData, "combinedData");
    },
    // 查看模版
    // 查看模板
    previewGo() {
      this.$router.push({
        path: "/knowledge/tpuconfigurat/",
@@ -1244,12 +1283,11 @@
      this.Tasktemplate.templateid = id;
      this.Tasktemplate.isoperation = 1;
      TaskQuestioncomit(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;
        this.$modal.msgSuccess("选择模版成功");
        this.$modal.msgSuccess("选择模板成功");
      });
    },
    // 处理服务形式
src/views/patient/propaganda/index.vue
@@ -38,7 +38,7 @@
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="模版" prop="status">
        <el-form-item label="模板" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
@@ -172,7 +172,7 @@
        </el-table-column>
        <el-table-column
          label="宣教模版"
          label="宣教模板"
          align="center"
          key="templatename"
          prop="templatename"
src/views/patient/propaganda/particty.vue
@@ -7,7 +7,7 @@
          <el-step
            icon="el-icon-edit"
            title="基础信息"
            description="选择模版、形式等基础信息"
            description="选择模板、形式等基础信息"
          ></el-step>
          <el-step
            icon="el-icon-user"
@@ -21,7 +21,7 @@
    <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">
          <!-- 基础信息 -->
@@ -41,7 +41,7 @@
                      /> </el-form-item
                  ></el-col>
                  <el-col :span="8"
                    ><el-form-item label="模版名称">
                    ><el-form-item label="模板名称">
                      <el-input
                        style="width: 220px"
                        :disabled="true"
@@ -390,7 +390,7 @@
        >
      </span>
    </el-dialog>
    <el-dialog title="模版预览" :visible.sync="previewtf" width="60%">
    <el-dialog title="模板预览" :visible.sync="previewtf" width="60%">
      <div class="preview-left">
        <!-- 单选 -->
        <div
@@ -423,7 +423,7 @@
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="previewGo">前往模版详情修改</el-button>
        <el-button @click="previewGo">前往模板详情修改</el-button>
        <el-button type="primary" @click="previewFn">确认使用</el-button>
      </span>
    </el-dialog>
@@ -462,7 +462,7 @@
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="随访模版分类" prop="region">
              <el-form-item label="随访模板分类" prop="region">
                <el-select
                  v-model="topqueryParams.assortid"
                  size="medium"
@@ -501,7 +501,7 @@
              </el-form-item>
            </el-form>
            <el-divider></el-divider>
            <!-- 选择模版列表 -->
            <!-- 选择模板列表 -->
            <SFtable
              @selectfn="selectfn"
              :currentList="userList"
@@ -545,7 +545,7 @@
import SFtable from "@/components/SFtable"; //表格组件
export default {
  name: "ServiceDetails",
  name: "serviceDetailsa",
  data() {
    const endDate = new Date();
    const startDate = new Date();
@@ -554,16 +554,16 @@
      title: "随访内容列表",
      currenttype: 1, //1随访2问卷3通知宣教
      id: "", //
      previewid: "", //任务模版传递id
      previewid: "", //任务模板传递id
      libName: "",
      overallCase: [], //选择患者总
      // 日期范围
      dateRange: [startDate, endDate],
      allpids: [],
      libId: null, //模板库模版id
      libId: null, //模板库模板id
      nhh: null, //是否依照新增
      Editprogress: 1, //编辑进度
      drawermb: false, //选择模版弹窗
      drawermb: false, //选择模板弹窗
      previewtf: false, //预览
      loading: false, // 遮罩层
      patientloading: false, // 遮罩层
@@ -631,7 +631,7 @@
      // 非多个禁用
      multiple: true,
      // 用户表格数据
      userList: [], //模版列表
      userList: [], //模板列表
      patientuserList: [], //选择患者列表
      sonuserList: [], //选中患者列表
      delvariableList: [], //删除变量临时存储
@@ -702,6 +702,8 @@
        },
      ],
      quote: false,
      serviceType:null,
    };
  },
  components: { SFtable },
@@ -709,6 +711,7 @@
  created() {
    this.id = this.$route.query.id;
    this.form.type = this.$route.query.type;
    this.serviceType = Number(this.$route.query.serviceType);
    this.form.serviceType = Number(this.$route.query.serviceType);
    this.form.nhh = this.$route.query.nhh;
    this.listDept();
@@ -840,6 +843,7 @@
      } else {
        this.form.isoperation = 1;
      }
      this.form.serviceType=this.serviceType;
      Editsingletask(this.form).then((res) => {
        if (res.code == 200) {
          if (this.form.taskid) {
@@ -855,10 +859,10 @@
      });
    },
    // ----------------------表格子组件事件
    // 确认选择模版放入任务模版
    // 确认选择模板放入任务模板
    selectfn(row, type) {
      // 模版情况下获取模版信息
      console.log(row, "选择模版");
      // 模板情况下获取模板信息
      console.log(row, "选择模板");
      this.libName = row.templateName;
      this.libId = row.id;
      getvFollowup({ id: row.id }).then((res) => {
@@ -1042,7 +1046,7 @@
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    // 预览模版
    // 预览模板
    PreviewTemplate() {},
    Acknowledgereference() {
      this.quote = true;
@@ -1055,6 +1059,7 @@
          console.log(2233);
          if (res.code == 200) {
            this.form = res.data;
      this.form.serviceType=this.serviceType;
            this.overallCase = this.form.patTaskRelevances.concat();
            this.checkList = this.form.preachform.split(",");
            console.log(this.form.showDate, "this.form");
@@ -1182,7 +1187,7 @@
      if (this.time3) this.form.showTimeNight = this.time3.join(",");
      console.log(combinedData, "combinedData");
    },
    // 查看模版
    // 查看模板
    previewGo() {
      this.$router.push({
        path: "/knowledge/tpuconfigurat/",
@@ -1213,7 +1218,7 @@
        this.form.libtemplateid = this.libId;
        this.form.templatename = this.libName;
        console.log(this.form.templatename, "ss");
        this.$modal.msgSuccess("选择模版成功", this.form.templatename);
        this.$modal.msgSuccess("选择模板成功", this.form.templatename);
      });
    },
    // 处理服务形式
src/views/patient/questionnaire/index.vue
@@ -282,7 +282,7 @@
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-button
            <!-- <el-button
              size="medium"
              type="text"
              @click="followupvisit(scope.row)"
@@ -299,7 +299,7 @@
              ><span class="button-sc"
                ><i class="el-icon-delete"></i>停止</span
              ></el-button
            >
            > -->
            <el-button
              size="medium"
              type="text"
@@ -589,10 +589,8 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        type: 6,
        userName: undefined,
        tagid: undefined,
        topic: undefined,
        serviceType:7,
      },
      propss: { multiple: true },
      options: [],
@@ -887,10 +885,10 @@
      this.modificationVisible = true;
    },
    // 跳转详情页
    Seedetails() {
    Seedetails(row) {
      this.$router.push({
        path: "/followvisit/QuestionnaireTask",
        query: { type: 6 },
        query: { taskid: row.taskid, patid: row.patid },
      });
    },
    // 导入按钮
src/views/patient/subsequent/index.vue
@@ -39,7 +39,7 @@
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="模版" prop="status">
        <el-form-item label="模板" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
src/views/repositoryai/general/particulars/index.vue
@@ -10,14 +10,14 @@
      >
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="模版名称" prop="extName">
            <el-form-item label="模板名称" prop="extName">
              <el-input
                v-model="baseForm.extName"
                placeholder="请输入"
              ></el-input> </el-form-item
          ></el-col>
          <el-col :span="12">
            <el-form-item label="模版分类" prop="groupID">
            <el-form-item label="模板分类" prop="groupID">
              <el-select v-model="baseForm.groupID" placeholder="请选择分类">
                <el-option
                  v-for="item in deptOptions"
@@ -31,7 +31,7 @@
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="模版概述" prop="name">
            <el-form-item label="模板概述" prop="name">
              <el-input
                v-model="baseForm.note"
                placeholder="请输入"
@@ -267,7 +267,7 @@
              </el-form-item>
              <el-form-item>
                <el-button type="primary" @click="submitForm('ruleForm')"
                  >保存模版</el-button
                  >保存模板</el-button
                >
                <el-button
                  v-if="ruleForm.id"
src/views/repositoryai/matching/index.vue
@@ -149,7 +149,7 @@
            prop="phonenumber"
          />
          <el-table-column
            label="模版名称"
            label="模板名称"
            align="center"
            key="templateName"
            prop="templateName"
@@ -263,7 +263,7 @@
          >
          <el-button type="primary" icon="el-icon-s-claim">保存</el-button>
          <el-button type="primary" icon="el-icon-document"
            >更新指标规则至模版</el-button
            >更新指标规则至模板</el-button
          >
        </div>
      </div>
src/views/repositoryai/templateku/configurat/index.vue
@@ -14,13 +14,13 @@
          <el-step>
            <template slot="title">
              <span style="cursor: pointer" @click="Editprogress = 2"
                >随访模版题目</span
                >随访模板题目</span
              >
            </template>
          </el-step>
          <el-step description="查看随访模版预览,可导出PDF">
          <el-step description="查看随访模板预览,可导出PDF">
            <template slot="title">
              <span style="cursor: pointer" @click="preview">随访模版预览</span>
              <span style="cursor: pointer" @click="preview">随访模板预览</span>
            </template>
          </el-step>
        </el-steps>
@@ -41,7 +41,7 @@
        >
          <el-row>
            <el-col :span="12">
              <el-form-item label="模版名称" prop="region">
              <el-form-item label="模板名称" prop="region">
                <div>
                  <el-input
                    v-model="ruleForm.templateName"
@@ -51,7 +51,7 @@
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="随访模版分类" prop="region">
              <el-form-item label="随访模板分类" prop="region">
                <el-select
                  v-model="ruleForm.assortid"
                  size="medium"
@@ -77,7 +77,7 @@
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="模版简介" prop="note">
              <el-form-item label="模板简介" prop="note">
                <div>
                  <el-input
                    type="textarea"
@@ -335,14 +335,14 @@
            <el-button
              type="success"
              @click="Departmenttreatment('ruleForm')"
              >{{ task ? "保存到任务模版" : "保存随访模版基础信息" }}</el-button
              >{{ task ? "保存到任务模板" : "保存随访模板基础信息" }}</el-button
            >
          </el-form-item>
        </el-form>
      </div>
      <!-- 随访模版设置 -->
      <!-- 随访模板设置 -->
      <div v-if="Editprogress == 2">
        <div class="leftvlue-jbxx">随访模版题目设置</div>
        <div class="leftvlue-jbxx">随访模板题目设置</div>
        <el-divider></el-divider>
        <div class="addtopic">
          <el-button
@@ -794,7 +794,7 @@
        </div>
        <el-button type="success" @click="Departmenttreatment('ruleForm')">{{
          task ? "保存到任务模版" : "保存题目数据"
          task ? "保存到任务模板" : "保存题目数据"
        }}</el-button>
        <el-button type="primary" plain @click="laststep()">上一步</el-button>
        <el-button type="success" plain @click="preview('ruleForm')"
@@ -802,9 +802,9 @@
        >
        <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button>
      </div>
      <!-- 随访模版预览 -->
      <!-- 随访模板预览 -->
      <div v-if="Editprogress == 3">
        <div class="leftvlue-jbxx">随访模版问题预览</div>
        <div class="leftvlue-jbxx">随访模板问题预览</div>
        <el-divider></el-divider>
        <div class="preview-left">
@@ -1892,7 +1892,7 @@
          row.isoperation = 3;
          this.delScriptVOList.push(row);
          this.sortFn();
          this.$modal.msgSuccess("已删除,保存模版生效");
          this.$modal.msgSuccess("已删除,保存模板生效");
        })
        .catch(() => {});
    },
@@ -1979,7 +1979,7 @@
          this.drawer = false;
          this.sortFn();
          this.$modal.msgSuccess("题目新增成功,保存模版失效");
          this.$modal.msgSuccess("题目新增成功,保存模板失效");
        });
    },
@@ -1997,7 +1997,7 @@
    // 前往测试
    measurement() {
      this.$modal
        .confirm("即将前往模版测试页面,请确认模版数据已保存。")
        .confirm("即将前往模板测试页面,请确认模板数据已保存。")
        .then((res) => {
          this.$router.push({
            path: "/knowledge/tpuconfigurat/measurement",
@@ -2006,7 +2006,7 @@
        })
        .catch(() => {});
    },
    // 新建模版中临时题目
    // 新建模板中临时题目
    // 题目类型更换
    typeselection(row) {
      if (row == 1 && !this.indexform.ivrLibaScriptTargetoptionList.length) {
src/views/repositoryai/templateku/configurat/measurement.vue
@@ -105,7 +105,7 @@
    return {
      answer: "", //回答
      id: null,
      TemplateName: "随访模版名称", //模版名
      TemplateName: "随访模板名称", //模板名
      radio: "1",
      userid: "",
      input: "还不错",
src/views/repositoryai/templateku/index.vue
@@ -3,7 +3,7 @@
    <!-- 左侧栏 -->
    <div class="sidecolumn">
      <div class="sidecolumn-top">
        <div class="top-wj">模版类型</div>
        <div class="top-wj">模板类型</div>
        <div class="top-tj" @click="Newcategory">+添加</div>
      </div>
      <div class="center-ss">
@@ -68,7 +68,7 @@
              v-show="showSearch"
              label-width="98px"
            >
              <el-form-item label="模版标题" prop="templateName">
              <el-form-item label="模板标题" prop="templateName">
                <el-input
                  v-model="queryParams.templateName"
                  placeholder="请输入"
@@ -151,7 +151,7 @@
              </el-col>
              <!-- <el-col :span="1.5"> </el-col> -->
            </el-row>
            <!-- 标准模版 -->
            <!-- 标准模板 -->
            <el-table
              v-loading="loading"
              :data="userList"
@@ -167,7 +167,7 @@
                prop="id"
              />
              <el-table-column
                label="模版名称"
                label="模板名称"
                fixed
                align="center"
                key="templateName"
@@ -313,7 +313,7 @@
                </template>
              </el-table-column>
            </el-table>
            <!-- 通用模版 -->
            <!-- 通用模板 -->
            <!-- 底部分页 -->
            <pagination
@@ -617,9 +617,9 @@
      });
    },
    // 复制模版
    // 复制模板
    copyfn() {},
    // 下载模版
    // 下载模板
    downloadfn() {},
    // 跳转编辑话术页面
    compileUpdate(row) {
src/views/sfstatistics/propaganda/index.vue
@@ -491,7 +491,7 @@
        tagdescription: "",
      },
      topicvalue: {
        name: "骨科随访模版",
        name: "骨科随访模板",
        number: 222,
      },
      classifyform: {
src/views/sfstatistics/statement/index.vue
@@ -492,7 +492,7 @@
        tagdescription: "",
      },
      topicvalue: {
        name: "骨科随访模版",
        name: "骨科随访模板",
        number: 222,
      },
      classifyform: {
src/views/shortmessage/healthinformation/compilequer/index.vue
@@ -826,7 +826,7 @@
    // --------------------------
    // 预览模版
    // 预览模板
    PreviewTemplate() {
      this.drawer = true;
    },
src/views/shortmessage/messagebank/compile/index.vue
@@ -4,7 +4,7 @@
      <div class="basics">问题配置</div>
      <div class="headbottom">
        <el-button type="primary" icon="el-icon-notebook-2" @click="addzbiaofn"
          >健康信息模版</el-button
          >健康信息模板</el-button
        >
        <el-button @click="emptyfn" type="primary" icon="el-icon-refresh-right"
          >清空短信内容</el-button
vue.config.js
@@ -35,7 +35,7 @@
    proxy: {
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        target: `http://192.168.2.8:8095`,
        target: `http://192.168.1.10:8095`,
        // target:`http://localhost:8095`,
        // target: `http://35z1t16164.qicp.vip`,
        changeOrigin: true,