WXL
2024-08-05 e13d441c36ac5581698850cbeaf35111cfb9b7f3
src/views/knowledge/education/index.vue
@@ -29,7 +29,7 @@
        >
          <span class="custom-tree-node" slot-scope="{ node, data }">
            <span>{{ node.label }}</span>
            <span>
            <span v-if="data.id > 0">
              <el-button
                type="text"
                icon="el-icon-delete"
@@ -37,6 +37,17 @@
                size="mini"
                @click="() => remove(node, data)"
              >
              </el-button>
            </span>
            <span v-if="data.id > 0">
              <el-button
                type="text"
                circle
                size="mini"
                @click="() => altertag(node, data)"
                ><span class="button-textxg"
                  ><i class="el-icon-edit-outline"></i
                ></span>
              </el-button>
            </span>
          </span>
@@ -57,64 +68,52 @@
              v-show="showSearch"
              label-width="98px"
            >
              <el-form-item label="宣教标题" prop="userName">
              <el-form-item label="通知标题" prop="preachname">
                <el-input
                  v-model="queryParams.userName"
                  v-model="queryParams.preachname"
                  placeholder="请输入"
                  clearable
                  style="width: 200px"
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="适用科室" prop="sickness">
                <el-cascader
                  v-model="queryParams.sickness"
                  :options="optionss"
                  :props="propss"
                  clearable
                ></el-cascader>
              </el-form-item>
              <el-form-item label="通知内容" prop="userName">
                <el-input
                  v-model="queryParams.userNamevalue"
                  placeholder="请输入"
                  clearable
                  style="width: 200px"
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="适用方式" prop="shape">
                <el-cascader
                  v-model="queryParams.shapevalue"
                  :options="optionss"
                  :props="propss"
                  clearable
                ></el-cascader>
              </el-form-item>
              <el-form-item label="内容形式" prop="classify">
              <el-form-item label="适用院区" prop="region">
                <el-select
                  v-model="queryParams.classifyvalue"
                  placeholder="请选择"
                  v-model="campus"
                  size="medium"
                  multiple
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    v-for="(item, index) in editableTabs"
                    :key="index++"
                    :label="item.title"
                    :value="index++"
                    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="userName">
                <el-input
                  v-model="queryParams.preachcontent"
                  placeholder="请输入"
                  clearable
                  style="width: 200px"
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="可用状态" prop="classify">
                <el-select
                  v-model="queryParams.classifyvalue"
                  v-model="queryParams.isavailable"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in qyoptions"
                    v-for="(item, index) in qyoptions"
                    :key="item.value"
                    :label="item.value"
                    :value="item.label"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
@@ -173,12 +172,19 @@
              @selection-change="handleSelectionChange"
            >
              <el-table-column type="selection" width="50" align="center" />
              <el-table-column label="序号" align="center" key="id" prop="id" />
              <el-table-column
                label="序号"
                fixed
                align="center"
                key="id"
                prop="id"
              />
              <el-table-column
                label="标题"
                fixed
                align="center"
                key="extName"
                prop="extName"
                key="preachname"
                prop="preachname"
                :show-overflow-tooltip="true"
              />
              <el-table-column
@@ -189,15 +195,15 @@
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="主要内容(缺)"
                label="主要内容"
                align="center"
                key="userNamevalue"
                prop="userNamevalue"
                key="preachcontent"
                prop="preachcontent"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="适用疾病(缺)"
                label="适用疾病"
                align="center"
                key="aphonenumber"
                prop="aphonenumber"
