WXL
2025-01-21 1a090a490d8fc93224a0e3ad0fd7fe16c9fe63a8
测试完成
已修改8个文件
837 ■■■■■ 文件已修改
src/api/AiCentre/Qtemplate.js 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/getters.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/Missioncreation.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/QuestionnaireTask.vue 384 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/particty.vue 391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/configurat/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/Qtemplate.js
@@ -158,6 +158,14 @@
    params: data,
  });
}
 //任务科室病区模板关联查询
 export function taskdepthospgetsonlist(data) {
  return request({
    url: "/smartor/taskdept/list",
    method: "get",
    params: data,
  });
}
    // 删除科室病区模板分类
    export function depthospgetsondel(id) {
      return request({
@@ -165,6 +173,13 @@
        method: "get",
      });
    }
    // 删除任务科室关联
    export function taskdepthospgetsondel(id) {
      return request({
        url: "/smartor/taskdept/remove/" + id,
        method: "get",
      });
    }
// 医护保存数据
export function serviceSubtaskDetailedit(data) {
src/store/getters.js
@@ -450,14 +450,14 @@
        listClass: "",
      },
    },
    {
      value: "8",
      label: "智能机器人",
      raw: {
        cssClass: "",
        listClass: "",
      },
    },
    // {
    //   value: "8",
    //   label: "智能机器人",
    //   raw: {
    //     cssClass: "",
    //     listClass: "",
    //   },
    // },
  ],
  // 语言
  languagelist: (state) => [
src/utils/request.js
@@ -110,10 +110,7 @@
          }
        )
          .then(() => {
            isRelogin.show = false;
            store.dispatch("LogOut").then(() => {
              location.href = "/index";
            });
          })
          .catch(() => {
            isRelogin.show = false;
src/views/patient/propaganda/Missioncreation.vue
@@ -817,7 +817,7 @@
        { label: "短信", value: 4 },
        { label: "微信公众", value: 5 },
        { label: "钉钉", value: 6 },
        { label: "智能机器人", value: 7 },
        // { label: "智能机器人", value: 7 },
      ],
      upload: {
        // 是否显示弹出层(用户导入)
@@ -1042,10 +1042,10 @@
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
          // {
          //   value: "8",
          //   label: "智能机器人",
          // },
        ];
      } else if (this.form.serviceType == 8) {
        this.checkboxlist = [
@@ -1062,10 +1062,10 @@
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
          // {
          //   value: "8",
          //   label: "智能机器人",
          // },
          {
            value: "9",
            label: "钉钉",
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -70,22 +70,32 @@
                  />
                </el-form-item>
                <el-form-item label="服务形式">
                  <el-checkbox-group v-model="checkList">
                    <el-checkbox
                  <el-radio-group v-model="checkList">
                    <el-radio
                      v-for="(item, index) in checkboxlist"
                      :key="index"
                      :label="item.value"
                    >
                      {{ item.label }}</el-checkbox
                      {{ item.label }}</el-radio
                    >
                  </el-checkbox-group>
                  </el-radio-group>
                </el-form-item>
                <el-form-item label="是否长期" prop="longTask">
                <el-form-item label="执行周期" prop="longTask">
                  <el-radio-group v-model="form.longTask">
                    <el-radio :label="0">普通任务</el-radio>
                    <el-radio :label="0">自定义周期</el-radio>
                    <el-radio :label="1">长期任务</el-radio>
                  </el-radio-group>
                </el-form-item>
                <el-row :gutter="20" v-if="form.longTask">
                  <el-col :span="8">
                    <el-form-item label="周期时间" prop="name">
                      <el-input
                        v-model="form.sendDay"
                        placeholder="默认5天后"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
                <el-form-item
                  label="执行设置"
                  prop="sendType"
@@ -190,9 +200,11 @@
                  <el-col :span="20"
                    ><el-form-item label="适用科室" prop="region">
                      <el-select
                        v-model="form.deptcode"
                        v-model="deptcodesWards"
                        @remove-tag="removetag"
                        style="width: 400px"
                        size="medium"
                        multiple
                        filterable
                        placeholder="请选择科室"
                      >
@@ -210,25 +222,12 @@
                <el-row>
                  <el-col :span="20"
                    ><el-form-item label="适用病区" prop="region">
                      <!-- <el-cascader
                      style="width: 400px"
                      v-model="form.leavehospitaldistrictcode"
                      :options="topicoptions"
                      :props="propstask"
                      :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-select
                        v-model="form.leavehospitaldistrictcode"
                        v-model="leavehospitaldistrictcodes"
                        style="width: 400px"
                        @remove-tag="removehpsp"
                        size="medium"
                        multiple
                        filterable
                        placeholder="请选择病区"
                      >
@@ -501,7 +500,7 @@
            />
          </el-row>
          <pagination
            v-show="patienttotal > 0&&this.patientqueryParams.allhosp != 6"
            v-show="patienttotal > 0 && this.patientqueryParams.allhosp != 6"
            :total="patienttotal"
            @pagination="handleAddpatient"
          />
@@ -588,90 +587,6 @@
                  <el-input v-model="objyl.svyname"></el-input>
                </div>
              </el-form-item>
              <el-form-item label="问卷方式" prop="suitway">
                <el-select
                  style="width: 400px"
                  v-model="objyl.suitway"
                  size="medium"
                  multiple
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in mode"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-row :gutter="20" v-if="form.longTask">
                <el-col :span="14">
                  <el-form-item label="长期任务" prop="longTemp">
                    <el-radio-group v-model="objyl.longTemp">
                      <el-radio
                        v-for="(item, index) in longtype"
                        :label="item.value"
                        >{{ item.label }}</el-radio
                      >
                    </el-radio-group>
                  </el-form-item>
                </el-col>
                <el-col :span="8">
                  <el-form-item label="任务周期" prop="name">
                    <el-input
                      v-model="objyl.sendDay"
                      placeholder="默认5天后"
                    ></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
              <el-row>
                <el-col :span="20"
                  ><el-form-item label="适用科室" prop="region">
                    <el-select
                      style="width: 400px"
                      v-model="tempDetpRelevanceslist"
                      size="medium"
                      multiple
                      filterable
                      placeholder="请选择科室"
                    >
                      <el-option
                        class="ruleFormaa"
                        v-for="item in belongDepts"
                        :key="item.deptCode"
                        :label="item.deptName"
                        :value="item.deptCode"
                      >
                      </el-option>
                    </el-select> </el-form-item
                ></el-col>
              </el-row>
              <!-- <el-row>
                <el-col :span="20"
                  ><el-form-item label="适用病区" prop="region">
                    <el-select
                      v-model="tempbelongWards"
                      style="width: 400px"
                      size="medium"
                      multiple
                      filterable
                      placeholder="请选择科室"
                    >
                      <el-option
                        class="ruleFormaa"
                        v-for="item in belongWards"
                        :key="item.districtCode"
                        :label="item.districtName"
                        :value="item.districtCode"
                      >
                      </el-option>
                    </el-select> </el-form-item
                ></el-col>
              </el-row> -->
              <div class="xinz-infs">
                <el-form-item>
@@ -885,9 +800,12 @@
  Editsingletask,
  getQtemplateclassify,
  depthospgetsonlist,
  taskdepthospgetsondel,
  taskdepthospgetsonlist,
} from "@/api/AiCentre/index";
import SFtable from "@/components/SFtable"; //表格组件
import {  MessageBox,  } from "element-ui";
export default {
  name: "ServiceDetails",
@@ -898,6 +816,7 @@
      id: "", //
      previewid: "", //任务模板传递id
      libName: "",
      templateor: false,
      objyl: {},
      overallCase: [], //选择患者总
      allpids: [],
@@ -912,6 +831,8 @@
      loading: false, // 遮罩层
      patientloading: false, // 遮罩层
      dialogVisiblepatient: false, //添加患者弹框
      deptcodesWards: [], //科室数据
      leavehospitaldistrictcodes: [], //病区数据
      radio: 1,
      checkboxlist: [],
      tableLabel: [],
@@ -967,7 +888,7 @@
      preachform: [
        { label: "多媒体", value: 1 },
        { label: "纸质", value: 2 },
        { label: "电话", value: 3 },
        { label: "智能语音", value: 3 },
        { label: "短信", value: 4 },
        { label: "微信公众号", value: 5 },
        { label: "微信小程序", value: 6 },
@@ -988,7 +909,7 @@
        pageNum: 1, //
        pageSize: 10,
      },
      checkList: [],
      checkList: "",
      deliverytopqueryParams: {
        pageNum: 1, //
        pageSize: 10,
@@ -1018,7 +939,7 @@
      sonuserList: [], //选中患者列表
      delvariableList: [], //删除变量临时存储
      longtype: [
        { value: 0, label: "普通任务" },
        { value: 0, label: "自定义周期" },
        { value: 1, label: "长期任务" },
      ],
      variableList: [
@@ -1035,7 +956,7 @@
          default: true,
        },
        {
          name: "电话",
          name: "智能语音",
          value: "${dhh}",
          fill: "派发时自动匹配",
          default: true,
@@ -1055,7 +976,7 @@
          default: true,
        },
        {
          name: "电话",
          name: "智能语音",
          value: "${dhh}",
          fill: "派发时自动匹配",
          default: true,
@@ -1152,7 +1073,6 @@
      ],
      // 科室/病区
      belongWards: [],
      belongWards: [],
      deptlist: [],
      hosplist: [],
      tempDetpRelevanceslist: [], //科室数据
@@ -1179,11 +1099,9 @@
        //   { required: true, message: "适用病区不能为空", trigger: "blur" },
        // ],
      },
      belongDepts:[],
      // 科室院区查询入参
      queryParamsdept: {
        tempid: "",
        type: 11,
      },
      queryParamsdept: {},
      quote: false,
      serviceType: null,
    };
@@ -1277,7 +1195,7 @@
        this.checkboxlist = [
          {
            value: "3",
            label: "电话",
            label: "智能语音",
          },
          {
            value: "4",
@@ -1292,10 +1210,10 @@
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
          // {
          //   value: "8",
          //   label: "智能机器人",
          // },
        ];
      } else if (this.form.serviceType == 7 || this.form.serviceType == 9) {
        this.checkboxlist = [
@@ -1309,7 +1227,7 @@
          },
          {
            value: "3",
            label: "电话",
            label: "智能语音",
          },
          {
            value: "4",
@@ -1337,7 +1255,7 @@
          },
          {
            value: "3",
            label: "电话",
            label: "智能语音",
          },
          {
            value: "4",
@@ -1352,10 +1270,10 @@
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
          // {
          //   value: "8",
          //   label: "智能机器人",
          // },
        ];
      }
      getQtemplatelist(this.topqueryParams).then((response) => {
@@ -1385,21 +1303,28 @@
          xh: 1,
        },
      ];
      if (this.checkList[0]) {
        this.form.preachform = this.checkList.join(",");
      if (this.checkList) {
        this.form.preachform = this.checkList;
      } else {
        this.$modal.msgError("请选择服务类型");
        return;
      }
      if (this.deptcodesWards[0]||this.leavehospitaldistrictcodes[0]) {
      } else {
        this.$modal.msgError("请选择科室或病区");
        return;
      }
      if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
        this.$modal.msgError("请选择病人");
        return;
      }
      if (!this.form.templatename) {
      if (!this.form.templatename && !this.templateor) {
        this.$modal.msgError("未选择模板");
        return;
      }
      if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) {
      } else if (
        (this.form.sendType == 3 && this.time4) ||
@@ -1422,28 +1347,19 @@
        this.form.type = this.$route.query.type;
      }
      this.form.serviceType = this.serviceType;
      this.form.leaveldeptcodes = store.getters.belongDepts.map(
        (obj) => obj.deptCode
      );
      this.form.leavehospitaldistrictcodes = store.getters.belongWards.map(
        (obj) => obj.districtCode
      );
      console.log(this.form.longTask);
      console.log(this.form.preachform);
      this.form.deptcode = this.deptcodesWards.join(",");
      this.form.leavehospitaldistrictcode =
        this.leavehospitaldistrictcodes.join(",");
      if (this.form.longTask && this.form.preachform == 6) {
        this.form.patCycle = 1;
      }
      //
      this.form.labelinfo = 1;
      Editsingletask(this.form).then((res) => {
        if (res.code == 200) {
          if (this.form.taskid) {
            this.$modal.msgSuccess("修改成功");
          } else {
            this.puttaskid(res.data);
            this.$modal.msgSuccess("新增成功");
          }
      this.$modal.closeLoading();
          this.$router.push({
            path: "/followvisit/tasklist",
            query: { tasktopic: this.form.serviceType },
@@ -1451,33 +1367,8 @@
        }
      });
    },
    // 给任务模板赋值任务id
    puttaskid(data) {
      getTaskQuestioncomit(this.form.templateid).then((res) => {
        if (res.code == 200) {
          this.objyl = res.data;
          if (this.objyl.taskid == data.taskId) {
            this.objyl.isoperation = 2;
          } else {
            this.objyl.isoperation = 1;
          }
          this.objyl.taskid = data.taskId;
          if (!this.objyl.sendDay) {
            this.objyl.sendDay = "5";
          }
          TaskQuestioncomit(this.objyl).then((response) => {
            this.previewtf = false;
            this.form.libtemplateid = this.objyl.svyid;
            this.form.templateid = response.data;
            // this.putbelongDepts(response.data);
            this.form.templatename = this.objyl.svyname;
            this.$modal.msgSuccess("选择模板成功");
          });
        }
      });
    },
    // ----------------------表格子组件事件
    // ----------------------表格子组件事件
    // 选择预览
    selectfn(row, type) {
      // 模板情况下获取模板信息
@@ -1491,10 +1382,9 @@
            if (this.form.longTask) {
              this.objyl.longTemp = 1;
            }
            this.queryParamsdept.type = 1;
            this.queryParamsdept.tempid = row.svyid;
            this.listDept();
            this.tempDetpRelevanceslist = [];
            this.tempbelongWards = [];
            this.objyl.suitway = this.objyl.suitway.split(",");
            this.questionList = res.rows[0].svyTemplateLibScripts;
            this.getillness(row.svyid);
@@ -1516,11 +1406,9 @@
          this.objyl = res.data;
          if (this.objyl.suitway)
            this.objyl.suitway = this.objyl.suitway.split(",");
          this.queryParamsdept.tempid = this.form.templateid;
          this.queryParamsdept.type = 11;
          this.getillness(this.form.libtemplateid);
          // 执行获取该任务模板id
          this.listDept();
          this.previewtf = true;
          getQtemplateobj({ svyid: this.form.libtemplateid }).then((res) => {
            if (res.code == 200) {
@@ -1803,6 +1691,7 @@
      this.form = {
        patTaskRelevances: [],
        sendType: 1,
        sendDay: 5,
        templatename: "",
        templateid: null,
        libtemplateid: null,
@@ -1821,7 +1710,7 @@
              ? this.form.patTaskRelevances
              : [];
            this.overallCase = this.form.patTaskRelevances.concat();
            this.checkList = this.form.preachform.split(",");
            this.checkList = this.form.preachform;
            this.overallCase.forEach((item) => {
              if (item.endtime) {
@@ -1836,6 +1725,10 @@
              } else {
                this.time1 = this.form.showTimeMorn.split(",");
              }
            }
            // 获取任务科室
            if (this.form.taskid) {
              this.listDept();
            }
            if (this.form.showTimeNoon)
              this.time2 = this.form.showTimeNoon.split(",");
@@ -1867,24 +1760,50 @@
      this.time3 = ""; //晚上时间段
      this.time4 = ""; //晚上时间段
    },
    // 获取科室列表
    // 获取任务科室列表
    listDept() {
      this.tempDetpRelevanceslist = [];
      this.tempbelongWards = [];
      depthospgetsonlist(this.queryParamsdept).then((res) => {
      this.leavehospitaldistrictcodes = [];
      this.deptcodesWards = [];
      this.queryParamsdept.taskId = this.form.taskid;
      taskdepthospgetsonlist(this.queryParamsdept).then((res) => {
        if (res.code == 200) {
          let arr = res.rows;
          arr.forEach((item) => {
            if (item.deptType == 1) {
              this.deptlist.push(item);
              this.tempDetpRelevanceslist.push(item.deptCode);
              this.deptcodesWards.push(item.deptCode);
            } else if (item.deptType == 2) {
              this.hosplist.push(item);
              this.tempbelongWards.push(item.deptCode);
              this.leavehospitaldistrictcodes.push(item.deptCode);
            }
          });
        }
      });
    },
    // 任务科室删除触发
    removetag(row) {
      let result = this.deptlist
        .filter((item) => item.deptCode == row)
        .map((item) => item.id);
      if (result.length) {
        taskdepthospgetsondel(result).then((res) => {
          if (res.code) {
          }
        });
      }
    },
    // 院区删除删除触发
    removehpsp(row) {
      let result = this.hosplist
        .filter((item) => item.deptCode == row)
        .map((item) => item.id);
      if (result.length) {
        taskdepthospgetsondel(result).then((res) => {
          if (res.code) {
          }
        });
      }
    },
    getQtemplateclassify() {
      getQtemplateclassify({}).then((res) => {
@@ -1906,6 +1825,7 @@
      row.isoperation = 3;
      this.delvariableList.push(row);
    },
    // 时间----------
    changeTime(row) {
      this.processingTime();
@@ -1986,17 +1906,10 @@
      if (Array.isArray(this.objyl.suitway)) {
        this.objyl.suitway = this.objyl.suitway.join(",");
      }
      this.objyl.svyTemplateLibScripts.forEach((item) => {
        item.svyTaskTemplateTargetoptions = item.svyLibTemplateTargetoptions;
      });
      this.objyl.svyTaskTemplateScriptVOS = this.objyl.svyTemplateLibScripts;
      this.objyl.templateid = this.objyl.svyid;
      this.objyl.isoperation = 1;
      console.log(this.objyl.id);
      if (!this.objyl.sendDay) {
        this.objyl.sendDay = "5";
      }
      this.objyl.taskid = this.form.taskid;
      if (this.objyl.id) {
        deleteTaskQuestioncomit(this.objyl.id).then((res) => {
@@ -2006,7 +1919,6 @@
                this.previewtf = false;
                this.form.libtemplateid = this.objyl.svyid;
                this.form.templateid = response.data;
                this.putbelongDepts(response.data);
                this.form.templatename = this.objyl.svyname;
                this.$modal.msgSuccess("选择模板成功");
              });
@@ -2017,7 +1929,6 @@
          this.previewtf = false;
          this.form.libtemplateid = this.objyl.svyid;
          this.form.templateid = response.data;
          this.putbelongDepts(response.data);
          this.form.templatename = this.objyl.svyname;
          this.$modal.msgSuccess("选择模板成功");
        });
@@ -2044,60 +1955,35 @@
        }
      });
    },
    // 处理服务形式
    formatFn(type) {
      let list = [];
      let formlist = [];
      if (type == 1) {
        this.preachform.forEach((item) => {
          this.checkList.forEach((obj) => {
            if (item.label == obj) {
              list.push(item.value);
            }
          });
        });
        console.log(list, "list");
        this.form.preachform = list.join(",");
      } else {
        console.log(this.form.preachform, "this.form.preachform");
        formlist = this.form.preachform.split(",");
        console.log(11);
        this.preachform.forEach((item) => {
          formlist.forEach((obj) => {
            if (item.value == obj) {
              list.push(item.label);
            }
          });
        });
        this.checkList = list;
      }
    },
    // 科室处理
    Departmenttreatment() {
      this.tempDetpRelevanceslist.forEach((item) => {
        this.tempDetpRelevanceslistform.push({
          deptType: 1,
          longTemp: this.form.longTask,
          deptCode: item,
          tempid: null,
          type: 11,
        });
      });
      this.tempbelongWards.forEach((item) => {
        this.tempbelongWardsform.push({
          deptType: 2,
          longTemp: this.form.longTask,
          deptCode: item,
          tempid: null,
          type: 11,
        });
      });
      console.log(33);
      setTimeout(() => {
        this.previewFn();
      }, 1000);
      if (!this.form.taskid) {
        this.templateor = true;
        MessageBox.confirm(
          "当前为新增任务未保存不可关联模板,是否先保存任务?",
          "功能提示",
          {
            confirmButtonText: "保存任务",
            cancelButtonText: "取消",
            type: "warning",
          }
        )
          .then(() => {
            if (Array.isArray(this.objyl.suitway)) {
              this.objyl.suitway = this.objyl.suitway.join(",");
            }
            this.objyl.templateid = this.objyl.svyid;
            this.objyl.isoperation = 1;
            this.form.svyTaskTemplateVO=this.objyl;
            this.submitForm();
          })
          .catch(() => {});
      } else {
        setTimeout(() => {
          this.previewFn();
        }, 1000);
      }
    },
  },
};
src/views/patient/propaganda/particty.vue
@@ -70,21 +70,21 @@
                  />
                </el-form-item>
                <el-form-item label="服务形式">
                  <el-checkbox-group
                  <el-radio-group
                    v-model="checkList"
                    @change="handleCheckedCitiesChange"
                  >
                    <el-checkbox
                    <el-radio
                      v-for="(item, index) in checkboxlist"
                      :key="index"
                      :label="item.value"
                      @change="checkboxChange($event, item.value)"
                    >
                      {{ item.label }}</el-checkbox
                      {{ item.label }}</el-radio
                    >
                  </el-checkbox-group>
                  </el-radio-group>
                </el-form-item>
                <div class="xinz-infs">
                <!-- <div class="xinz-infs">
                  <el-form-item label="服务执行顺序" prop="daytime">
                    <el-tag
                      :key="tag.label"
@@ -97,13 +97,23 @@
                      ({{ index + 1 }}){{ tag.label }}
                    </el-tag>
                  </el-form-item>
                </div>
                <el-form-item label="是否长期" prop="longTask">
                </div> -->
                <el-form-item label="执行周期" prop="longTask">
                  <el-radio-group v-model="form.longTask">
                    <el-radio :label="0">普通任务</el-radio>
                    <el-radio :label="0">自定义周期</el-radio>
                    <el-radio :label="1">长期任务</el-radio>
                  </el-radio-group>
                </el-form-item>
                <el-row :gutter="20" v-if="form.longTask">
                  <el-col :span="8">
                    <el-form-item label="周期时间" prop="name">
                      <el-input
                        v-model="form.sendDay"
                        placeholder="默认5天后"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
                <el-form-item
                  label="执行设置"
                  prop="sendType"
@@ -208,17 +218,19 @@
                  <el-col :span="20"
                    ><el-form-item label="适用科室" prop="region">
                      <el-select
                        v-model="form.deptcode"
                        v-model="deptcodesWards"
                        @remove-tag="removetag"
                        style="width: 400px"
                        size="medium"
                        filterable
                        multiple
                        placeholder="请选择科室"
                      >
                        <el-option
                          class="ruleFormaa"
                          v-for="item in belongDepts"
                          :key="item.deptCode"
                          :label="item.label"
                          :label="item.deptName"
                          :value="item.deptCode"
                        >
                        </el-option>
@@ -228,34 +240,21 @@
                <el-row>
                  <el-col :span="20"
                    ><el-form-item label="适用病区" prop="region">
                      <!-- <el-cascader
                      style="width: 400px"
                      v-model="form.leavehospitaldistrictcode"
                      :options="topicoptions"
                      :props="propstask"
                      :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-select
                        v-model="form.leavehospitaldistrictcode"
                        v-model="leavehospitaldistrictcodes"
                        style="width: 400px"
                        @remove-tag="removehpsp"
                        size="medium"
                        filterable
                        multiple
                        placeholder="请选择病区"
                      >
                        <el-option
                          class="ruleFormaa"
                          v-for="item in belongWards"
                          :key="item.deptCode"
                          :label="item.label"
                          :value="item.deptCode"
                          :key="item.districtCode"
                          :label="item.districtName"
                          :value="item.districtCode"
                        >
                        </el-option>
                      </el-select> </el-form-item
@@ -448,7 +447,7 @@
          </div>
        </div>
        <el-button type="primary" @click="laststep()">上一步</el-button>
        <el-button type="success" @click="submitForm('ruleForm')">{{
        <el-button type="success" @click="submitForm('11')">{{
          quote ? "立即创建" : "确认任务配置"
        }}</el-button>
        <el-button @click="resetForm('ruleForm')">重置</el-button>
@@ -595,90 +594,6 @@
                  <el-input v-model="objyl.templateName"></el-input>
                </div>
              </el-form-item>
              <el-form-item label="随访方式" prop="suitway">
                <el-select
                  style="width: 400px"
                  v-model="objyl.suitway"
                  size="medium"
                  multiple
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="ruleFormaa"
                    v-for="item in mode"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-row :gutter="20" v-if="form.longTask">
                <el-col :span="14">
                  <el-form-item label="长期任务" prop="longTemp">
                    <el-radio-group v-model="objyl.longTemp">
                      <el-radio
                        v-for="(item, index) in longtype"
                        :label="item.value"
                        >{{ item.label }}</el-radio
                      >
                    </el-radio-group>
                  </el-form-item>
                </el-col>
                <el-col :span="8">
                  <el-form-item label="任务周期" prop="name">
                    <el-input
                      v-model="objyl.sendDay"
                      placeholder="默认5天后"
                    ></el-input>
                  </el-form-item>
                </el-col>
              </el-row>
              <el-row>
                <el-col :span="20"
                  ><el-form-item label="适用科室" prop="region">
                    <el-select
                      style="width: 400px"
                      v-model="tempDetpRelevanceslist"
                      size="medium"
                      multiple
                      filterable
                      placeholder="请选择科室"
                    >
                      <el-option
                        class="ruleFormaa"
                        v-for="item in belongDepts"
                        :key="item.deptCode"
                        :label="item.label"
                        :value="item.deptCode"
                      >
                      </el-option>
                    </el-select> </el-form-item
                ></el-col>
              </el-row>
              <!-- <el-row>
                <el-col :span="20"
                  ><el-form-item label="适用病区" prop="region">
                    <el-select
                      v-model="tempbelongWards"
                      style="width: 400px"
                      size="medium"
                      multiple
                      filterable
                      placeholder="请选择病区"
                    >
                      <el-option
                        class="ruleFormaa"
                        v-for="item in belongWards"
                        :key="item.deptCode"
                        :label="item.label"
                        :value="item.deptCode"
                      >
                      </el-option>
                    </el-select> </el-form-item
                ></el-col>
              </el-row> -->
              <div class="xinz-infs">
                <el-form-item>
@@ -804,13 +719,13 @@
          @click="Departmenttreatment"
          >{{ form.templateid ? "替换使用" : "选择使用" }}</el-button
        >
        <el-button
        <!-- <el-button
          :type="previewtftype ? 'success' : 'warning'"
          @click="Modifytemplate"
          >{{
            previewtftype ? "前往修改已选择模板" : "新增保存并前往修改"
          }}</el-button
        >
        > -->
      </span>
    </el-dialog>
    <el-drawer
@@ -904,14 +819,17 @@
  getillness,
  Editsingletask,
  getFollowupclassify,
  taskdepthospgetsonlist,
  taskdepthospgetsondel,
  depthospgetsonlist,
} from "@/api/AiCentre/index";
import { deptTreeSelect } from "@/api/system/user";
import { MessageBox } from "element-ui";
import SFtable from "@/components/SFtable"; //表格组件
export default {
  name: "Particty",
  name: "particty",
  data() {
    return {
      title: "宣教内容列表",
@@ -920,6 +838,7 @@
      previewid: "", //任务模板传递id
      libName: "",
      username: "",
      templateor: false,
      objyl: {},
      overallCase: [], //选择患者总
      allpids: [],
@@ -935,6 +854,8 @@
      loading: false, // 遮罩层
      patientloading: false, // 遮罩层
      dialogVisiblepatient: false, //添加患者弹框
      deptcodesWards: [], //科室数据
      leavehospitaldistrictcodes: [], //病区数据
      radio: 1,
      checkboxlist: [],
      tableLabel: [],
@@ -993,7 +914,7 @@
      preachform: [
        { label: "多媒体", value: 1 },
        { label: "纸质", value: 2 },
        { label: "电话", value: 3 },
        { label: "智能语音", value: 3 },
        { label: "短信", value: 4 },
        { label: "微信公众号", value: 5 },
        { label: "微信小程序", value: 6 },
@@ -1014,7 +935,7 @@
        pageNum: 1, //
        pageSize: 10,
      },
      checkList: [],
      checkList: "",
      foncheckList: [],
      formatvalue: {
        format1: "",
@@ -1050,7 +971,7 @@
      sonuserList: [], //选中患者列表
      delvariableList: [], //删除变量临时存储
      longtype: [
        { value: 0, label: "普通任务" },
        { value: 0, label: "自定义周期" },
        { value: 1, label: "长期任务" },
      ],
      variableList: [
@@ -1195,9 +1116,9 @@
        sendType: [
          { required: true, message: "发送设置不能为空", trigger: "blur" },
        ],
        deptcode: [
          { required: true, message: "适用科室不能为空", trigger: "blur" },
        ],
        // deptcode: [
        //   { required: true, message: "适用科室不能为空", trigger: "blur" },
        // ],
        // leavehospitaldistrictcode: [
        //   { required: true, message: "适用病区不能为空", trigger: "blur" },
        // ],
@@ -1216,8 +1137,8 @@
  created() {
    this.appraiselist = store.getters.appraiselist;
    // this.belongWards = store.getters.belongWards;
    // this.belongDepts = store.getters.belongDepts;
    this.belongWards = store.getters.belongWards;
    this.belongDepts = store.getters.belongDepts;
    this.username = store.getters.name;
    this.mode = store.getters.Askmode;
    this.id = this.$route.query.id;
@@ -1228,7 +1149,6 @@
    this.form.serviceType = Number(this.$route.query.serviceType);
    this.Acquisitiontype();
    this.Getdetails();
    this.getDeptTree();
    this.getFollowupclassify();
  },
  activated() {
@@ -1243,7 +1163,6 @@
      this.Acquisitiontype();
      this.Getdetails();
      this.getDeptTree();
      this.getFollowupclassify();
    }
  },
@@ -1272,14 +1191,7 @@
      });
      return result;
    },
    getDeptTree() {
      // 科室列表
      deptTreeSelect().then((response) => {
        let flatArray = this.flattenArray(response.data);
        this.belongWards = flatArray;
        this.belongDepts = flatArray;
      });
    },
    flattenArray(multiArray) {
      let result = [];
@@ -1322,7 +1234,6 @@
          {
            value: "4",
            label: "短信",
          },
          {
            value: "5",
@@ -1333,12 +1244,11 @@
        this.checkboxlist = [
          {
            value: "3",
            label: "电话",
            label: "智能语音",
          },
          {
            value: "4",
            label: "短信",
          },
          {
            value: "5",
@@ -1349,10 +1259,10 @@
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
          // {
          //   value: "8",
          //   label: "智能机器人",
          // },
        ];
      } else if (this.form.serviceType == 7 || this.form.serviceType == 5) {
        this.checkboxlist = [
@@ -1366,12 +1276,11 @@
          },
          {
            value: "3",
            label: "电话",
            label: "智能语音",
          },
          {
            value: "4",
            label: "短信",
          },
          {
            value: "5",
@@ -1390,12 +1299,11 @@
          },
          {
            value: "3",
            label: "电话",
            label: "智能语音",
          },
          {
            value: "4",
            label: "短信",
          },
          {
            value: "5",
@@ -1406,10 +1314,10 @@
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
          // {
          //   value: "8",
          //   label: "智能机器人",
          // },
        ];
      }
      getFollowuplist(this.topqueryParams).then((response) => {
@@ -1429,7 +1337,8 @@
      });
    },
    // 保存
    submitForm(formName) {
    submitForm(type) {
      if (this.templateor && type) this.templateor = false;
      if (this.time4 && this.form.sendType == 3)
        this.form.showTimeMorn = this.time4;
      this.form.sendTimeslot = [
@@ -1439,30 +1348,29 @@
          xh: 1,
        },
      ];
      if (
        (this.belongWards[0] || this.belongWards[0]) &&
        this.username == "andmin"
      ) {
        if (this.tempbelongWards[0] || this.tempbelongWards[0]) {
        } else {
          this.$modal.msgError("请选择科室或病区");
          return;
        }
      }
      if (this.checkList[0]) {
        this.form.preachform = this.checkList.join(",");
      if (this.checkList) {
        this.form.preachform = this.checkList;
      } else {
        this.$modal.msgError("请选择服务类型");
        return;
      }
      if (this.deptcodesWards[0] || this.leavehospitaldistrictcodes[0]) {
      } else {
        this.$modal.msgError("请选择科室或病区");
        return;
      }
      if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
        this.$modal.msgError("请选择病人");
        return;
      }
      if (!this.form.templatename) {
      if (!this.form.templatename && !this.templateor) {
        this.$modal.msgError("未选择模板");
        return;
      }
      if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) {
      } else if (
        (this.form.sendType == 3 && this.time4) ||
@@ -1485,18 +1393,14 @@
        this.form.type = this.$route.query.type;
      }
      this.form.serviceType = this.serviceType;
      this.form.leaveldeptcodes = store.getters.belongDepts.map(
        (obj) => obj.deptCode
      );
      this.form.leavehospitaldistrictcodes = store.getters.belongWards.map(
        (obj) => obj.districtCode
      );
      this.form.deptcode = this.deptcodesWards.join(",");
      this.form.leavehospitaldistrictcode =
        this.leavehospitaldistrictcodes.join(",");
      Editsingletask(this.form).then((res) => {
        if (res.code == 200) {
          if (this.form.taskid) {
            this.$modal.msgSuccess("修改成功");
          } else {
            this.puttaskid(res.data);
            this.$modal.msgSuccess("新增成功");
          }
          this.$router.push({
@@ -1506,29 +1410,7 @@
        }
      });
    },
    // 给任务模板赋值任务id
    puttaskid(data) {
      getTaskparticty(this.form.templateid).then((res) => {
        if (res.code == 200) {
          this.objyl = res.data;
          this.objyl.isoperation = 2;
          this.objyl.taskid = data.taskId;
          if (!this.objyl.sendDa) {
            this.objyl.sendDay = "5";
          }
          console.log(this.objyl.sendDay, "this.objyl.sendDay");
          Taskparticty(this.objyl).then((response) => {
            this.previewtf = false;
            this.form.libtemplateid = this.objyl.id;
            this.form.templateid = response.data;
            // this.putbelongDepts(response.data);
            this.form.templatename = this.objyl.templateName;
            this.$modal.msgSuccess("选择模板成功");
          });
        }
      });
    },
    // ----------------------表格子组件事件
    // 选择预览
@@ -1541,13 +1423,13 @@
        getvFollowup({ id: row.id }).then((res) => {
          if (res.code == 200) {
            this.objyl = res.data;
            if (this.form.longTask) {
              this.objyl.sendDay = 5;
            }
            // if (this.form.longTask) {
            //   this.objyl.sendDay = 5;
            // }
            this.queryParamsdept.type = 2;
            this.queryParamsdept.tempid = row.id;
            this.listDept();
            this.tempDetpRelevanceslist = [];
            this.tempbelongWards = [];
            this.objyl.suitway = this.objyl.suitway.split(",");
            this.questionList = res.data.ivrLibaTemplateScriptVOList;
            this.getillness(row.id);
@@ -1571,8 +1453,7 @@
          this.queryParamsdept.type = 21;
          // 疾病
          this.getillness(this.form.libtemplateid);
          // 执行获取该任务模板id
          this.listDept();
          getvFollowup({ id: this.form.libtemplateid }).then((res) => {
            if (res.code == 200) {
              this.previewtf = true;
@@ -1757,8 +1638,6 @@
      this.$modal
        .confirm('是否确认删除患者"' + row.name + '"的服务项?')
        .then(() => {
          console.log();
          let indexa = this.overallCase.indexOf(row);
          let indexb = this.form.patTaskRelevances.indexOf(row);
          this.overallCase.splice(indexa, 1);
@@ -1784,9 +1663,15 @@
          store.getters.leavehospitaldistrictcodes;
        this.patientqueryParams.leaveldeptcodes = null;
      }
      if (!this.patientqueryParams.leavehospitaldistrictcodes||!this.patientqueryParams.leavehospitaldistrictcodes[0])
      if (
        !this.patientqueryParams.leavehospitaldistrictcodes ||
        !this.patientqueryParams.leavehospitaldistrictcodes[0]
      )
        this.patientqueryParams.leavehospitaldistrictcodes = null;
      if (!this.patientqueryParams.leaveldeptcodes||!this.patientqueryParams.leaveldeptcodes[0])
      if (
        !this.patientqueryParams.leaveldeptcodes ||
        !this.patientqueryParams.leaveldeptcodes[0]
      )
        this.patientqueryParams.leaveldeptcodes = null;
      this.handleAddpatient();
    },
@@ -1818,6 +1703,7 @@
      this.form = {
        patTaskRelevances: [],
        sendType: 1,
        sendDay: 5,
        templatename: "",
        templateid: null,
        libtemplateid: null,
@@ -1836,7 +1722,7 @@
              ? this.form.patTaskRelevances
              : [];
            this.overallCase = this.form.patTaskRelevances.concat();
            this.checkList = this.form.preachform.split(",");
            this.checkList = this.form.preachform;
            this.overallCase.forEach((item) => {
              if (item.endtime) {
@@ -1851,6 +1737,9 @@
              } else {
                this.time1 = this.form.showTimeMorn.split(",");
              }
            }
            if (this.form.taskid) {
              this.listDept();
            }
            if (this.form.showTimeNoon)
              this.time2 = this.form.showTimeNoon.split(",");
@@ -1885,22 +1774,48 @@
    },
    // 获取科室列表
    listDept() {
      this.tempDetpRelevanceslist = [];
      this.tempbelongWards = [];
      depthospgetsonlist(this.queryParamsdept).then((res) => {
      this.leavehospitaldistrictcodes = [];
      this.deptcodesWards = [];
      this.queryParamsdept.taskId = this.form.taskid;
      taskdepthospgetsonlist(this.queryParamsdept).then((res) => {
        if (res.code == 200) {
          let arr = res.rows;
          arr.forEach((item) => {
            if (item.deptType == 1) {
              this.deptlist.push(item);
              this.tempDetpRelevanceslist.push(item.deptCode);
              this.deptcodesWards.push(item.deptCode);
            } else if (item.deptType == 2) {
              this.hosplist.push(item);
              this.tempbelongWards.push(item.deptCode);
              this.leavehospitaldistrictcodes.push(item.deptCode);
            }
          });
        }
      });
    },
    // 任务科室删除触发
    removetag(row) {
      let result = this.deptlist
        .filter((item) => item.deptCode == row)
        .map((item) => item.id);
      if (result.length) {
        taskdepthospgetsondel(result).then((res) => {
          if (res.code) {
          }
        });
      }
    },
    // 院区删除删除触发
    removehpsp(row) {
      let result = this.hosplist
        .filter((item) => item.deptCode == row)
        .map((item) => item.id);
      if (result.length) {
        taskdepthospgetsondel(result).then((res) => {
          if (res.code) {
          }
        });
      }
    },
    getFollowupclassify() {
      getFollowupclassify({}).then((res) => {
@@ -2005,9 +1920,9 @@
      if (this.form.id) {
        this.objyl.taskid = this.form.id;
      }
      if (!this.objyl.sendDay) {
        this.objyl.sendDay = "5";
      }
      // if (!this.objyl.sendDay) {
      //   this.objyl.sendDay = "5";
      // }
      if (this.form.templateid) {
        deleteTaskparticty(this.form.templateid).then((res) => {
          if (res.code == 200) {
@@ -2087,34 +2002,36 @@
      this.foncheckList = this.foncheckList.filter(
        (obj) => obj.value !== tag.value
      );
      console.log(this.checkList, "checkList");
    },
    // 科室处理
    Departmenttreatment() {
      this.tempDetpRelevanceslist.forEach((item) => {
        this.tempDetpRelevanceslistform.push({
          deptType: 1,
          longTemp: this.form.longTask,
          deptCode: item,
          tempid: null,
          type: 21,
        });
      });
      if (!this.form.taskid) {
        this.templateor = true;
        MessageBox.confirm(
          "当前为新增任务未保存不可关联模板,是否先保存任务?",
          "功能提示",
          {
            confirmButtonText: "保存任务",
            cancelButtonText: "取消",
            type: "warning",
          }
        )
          .then(() => {
            if (Array.isArray(this.objyl.suitway)) {
              this.objyl.suitway = this.objyl.suitway.join(",");
            }
            this.objyl.templateid = this.objyl.id;
            this.objyl.isoperation = 1;
            this.form.ivrTaskTemplateVO = this.objyl;
      this.tempbelongWards.forEach((item) => {
        this.tempbelongWardsform.push({
          deptType: 2,
          longTemp: this.form.longTask,
          deptCode: item,
          tempid: null,
          type: 21,
        });
      });
      console.log(33);
      setTimeout(() => {
        this.previewFn();
      }, 1000);
            this.submitForm();
          })
          .catch(() => {});
      } else {
        setTimeout(() => {
          this.previewFn();
        }, 1000);
      }
    },
    // 前往修改
    Modifytemplate() {
src/views/repositoryai/templateku/configurat/index.vue
@@ -1806,7 +1806,7 @@
      if (!this.ruleForm.assortid) {
        this.ruleForm.assortid = -1;
      }
      this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags);
      // this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags);
      if (Array.isArray(this.ruleForm.suitway))
        this.ruleForm.suitway = this.ruleForm.suitway.join(",");
      if (Array.isArray(this.ruleForm.campus))
vue.config.js
@@ -35,13 +35,13 @@
    proxy: {
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        // target: `http://192.168.168.60:8095`,
        // target: `http://192.168.2.13:8095`,
        // target: `http://10.202.20.185:8095`,
        // target: `http://192.168.100.184:8095`,
        // target:`http://localhost:8095`,
        // target: `http://192.168.101.135:8095`,
        target: `http://192.168.101.135:8095`,
        // target: `http://192.168.101.166:8093`,
        target: `http://192.168.191.181:8095`,
        // target: `http://192.168.191.181:8095`,
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''