WXL
2023-12-15 04332cb7ab99f5744c79cd70686e86a878a14b7f
src/views/knowledge/questionnaire/index.vue
@@ -21,31 +21,80 @@
        </el-input>
      </div>
      <div class="bottom-fl">
        <el-tabs tab-position="right">
        <el-menu
          default-active="3"
          class="el-menu-vertical-demo"
          @open="handleOpen"
          @close="handleClose"
          @select="handleSelect"
        >
          <el-submenu index="1">
            <template slot="title">
              <i class="el-icon-location"></i>
              <span>分类一</span>
            </template>
            <el-menu-item index="1-1">选项1</el-menu-item>
            <el-menu-item index="1-2">选项2</el-menu-item>
            <el-menu-item index="1-3">选项3</el-menu-item>
            <el-menu-item index="1-4">选项3</el-menu-item>
          </el-submenu>
          <el-submenu index="2">
            <template slot="title">
              <i class="el-icon-menu"></i>
              <span>分类二</span>
            </template>
            <el-menu-item index="2-1">选项1</el-menu-item>
            <el-menu-item index="2-2">选项2</el-menu-item>
            <el-menu-item index="2-3">选项3</el-menu-item>
          </el-submenu>
          <el-submenu index="3">
            <template slot="title">
              <i class="el-icon-document"></i>
              <span>分类三</span>
            </template>
            <el-menu-item index="2-1">选项1</el-menu-item>
          </el-submenu>
          <el-submenu index="4">
            <template slot="title">
              <i class="el-icon-setting"></i>
              <span>分类四</span>
            </template>
            <el-menu-item index="2-1">选项1</el-menu-item>
          </el-submenu>
        </el-menu>
        <!-- <el-tabs tab-position="right">
          <el-tab-pane :label="`全部 (${numberlb})`"></el-tab-pane>
          <el-tab-pane
            class="tab-paness"
            :key="item.name"
            :key="item.title"
            v-for="(item, index) in editableTabs"
            :label="item.title + ' (' + item.number + ')'"
          ></el-tab-pane>
          <el-tab-pane :label="`未分组(${numberlbs})`"></el-tab-pane>
        </el-tabs>
          >
            <span slot="label">
              {{
                item.title + " (" + item.number + ")"
              }}&nbsp&nbsp&nbsp<el-popover
                placement="top-start"
                width="100"
                trigger="hover"
              >
                <div style="text-align: center">
                  <el-button type="text" @click="popoveramend(item)"
                    >修改</el-button
                  ><el-button type="text" @click="deletefenlei(item)"
                    ><span style="color: rgb(173, 55, 55)"
                      >删除</span
                    ></el-button
                  >
                </div>
                <i slot="reference" class="el-icon-share"></i> </el-popover
            ></span>
          </el-tab-pane>
        </el-tabs> -->
      </div>
    </div>
    <!-- 右侧数据 -->
    <div class="leftvlue">
      <div class="leftvlue-top">
        <el-tabs v-model="topactiveName" @tab-click="tophandleClick">
          <el-tab-pane name="Local">
            <span class="mulsz" slot="label">本地问卷库 </span>
          </el-tab-pane>
          <el-tab-pane name="sharing">
            <span class="mulsz" slot="label">共享问卷库 </span>
          </el-tab-pane>
        </el-tabs>
      </div>
      <div class="leftvlue-bg">
        <el-row :gutter="20">
          <!--用户数据-->
@@ -67,13 +116,58 @@
                  @keyup.enter.native="handleQuery"
                />
              </el-form-item>
              <el-form-item label="适用疾病" prop="status">
              <el-form-item label="适用科室" prop="sickness">
                <el-cascader
                  v-model="queryParams.status"
                  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-select
                  v-model="queryParams.classifyvalue"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="(item, index) in editableTabs"
                    :key="index++"
                    :label="item.title"
                    :value="index++"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="可用状态" prop="classify">
                <el-select
                  v-model="queryParams.classifyvalue"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="(item, index) in editableTabsky"
                    :key="index++"
                    :label="item.title"
                    :value="index++"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item>
@@ -92,7 +186,7 @@
                >
              </el-form-item>
            </el-form>
            <el-divider></el-divider>
            <el-row :gutter="10" class="mb8">
              <el-col :span="1.5">
                <el-button
@@ -118,18 +212,11 @@
                  >删除</el-button
                >
              </el-col>
              <!-- <el-col :span="1.5"> </el-col> -->
            </el-row>
            <!-- <right-toolbar
          :showSearch.sync="showSearch"
          @queryTable="getList"
          :columns="columns"
        ></right-toolbar> -->
            <el-table
              v-loading="loading"
              :data="userList"
              border="true"
              :border="true"
              @selection-change="handleSelectionChange"
            >
              <el-table-column type="selection" width="50" align="center" />
@@ -138,14 +225,12 @@
                align="center"
                key="userId"
                prop="userId"
                v-if="columns[0].visible"
              />
              <el-table-column
                label="问卷名称"
                label="问卷标题"
                align="center"
                key="userName"
                prop="userName"
                v-if="columns[1].visible"
                :show-overflow-tooltip="true"
              />
              <el-table-column