@@ -215,39 +221,58 @@
                  >
                </template>
              </el-table-column>
              <el-table-column
                label="适用科室(缺)"
                label="标签"
                align="center"
                key="bphonenumber"
                prop="bphonenumber"
                width="120"
              />
              <el-table-column
                label="标签(缺)"
                align="center"
                key="tagList"
                prop="tagList"
                key="labelInfo"
                prop="labelInfo"
                width="160"
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <span v-for="item in scope.row.tagList">{{ item }} </span>
                  <div v-if="scope.row.labelInfo">
                    <span v-for="item in scope.row.labelInfo.split(',')"
                      >{{ item }}、
                    </span>
                  </div>
                  <div v-else>
                    <span>无</span>
                  </div>
                </template>
              </el-table-column>
              <el-table-column
                label="宣教方式(缺)"
                label="适用方式"
                align="center"
                key="cphonenumber"
                prop="cphonenumber"
                key="suitway"
                prop="suitway"
                width="120"
              />
              >
                <template slot-scope="scope">
                  <div v-if="scope.row.suitway">
                    <span v-for="item in scope.row.suitway.split(',')"
                      >{{ item }}、
                    </span>
                  </div>
                  <div v-else>
                    <span>无</span>
                  </div>
                </template>
              </el-table-column>
              <el-table-column
                label="资料形式(缺)"
                label="内容形式"
                align="center"
                key="cphonenumbers"
                prop="cphonenumbers"
                key="preachform"
                prop="preachform"
                width="120"
              />
              >
                <template slot-scope="scope">
                  <dict-tag
                    :options="editabshape"
                    :value="scope.row.preachform"
                  />
                </template>
              </el-table-column>
              <el-table-column
                label="最近修改"
                align="center"
@@ -258,19 +283,24 @@
              <el-table-column
                label="是否可用"
                align="center"
                key="isEnable"
                prop="isEnable"
                key="isavailable"
                prop="isavailable"
                width="120"
              />
              >
                <template slot-scope="scope">
                  <dict-tag :options="usable" :value="scope.row.isavailable" />
                </template>
              </el-table-column>
              <el-table-column
                label="操作"
                fixed="right"
                align="center"
                width="300"
                class-name="small-padding fixed-width"
              >
                <template slot-scope="scope">
                  <el-button
                  <!-- <el-button
                    size="medium"
                    type="text"
                    @click="goQRCode(scope.row)"
@@ -279,8 +309,8 @@
                    <span class="button-text"
                      ><i class="el-icon-edit"></i>二维码</span
                    ></el-button
                  >
                  <el-button
                  > -->
                  <!-- <el-button
                    size="medium"
                    type="text"
                    @click="Vieweducation(scope.row)"
@@ -288,7 +318,7 @@
                    ><span class="button-textck"
                      ><i class="el-icon-edit"></i>查看</span
                    ></el-button
                  >
                  > -->
                  <el-button
                    size="medium"
                    type="text"
@@ -351,7 +381,7 @@
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible = false">取 消</el-button>
        <el-button @click="getDeptTree()">取 消</el-button>
        <el-button type="primary" @click="submitsidecolumn">确 定</el-button>
      </div>
    </el-dialog>
@@ -420,6 +450,7 @@
  getheLibraryAssort,
  delheLibraryAssort,
  addheLibraryAssort,
  editheLibraryAssort,
  addtargetillness,
  getlibrarylist,
  dellibraryinfo,
@@ -429,6 +460,7 @@
  illnesslistget,
  getillness,
} from "@/api/AiCentre/index";
import { listDept } from "@/api/system/dept";
import { getToken } from "@/utils/auth";
import store from "@/store";
@@ -461,9 +493,11 @@
      inputVisible: false,
      illnessVisible: false, //指标疾病弹框
      deptOptions: [],
      courtyardlist: [],
      optionsillness: [],
      illnesslistapi: [],
      illnesslist: [],
      campus: [],
      defaultProps: {
        children: "heLibraryAssortList",
        label: "assortname",
@@ -507,10 +541,14 @@
      }, //类别表单
      optionss: [],
      mode: [],
      languagelist: [],
      qyoptions: [],
      languagelist: [],
      editabshape: [],
      usable: [],
      precedencetype: [],
      xjxsoptions: [],
      deptList: [],
      props: { multiple: true, value: "deptId", label: "deptName" },
      //类别列表
      editableTabs: [],
