From 0d7443623155fa14136d9a18ebd30dd203e4bb82 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 21 十二月 2023 16:37:17 +0800
Subject: [PATCH] 指标完成
---
src/views/repositoryai/intention/index.vue | 1051 ++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 763 insertions(+), 288 deletions(-)
diff --git a/src/views/repositoryai/intention/index.vue b/src/views/repositoryai/intention/index.vue
index ae0771e..10dd668 100644
--- a/src/views/repositoryai/intention/index.vue
+++ b/src/views/repositoryai/intention/index.vue
@@ -21,48 +21,52 @@
</el-input>
</div>
<div class="bottom-fl">
- <el-tabs tab-position="right">
- <el-tab-pane :label="`鍏ㄩ儴 (${numberlb})`"></el-tab-pane>
- <el-tab-pane
- class="tab-paness"
- :key="item.title"
- v-for="(item, index) in editableTabs"
- >
- <span slot="label">
- {{
- item.title + " (" + item.number + ")"
- }}   <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>
+ <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>
</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">
<!--鐢ㄦ埛鏁版嵁-->
@@ -75,7 +79,7 @@
v-show="showSearch"
label-width="98px"
>
- <el-form-item label="鎸囨爣绉嶇被" prop="userName">
+ <el-form-item label="鎸囨爣鍚嶇О" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="璇疯緭鍏�"
@@ -84,19 +88,21 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="鎸囨爣鍊�" prop="userName">
- <el-input
- v-model="queryParams.userName"
- placeholder="璇疯緭鍏�"
- clearable
- style="width: 200px"
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="璇█" prop="status">
- <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨">
+ <el-form-item label="鏍囩" prop="sickness">
+ <el-select v-model="queryParams.tag" placeholder="璇烽�夋嫨">
<el-option
- v-for="item in languagelist"
+ v-for="item in dynamicTags"
+ :key="item.tagid"
+ :label="item.tagname"
+ :value="item.tagid"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="閫傜敤鏂瑰紡" prop="shape">
+ <el-select v-model="queryParams.value" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in mode"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -104,10 +110,27 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="鏄惁鍚敤" prop="status">
- <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨">
+ <el-form-item label="鎸囨爣绫诲瀷" prop="classify">
+ <el-select
+ v-model="queryParams.classifyvalue"
+ placeholder="璇烽�夋嫨"
+ >
<el-option
- v-for="item in qyoptions"
+ v-for="(item, index) in qyoptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </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 qyoptions"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -161,73 +184,104 @@
<!-- <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"
+ :data="targetList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" align="center" />
<el-table-column
label="搴忓彿"
align="center"
- key="userId"
- prop="userId"
- v-if="columns[0].visible"
+ key="targetID"
+ prop="targetID"
/>
<el-table-column
- label="鎸囨爣绉嶇被"
+ label="鍊肩被鍨�"
align="center"
- key="userName"
- prop="userName"
- v-if="columns[1].visible"
+ key="isenable"
+ prop="isenable"
:show-overflow-tooltip="true"
- />
+ >
+ <template slot-scope="scope">
+ <dict-tag :options="valuetype" :value="scope.row.isenable" />
+ </template>
+ </el-table-column>
<el-table-column
- label="鎸囨爣鍊�"
+ label="鎸囨爣鍚嶇О"
align="center"
- key="nickName"
- prop="nickName"
- v-if="columns[2].visible"
+ key="targetname"
+ prop="targetname"
:show-overflow-tooltip="true"
- />
+ >
+ </el-table-column>
<el-table-column
- label="鎸囨爣瑙勫垯"
+ label="姝e父鍊艰寖鍥�"
align="center"
- key="aphonenumber"
- prop="aphonenumber"
- v-if="columns[4].visible"
- width="400"
+ key="warndown"
+ prop="warndown"
+ width="200"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.warnup }}~{{ scope.row.warndown }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎸囨爣鎻忚堪"
+ align="center"
+ key="targetdesc"
+ prop="targetdesc"
+ width="200"
/><el-table-column
- label="鎸囨爣绫诲瀷"
+ label="閫傜敤鏂瑰紡"
align="center"
- key="bphonenumber"
- prop="bphonenumber"
- v-if="columns[4].visible"
+ key="suitWay"
+ prop="suitWay"
width="120"
- />
+ >
+ <template slot-scope="scope">
+ <dict-tag :options="mode" :value="scope.row.suitWay" />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="閫傜敤鐤剧梾"
+ align="center"
+ key="suitDisease"
+ prop="suitDisease"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ @click="illnessUpdate(scope.row)"
+ v-hasPermi="['system:user:edit']"
+ ><span class="button-textxg"
+ ><i class="el-icon-date"></i>璇︽儏</span
+ ></el-button
+ >
+ </template>
+ </el-table-column>
<el-table-column
label="璇█"
align="center"
- key="cphonenumber"
- prop="cphonenumber"
- v-if="columns[4].visible"
+ key="language"
+ prop="language"
width="120"
/>
- <el-table-column label="鏄惁鍚敤" align="center" key="status">
+ <el-table-column
+ label="鏄惁鍙敤"
+ align="center"
+ key="isAvailable"
+ prop="isAvailable"
+ >
<template slot-scope="scope">
- <el-switch
- v-model="scope.row.status"
- active-value="0"
- inactive-value="1"
- @change="handleStatusChange(scope.row)"
- ></el-switch>
+ <dict-tag
+ :options="qyoptions"
+ :value="scope.row.isAvailable"
+ />
</template>
</el-table-column>
@@ -250,10 +304,19 @@
<el-button
size="medium"
type="text"
+ @click="handlemeasurement(scope.row)"
+ v-hasPermi="['system:user:edit']"
+ ><span class="button-textcs"
+ ><i class="el-icon-help"></i>娴嬭瘯</span
+ ></el-button
+ >
+ <el-button
+ size="medium"
+ type="text"
@click="handleDelete(scope.row)"
v-hasPermi="['system:user:remove']"
><span class="button-textsc"
- ><i class="el-icon-edit"></i>鍒犻櫎</span
+ ><i class="el-icon-delete"></i>鍒犻櫎</span
></el-button
>
</template>
@@ -278,13 +341,33 @@
append-to-body
>
<el-form
- ref="form"
+ ref="indexform"
:model="indexform"
:rules="rules"
label-width="100px"
>
- <el-row>
- <el-col :span="24">
+ <el-row v-if="!measurement">
+ <el-col :span="12">
+ <el-form-item label="鎸囨爣鍚嶇О" prop="deptId">
+ <el-input
+ v-model="indexform.targetname"
+ placeholder="璇疯緭鍏ユ寚鏍囩绫�"
+ maxlength="40"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鐗堟湰鍙�" prop="deptId">
+ <el-input
+ v-model="indexform.version"
+ placeholder="璇疯緭鍏ユ寚鏍囩绫�"
+ maxlength="40"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="!measurement">
+ <el-col :span="12">
<el-form-item label="璇█" prop="deptId">
<el-select
v-model="indexform.language"
@@ -299,83 +382,265 @@
</el-select>
</el-form-item>
</el-col>
+ <el-col :span="12">
+ <el-form-item label="鏄惁鍙敤" prop="isAvailable">
+ <el-select
+ v-model="indexform.isAvailable"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="index in qyoptions"
+ :key="index.value"
+ :label="index.label"
+ :value="index.value"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
</el-row>
- <el-row>
+ <el-row v-if="!measurement">
<el-col :span="24">
- <el-form-item label="鎸囨爣绉嶇被" prop="nickName">
+ <el-form-item label="鎸囨爣鎻忚堪" prop="targetdesc">
<el-input
- v-model="indexform.nickName"
- placeholder="璇疯緭鍏ユ寚鏍囩绫�"
+ v-model="indexform.targetdesc"
+ placeholder="璇疯緭鍏ユ寚鏍囨弿杩�"
maxlength="40"
/>
</el-form-item> </el-col
></el-row>
- <el-row>
+ <el-form-item label="鏍囩" prop="desc" v-if="!measurement">
+ <div class="xinz-inf">
+ <el-tag
+ :key="tag.tagname"
+ type="success"
+ v-for="tag in dynamicTags"
+ closable
+ :disable-transitions="false"
+ @close="handleClosetag(tag)"
+ >
+ {{ tag.tagname }}
+ </el-tag>
+ <el-select
+ v-model="inputValue"
+ v-if="inputVisible"
+ @change="handleInputConfirm"
+ filterable
+ allow-create
+ default-first-option
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in optionstag"
+ :key="item.tagid"
+ :label="item.tagname"
+ :value="item.tagname"
+ >
+ </el-option>
+ </el-select>
+ <el-button
+ v-else
+ class="button-new-tag"
+ size="small"
+ @click="showInput"
+ >+ 鏂板鏍囩</el-button
+ >
+ </div>
+ </el-form-item>
+ <el-row v-if="!measurement">
<el-col :span="24">
- <el-form-item label="鎷涙爣绫诲瀷">
- <el-radio-group v-model="indexform.resource">
- <el-radio label="閫夐」"></el-radio>
- <el-radio label="鏂囨湰"></el-radio>
- <el-radio label="鏁板��"></el-radio>
+ <el-form-item label="鍊肩被鍨�">
+ <el-radio-group v-model="indexform.isenable">
+ <el-radio :label="1">閫夐」</el-radio>
+ <el-radio :label="2">鏂囨湰</el-radio>
+ <el-radio :label="3">鏁板��</el-radio>
</el-radio-group>
- </el-form-item> </el-col
- ></el-row>
- <el-row>
+ </el-form-item>
+ </el-col></el-row
+ >
+ <!-- <el-row v-if="!measurement">
<el-col :span="24">
- <el-form-item label="鎸囨爣鍊�" prop="userName">
+ <el-form-item label="閫傜敤鐤剧梾" prop="userName">
+ <el-select
+ v-model="indexform.suitDisease"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="index in qyoptions"
+ :key="index.value"
+ :label="index.label"
+ :value="index.value"
+ ></el-option>
+ </el-select>
+ </el-form-item> </el-col
+ ></el-row> -->
+
+ <el-row v-if="!measurement">
+ <el-col :span="24">
+ <el-form-item label="閫傜敤鏂瑰紡" prop="email">
+ <el-select v-model="indexform.suitWay" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="index in mode"
+ :key="index.value"
+ :label="index.label"
+ :value="index.value"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-card class="box-card" style="margin-bottom: 20px">
+ <el-table v-loading="loading" :data="testuserList">
+ <el-table-column
+ label="搴忓彿"
+ align="center"
+ key="guid"
+ prop="guid"
+ width="50"
+ />
+ <el-table-column
+ label="鎸囨爣閫夐」"
+ align="center"
+ key="targetvalue"
+ prop="targetvalue"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.targetvalue"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="瑙f瀽瑙勫垯"
+ align="center"
+ key="targetregex"
+ prop="targetregex"
+ width="460"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.targetregex"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ ></el-input>
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ label="鎿嶄綔"
+ align="center"
+ width="200"
+ class-name="small-padding fixed-width"
+ >
+ <template slot-scope="scope">
+ <el-button
+ @click="addoption(scope.row)"
+ type="success"
+ icon="el-icon-circle-plus-outline"
+ circle
+ ></el-button>
+ <el-button
+ type="danger"
+ icon="el-icon-delete"
+ circle
+ @click="deloption(scope.row)"
+ ></el-button>
+ <el-button
+ @click="syioption(scope.row)"
+ type="primary"
+ icon="el-icon-top"
+ circle
+ ></el-button>
+ <el-button
+ @click="xiayioption(scope.row)"
+ type="primary"
+ icon="el-icon-bottom"
+ circle
+ ></el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-card>
+ <el-row :gutter="20">
+ <el-col :span="12">
+ <el-form-item label="娴嬭瘯杈撳叆" prop="nickName">
<el-input
- v-model="indexform.userName"
- placeholder="璇疯緭鍏ユ墜鏈哄彿"
- maxlength="30"
+ v-model="testvalue"
+ placeholder="璇疯緭鍏ユ祴璇曞唴瀹�"
+ maxlength="40"
/>
- </el-form-item> </el-col
- ></el-row>
-
- <el-row>
- <el-col :span="24">
- <el-form-item label="鎸囨爣瑙勫垯" prop="email">
- <el-input
- v-model="indexform.remark"
- type="textarea"
- placeholder="璇疯緭鍏ュ唴瀹�"
- ></el-input>
</el-form-item>
</el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="鏄惁鍚敤">
- <el-radio-group v-model="indexform.qystatus">
- <el-radio
- v-for="item in qyoptions"
- :key="item.value"
- :label="item.value"
- >{{ item.label }}</el-radio
- >
- </el-radio-group>
- </el-form-item>
- </el-col>
- </el-row>
-
- <el-row>
- <el-col :span="24">
- <el-form-item label="澶囨敞">
- <el-input
- v-model="indexform.remark"
- type="textarea"
- placeholder="璇疯緭鍏ュ唴瀹�"
- ></el-input>
- </el-form-item>
+ <el-col :span="4">
+ <el-button type="success">寮�濮嬫祴璇�</el-button>
</el-col>
</el-row>
</el-form>
+ <div>
+ <el-input
+ type="textarea"
+ :rows="4"
+ placeholder="姝ゅ灞曠ず璇嗗埆缁撴灉"
+ v-model="testgovalue"
+ >
+ </el-input>
+ </div>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
- <el-button @click="cancel">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm">淇� 瀛�</el-button>
+ <el-button @click="cancel">鍏� 闂�</el-button>
</div>
</el-dialog>
</div>
</div>
+ <!-- 娣诲姞鐤剧梾瀵硅瘽妗� -->
+ <el-dialog title="鎸囨爣鐤剧梾" :visible.sync="illnessVisible" width="50%">
+ <div>
+ <div class="xinz-infs">
+ <el-tag
+ :key="item.icd10name"
+ type="warning"
+ v-for="item in illnesslist"
+ closable
+ :disable-transitions="false"
+ @close="handleCloseillness(item)"
+ >
+ {{ item.icd10name }}
+ </el-tag>
+ <el-select
+ v-model="inputValue"
+ v-if="inputVisible"
+ @change="illnessConfirm"
+ :remote-method="remoteMethod"
+ filterable
+ remote
+ allow-create
+ default-first-option
+ placeholder="璇烽�夋嫨/鏌ヨ"
+ :loading="loading"
+ >
+ <el-option
+ v-for="item in optionsillness"
+ :key="item.icdid"
+ :label="item.icdname"
+ :value="item.icdid"
+ >
+ </el-option>
+ </el-select>
+ <el-button
+ v-else
+ class="button-new-tag"
+ size="small"
+ @click="showInput"
+ >+ 鏂板鐤剧梾</el-button
+ >
+ </div>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="illnessVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
<!-- 娣诲姞绫诲埆寮规 -->
<el-dialog
:title="amendtag ? '淇敼绫诲埆' : '鏂板绫诲埆'"
@@ -383,6 +648,17 @@
:visible.sync="dialogFormVisible"
>
<el-form :model="classifyform">
+ <el-form-item label="璇烽�夋嫨鎸囨爣澶х被">
+ <el-select v-model="classifyform.broadheading" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in editableTabs"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
<el-form-item
:label="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'"
>
@@ -422,9 +698,24 @@
addUser,
updateUser,
} from "@/api/system/user";
+import {
+ gettargetInfo,
+ particulartarget,
+ gettargetInfoedit,
+ addtarget,
+ deletetarget,
+ getillnesslist,
+ illnesslistget,
+ getillness,
+ deltargetillness,
+ addtargetillness,
+} from "@/api/AiCentre/index";
import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import { listtag } from "@/api/system/label";
+import store from "@/store";
+
export default {
name: "questionnaire",
dicts: ["sys_normal_disable", "sys_user_sex"],
@@ -442,30 +733,24 @@
multiple: true,
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
+ measurement: false,
+ languagelist: [],
+ indexid: null,
// 鎬绘潯鏁�
total: 0,
- namequestionnaire: "",
- haoquestionnaire: "",
idds: "",
amendtag: false, //鏄惁淇敼绫诲埆
dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规
deleteVisible: false, //鍒嗙被鍒犻櫎寮规
deletefenl: "楂樿鍘�", //鍒犻櫎椤�
+ testvalue: "",
+ testgovalue: "",
classifyform: {
categoryname: "",
}, //绫诲埆琛ㄥ崟
// 琛ㄦ牸鏁版嵁
- userList: [
- {
- userid: 1,
- userName: "琛�甯歌銆佸翱甯歌",
- nickName: "璐",
- aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10",
- bphonenumber: "閫夋嫨",
- cphonenumber: "鏅�氳瘽",
- status: "0",
- },
- ],
+ targetList: null,
+ testuserList: [],
// 寮瑰嚭灞傛爣棰�
title: "",
// 鏄惁鏄剧ず寮瑰嚭灞�
@@ -484,31 +769,18 @@
dialogFormVisible: false, //娣诲姞绫诲埆寮规
sidecolumnval: "", //绫诲埆鎼滅储
indexopen: false, //寮规灞曠ず鍚�
+ inputVisible: false,
+ illnessVisible: false, //鎸囨爣鐤剧梾寮规
+ inputValue: "",
propss: { multiple: true },
- languagelist: [
- {
- value: 1,
- label: "鏅�氳瘽",
- },
- {
- value: 2,
- label: "绮よ",
- },
- {
- value: 3,
- label: "鑻辫",
- },
- ], //璇█鍒楄〃
- qyoptions: [
- {
- value: 1,
- label: "鍚敤",
- },
- {
- value: 2,
- label: "鍏抽棴",
- },
- ],
+ dynamicTags: [],
+ illnesslist: [],
+ illnesslistapi: [],
+ optionsillness: [],
+ qyoptions: [],
+ mode: [],
+ optionstag: [],
+ targetoptionList: [],
//绫诲埆鍒楄〃
editableTabs: [
{
@@ -542,77 +814,37 @@
deptId: undefined,
IDnumber: undefined,
},
- // 鍒椾俊鎭�
- columns: [
- { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true },
- { key: 1, label: `鐢ㄦ埛鍚嶇О`, visible: true },
- { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true },
- { key: 3, label: `閮ㄩ棬`, visible: true },
- { key: 4, label: `鎵嬫満鍙风爜`, visible: true },
- { key: 5, label: `鐘舵�乣, visible: true },
- { key: 6, label: `鍒涘缓鏃堕棿`, visible: true },
- ],
+
// 琛ㄥ崟鏍¢獙
- rules: {
- userName: [
- { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
- {
- min: 2,
- max: 20,
- message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
- trigger: "blur",
- },
- ],
- nickName: [
- { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" },
- ],
- password: [
- { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
- {
- min: 5,
- max: 20,
- message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
- trigger: "blur",
- },
- ],
- email: [
- {
- type: "email",
- message: "璇疯緭鍏ユ纭殑閭鍦板潃",
- trigger: ["blur", "change"],
- },
- ],
- phonenumber: [
- {
- pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
- message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
- trigger: "blur",
- },
- ],
- IDnumber: [
- {
- pattern:
- /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
- message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
- trigger: "blur",
- },
- ],
- },
+ rules: {},
};
},
watch: {},
created() {
this.getList();
+ this.gettabList();
+ this.mode = store.getters.mode;
+ this.valuetype = store.getters.valuetype;
+ this.languagelist = store.getters.languagelist;
+ this.qyoptions = store.getters.usable;
},
methods: {
- /** 鏌ヨ鐢ㄦ埛鍒楄〃 */
+ /** 鏌ヨ鎸囨爣鍒楄〃 */
getList() {
- // this.loading = true;
- listUser().then((response) => {
- console.log(response);
- console.log(this.userList);
+ this.loading = true;
+ gettargetInfo(this.queryParams).then((res) => {
+ this.targetList = res.rows;
+ this.total = res.total;
+ console.log(this.targetList);
+ this.loading = false;
});
+ },
+ processElement(element) {
+ return { ...element, isoperation: 1 };
+ },
+ getIndexInArray(arr, obj) {
+ return arr.indexOf(obj);
},
// 娣诲姞銆佷慨鏀圭被鍒�
submitsidecolumn() {
@@ -653,21 +885,191 @@
this.deletefenl = row.title;
}
},
- // 棰樼洰鐘舵�佷慨鏀�
- handleStatusChange(row) {
- let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
- this.$modal
- .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵')
- .then(function () {
- return changeUserStatus(row.userId, row.status);
- })
- .then(() => {
- this.$modal.msgSuccess(text + "鎴愬姛");
- })
- .catch(function () {
- row.status = row.status === "0" ? "1" : "0";
- });
+
+ // 渚ц竟--------------
+ handleOpen(key, keyPath) {
+ console.log(key, keyPath);
},
+ handleClose(key, keyPath) {
+ console.log(key, keyPath);
+ },
+ handleSelect(key, keyPath) {
+ console.log(key, keyPath);
+ },
+ // 鐤剧梾-----------------------
+ illnessUpdate(row) {
+ this.illnessVisible = true;
+ this.indexid = row.targetID;
+ this.illnesslistapi = [];
+ const illnessqueryParams = {
+ pageNum: 1,
+ pageSize: 100,
+ };
+ getillnesslist(illnessqueryParams).then((response) => {
+ console.log(response);
+ this.optionsillness = response.rows;
+ });
+ getillness({ outid: row.targetID, type: 1 }).then((res) => {
+ this.illnesslist = res.rows;
+ console.log(res);
+ });
+ },
+ handleCloseillness(tag) {
+ this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
+ if (tag.id) {
+ this.illnesslistapi.push(tag.id);
+ }
+ },
+ remoteMethod(value) {
+ console.log(value);
+ const illnessqueryParams = {
+ pageNum: 1,
+ pageSize: 100,
+ icdname: value,
+ };
+ this.loading = true;
+ setTimeout(() => {
+ this.loading = false;
+ getillnesslist(illnessqueryParams).then((response) => {
+ this.optionsillness = response.rows;
+ });
+ }, 200);
+ },
+ illnessConfirm(item) {
+ let opeavalue = {};
+ let tagname = this.inputValue;
+ illnesslistget(item).then((res) => {
+ opeavalue = res.data;
+ opeavalue.outid = this.indexid;
+ opeavalue.type = "1";
+ opeavalue.icd10id = opeavalue.icdid;
+ opeavalue.icd10name = opeavalue.icdname;
+ opeavalue.icd10code = opeavalue.icdcode;
+ if (tagname) {
+ this.illnesslist.push(opeavalue);
+ }
+ });
+ console.log(this.illnesslist);
+ this.inputVisible = false;
+ this.inputValue = "";
+ },
+ confirmillness() {
+ this.illnesslist.forEach((item, index) => {
+ if (!item.id) {
+ addtargetillness(item).then((res) => {});
+ }
+ });
+ if (this.illnesslistapi.length) {
+ deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+ }
+ this.illnessVisible = false;
+ this.$modal.msgSuccess("缂栬緫鐤剧梾鎴愬姛");
+ },
+
+ // 鏍囩-----------------
+ gettabList() {
+ const tagqueryParams = {
+ pageNum: 1,
+ pageSize: 1000,
+ tagcategoryid: "0",
+ };
+ listtag(tagqueryParams).then((response) => {
+ console.log(response);
+ this.optionstag = response.rows;
+ });
+ },
+ handleClosetag(tag) {
+ console.log(tag);
+ console.log(this.dynamicTags.indexOf(tag));
+ const lindex = this.dynamicTags.indexOf(tag);
+ this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+ this.indexform.baseTagList[lindex].isoperation = 3;
+ },
+ handleInputConfirm() {
+ let tagvalue = {};
+ let tagname = this.inputValue;
+ if (tagname) {
+ listtag({
+ pageNum: 1,
+ pageSize: 1000,
+ tagcategoryid: "0",
+ tagname: tagname,
+ }).then((res) => {
+ if (res.rows[0]) {
+ tagvalue = res.rows[0];
+ tagvalue.isoperation = 1;
+ } else {
+ tagvalue = {
+ tagname: tagname,
+ isoperation: 1,
+ };
+ }
+ this.indexform.baseTagList.push(tagvalue);
+ this.dynamicTags.push(tagvalue);
+ console.log(this.indexform.baseTagList);
+ console.log(this.dynamicTags);
+ });
+ }
+ this.inputVisible = false;
+ this.inputValue = "";
+ },
+ showInput() {
+ this.inputVisible = true;
+ },
+ //娴嬭瘯琛ㄥ崟 --------------------------
+ addoption() {
+ const objvakue = {
+ guid: 1,
+ targetid: this.indexform.targetid,
+ targettype: this.indexform.targettype,
+ targetvalue: "璐",
+ targetregex: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10",
+ };
+ this.testuserList.push(objvakue);
+ // this.indexform.targetoptionList.push(objvakue);
+ console.log(this.testuserList);
+ this.sortFn();
+ },
+ deloption(item) {
+ const index = this.testuserList.indexOf(item);
+ if (index !== -1) {
+ this.testuserList[index].isoperation = 3;
+ this.targetoptionList.push(this.testuserList[index]);
+ this.testuserList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱�
+ this.sortFn();
+ } else {
+ console.log("鏈壘鍒拌瀵硅薄");
+ }
+ },
+ syioption(row) {
+ const index = this.getIndexInArray(this.testuserList, row);
+ const item = this.testuserList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+ this.testuserList.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+ this.sortFn();
+ },
+ xiayioption(row) {
+ const index = this.getIndexInArray(this.testuserList, row);
+ const item = this.testuserList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+ this.testuserList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+ this.sortFn();
+ },
+ sortFn() {
+ this.testuserList = this.testuserList.map((item, index) => {
+ return {
+ guid: index + 1,
+ targetvalue: item.targetvalue,
+ targetregex: item.targetregex,
+ targetoptionid: item.targetoptionid,
+ targetid: this.indexform.targetid,
+ targettype: this.indexform.targettype,
+ isoperation: item.targetoptionid ? 2 : 1,
+ categoryName: item.categoryName,
+ language: item.language,
+ };
+ });
+ console.log(this.testuserList);
+ },
+ // ---------------------
//鎼滅储绫诲埆
sidecolumnss() {},
// 鍒囨崲鍏变韩/鏈湴
@@ -680,21 +1082,14 @@
// 琛ㄥ崟閲嶇疆
reset() {
- this.form = {
- userId: undefined,
- deptId: undefined,
- userName: undefined,
- nickName: undefined,
- password: undefined,
- phonenumber: undefined,
- email: undefined,
- sex: undefined,
- status: "0",
- remark: undefined,
- postIds: [],
- roleIds: [],
+ this.indexform = {
+ suitWay: undefined,
+ targetID: undefined,
+ targetdesc: undefined,
+ baseTagList: [],
+ targetoptionList: [],
};
- this.resetForm("form");
+ this.resetForm("indexform");
},
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery() {
@@ -711,7 +1106,7 @@
},
// 澶氶�夋閫変腑鏁版嵁
handleSelectionChange(selection) {
- this.ids = selection.map((item) => item.userId);
+ this.ids = selection.map((item) => item.targetID);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
@@ -719,13 +1114,39 @@
handleAdd() {
this.reset();
this.title = "鏂板鎸囨爣";
+ this.indexform = {
+ baseTagList: [],
+ targetoptionList: [],
+ };
+ this.dynamicTags = [];
+ this.testuserList = [
+ {
+ guid: 1,
+ isoperation: 1,
+ targettype: "1",
+ targetvalue: "",
+ targetregex: "",
+ },
+ ];
this.indexopen = true;
+ this.measurement = false;
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
this.reset();
- this.title = "淇敼鎸囨爣";
+ console.log(row);
+ this.title = "鎸囨爣璇︽儏";
+ this.indexform = row;
+ this.dynamicTags = row.baseTagList.map(this.processElement);
+ this.testuserList = row.targetoptionList;
this.indexopen = true;
+ this.measurement = false;
+ },
+ handlemeasurement(row) {
+ this.reset();
+ this.title = "鎸囨爣璇︽儏";
+ this.indexopen = true;
+ this.measurement = true;
},
// 淇敼鍒嗙被寮规
popoveramend(tagcategoryid) {
@@ -736,16 +1157,23 @@
/** 鏇存柊/淇敼鎻愪氦鎸夐挳 */
submitForm: function () {
- this.$refs["form"].validate((valid) => {
+ // this.indexform.targetoptionList=[]
+ this.$refs["indexform"].validate((valid) => {
+ this.indexform.targetoptionList = this.testuserList.concat(
+ this.targetoptionList
+ );
if (valid) {
- if (this.form.userId != undefined) {
- updateUser(this.form).then((response) => {
+ if (this.indexform.targetID != undefined) {
+ this.indexform.isoperation = 2;
+ gettargetInfoedit(this.indexform).then((response) => {
this.$modal.msgSuccess("淇敼鎴愬姛");
this.indexopen = false;
this.getList();
});
} else {
- addUser(this.form).then((response) => {
+ this.indexform.targettype = "1";
+ this.indexform.isoperation = 1;
+ gettargetInfoedit(this.indexform).then((response) => {
this.$modal.msgSuccess("鏂板鎴愬姛");
this.indexopen = false;
this.getList();
@@ -756,11 +1184,11 @@
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
- const userIds = row.userId || this.ids;
+ const userIds = row.targetID || this.ids;
this.$modal
- .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
+ .confirm('鏄惁纭鍒犻櫎鎸囨爣鍚嶇О涓�"' + row.targetname + '"鐨勬暟鎹」锛�')
.then(function () {
- return delUser(userIds);
+ return deletetarget(userIds);
})
.then(() => {
this.getList();
@@ -775,6 +1203,53 @@
<style lang="scss" scoped>
.Questionnairemanagement {
display: flex;
+}
+.xinz-inf {
+ font-size: 18px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+
+ line-height: 48px;
+
+ .el-tag + .el-tag {
+ margin-left: 10px;
+ }
+ .button-new-tag {
+ margin-left: 10px;
+ height: 32px;
+ line-height: 30px;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+ .input-new-tag {
+ width: 90px;
+ margin-left: 10px;
+ vertical-align: bottom;
+ }
+}
+.xinz-infs {
+ font-size: 18px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+
+ line-height: 48px;
+
+ .el-tag + .el-tag {
+ margin-left: 10px;
+ }
+ .button-new-tag {
+ margin-left: 10px;
+ height: 32px;
+ line-height: 30px;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+ .input-new-tag {
+ width: 90px;
+ margin-left: 10px;
+ vertical-align: bottom;
+ }
}
.sidecolumn {
width: 300px;
@@ -868,7 +1343,7 @@
.button-text {
color: rgb(70, 204, 238);
}
-.button-textck {
+.button-textcs {
color: rgb(39, 167, 67);
}
.button-textxg {
--
Gitblit v1.9.3