@@ -153,23 +238,65 @@
                align="center"
                key="nickName"
                prop="nickName"
                v-if="columns[2].visible"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="主要内容"
                align="center"
                key="bphonenumber"
                prop="bphonenumber"
                width="120"
              /><el-table-column
                label="适用疾病"
                align="center"
                key="aphonenumber"
                prop="aphonenumber"
                v-if="columns[4].visible"
                width="120"
              /><el-table-column
                label="问卷描述"
              />
              <el-table-column
                label="适用科室"
                align="center"
                key="bphonenumber"
                prop="bphonenumber"
                v-if="columns[4].visible"
                key="administrative"
                prop="administrative"
                width="120"
              />
              <el-table-column
                label="标签"
                align="center"
                key="tagList"
                prop="tagList"
                width="160"
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <span v-for="item in scope.row.tagList">{{ item }} </span>
                </template>
              </el-table-column>
              <el-table-column
                label="宣教方式"
                align="center"
                key="wayList"
                prop="wayList"
                width="160"
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <span v-for="item in scope.row.wayList">{{ item }} </span>
                </template>
              </el-table-column>
              <el-table-column
                label="资料形式"
                align="center"
                key="cphonenumaber"
                prop="cphonenumaber"
                width="120"
              />
              <el-table-column
                label="可用"
                align="center"
                key="cphonenumbker"
                prop="cphonenumbker"
                width="120"
              />
              <el-table-column
@@ -177,7 +304,6 @@
                align="center"
                key="cphonenumber"
                prop="cphonenumber"
                v-if="columns[4].visible"
                width="120"
              />
@@ -344,16 +470,50 @@
      </div>
    </div>
    <!-- 添加类别弹框 -->
    <el-dialog width="30%" :visible.sync="dialogFormVisible">
      <el-form :model="sidecolumnform">
        <el-form-item label="请输入类别名称">
          <el-input v-model="form.name" autocomplete="off"></el-input>
    <el-dialog
      :title="amendtag ? '修改类别' : '新增类别'"
      width="30%"
      :visible.sync="dialogFormVisible"
    >
      <el-form :model="classifyform">
        <el-form-item label="请选择问卷大类">
          <el-select v-model="classifyform.broadheading" placeholder="请选择">
            <el-option
              v-for="item in optionss"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item
          :label="amendtag ? '请输入新的类别名称' : '请输入类别名称'"
        >
          <el-input
            v-model="classifyform.categoryname"
            autocomplete="off"
          ></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible = false">取 消</el-button>
        <el-button type="primary" @click="submitsidecolumn">确 定</el-button>
      </div>
    </el-dialog>
    <!-- 删除类别确认框 -->
    <el-dialog title="警告" :visible.sync="deleteVisible" width="40%">
      <div style="font-size: 20px; color: rgb(247, 76, 76)">
        是否确认删除分类:[<span>{{ deletefenl }}</span
        >]?
      </div>
      <div style="font-size: 20px">
        此操作会将该类别下所有模块转移至[未分类],是否继续删除此分类?
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="deleteVisible = false">取 消</el-button>
        <el-button type="primary" @click="deletefenlei">确 定</el-button>
      </span>
    </el-dialog>
    <!-- 二维码展示弹框 -->
    <el-dialog width="30%" :visible.sync="goQRCodeVisible">
@@ -425,10 +585,17 @@
      numberlb: 22,
      numberlbs: 2,
      sidecolumnform: {}, //添加类别表单
      dialogFormVisible: false, //添加类别弹框
      goQRCodeVisible: false, //二维码弹框
      sidecolumnval: "", //类别搜索
      propss: { multiple: true },
      idds: "",
      amendtag: false, //是否修改类别
      dialogFormVisible: false, //修改添加类别弹框
      deleteVisible: false, //分类删除弹框
      deletefenl: "高血压", //删除项
      classifyform: {
        categoryname: "",
      }, //类别表单
      optionss: [
        {
          value: 1,
@@ -467,6 +634,16 @@
        },
        {
          title: "问卷分类五",
          number: "2",
        },
      ],
      editableTabsky: [
        {
          title: "可用",
          number: "1",
        },
        {
          title: "停用",
          number: "2",
        },
      ],
@@ -558,10 +735,55 @@
      //   console.log(rows);
      //   this.list = rows;
    },
    // 添加类别
    // 添加、修改类别
    submitsidecolumn() {
      if (this.amendtag) {
        this.classifyform.tagcategoryid = this.idds;
        // toamendtagcategory(this.addDateRange(this.classifyform)).then(
        //   (response) => {
        //     console.log(response);
        //     this.gitclasify();
        //   }
        // );
      } else {
        // addtagcategory(this.addDateRange(this.classifyform)).then(
        //   (response) => {
        //     console.log(response);
        //     this.gitclasify();
        //   }
        // );
      }
      this.classifyform = {
        categoryname: "",
      };
      this.idds = "";
      this.dialogFormVisible = false;
    },
    //删除分类
    deletefenlei(row) {
      if (this.deleteVisible) {
        // deletetagcategory(this.idds).then((response) => {
        //   console.log(response);
        //   this.gitclasify();
        // });
        this.deleteVisible = false;
        this.idds = "";
      } else {
        this.deleteVisible = true;
        this.idds = row.tagcategoryid;
        this.deletefenl = row.title;
      }
    },
    // 侧边--------------
    handleOpen(key, keyPath) {
      console.log(key, keyPath);
    },
    handleClose(key, keyPath) {
      console.log(key, keyPath);
    },
    handleSelect(key, keyPath) {
      console.log(key, keyPath);
    },
    //搜索类别
    sidecolumnss() {},
    // 切换共享/本地