@@ -518,6 +556,7 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        isavailable: "",
      },
    };
  },
@@ -527,17 +566,25 @@
    this.getDeptTree();
    this.mode = store.getters.mode;
    this.languagelist = store.getters.languagelist;
    this.qyoptions = store.getters.usable;
    this.usable = store.getters.usable;
    this.precedencetype = store.getters.precedencetype;
    this.editabshape = store.getters.editabshape;
    this.qyoptions = store.getters.usable;
    this.courtyardlist = store.getters.courtyardlist;
  },
  methods: {
    /** 查询宣教列表 */
    getList() {
      //   this.loading = true;
      this.loading = true;
      getlibrarylist(this.queryParams).then((response) => {
        console.log(response);
        this.userList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
      listDept(this.queryParams).then((response) => {
        this.deptList = this.handleTree(response.data, "deptId");
      });
    },
@@ -559,6 +606,7 @@
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.queryParams.campus = this.campus.join(",");
      this.getList();
    },
    /** 重置按钮操作 */
@@ -571,7 +619,7 @@
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map((item) => item.userId);
      this.ids = selection.map((item) => item.id);
      this.single = selection.length != 1;
      this.multiple = !selection.length;
    },
@@ -585,24 +633,24 @@
    handleUpdate(row) {
      this.$router.push({
        path: "/knowledge/education/compilequer/",
        query: { id: "1" },
        query: { id: row.id },
      });
    },
    // 查看宣教
    Vieweducation() {
      this.$router.push({
        path: "/knowledge/education/examine/",
        query: { id: "1" },
        query: { id: row.id },
      });
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const userIds = row.userId || this.ids;
      const userIds = row.id || this.ids;
      this.$modal
        .confirm('是否确认删除用户编号为"' + userIds + '"的数据项?')
        .then(function () {
          return delFollowupinfo(userIds);
          return dellibraryinfo(userIds);
        })
        .then(() => {
          this.getList();
@@ -622,12 +670,21 @@
    getDeptTree() {
      getheLibraryAssort({}).then((res) => {
        this.deptOptions = res.rows;
        console.log(res);
        this.dialogFormVisible = false;
      });
    },
    // 添加类别树
    submitsidecolumn() {
      if (this.classifyform.id) {
        editheLibraryAssort(this.classifyform).then((res) => {
          this.getDeptTree();
          this.$modal.msgSuccess("修改成功");
          this.classifyform = {};
          this.dialogFormVisible = false;
        });
        return;
      }
      let calssvalue = {};
      if (
        this.classifyform.pid &&
@@ -649,6 +706,7 @@
        this.getDeptTree();
        this.$modal.msgSuccess("新增成功");
        this.classifyform = {};
        this.dialogFormVisible = false;
      });
    },
    remove(a, b) {
@@ -679,6 +737,16 @@
          })
          .catch(() => {});
      }
    },
    altertag(a, b) {
      this.dialogFormVisible = true;
      if (!b.pid) {
        this.radio = "主分类";
      } else {
        this.radio = "子分类";
      }
      this.classifyform = b;
      this.dialogFormVisible = true;
    },
    // 筛选节点
@@ -778,7 +846,7 @@
  margin-top: 20px;
  margin: 20px;
  padding: 30px;
  background: #edf1f7;
  background: #fff;
  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);
@@ -893,6 +961,24 @@
  font-size: 20px;
  cursor: pointer;
}
::v-deep .el-tree {
  position: relative;
  cursor: default;
  border-radius: 5px;
  background: #eff8fe;
  color: #606266;
  border: 1px solid #bbe1fa;
  // 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);
}
::v-deep
  .el-tree--highlight-current
  .el-tree-node.is-current
  > .el-tree-node__content {
  background-color: #7799fb;
  color: #fff;
}
::v-deep .el-button--mini.is-circle {
  padding: 7px;
  margin: 0;